一种CRF识别器的训练及技术及其属性名关系对抽取方法
技术领域
本发明涉及信息抽取技术领域,尤其涉及面向科技领域的一种CRF识别器的训练及技术及其属性名关系对抽取方法。
背景技术
技术实体及其属性名称关系对(本文简称技术及属性名关系对)抽取是指从各类数据资源中抽取特指技术的命名实体以及对该实体进行描述的各种属性名称,特指显性的属性名。比如在句子“The energy conversion efficiency of the DSSC based on K1was5.2%.”中,“DSSC”为技术实体,而"energy conversion efficiency"为它的一个属性,”5.2%”为属性值。技术实体及其属性抽取是科技知识库构建的重要一环,可以进一步应用到技术评价、技术预测、自动问答等领域。随着学科之间的互相渗透,越来越多的交叉技术相继涌现,针对科技知识库构建的研究已经不能仅仅局限于某一个特定的技术领域,而面向开放领域的技术及其属性名的抽取是迫切需要的。
技术及其属性抽取其实质是关系抽取的一种,与属性抽取相关的研究大致可以分为属性名和属性值对、实体/概念和属性名对、属性名和情感描述的提取,属性抽取技术广泛用于知识库构建、意见挖掘或情感分析、商品评价分析等应用场景。目前尚没有对技术及其属性名关系对进行抽取的研究,甚至还没有对技术实体有效识别的研究。
针对技术与属性名关系对的抽取,目前存在诸多挑战。首先,面向开放技术领域,不同的技术往往有不同的属性名,描述方式也不同,导致很难建立统一的模板。其次,不同于商品、服务等领域可以找到客户评论或者日志等高价值语料,一般语料中对技术的描述不够集中、技术属性的特征极其稀疏,导致采用监督式机器学习方法时需要耗费大量精力标注训练样本,同时稀疏的特征不适用于基于话题模型的属性抽取方法(参见文献[1]Arjun Mukherjee and Bing Liu,“Aspect Extraction through semi-SupervisedModeling,”presented at the ACL,2012.,文献[2]Zhiyuan Chen,Bing Liu,MeichunHsu,and MalúCastellanos,“Exploiting domain knowledge in aspect extraction,”presented at the EMNLP 2013-2013Conference on Empirical Methods in NaturalLanguage,2013.)。最后,目前尚没有公开报道的开放领域的技术知识库,新的陌生的技术名词仍在不断涌现,因此在技术及其属性名关系对的抽取中,不但属性名是未知的,而且技术实体名称也是未知的,因此技术实体、属性名及其之间的关系都属于抽取对象,任务量比较大。
目前已有文献分别提出了实体与属性名关系对的抽取方法,其中,文献[3](KedarBellare,Partha Pratim Talukdar,and Giridhar Kumaran.“Lightly-SupervisedAttribute Extraction.”Neural Information Processing Systems,2007.)不适用于开放领域的关系抽取,并且未提及方法的召回率;文献[4](Joseph Reisinger,and MariusPas,ca.“Low-Cost Supervision for Multiple-Source Attribute Extraction,”2009.)实现了指定实体类的属性名的抽取,假设同一类实体具有相同的属性名称,而这一假设并不适用于技术;文献[5](Taesung Lee,Zhongyuan Wang,Haixun Wang,and Seung-wonHwang,“Attribute Extraction and Scoring:A Probabilistic Approach,”presentedat the International Conference on Data Engineering(ICDE),2013.)采用了简单的“of”模板进行实体/概念和属性名对的抽取,因此召回率极低,同时该方法中的实体名称都来自现成的知识库/词表,而对技术实体来说目前并没有现成的知识库或词表做支撑。文献[6](Lidong Bing,Wai Lam,and Tak-Lam Wong,“Wikipedia Entity Expansion andAttribute Extraction from the Web Using Semi-supervised Learning,”presentedat the Acm International Conference on Web Search&Data Mining,2013.)针对特征丰富的半结构化语料,实现了知识库中实体的扩充和对应属性名的完善,而对应于技术则无法获得如此高质量的语料。综述,现有实体和属性名关系对抽取技术都不适用于开放领域技术和属性名关系对的抽取。
发明内容
本发明的目的在于克服目前实体和属性名关系对抽取方法存在的上述缺陷,针对科技知识库构建、技术分析、自动问答等应用需求,提出一种CRF识别器的训练方法,基于该方法训练的CRF识别器,本发明提供了一种技术及其属性名关系对抽取方法,通过该方法,在极少人工参与的情况下,可以实现开放技术领域中技术及属性名关系对的抽取。
为了实现上述目的,本发明提出了一种CRF识别器的训练方法,所述CRF识别器包括一个属性名CRF识别器和一个关系对CRF识别器,所述属性名CRF识别器和关系对CRF识别器都为CRF模型;所述方法包括:
步骤1)建立属性名训练样本,提取属性名训练样本的属性名特征,作为属性名CRF识别器的输入,由此训练出属性名CRF识别器;
步骤2)获取属性名CRF识别器输出的属性名,再根据与技术名词形成的所属关系搜集种子对,然后再收集语料,解析得到依存树,由此形成关系对训练样本,提取关系对训练样本的关系对特征,作为关系对CRF识别器的输入,由此训练出关系对CRF识别器;
步骤3)将属性名CRF识别器和关系对CRF识别器连接在一起,即所述属性名CRF识别器的输出为关系对CRF识别器的输入,形成CRF识别器。
上述技术方案中,所述步骤1)具体包括:
步骤101)从文本中收集属性名种子;
步骤102)以属性名种子为检索词,从摘要库中检索得到包含属性名的语句,该语句为属性名语料语句;
步骤103)对属性名语料语句中属于和不属于属性名的词按照IBO标准进行标注,形成属性名训练样本;
步骤104)提取属性名训练样本的属性名特征;
步骤105)将属性名训练样本的属性名特征输入CRF模型,根据其标注的结果训练CRF识别器。
上述技术方案中,所述属性名特征包括:当前单词、当前单词的词形、当前单词的词性、当前单词的词根、当前单词的后四个字母、前一个单词和当前单词的组合、当前单词和后一个词的组合、前一个单词和当前单词词性的组合及当前单词和后一个词词性的组合。
上述技术方案中,所述步骤2)具体包括:
步骤201)通过信息抽取方式得到一个包含若干个技术名词的列表;
步骤202)使用步骤1)训练得到的属性名CRF识别器识别文本中每一条句子中代表属性名的词或短语;
步骤203)收集关系对种子;所述关系对种子指的是由技术名词以及与其存在事实性所属关系的属性名所组成的关系对;
步骤204)同一关系对种子中的技术名词和属性名通过“and”组配成检索式,在摘要库中检索得到同时包含该技术和属性名称的语句,形成关系对语料语句;
步骤205)将关系对语料语句中的句子解析成以词或者名词短语为节点的句法依存树;
步骤206)对关系对语料语句中属于和不属于关系对的词组按照IBO标准进行标注,形成关系对训练样本;
步骤207)提取关系对训练样本的关系对特征;
步骤208)将关系对训练样本的关系对特征输入CRF模型,根据其标注的结果训练关系对CRF识别器。
上述技术方案中,所述步骤205)的具体实现过程为:
步骤205-1)使用Spacy软件包对关系对语料语句中的句子进行依存句法解析,得到对应的句法依存树;
步骤205-2)使用Spacy软件包对句子中的名词短语进行识别;
步骤205-3)将依存树中属于同一个名词短语的节点聚合成一个节点,称为名词短语节点,记为NPn;
步骤205-4)由于每条句子都包含一个表示属性名的名词短语,该名词短语对应于依存树中的节点记为ATTRn。
上述技术方案中,所述步骤206)的具体实现过程为:
步骤206-1)使用Dijkstra算法计算ATTRn节点到任意其他NPn节点之间的最短路径;
步骤206-2)记录路径中的所有节点以及顺序,用对应单词表示非名词短语节点,用符号’NPn’表示NPn节点;
步骤206-3)如果最短路径的起点ATTRn和终点NPn同时对应属性名称和技术名词,则该条最短路径记为训练样本的正例,反之记为反例;
步骤206-4)使用IBO标准对训练样本进行标注。
上述技术方案中,所述关系对特征包括:词形特征、词性特征、依存类型特征和依存方向特征;
所述词形特征包括:当前词的拼写、前一个词拼写、后一个词拼写、前一个词拼写以及当前词拼写的组合、当前词拼写以及后一个词拼写的组合和前一个词的拼写和当前词的拼写以及后一个词的拼写的组合;
所述词性特征包括:当前词的词性、前一个词的词性、后一个词的词性、前一个词词性以及当前词词性的组合、当前词词性以及后一个词词性的组合和前一个词词性及当前词词性以及后一个词词性的组合;
所述依存类型特征包括:与前一个词之间的依存类型、与后一个词之间的依存类型、当前词拼写以及与前一个词之间的依存类型的组合、当前词拼写以及与后一个词之间的依存类型的组合、前两个词之间的依存类型前一个词以及前两个词之间的依存类型的组合、前一个词以及当前词与前一个词之间依存类型的组合、后两个词之间的依存类型、后一个词以及后两个词之间依存类型的组合、后一个词以及当前词与后一个词之间依存类型的组合、前一个词拼写及前一个词与当前词依存类型以及当前此拼写的组合、当前词拼写及当前词与后一个词依存类型以及后一个词拼写的组合、当前词拼写及当前词与后一个词依存类型以及后一个词拼写的组合、前一个词拼写及前一个词与当前词依存类型及当前词拼写及当前词与后一个词依存类型以及后一个词拼写的组合;
所述依存方向特征包括:与前一个词之间的依存方向、与后一个词之间的依存方向、当前词拼写以及与前一个词之间的依存方向的组合、当前词拼写以及与后一个词之间的依存方向的组合、前两个词之间的依存方向、前一个词以及前两个词之间的依存方向的组合、前一个词以及当前词与前一个词之间依存方向的组合、后两个词之间的依存方向、后一个词以及后两个词之间依存方向的组合、后一个词以及后两个词之间依存方向的组合、后一个词以及当前词与后一个词之间依存方向的组合、前一个词拼写及前一个词与当前词依存方向以及当前此拼写的组合、当前词拼写及当前词与后一个词依存方向以及后一个词拼写的组合、前一个词拼写及前一个词与当前词依存方向及当前此拼写及当前词与后一个词依存方向以及后一个词拼写的组合。
基于上述方法训练得到的CRF识别器,本发明还提供了一种技术及其属性名关系对抽取方法,所述方法包括:
步骤S1)获取待识别的数据样本;
步骤S2)提取数据样本的属性名特征,并输入属性名CRF识别器,得到经过标注的属性名;
步骤S3)基于名词短语的依存句法解析,计算步骤S2)得到的属性名所在名词短语到其它名词短语之间的最短依存路径,由此提取关系对特征,输入关系对CRF识别器,得到技术及属性名关系对。
本发明的技术优势在于:
1、本发明提出的技术及其属性名关系对抽取方法面向的是开放技术领域,不局限于某特定技术领域,为交叉技术或者新兴技术的预测与分析提供了基础;
2、本发明提出的方法仅需要极少的人工参与,避免了其他方法中人工标注语料的过程;
3、目前,对技术名称的识别鲜有研究,属于世界级的难题,本发明的方法从属性名的识别入手,有效避免了一开始识别技术名称所带来的阻力;而且,本发明的方法在训练关系对识别器时采用了基于名词短语的依存句法分析,并且采用了大量依存类型和依存方向等特征,有效提高了识别器的准确率和召回率。
附图说明
图1为本发明的CRF识别器训练方法的流程图;
图2a为本发明的基于名词短语的句法解析句法依存树的示意图;
图2b为本发明的基于名词短语的句法依存树的示意图;
图3为本发明的技术实体及其属性名关系对抽取方法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细的说明。
如图1所示,一种CRF(Conditional Random Field,条件随机场)识别器的训练方法,所述CRF识别器包括一个属性名CRF识别器和一个关系对CRF识别器,所述属性名CRF识别器的输出为关系对CRF识别器的输入,所述属性名CRF识别器和关系对CRF识别器都为CRF模型;所述方法包括:
步骤1)训练属性名CRF识别器;
所述文本是互联网科技新闻或者科技文献等科技类英文文本。属性名CRF识别器用于识别和标注文本中的属性名称;
所述步骤1)具体包括:
步骤101)从文本中收集属性名种子;
通过观察大量科技类文本,人工指定10个技术属性名词作为种子(如precision、reliability、flexibility、robustness等)。使用“Google word2vec”(https://code.google.com/p/word2vec/)工具对约1亿篇科技文献(INSPEC、WPI、EI、Elsvier、Springer等30种文献库,包含1995年到2015年20年的1亿篇科技文献)的摘要文本生成Word2vec模型,计算每一个属性名种子的相似词,取最相似的前20个词,共得到200个词,剔除重复后最后得到一个131个属性名的词表,作为属性名种子。
步骤102)以属性名种子为检索词,从摘要库中检索得到包含属性名的语句,该语句为语料语句;
步骤103)对语料语句中属于和不属于属性名的词按照IBO标准进行标注,形成属性名训练样本;
对于语料中的一条句子,如果某个属性名种子出现在句子的某个名词短语中,则将该短语标注为属性名。使用IBO方式对句子进行标注,以句子"It enables us tomeasure or observe various aerodynamic characteristics of the flapping microair vehicles."为例,标注如表1所示:其中B_ATTR表示对应词为属性名词短语的起始词,而I_ATTR表示非起始词,O表示不属于属性名词短语的词或者符号。本实施例共标注属性名CRF识别器训练样本10000条。
表1
It |
enables |
us |
to |
measure |
or |
observe |
various |
aerodynamic |
characteristics |
of |
…… |
O |
O |
O |
O |
O |
O |
O |
B_ATTR |
I_ATTR |
I_ATTR |
O |
…… |
步骤104)提取属性名训练样本的属性名特征;
属性名特征如表2所示:
表2
表达式 |
说明 |
w0 |
当前单词 |
shape0 |
当前单词的词形 |
pos0 |
当前单词的词性 |
lemma0 |
当前单词的词根 |
w[-4:] |
当单词的后四个字母 |
w-1,w0 |
前一个单词和当前单词的组合 |
w0,w+1 |
当前词和后一个词的组合 |
pos-1,pos0 |
前一个单词和当前单词词性的组合 |
pos0,pos+1 |
当前词和后一个词词性的组合 |
步骤105)将属性名训练样本的属性名特征输入CRF模型,根据其标注的结果训练CRF模型,得到属性名识别CRF模型,称为属性名CRF识别器。
在本实施例中,使用CRFSuite工具(http://www.chokkan.org/software/crfsuite/)对训练样本以及特征进行训练。
步骤2)训练关系对CRF识别器;
关系对CRF识别器用于识别出技术与属性名关系对,其中关系对的识别需要用到属性名识别的结果。
关系对RCF识别器生成包括抽取技术名称词表、标注属性名称、收集关系对种子、收集语料、基于名词短语的句法解析、标注关系对训练样本、提取特征以及训练CRF模型等8个步骤。
所述步骤2)具体包括:
步骤201)通过信息抽取方式得到一个技术名词的列表;
维基百科的“新兴技术”页面(https://en.wikipedia.org/wiki/Emerging_ technologies)列举出了若干新兴技术名称,本发明抽取这些技术名称作为技术名称列表,得到226个技术名称。需要说明的是技术名称也可以通过其他方式收集获得,但必须保证该技术名词词表的准确性,并且需要尽可能覆盖多个技术领域。
步骤202)使用步骤1)训练得到的属性名CRF识别器识别文本中每一条句子中代表属性名的词或短语;
步骤203)收集关系对种子;所述关系对种子指的是由技术以及与其存在事实性所属关系的属性名所组成的关系对;
如果在科技类文本中出现如“Attribute A of Technology T”形式的字符串,则该字符串中的Attribute A与Technology T存在事实性所属关系。因此,在收集关系对种子时,采用“Attribute A of Technology T”的字符串组合方式从摘要库中进行检索,其中Attribute A来自于属性名CRF识别器的识别结果,Technology T来自于技术名称词表,如果存在检索结果,则把Attribute A与Technology T组成的元组加入关系对种子集合。本发明共收集关系对种子1773个。
步骤204)以同一关系对种子中的技术和属性名通过“and”组配成的检索式,在摘要库中检索得到同时包含该技术和属性名称的语句,形成关系对语料语句;
步骤205)将关系对语料语句中的句子解析成以词或者名词短语为节点的句法依存树;
首先使用Spacy软件包(https://spacy.io/)对句子进行依存句法解析,得到对应的句法依存树,同时使用Spacy对句子中的名词短语进行识别。然后将依存树中属于同一个名词短语的节点聚合成一个节点,称为名词短语节点,记为NPn。由于每条句子都是由检索获得,因此每条句子都包含一个表示属性名的名词短语,该名词短语对应于依存树中的节点记为ATTRn。以句子:"It enables us to measure or observe various aerodynamiccharacteristics of the flapping micro air vehicles."为例,进行句法依存解析后得到的句法依存树如图2a所示,该句子中包含4个名词短语[It,us,various aerodynamiccharacteristics,the flapping micro air vehicles],本发明基于名词短语的句法解析后得到依存树如图2b所示。
步骤206)自动标注关系对训练样本;
基于上一步的句法解析,使用Dijkstra算法计算ATTRn节点到任意其他NPn节点之间的最短路径,记录路径中的所有节点以及顺序,用对应单词表示非名词短语节点,用符号’NPn’表示NPn节点。如果最短路径的起点ATTRn和终点NPn同时对应属性名称和技术名词,则该条最短路径记为训练样本的正例,反之记为反例。同样使用IBO形式对训练样本进行标注,以句子:"It enables us to measure or observe various aerodynamiccharacteristics of the flapping micro air vehicles."为例,如图2b所示,其中“实线”路径为反例,而“虚线”路径为正例,标注后如表3所示:
表3
步骤207)提取关系对训练样本的关系对特征;
所用特征如表4所示,可以看出本发明采用了大量词间依存关系和依存方向的特征。
表4
注:最短依存路径中的NPn或者ATTRn的拼写以及词性分别记为”NP”和”ATTR”,与其他词的依存类型和方向指的是NPn或者ATTRn短语中心词与其他词的依存类型和方向。
步骤207)将关系对训练样本的关系对特征输入CRF模型,根据其标注的结果训练CRF模型,得到关系对识别CRF模型,称为关系对CRF识别器。
在本实施例中,使用CRFSuite工具(http://www.chokkan.org/software/crfsuite/)对训练样本以及特征进行训练。
步骤3)将属性名CRF识别器和关系对CRF识别器连接在一起,形成CRF识别器;
基于上述方法训练得到的CRF识别器,如图3所示,本发明还提供了一种技术及其属性名关系对抽取方法,所述方法包括:
步骤S1)获取待识别的数据样本;
本发明针对的数据来源是科技文献或者科技新闻等英文文本数据。
步骤S2)提取数据样本的属性名特征,并输入属性名CRF识别器,得到经过标注的属性名;
步骤S3)基于名词短语的依存句法解析,计算属性名所在名词短语到其它任一一个名词短语之间的最短依存路径,由此提取关系对特征,输入关系对CRF识别器,得到技术及属性名关系对。
本发明方法适合从海量文本数据中抽取技术及属性名关系对,表5给出了燃料电池和碳纳米管的部分关系对抽取结果。
表5