关键词:无约束文本识别,N-gram,CRF(条件随机场)
引言:
无约束:没有固定词汇,词的长度未知
CRF中的一项由CNN提供来预测每个位置的字符(位置相关),高阶项由另一个CNN提供来检测N-gram的存在(位置无关)
1. 介绍
1.被识别的单词的每个位置训练一个不同的CNN字符分类器,使用单词的整个图像作为每个分类器的输入
2.构建一个CNN预测器来检测单词中包含的N-gram
1.1 N-gram
传送门
定义:将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列
例子:2元语言模型判断句子是否合理,每次以2的长度滑动
s1=“<s> i want english food</s>”
s2 = "<s> want i english food</s>"
哪个句子更合理,由概率计算
P(s1)=P(i|<s>)P(want|i)P(english|want)P(food|english)P(</s>|food)
P(s2)=P(want|<s>)P(i|want)P(english|want)P(food|english)P(</s>|food)
由p(s2)>p(s1),是i want 和want i的顺序导致大小的差异
应用:搜索提示
复杂度分析:len表示字符长度
2-gram的总数:|len|²
3-gram的总数:|len|³
2. 相关工作
CHAR CNN :字符序列模型,通过预测输出每个位置的字符,一个一个拼写出文本,每个位置的分类器都是独立学习的,但共享一组共同的优化特征
NGRAM CNN:N-gram编码模型,被识别的文本由它的N-gram包表示,10K独立训练的二分类器
3. CNN TEXT RECOGNITION MODELS
3.1 字符序列模型
字符的第i个位置有一个分类器ф(x),其中N的max设置为23,定长为23的字符数,长度不够时用空字符来补充,也就是上图对应的预测CHAR6为空,CHAR23也为空
3.2 BAG-OF-N-GRAMS 模型
下面是一些定义:
例如:G3(price)={p,r,i,c,e} + {pr,ri,ic,ce} + {pri,ric,ice},其中N=3
通过应用logistic函数训练问题→|GN|用于二分类→对每个N-gram类独立反向传播logistic回归损失
缺点:尽管GN(w)对于自然语言是几乎唯一的,但是非语言单词常常从GN集合中包含更少的N-grams,这会导致歧义和非唯一编码
4. 组合模型
-
S(camel,x),x表示input image,camel是word,S表示分数
-
Sc是CHAR-CNN的分数
-
Se是NGRAM-CNN的分数
然后我们计算S(w,x),在图片x中出现w的score,我们最大化第一项等价于最大化每一个字母出现的概率。对于第二项,可以把式子展开,就是求最大可能的某一项组合,如图
选取适当大小的N,采用beam search来找到近似得分最高的路径,然后论文中提出要加入一个规范化因子,α和β应用加权
权重α和β可以与CNN函数的f和g相结合,将上述的式子改写为
更新loss,真实值的score总是>=预测值的score+u,于是定义convex loss,经验风险如下
对于L的关于真实score和预测score的偏导,以及score对于f和g的偏导如下,对于右下角括号内的内容,可以举例如|s|=3,|w|=5时,我们在长度为5的单词上滑长度为3的窗口
c1 c2 c3 c4 c5 →{ c1,c2,c3},{ c2,c3,c4},{ c3,c4,c5}
网友评论