太阳城集团

  • / 16
  • 下载费用:30 金币  

一种基于词频的SKIP语言模型的训练方法.pdf

摘要
申请专利号:

CN201610522055.8

申请日:

2016.06.30

公开号:

太阳城集团CN106257441A

公开日:

2016.12.28

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 17/27申请日:20160630|||公开
IPC分类号: G06F17/27 主分类号: G06F17/27
申请人: 电子科技大学
发明人: 秦科; 刘贵松; 段贵多; 罗光春
地址: 611731 四川省成都市高新区(西区)西源大道2006号
优先权:
专利代理机构: 成都弘毅天承知识产权代理有限公司 51230 代理人: 徐金琼
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201610522055.8

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2019.03.15|||2017.01.25|||2016.12.28

法律状态类型:

太阳城集团授权|||实质审查的生效|||公开

摘要

本发明公开了一种基于词频的skip语言模型的训练方法,涉及机器翻译技术领域,解决现有技术中由于语料缺乏引起统计语言模型的OOV的问题。本发明为收集中文句子;中文句子分词;生成学习集corpus;统计学习集corpus中的词汇和词频,生成中文词汇表wt;统计语料中短语和短语出现的次数,生成1‑n元中文短语表pt0;设定选择性跳过标准k,根据中文词汇表wt中的词频统计结果进行k的判断,出现次数k不大于i的所有词汇数量之和占全部词汇数量的60%以上时,取k=i;根据k对中文句子进行选择性跳过处理,生成skip短语表pt1;将skip短语表pt1和中文短语表pt0合并,生成新的1‑n元中文短语表pt2;根据中文短语表pt2进行语言模型的训练,得到skip‑ngram语言模型。本发明用于得到语言模型概率表。

权利要求书

