一种基于距离监督的领域实体属性关系抽取方法
技术领域
本发明涉及一种基于距离监督的领域实体属性关系抽取方法,属于自然语言处理和深度学习技术领域。
背景技术
实体关系抽取作为信息抽取的核心任务和重要环节,能够实现实体对间语义关系的识别,对句子语义理解及实体语义知识库构建有着重要作用。而领域实体关系抽取是对通用领域关系抽取的一个延伸和补充,该任务对特定领域更加细粒度的知识进行扩充,为人类和计算机更好理解自然语言信息提供帮助,特定领域实体关系抽取一方面可以扩建领域知识库,另一方面可以使人们更加了解特定领域的一些细粒度的知识。我们所做的旅游领域关系抽取不仅对领域知识的挖掘具有重要的意义,而且有助于领域知识库的构建和机器翻译等任务。
发明内容
本发明提供了一种基于距离监督的领域实体属性关系抽取方法,以用于解决现有现有实体关系抽取大多运用于通用领域,而且特定领域的实体关系抽取无法直接套用通用领域的问题。
本发明的技术方案是:一种基于距离监督的领域实体属性关系抽取方法,所述方法的具体步骤如下:
Step1、首先构建中文领域知识库,并利用领域知识库中的实体对从旅游领域文本集中获取训练语料;所述Step1的具体步骤如下:
Step1.1、借鉴Freebase知识库的结构特点,构建一个中文旅游景点的领域知识库;
Step1.2、对于不同的网站运用不同的爬虫程序,从旅游网站和百科词条上爬取旅游领域文本信息,组成旅游领域文本集;
Step1.3、使用距离监督(Distant Supervision)的方法构建关系实例集,利用知识库在海量的文本集中找出在知识库中存在某种关系的实体对出现的句子,组成训练语料;
本发明所构建的中文旅游景点领域知识库是对通用知识库的一个补充。通用知识库对于特定领域的知识可能有所涉及,但是大多停留在概念层的知识,对于特定领域更加细粒度的知识没有涉及。本发明所使用的文本集是根据知识库中的相关实例所获取的。
Step2、对Step1中所获得的训练语料进行优化;所述Step2的具体步骤如下:
Step2.1、利用LDA主题模型对关系实例集中的文本进行关键词抽取,通过对文本预处理后,计算主题关键词与实体对在知识库中对应的预测关系的相关性,通过设置阈值来提取正例数据,其余的作为负例数据;
本发明采用LDA主题模型关键词对关系实例集去噪,假设描述实体关系的句子以某个特定的关键词为核心,通过抽取出关键词后,计算关键词与预测关系的相似程度,来对训练语料进行优化。
Step2.2、对于Step2.1中的负例数据中存在的作为正例数据上下位关系实例文本,采用关键词模式匹配来二次获取负例数据中的正例数据,通过关键词定义一个模式来对LDA主题模型关键词去噪后的负例数据进行二次去噪,用于提升正例数据的数量;
本发明是为了丰富训练数据中的正例数据,因为正例数据是影响关系抽取模型的重要因素,对于经过LDA主题模型关键词去噪后的负例数据,使用关键词模式匹配来进一步的优化,提取其中的正例数据。
Step3、对经过Step2优化的训练语料进行词性特征、依存关系特征和短语句法树特征提取,然后融合成为一个语义信息丰富的大特征;所述Step3的具体步骤如下:
Step3.1、词性特征所提取的内容包括:实体本身和实体的词性、实体左右两边第一个词以及这个词的词性、实体左右两边第二个词以及这个词的词性;
Step3.2、依存关系特征是使用哈工大的LTP工具来对句子进行解析得到的,截取两个实体之间的一段子树作为特征;
Step3.3、短语句法树特征是使用Stanford的句法分析器对句子进行句法解析得到的,选择两个实体路径中节点的数目和两个实体根节点类型作为特征;
Step3.4、把上述的三个特征融合为一个语义信息丰富的大特征;
本发明所使用的特征很丰富,包括了实体本身、实体与周围词的词性和依赖关系,把所有正例数据抽取的特征和少量负例数据抽取的特征进行融合,使特征更加的完善。
Step4、利用Step3中融合得到的大特征作为输入,训练关系抽取模型;
Step4.1、选择Text-CNN分类器来作为关系训练模型;
Step4.2、通过输入关系实例以及从该实例对应的句子集合中抽取的词性特征、依存关系特征、短语句法树特征所融合的大特征对分类模型进行训练。
本发明关系抽取的核心思想是利用关系名称作为标签,通过提取文本特征输入到分类模型中,训练出分类模型后对新的实体对进行关系抽取。分类器的选择也是一个重要的问题,由于本发明所提取的特征为词组、短句等文本,所以为了使特征能够充分的利用,本文选择Text-CNN作为分类模型。
所述步骤Step2.1的具体步骤为:
Step2.1.1、使用哈工大的语言技术平台LTP工具包对关系实例集进行分句、分词和词性标注,再加载停用词词典去除停用词,完成数据的预处理;
Step2.1.2、经过处理的关系实例集输入到已经设置好参数的LDA主题模型中,计算词语在主题上的概率分布;概率分布计算公式为:其中K代表主题数,Cwk表示词语w被赋予主题k的次数,β是Dirichlet参数;LDA主题模型关键词的提取,构建150个主题,每个主题显示关键词个数topNum为10个;
Step2.1.3、使用余弦相似度计算主题关键词与实体对在知识库中对应的预测关系的相关性;相似性计算公式为:设同一主题下的抽取的关键词集合为S,m表示抽取的关键词的数量,对于关键词集合S中的关键词k,其向量的形式为wk(k=1,2...m),知识库中对应的预测关系向量形式为r;
Step2.1.4、计算出相似度后通过设置阈值来提取正例数据;相似度越大,就代表着关系实例句子与知识库中对应的预测关系的相关性越大。
通过Step2.1可以去除训练语料中很大一部分的噪声数据,将噪声数据作为负例数据进行保存,其余的数据作为正例数据进行保存。经过本次语料优化,可以训练出更好的关系抽取模型。
所述步骤Step2.2的具体步骤为:
Step2.2.1、通过对旅游领域上下位关系文本的分析,得出了能够泛化上下位关系的一种模式:
Object(target)/ns是(有)/v*target(Object)/ns的/u*/[keyword dict]/n
其中,Object表示关系客体,target表示关系主体,*表示匹配任意字符,keyworddict是关键词经过同义词扩展的词典;
Step2.2.2、采用了Synonyms中文同义词工具包对关键词进行同义词扩展,使用“景点”作为先导词,不断的从先导词的同义词中选择相似度大于0.6的同义词作为下一个先导词进行同义词扩展;
本发明通过构建一个词典来对先导词所扩展的同义词进行存储,此词典所储存的同义词可以泛化大多数上下位关系句子中的关键词。
Step2.2.3、把经过Step2.2.1匹配的旅游领域上下位关系文本加入正例数据中;
Step2.2.4、通过关键词定义一个模式来对LDA主题模型关键词去噪后的负例数据进行二次去噪,尽量提升正例数据的数量。
本发明的去噪部分是一个很重要的部分,因为训练数据的好坏直接影响着关系抽取模型的好坏,所以此环节是本发明的一个关键。
通过Step2.2对负例数据中存在的上下位关系数据进行再去噪,一方面在一定程度上解决了正例数据缺乏的问题,另一方面补充了正例数据的类别,使训练出来的模型具有更好的泛化性。
所述步骤Step3.1的具体步骤为:
Step3.1.1、对于经过优化的训练语料,使用哈工大的语言技术平台LTP工具包对其进行分词、词性标注和命名实体识别处理;
Step3.1.2、通过使用正则表达式来匹配实体本身和实体的词性、实体左右两边第一个词以及这个词的词性、实体左右两边第二个词以及这个词的词性。
Step3.1.3、输出匹配到的数据保存在文本中作为词性特征。
所述步骤Step4.2的具体步骤为:
Step4.2.1、把各个特征融合后的大特征和关系实例保存为TXT文本,每个TXT文本中含有一个关系实例和该关系实例对应文本所提取的特征;
Step4.2.2、设置TXT-CNN分类器的参数,CNN的所配置的类别数num_classes为4个类别,卷积核数目num_filters为128个,总迭代轮次num_epochs为10次。
本发明的有益效果是:
1、本发明经过去噪后的语料训练出来的关系抽取模型的效果明显高于未去噪的语料训练出来的关系抽取模型;
2、本发明使用三种特征融合的关系抽取效果明显好于使用单一特征的效果;
3、本发明使用三种特征融合的关系抽取效果明显高于使用两两特征组合的效果。
附图说明
图1为本发明中的总的流程图;
图2为本发明中LDA主题模型层次结构图;
图3为关键词抽取流程图。
具体实施方式
实施例1:如图1-3所示,一种基于距离监督的领域实体属性关系抽取方法,所述方法的具体步骤如下:
Step1、首先构建中文领域知识库,并利用领域知识库中的实体对从旅游领域文本集中获取训练语料;所述Step1的具体步骤如下:
Step1.1、借鉴Freebase知识库的结构特点,构建一个中文旅游景点的领域知识库;
Step1.2、对于不同的网站运用不同的爬虫程序,从旅游网站和百科词条上爬取旅游领域文本信息,组成旅游领域文本集;
Step1.3、使用距离监督(Distant Supervision)的方法构建关系实例集,利用知识库在海量的文本集中找出在知识库中存在某种关系的实体对出现的句子,组成训练语料;
本发明所构建的中文旅游景点领域知识库是对通用知识库的一个补充。通用知识库对于特定领域的知识可能有所涉及,但是大多停留在概念层的知识,对于特定领域更加细粒度的知识没有涉及。本发明所使用的文本集是根据知识库中的相关实例所获取的。
Step2、对Step1中所获得的训练语料进行优化;所述Step2的具体步骤如下:
Step2.1、利用LDA主题模型对关系实例集中的文本进行关键词抽取,通过对文本预处理后,计算主题关键词与实体对在知识库中对应的预测关系的相关性,通过设置阈值来提取正例数据,其余的作为负例数据;
本发明采用LDA主题模型关键词对关系实例集去噪,假设描述实体关系的句子以某个特定的关键词为核心,通过抽取出关键词后,计算关键词与预测关系的相似程度,来对训练语料进行优化。
Step2.2、对于Step2.1中的负例数据中存在的作为正例数据上下位关系实例文本,采用关键词模式匹配来二次获取负例数据中的正例数据,通过关键词定义一个模式来对LDA主题模型关键词去噪后的负例数据进行二次去噪,用于提升正例数据的数量;
本发明是为了丰富训练数据中的正例数据,因为正例数据是影响关系抽取模型的重要因素,对于经过LDA主题模型关键词去噪后的负例数据,使用关键词模式匹配来进一步的优化,提取其中的正例数据。
Step3、对经过Step2优化的训练语料进行词性特征、依存关系特征和短语句法树特征提取,然后融合成为一个语义信息丰富的大特征;所述Step3的具体步骤如下:
Step3.1、词性特征所提取的内容包括:实体本身和实体的词性、实体左右两边第一个词以及这个词的词性、实体左右两边第二个词以及这个词的词性;
Step3.2、依存关系特征是使用哈工大的LTP工具来对句子进行解析得到的,截取两个实体之间的一段子树作为特征;
Step3.3、短语句法树特征是使用Stanford的句法分析器对句子进行句法解析得到的,选择两个实体路径中节点的数目和两个实体根节点类型作为特征;
Step3.4、把上述的三个特征融合为一个语义信息丰富的大特征;
本发明所使用的特征很丰富,包括了实体本身、实体与周围词的词性和依赖关系,把所有正例数据抽取的特征和少量负例数据抽取的特征进行融合,使特征更加的完善。
Step4、利用Step3中融合得到的大特征作为输入,训练关系抽取模型;
Step4.1、选择Text-CNN分类器来作为关系训练模型;
Step4.2、通过输入关系实例以及从该实例对应的句子集合中抽取的词性特征、依存关系特征、短语句法树特征所融合的大特征对分类模型进行训练。
本发明关系抽取的核心思想是利用关系名称作为标签,通过提取文本特征输入到分类模型中,训练出分类模型后对新的实体对进行关系抽取。分类器的选择也是一个重要的问题,由于本发明所提取的特征为词组、短句等文本,所以为了使特征能够充分的利用,本文选择Text-CNN作为分类模型。
所述步骤Step2.1的具体步骤为:
Step2.1.1、使用哈工大的语言技术平台LTP工具包对关系实例集进行分句、分词和词性标注,再加载停用词词典去除停用词,完成数据的预处理;
Step2.1.2、经过处理的关系实例集输入到已经设置好参数的LDA主题模型中,计算词语在主题上的概率分布;概率分布计算公式为:其中K代表主题数,Cwk表示词语w被赋予主题k的次数,β是Dirichlet参数;LDA主题模型关键词的提取,构建150个主题,每个主题显示关键词个数topNum为10个;
Step2.1.3、使用余弦相似度计算主题关键词与实体对在知识库中对应的预测关系的相关性;相似性计算公式为:设同一主题下的抽取的关键词集合为S,m表示抽取的关键词的数量,对于关键词集合S中的关键词k,其向量的形式为wk(k=1,2...m),知识库中对应的预测关系向量形式为r;
Step2.1.4、计算出相似度后通过设置阈值来提取正例数据;相似度越大,就代表着关系实例句子与知识库中对应的预测关系的相关性越大。
通过Step2.1可以去除训练语料中很大一部分的噪声数据,将噪声数据作为负例数据进行保存,其余的数据作为正例数据进行保存。经过本次语料优化,可以训练出更好的关系抽取模型。
所述步骤Step2.2的具体步骤为:
Step2.2.1、通过对旅游领域上下位关系文本的分析,得出了能够泛化上下位关系的一种模式:
Object(target)/ns是(有)/v*target(Object)/ns的/u*/[keyword dict]/n
其中,Object表示关系客体,target表示关系主体,*表示匹配任意字符,keyworddict是关键词经过同义词扩展的词典;
Step2.2.2、采用了Synonyms中文同义词工具包对关键词进行同义词扩展,使用“景点”作为先导词,不断的从先导词的同义词中选择相似度大于0.6的同义词作为下一个先导词进行同义词扩展;
本发明通过构建一个词典来对先导词所扩展的同义词进行存储,此词典所储存的同义词可以泛化大多数上下位关系句子中的关键词。
Step2.2.3、把经过Step2.2.1匹配的旅游领域上下位关系文本加入正例数据中;
Step2.2.4、通过关键词定义一个模式来对LDA主题模型关键词去噪后的负例数据进行二次去噪,尽量提升正例数据的数量。
本发明的去噪部分是一个很重要的部分,因为训练数据的好坏直接影响着关系抽取模型的好坏,所以此环节是本发明的一个关键。
通过Step2.2对负例数据中存在的上下位关系数据进行再去噪,一方面在一定程度上解决了正例数据缺乏的问题,另一方面补充了正例数据的类别,使训练出来的模型具有更好的泛化性。
所述步骤Step3.1的具体步骤为:
Step3.1.1、对于经过优化的训练语料,使用哈工大的语言技术平台LTP工具包对其进行分词、词性标注和命名实体识别处理;
Step3.1.2、通过使用正则表达式来匹配实体本身和实体的词性、实体左右两边第一个词以及这个词的词性、实体左右两边第二个词以及这个词的词性。
Step3.1.3、输出匹配到的数据保存在文本中作为词性特征。
所述步骤Step4.2的具体步骤为:
Step4.2.1、把各个特征融合后的大特征和关系实例保存为TXT文本,每个TXT文本中含有一个关系实例和该关系实例对应文本所提取的特征;
Step4.2.2、设置TXT-CNN分类器的参数,CNN的所配置的类别数num_classes为4个类别,卷积核数目num_filters为128个,总迭代轮次num_epochs为10次。
为了验证本发明识别出来的命名实体的效果,将采用统一的评价标准:准确率、召回率、F值来衡量本发明的性能。
为了验证本文方法的有效性,本文的设计了以下3组实验:
实验一、验证去噪后的语料训练出的关系抽取模型和未去噪的语料训练的关系抽取模型比较。将文中经过去噪后的训练语料和未去噪的训练语料抽取特征后进行关系抽取模型训练后的关系抽取效果做对比,对比结果如表1所示,可以从表中明显的看出经过去噪后的语料训练出来的关系抽取模型的效果明显高于未去噪的语料训练出来的关系抽取模型。
表1为与未优化训练语料的关系抽取方法对比
实验二、验证使用三种特征融合的关系抽取效果和使用单一特征的效果比较。分别使用词性特征、依存关系特征、句法树特征来对关系抽取模型训练,计算三种单一特征的均值精确率,均值召回率和均值F值,与三种特征融合对关系抽取模型训练后的关系抽取效果做对比,对比结果如表2所示。
表2与单一特征的关系抽取方法对比
实验三、验证使用三种特征融合的关系抽取效果和使用两两特征组合的效果比较。使用词性特征、依存关系特征、句法树特征两两组合来对关系抽取模型训练,计算两两组合特征的均值精确率,均值召回率和均值F值,与三种特征融合对关系抽取模型训练后的关系抽取效果做对比,对比结果如表3所示。
表3与两两特征组合的关系抽取方法对比
从表2、表3中可以明显看出特征融合后的测试效果明显好于使用单一特征和两两特征组合的效果。
上面结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。