留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于上下文相关的未知实体词识别方法

夏虎 黄文茜

夏虎, 黄文茜. 基于上下文相关的未知实体词识别方法[J]. 电子科技大学学报, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
引用本文: 夏虎, 黄文茜. 基于上下文相关的未知实体词识别方法[J]. 电子科技大学学报, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
XIA Hu, HUANG Wen-qian. Unknown Words Recognition Based on Context-Sensitive Algorithm[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
Citation: XIA Hu, HUANG Wen-qian. Unknown Words Recognition Based on Context-Sensitive Algorithm[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022

基于上下文相关的未知实体词识别方法

doi: 10.3969/j.issn.1001-0548.2016.05.022
基金项目: 

国家自然科学基金 61250110543

中央高校基本科研业务费 ZYGX2013J079,ZYGX2014Z012,ZYGX2011J067

四川省科技项目 012RZ0002,2013TD0006

详细信息
    作者简介:

    夏虎(1981-),男,博士,主要从事数据挖掘、复杂网络方面的研究.

  • 中图分类号: TP181

Unknown Words Recognition Based on Context-Sensitive Algorithm

图(4) / 表(1)
计量
  • 文章访问数:  3849
  • HTML全文浏览量:  1200
  • PDF下载量:  162
  • 被引次数: 0
出版历程
  • 收稿日期:  2015-02-06
  • 修回日期:  2015-06-15
  • 刊出日期:  2016-09-01

基于上下文相关的未知实体词识别方法

doi: 10.3969/j.issn.1001-0548.2016.05.022
    基金项目:

    国家自然科学基金 61250110543

    中央高校基本科研业务费 ZYGX2013J079,ZYGX2014Z012,ZYGX2011J067

    四川省科技项目 012RZ0002,2013TD0006

    作者简介:

    夏虎(1981-),男,博士,主要从事数据挖掘、复杂网络方面的研究.

  • 中图分类号: TP181

摘要: 现有的未知实体词识别方法主要针对人名、地名、机构名等具有特定结构的实体词进行识别,而随着电子商务和社交网络的快速发展,出现了大量结构不确定的专有领域未知实体词。针对该问题,提出两种基于上下文相关的未知词识别算法,通过计算词(字)和词(字)之间的上下文相关性,得到其潜在组合的支持度,并通过过滤模块过滤掉错误的组合,实现具有非确定型结构的未知实体词识别。实验表明,该算法具有较高的准确率,并且可以通过调整参数适应不同的应用场景。

English Abstract

夏虎, 黄文茜. 基于上下文相关的未知实体词识别方法[J]. 电子科技大学学报, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
引用本文: 夏虎, 黄文茜. 基于上下文相关的未知实体词识别方法[J]. 电子科技大学学报, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
XIA Hu, HUANG Wen-qian. Unknown Words Recognition Based on Context-Sensitive Algorithm[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
Citation: XIA Hu, HUANG Wen-qian. Unknown Words Recognition Based on Context-Sensitive Algorithm[J]. Journal of University of Electronic Science and Technology of China, 2016, 45(5): 839-844. doi: 10.3969/j.issn.1001-0548.2016.05.022
  • 命名实体是文本中承载信息的重要语言单位,命名实体的识别在网络信息抽取、网络内容分析和知识工程等领域都占有非常重要的地位。传统的命名实体识别主要针对人名、地名、机构名以及产品命名实体等具有特定结构的实体词[1]。然而,随着互联网的快速发展,网络上出现了大量结构不确定的专有领域未知实体词,例如电子商务中大量出现的新商品名称、网络用语“酱紫(这样子)、斑竹(版主)”等,这类未知词结构多样,没有特定的规律,用传统的未知词识别方法难以有效识别。

    目前未知词识别领域的研究主要有3种方法:基于统计的方法、基于规则的方法以及两者结合的方法。基于统计的方法认为:如果若干个相邻的字或词经常同时出现,它们则可能是一个新词。这种方法简单高效易实现,但需要大量训练数据,而且由于未考虑不同词的构词能力[2]和构词模式,识别的准确率不高。基于规则的方法通过标注词典和成词规则来识别新词,这些规则往往需要专家针对特定领域来具体制定,该方法准确率高,但规则制定费时费力,且不同领域需要重新制定相应规则,领域适应性差。针对上述两种方法中的问题,越来越多的研究者采用统计与规则相结合的思路,取得了许多显著的成果,本文采用的基于上下文相关的算法即为其中一种。

    一个字或词的上下文是指出现在它前后的那些字或词,在文本中相邻的字词共同出现的次数越多,它们越有可能是一个“未知词”,例如“清仓/圣/丽/奴/时尚/女/挎包”、“横款/圣/丽/奴/两用/包”、“高级/提花布/深/咖/圣/丽/奴/女/挎包”的分词结果可以看出,“丽”的上下文信息中总是包括“圣”和“奴”,也就是说“圣”、“丽”、“奴”3个字经常依此顺序共同出现,而“圣丽奴”整体并没有固定的上下文信息,因此本文认为“圣丽奴”有较大概率为一个未知实体词。

    以上述理论为基础,本文提出了两种基于上下文信息进行未知词识别的方法。其中,基于最大组合的上下文相关算法(MC)利用统计的手段,获取由二元组、三元组、四元组、五元组构成的候选未知实体词集,然后利用上下文信息对候选未知实体词进行支持度过滤、歧义过滤和最大组合过滤,获取真正的未知实体词。

    进一步,本文提出了一种基于关联规则的上下文相关算法(FPC),在FP树构建和频繁模式挖掘过程中加入各“项”(分词后的字或词)在文中出现的下标信息,利用此信息保证挖掘出的频繁模式中各项在文中的相邻关系以及前后顺序。从而避免了传统FP-growth算法不能保证挖掘出各项之间原始的相邻关系和前后顺序而不适合用于未知实体词识别的问题。

    实验结果表明,在某电子商务网站的2 000个商品网页源文件上进行的3个类别数据集上,本文的两种方法均能有效地对结构不确定的专有领域未知实体词进行识别,具有较高的准确率。

    • 文献[3]提出了一种基于角色标注的中文未登录词识别通用方法。该方法依据角色,即未登录词的内部组成成分、上下文及句子中的其他成分来识别未登录词。算法简单可行,具备较好的准确率和召回率,尤其适用于中国人名和音译名的识别。

      文献[4]提出了一种隐马尔科夫模型(hidden Markov model,HMM)和一个基于HMM的块标注器,并在此基础上建立了命名实体识别系统(NER)以识别姓名、时间以及数字量。系统整合了四方面的证据:词语包含的简单且确定性的内部特征,如大写、数字、触发器等内部语义特征以及外部上下文特征。该系统在蛋白基因(MUC-6和MUC-7)的英文命名实体识别任务中分别达到了96.6%和94.1%的准确率。

      文献[5]提出了一种基于支持向量机(SVM)的命名实体识别系统。该系统从文档中提取名称、数字信息并将其分类成人名、组织名以及日期。该系统取得了较高的准确率,并且解决了传统SVM效率不高的问题。文献[6]则提出利用SVM进行生物医学命名实体识别。该系统采用了字词缓存以及HMM状态两个新特征,在GENIA语料库上取得了令人满意的结果。

      文献[7]提出了一种组合分类器的实验框架以识别命名实体。该框架组合了4个不同的分类器:鲁棒的线性分类器、最大熵模型、迁移学习及隐马尔科夫模型。文献[8]提出基于最大熵模型的命名实体识别系统,该系统直接利用整篇文档的全局信息来分类每一个具体的词,并且仅使用了一个分类器而不是二级分类器。

      文献[9]提出了一种基于网络资源的未登录词扩展识别方法。该方法利用统计的思想,以左右邻信息判断未登录词边界,对已识别出的二元候选未登录词进行扩展,找出具有更完整语义的不限长度复合未登录词。该方法简单高效,但没有充分考虑不同词的构词能力和构词模式,容易因成词率低的高频词引发扩展错误,因此准确率不高。

      文献[10]提出了一种基于统计和规则的未登录词识别方法。该方法将文本分词后的碎片切分形成临时词典,再利用规则和词频对其赋以不同的权值,最后用贪心算法得到碎片的最长路径,从而识别出未登录词,并进一步利用互信息提取若干个词组成未登录词(组)。该方法能正确识别出碎片中的大部分未登录词,但是识别正确性依赖于分词性能且对人名的识别规则不够完善。

      文献[11]提出先将文本进行分词,再利用N-Grams方法得到候选未登录词集,之后通过概率统计的手段从中识别出未登录词。但这种方法在各个阈值的设定、中文词组的确定规则以及噪音字的选取方面仍需进一步完善。

      综上所述,目前未知词识别的研究对象主要集中在人名、地名、机构名或者产品命名实体等具有特定结构的实体词上,对于近几年网络中出现的大量结构不确定的专有领域未知实体词的研究较少,本文特针对该问题提出两种识别方法。

    • 一个字或词的上下文是指出现在它前后的那些字或词,在文本中相邻的字词共同出现的次数越多,它们越有可能是一个“未知词”。本文算法充分利用字词的上下文关系统计获取候选未知词集,然后通过支持度过滤、歧义过滤以及最大组合过滤筛选出最终的未知词,具体流程如下:

      1) 对于输入文档集D中的任一文档d,首先将文本中“,、。;:”5种标点替换为换行符得到文档d'

      2) 对文档d'分词,得到文档d'',将d''中的每个词/字作为基本单位“项”,对于每一行文本,统计该行相邻项之间形成的n元组(2≤n≤5)出现的次数count,形成集合Pn元组,count>;

      3) 将P中具有相同n元组的count值合并,作为该n元组在文档d中的总支持度,并过滤掉count<minSup的组合,其中minSup是算法设定的最小支持度参数;

      4) 进行歧义过滤(参考2.1节)及最大组合过滤(参考2.2节),得到最终识别出的未知实体词;

      5) 相同未知词可能出现在单一文档的不同位置,也可能出现在文档集D的任一文档中,因此需要针对所有文档遍历完后得到的组合集totalPat中再进行一遍歧义过滤和最大组合过滤。最后得到的结果保存在未知词集unKnown中,算法结束。

    • 歧义过滤是指若识别出两个“歧义组合”,仅保留count值最大的未知词组合。歧义组合定义如下:

      定义 1歧义组合

      两个候选未知词组合${U_1}\{ {w_i},{w_{i + 1}}, \cdots ,{w_j}\} $和${U_2}\{ {w_m},{w_{m + 1}}, \cdots ,{w_n}\} $,其中$w$为单字,${U_1}$和${U_2}$为字串,若满足${w_j} = {w_m}$或者${w_i} = {w_n}$,则认为组合${w_i} = {w_n}$和${U_2}$是歧义组合。

      图 1所示,在“施华洛世奇水晶链坠”的分词字符串中,“世奇”和“奇水晶”就是一对歧义组合,两种划分方式必然只有一种正确。根据“世奇”与“奇水晶”在全文中的支持度,可以过滤掉支持度较低的“奇水晶”这样的错误组合。

      图  1  歧义组合示例

    • 最大组合过滤是指若识别出若干个具有“歧义父子串关系”的组合,则保留歧义父串而去掉歧义子串。歧义父子串关系定义如下。

      定义 2 歧义父子串

      识别出两个候选未知词组合${U_1}\{ {w_i},{w_{i + 1}}, \cdots ,{w_j}\} $和${U_2}\{ {w_m},{w_{m + 1}}, \cdots ,{w_n}\} $,其中$w$为单个的字,如果${U_1}$和${U_2}$具有相同的支持度,且${U_1}$中存在子串$U'\{ {w_p},{w_{p + 1}}, \cdots ,{w_q}\} (i \le p \le q \le j)$与${U_2}$完全相同,则${U_1}$为歧义父串,${U_2}$为歧义子串。

      图 2所示,在“施华洛世奇水晶链坠”的分词字符串中,“施华洛世奇”与“施华洛世”、“华洛世奇”、“华洛世”等具有相同的支持度,构成了歧义父子串关系,根据最大组合过滤规则只保留“施华洛世奇”这一歧义父串组合。

      图  2  歧义父子串示例

    • 基于最大组合的上下文相关算法MC利用统计信息构造候选未知词集,然后通过支持度过滤、歧义过滤以及最大组合过滤,删除候选未知词集合中绝大部分错误的候选词,从而识别出正确的未知实体词。

      MC算法简单高效,可以有效识别出网页中的未知实体词。MC算法的主要思想是认为在文本中相邻的字词共同出现的次数越多,它们越有可能是一个“未知词”。而关联规则算法是挖掘数据项共同出现关系的经典算法。因此,下文基于关联规则的上下文相关算法FPC提出利用关联规则挖掘字词间的共现关系来识别未知实体词。

    • FP-growth算法[12]是一种高效的关联规则挖掘算法,但是由于未保证挖掘出的频繁模式中各项间的相邻关系和前后顺序而不适合直接用做未知词识别。本文提出的基于关联规则的上下文相关算法改进了FP-growth算法,在FP树构造过程以及频繁模式挖掘过程均充分利用了文档中各项出现位置的下标信息,有效地保证了所挖掘频繁模式中的各项间具备正确的相邻关系以及前后顺序,亦即保证了识别出的未知词在上下文意义上的正确性。

      与MC算法类似,本文算法首先对输入文档集D中的每一个文档d进行文本切分处理,即将其中的“、,。;:”5种标点换为换行符得到文档d',分词后得到文档d''d''中每一个分词后的单位称为“项”,每一行称为一条“事务记录”。为了存储每个项在文档d''中出现的所有位置的下标,将每一项的数据结构定义为${\rm{Item}}\{ name,index,flag\} $,其中name是该项的名字,index是该项在文档d''中出现的位置编号数组,flag是排序的标志,用于将之后挖掘出的频繁模式按照在文中出现的先后顺序排序。对于文档d'',FPCTree构造与频繁模式挖掘的过程如下。

      1) FPCTree的构造

      ① 扫描文档d'',得到频繁1项集,对它们的支持度计数,统计index信息,将频繁1项集按照支持度递减排序,若支持度相同,则按照各项在文中出现的先后顺序排序。删除支持度小于minSup的项,得到F1项集。

      ②构造树的结构为:${\rm{TreeNode}}\{ item,count,$parent,$children,nextHomonym\} $,其中item表示该树节点对应的项,count是该节点的支持度,parent为父节点,children是子节点数组,nextHomonym指向下一个同名结点。创建树的根节点T,以null标记。

      ③ 第二次扫描文档d'',每条事务记录中的项按照F1中的顺序排序,设排序后的频繁项表为$[p|P]$,其中p为频繁项表的第一项,P为频繁项表中的剩余项。调用函数${\rm{addNode}}(T,[p|P])$递归的将每一项加入到FP树中。${\rm{addNode}}(T,[p|P])$执行过程如下:首先判断T的儿子节点中是否存在p的同名节点,即存在一儿子节点t,满足$t.{\rm{Item}}{\rm{.name}} = = p.{\rm{Item}}{\rm{.name}}$。若存在,则t节点的count计数加1,将p节点index数组中的所有下标加入到t节点的index数组中去;若不存在,则创建一个新节点t,将其count值设为1,链接到它的父节点T,并通过nextHomonym链接到下一个同名节点。将t加入到T的子节点数组中。

      2) 从FPCTree中挖掘候选频繁模式

      F1中的每一项item执行以下步骤:

      ① 生成条件模式基。利用nextHomonym信息,找到所有item同名节点的祖先路径,路径上所有节点count值均设为item的count值。

      ② 构建条件FP树。将条件模式基作为事务记录生成条件FP树。

      ③ 对于条件FP树中的每一条长路径生成项的任意组合方式,得到组合集P。过滤掉P中支持度小于minSup的组合,得到组合集P'。对于P'中的每一个组合,利用各项的index信息判断组合的上下文顺序是否正确。若正确,则获取该组合的支持度,并且将该组合按照在文中出现的先后顺序排序;若不正确,删掉该组合。得到候选频繁模式集Pat。

      ④ 挖掘出所有item的候选频繁模式后,将相同的模式合并。

      ⑤ 识别出文档d''中的候选未知词集Pat后,同MC算法一样,仍然需要在文档内部以及文档间进行歧义过滤与最大组合过滤,得到最终的未知词集unKnown,算法结束。

    • 本文利用爬虫程序采集了某电商网站2000个商品源文件,涉及项链、凉鞋、包、羽绒服、帽子、连衣裙、围巾、灯饰、针织衫和牛仔裤等10个类别的商品,每个类别中商品数量均为200。按商品类别等比例选取其中1000份作为数据集1,剩余1000份作为数据集2。

      实验首先针对网页进行数据预处理,去除包括网页标签在内的无效字段,处理过程非本文重点,在此不再赘述。

      为检验本文算法对不同分词工具的适应性,实验过程分别采用MMAnalyzer和IKanalyzer[13]进行测试。本文实验采用Precision(准确率)和Recall(召回率)作为评价指标。

    • 1) 不同数据集结果比较

      表 1为MC算法和FPC算法使用不同分词工具在不同数据集上识别效果。对于每一个(算法,分词工具,数据集)的组合,随着支持度阈值min_sup阈值的增加,Precision和Recall也不断变化,表 1中所有结果均选取最佳识别效果时的准确率召回率。其中MMAnalyzer和IKAnalyzer分词工具分别简写为MM和IK。

      表 1  不同数据集上的结果

      复合特征模板特征模板含义描述
      MC算法-MM准确率/%92.9091.50
      召回率/%60.3057.90
      MC算法-IK准确率/%99.6095.80
      召回率/%68.8067.40
      FPC算法-MM准确率/%93.6091.00
      召回率/%49.7050.20
      FPC算法-IK准确率/%10094.80
      召回率/%60.5055.70

      由上表可以看出:对于MC算法、FPC算法、MMAnalyzer分词工具、IKAnalyzer分词工具的任意组合,均有较好的准确率和召回率。

      2) 不同分词工具结果比较

      观察两个算法在分别使用两个分词工具时识别结果的好坏,实验结果如图 3所示。

      图  3  两个算法分别在分词工具上的对比

      由图中可以看出,MC算法和FPC算法在两个分词工具上Precision和Recall的走势一致,Precision随着最小支持度参数min_Sup的增加而呈现上升趋势,在min_Sup=3时突变到一个高点,并在min_Sup>3后趋于稳定;Recall随着min_Sup的增加而呈现下降趋势,在min_Sup=4时突变到0%附近,并在之后稳定于0%。

      准确率突变点的存在是因为电商网站商品网页经过数据预处理后的待识别的未知词支持度普遍大于等于3,而其他候选未知词中错误的未知词的支持度普遍小于3,从而导致当min_Sup<3时识别出许多错误的未知词并拉低准确率。召回率突变类似。

      MC算法和FPC算法在使用IKAnalyzer分词工具时,均可以得到更好的准确率和召回率。这主要是由于算法1和算法2均先对输入文本进行了分词处理,分词的效果将直接影响到未知词识别的效果。如果分词工具将一个待识别未知词的某一部分和其他词分到了一起,则通过两个算法都无法识别出正确的未知词。例如,若未知词xyz(其中xyz为单字或者字串)被分成了xyzh,则经过算法1和算法2都无法识别出xyz,而分成xyz则可以很容易地被两个算法识别出来。IKAnalyzer分词工具比MMAnalyzer分词工具更能避免此类错误的分词结果,故而具备更高的准确率,又由于在同等情况下能识别出更多的未知词而具备更高的召回率。算法表现仍然依赖于分词效果,粒度越细的分词工具理论上将获得越好的表现。

      3) 算法的对比

      将使用相同分词工具时两个算法的结果进行对比,如图 4所示。

      图  4  使用相同分词工具时算法间的对比

      图 4可以看出,FPC算法准确率明显优于MC算法,但召回率则明显弱于MC算法。由于本文所述的未知词识别更为强调较高的准确率,因此本文实验最终选取minSup=3,牺牲部分召回率换取令人满意的准确率。

      综合整个对比分析过程,本文实验中最终未知词识别的最佳组合方式为:FPC算法,IKAnalyzer分词工具,min_Sup=3。

    • 本文针对网络中新出现的大量未知实体词,提出了两个未知词识别算法:基于最大组合的上下文相关算法(MC)和基于关联规则的上下文相关算法(FPC)。两个算法均充分利用了字词的上下文关系信息,可以有效识别专有领域具有非确定型结构的未知实体词,对于只能识别具有特定结构实体词的现有算法是一个很好补充。

      实验表明,本文算法具有较高的准确率。同时,算法可通过调整支持度阈值参数min_sup,从而适应不同的应用场景,具备一定的通用性。

      本文两个算法中均用到了歧义过滤和最大组合过滤,然而两种过滤方法均不能完全保证过滤的正确性,如何充分利用词的构词模式和构词能力形成新的过滤方法是下一步的研究内容之一。另外,网页噪声处理有多种不同的方法,多种方法对于未知词识别效果的影响也是下阶段研究的重要内容。

参考文献 (13)

目录

    /

    返回文章
    返回