1.一种基于词频的skip语言模型的训练方法,其特征在于,包括以下步骤:
S1.收集语料,收集用于语言模型训练的中文句子,形成语料库;
S2.中文句子分词:将语料库中每个中文句子切分成一个一个单独的词语,词语之间用
空格分隔;
S3.生成学习集corpus:将语料库中所有的中文句子生成训练需要的标准输入格式;
S4.统计学习集corpus中的词汇和词频,生成中文词汇表wt,即遍历所有语料库中的中
文句子,列举其中出现的所有词汇和标点,统计这些词汇和标点的出现数量,形成中文词汇
表wt;
S5.统计中文词汇表wt中短语和短语出现的次数,生成1-n元中文短语表pt0,即按照n-
gram方式,根据选择n值的不同,列举所有n元短语并统计每个短语出现的次数,生成中文短
语表pt0;
S6.设定选择性跳过标准k,根据中文词汇表wt中的词频统计结果进行k的判断,当词汇
的出现次数k不大于i的所有词汇数量之和占全部词汇数量的60%以上时,取k=i;
S7.根据步骤S6中k对中文句子进行选择性跳过处理,生成skip短语表pt1;
S8.将skip短语表pt1和中文短语表pt0合并,生成新的1-n元中文短语表pt2;
S9.根据步骤S8中生成的中文短语表pt2进行语言模型的训练,得到skip-ngram语言模
型。
2.根据权利要求1所述的一种基于词频的skip语言模型的训练方法,其特征在于:所述
步骤S2的具体步骤为:
S21.准备中文词典:在互联网上下载尽可能全面的词典文件,读取词典中所有词汇存
储到set集合中,取词典中最长词汇的字数L作为最大匹配字数;
S22.进行正向最大匹配分词,获得分词结果Rf:读入语料库中的一个中文句子,首先从
句首截取L个汉字串,在词典中搜索,如果词典中存在该词汇,分出该词汇,在已分出的词汇
后面截取L个汉字串,继续在词典中搜索,直到中文句子被扫描完为止;如果词典中不存在
该词汇,去除第L个汉字,对剩下的L-1个汉字串,继续在词典中搜索,直到切分出一个词或
剩余字串的长度为零为止;
S23.进行逆向最大匹配分词,获得分词结果Rb:读入语料库中的一个中文句子,首先从
句尾截取L个汉字串,在词典中搜索,如果词典中存在该词汇,分出该词汇,在已分出的词汇
前面截取L个汉字串,继续在词典中搜索,直到中文句子被扫描完为止;如果词典中不存在
该词汇,去除第L个汉字,对剩下的L-1个汉字串,继续在词典中搜索,直到切分出一个词或
剩余字串的长度为零为止;
S24.根据词粒度选取分词结果:依照大颗粒度词越多越好、非词典词和单字词越少越
好的原则,选取Rf和Rb中的一个结果作为最终分词结果。
3.根据权利要求1所述的一种基于词频的skip语言模型的训练方法,其特征在于:所述
步骤S3的具体步骤为:
S31.tokenisation:遍历语料库中所有中文句子,在词汇和标点之间插入空格,添加句
子起始标志“<s>”和结束标志“</s>”;
S32.truecasing:根据词典,将语料库中每句中文句子的字和词组都转换为没有格式
的形式;
S33.cleaning:设置中文句子最大长度限制,将长语句和空语句删除。
4.根据权利要求1所述的一种基于词频的skip语言模型的训练方法,其特征在于:所述
步骤S6的具体步骤为:
S61.统计中文词汇表wt中出现的总词汇数量s;
S62.初始化词汇出现次数i=1;
S63.计算词频比例r,即中文词汇表中出现次数不大于i的所有词汇的数量之和count
(wi)与s的比例:
<mrow> <mi>r</mi> <mo>=</mo> <mfrac> <mrow> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> <mi>s</mi> </mfrac> <mo>;</mo> </mrow>
S64.进行判定:当r≤60%时,i=i+1,转到步骤S62;当r>60%时,取k=i,结束。
5.根据权利要求1所述的一种基于词频的skip语言模型的训练方法,其特征在于:所述
步骤S7的具体步骤为:
S71.首先从步骤S5得到的pt0中抽取所有n元短语;
S72.初始化短语表pt1,对所有n元短语中首尾词汇以外的词汇w进行跳过判断,当词汇
w的词频Nw满足Nw≥k时,词汇w为高频词汇,不适合被跳过,保留词汇w不做处理;当词汇w的
词频Nw满足Nw<k时,词汇w为低频词汇,适合被跳过,则删除词汇w并将剩下的低阶短语,添
加到短语表pt1中;
S73.按照步骤S71和步骤S72完成所有中间词汇的选择性跳过处理,统计新短语出现的
次数,生成新的skip短语表pt1。
6.根据权利要求1所述的一种基于词频的skip语言模型的训练方法,其特征在于:所述
步骤S9的具体步骤为:
S91.定义词汇w的历史计数:N1+(gw)=|{wi:count(wiw)>0}|;
N1+(gw)表示语料库中词汇w在多少个词汇后面出现过,符号“g”代表出现在w之前出现
过的任意一个词汇;
定义词序列的历史计数:
<mrow> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>gw</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>=</mo> <mo>|</mo> <mo>{</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>:</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>&gt;</mo> <mn>0</mn> <mo>}</mo> <mo>|</mo> <mo>;</mo> </mrow>
表示词序列在多少个词汇后面出现过,
遍历pt2表中的1-n元短语,利用上述公式计算pt2中每个词汇和短语的历史计数N1+;
S92.使用历史计数代替n-gram语言模型训练中的原始计数,定义一元文法的概率计算
公式为:
<mrow> <msub> <mi>p</mi> <mrow> <mi>K</mi> <mi>N</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>w</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <mi>g</mi> <mi>w</mi> <mo>)</mo> </mrow> </mrow> <mrow> <munder> <mo>&Sigma;</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> </munder> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>gw</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>;</mo> </mrow>
推广到n元文法有:
<mrow> <msub> <mi>p</mi> <mrow> <mi>K</mi> <mi>N</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>gw</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> <mrow> <munder> <mo>&Sigma;</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> </munder> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>gw</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>;</mo> </mrow>
利用上述公式计算pt2中每个词汇和短语的计数概率;
S93.根据步骤S91和步骤S92,利用Kneser-Ney平滑算法公式对pt2中每个词汇和短语
进行概率计算,即计算语言模型的概率,得到语言模型概率表,即语言模型文件;
计算语言模型的概率的公式如下:
<mfenced open = "" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>p</mi> <mrow> <mi>K</mi> <mi>N</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>max</mi> <mo>{</mo> <mi>c</mi> <mrow> <mo>(</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> <mo>-</mo> <mi>D</mi> <mo>,</mo> <mn>0</mn> <mo>}</mo> </mrow> <mrow> <munder> <mo>&Sigma;</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> </munder> <mi>c</mi> <mrow> <mo>(</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>+</mo> <mfrac> <mi>D</mi> <mrow> <mi>c</mi> <mrow> <mo>(</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> <mi>i</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> <msub> <mi>N</mi> <mrow> <mn>1</mn> <mo>+</mo> </mrow> </msub> <mrow> <mo>(</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mi>g</mi> <mo>)</mo> </mrow> <msub> <mi>p</mi> <mrow> <mi>K</mi> <mi>N</mi> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msubsup> <mi>w</mi> <mrow> <mi>i</mi> <mo>-</mo> <mi>n</mi> <mo>+</mo> <mn>2</mn> </mrow> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
其中D(0≤D≤1)是一个固定数值,计算公式如下:
<mrow> <mi>D</mi> <mo>=</mo> <mfrac> <msub> <mi>N</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>N</mi> <mn>1</mn> </msub> <mo>+</mo> <mn>2</mn> <msub> <mi>N</mi> <mn>2</mn> </msub> </mrow> </mfrac> <mo>;</mo> </mrow>
其中Ni是精确计数为i的n元短语的个数。

关 键 词:
一种 基于 词频 SKIP 语言 模型 训练 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种基于词频的SKIP语言模型的训练方法.pdf
链接地址:http://zh228.com/p-6100747.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');