一种左右递归新词发现方法与流程

文档序号:11155414阅读:来源:国知局

技术特征:

1.一种左右递归新词发现方法,包括语料预处理[1]、位置集合计算[2]、集合遍历[3]、收纳性判断[4]、词频计算[5]、左递归[6]、右递归[7]、合并[8]八个步骤:

语料预处理[1]:通过正则过滤、全半角转换、空白符号删除、无关特殊符删除、非文本删除、断句切分对输入语料进行处理;

位置集合计算[2]:计算输入语料中的字在输入语料中出现的位置;

集合遍历[3]:遍历位置集合;

收纳性判断[4]:判断位置集合中的每一个元素是否满足收纳规则的要求;

词频计算[5]:计算每一个字出现的频次;

左递归[6]:针对每一个字,依次取其左边的字组成新词并进行判断;

右递归[7]:针对每一个字,依次取其右边的字组成新词并进行判断;

合并[8]:将左递归发现的新词集合与右递归发现的新词集合进行合并。

2.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:语料预处理[1]通过正则过滤、全半角转换、空白符号删除、无关特殊符删除、非文本删除、断句切分对输入语料进行处理;其中,正则过滤是删除语料中包含的Html标签、Xml标签;全半角转换是将语料中的全角符号转换成半角符号、将中文的繁体转换成简体;空白符号删除是删除语料中多余的空格、换行符、制表符;无关特殊符删除是删除语料中包含的ASCII编码、特殊领域编码、乱码符号;非文本删除是删除文本中的图片、声音、视频数据;断句切分是根据句号、感叹号、问号、省略号、分号、空格、换行符将语料切分成一个一个的句子;为了避免语料中大量完全相同的句子对新词指标计算造成的误差,对切分好的句子进行Hash求值,并将Hash码完全相同的句子去重。

3.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:位置集合计算[2]计算输入语料中的字在输入语料中出现的位置;其中位置集合的计算公式为:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>W</mi> <mo>{</mo> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>POS</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>POS</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mn>...</mn> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>POS</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>POS</mi> <mi>m</mi> </msub> <mo>)</mo> </mrow> <mo>}</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>POS</mi> <mi>i</mi> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>pos</mi> <msub> <mi>i</mi> <mn>1</mn> </msub> </msub> <mo>,</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>pos</mi> <msub> <mi>i</mi> <mn>2</mn> </msub> </msub> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <msub> <mi>pos</mi> <msub> <mi>i</mi> <mi>n</mi> </msub> </msub> <mo>}</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>

其中w1,w2,…,wm表示输入语料中出现过且互不相同的字;(wi,POSi)表示一个集合而是该集合的一个元素,表示第i个字wi在输入语料中第j次出现的位置;表示第i个字wi位置出现过。

4.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:集合遍历[3]是遍历位置集合,记位置集合为W,也就是依次从位置集合W中取出每个字wi,保存于变量word中,即word=wi,i=i+1。

5.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:收纳性判断[4]是判断位置集合中的每一个元素是否满足收纳规则的要求;收纳性规则是指按照实体名词、派生词、缩略词、复合词、数字组合词这五种类型进行收纳。

6.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:词频计算[5]是指计算每一个字出现的频次,频次公式为:

<mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>N</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> </mrow> <mi>N</mi> </mfrac> </mrow>

其中,N(X)表示字符串X出现的次数;N表示语料的总字数。

7.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:左递归[6]是指针对每一个字依次取其左边的字组成新词进行判断;记当前字为word,则其步骤包括:(1)计算word的左信息熵;(2)根据预设的信息熵阈值检测计算出的左信息熵是否满足阈值,若不满足则计算word的左邻集合,左邻集合是word左边字组成的集合;(3)在左邻集合中任取一个元素pre,将pre与word组合成pre+word返回上一步重新计算左信息熵,并再次做判断;(4)如果计算出的左信息熵满足阈值,则计算互信息;(5)根据预设的互信息阈值,检测计算出的互信息是否满足阈值,若不满足则计算对应的左邻集合;(6)在左邻集合中任取一个元素pre,将pre与word组合成pre+word返回上一步重新计算左信息熵,并再次做判断,以此类推;(7)如果计算出的互信息满足阈值,则判断word或者pre+word是否已经存在于词库,如果没有存在则加入词库P1,如果存在则从位置集合中再取出一个新的word,重复进行前述步骤。

8.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:右递归[7]是指针对每一个字依次取其右边的字组成新词并进行判断;记当前字为word,则其步骤包括:(1)计算word的右信息熵;(2)根据预设的信息熵阈值,检测计算出的右信息熵是否满足阈值,如不满足则计算word的右邻集合,右邻集合是word右边字组成的集合;(3)在右邻集合中任取一个元素suf,将word与suf组合成word+suf返回上一步重新计算右信息熵,并再次做判断;(4)如果计算出的右信息熵满足阈值,则计算互信息;(5)根据预设的互信息阈值,检测计算出的互信息是否满足阈值,若不满足则计算对应的右邻集合;(6)在右邻集合中任取一个元素suf,将word与suf组合成word+suf返回上一步重新计算右信息熵,并再次做判断,以此类推;(7)如果计算出的互信息满足阈值,则判断word或者word+suf是否已经存在于词库,如果没有存在则加入词库P2,如果存在则从位置集合中再取出一个新的word,重复进行前述步骤。

9.根据权利要求1所述的一种左右递归新词发现方法,其特征在于:合并[8]是将左递归发现的新词集合与右递归发现的新词集合进行合并,记左递归发现的新词集合为P1、右递归发现的新词集合为P2,将P1与P2合并是指求P1和P2的交集。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1