一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种文本知识提取方法、装置、电子设备和存储介质与流程

2022-02-20 13:39:35 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种文本知识提取方法、装置、电子设备和计算机存储介质。


背景技术:

2.文本知识的提取一直是人工智能领域获取知识的重点关注技术。由于电子化文本数据在因特网和各企业中的数量巨大,文本中潜在的知识规模巨大,因此从电子化文本中提取知识的技术对于结构化知识的快速增长具有重要的推动作用。
3.相关技术中,对于文本知识的提取,主要包括面向结构化文本、半结构化文本和非结构化文本的三种类型;面向结构化文本的知识提取方法的主要处理对象是表格数据,例如,从数据库导出的表格数据、超文本标记语言(hyper text markup language,html)文档中的表格数据、excel文档的表格数据、word文档中的表格数据等。表格数据中的表头信息一般概括了对应列的概念名,对应列除了概念名外,一般对应该概念名的实例信息。基于这一主要的关系原理,可以采用额外的辅助方法过滤非概念类知识,从而实现文本知识的提取。这类方法的特点是根据表格的结构信息,确定文本知识提取的候选范围。由于表格的结构含有人类的组织知识的经验,使得这类方法的准确度较高。但是,这类方法不适用结构自由的连续型文本。
4.面向半结构化文本的知识提取方法面向的文本一般为:标题文本,语句段。其中,标题文本为短文本,语句段为长文本的一段文本内容,例如,其基本组织形式可以为:
5.维生素品牌:xxx
6.生产企业:yyy健康科技公司
7.维生素功能:补充zz维生素,辅助kk身体不适
8.维生素实用方法:每日1粒,饭前服用
9.其中,维生素品牌、生产企业等位于冒号之前的为标题文本,位于冒号之后的文本内容为标题文本对应的语句段。
10.面向半结构化文本的知识提取方法通过分割标题文本和对应的语句段建立二者之间的关联知识。在此类知识的运用过程中,通过与标题文本的关键词进行匹配实现对应的语句段的检索;而面向半结构化文本的深度知识提取则对语句段进行提取,其基本方法类似于下述的面向非结构化文本的知识提取方法。
11.在面向非结构化的文本知识提取方法中,其提取的目标知识包括两类:实体知识、实体关系知识。实体知识包括实体的属性值等信息。实体关系知识为两个实体之间是否存在给定类型的关系。提取这两类知识所需要的一个关键基础是领域本体,领域本体包含学科中的概念、概念的属性、概念间的关系以及属性和关系的约束,只有在领域本体存在的情况下才能够进行知识提取。知识提取的过程包括:文本分词、文本词性标注、词之间的依存关系分析、命名实体识别(named entity recognition,ner)等一系列处理过程,得到知识提取的候选数据。在候选数据之上提取知识的方法基于特定规则的分析方法和基于学习分
类的方法。其中,特定的规则由特定领域专家根据经验制定;学习分类的方法由训练样本收集、模型训练和模型预测等三个主要部分组成。模型的主流类型为深度卷积神经网络(deep convolutional neural networks,dcnn)或更加具体的长短期记忆网络(long short-term memory,lstm)。
12.由于面向结构化文本、半结构化文本的知识提取方法只支持单一的文本组织形式,面向非结构化文本的知识提取方法则忽略了文本的组织形式,而是依赖一个显式的、由人类提供的本体结构来引导知识提取;因此,如何针对复杂的文本组织形式、挖掘出隐式的本体知识结构,实现在不需要人类提供本体结构的基础上,进行文本知识的深度提取,是针对文本数据进行知识提取的一个难点。


技术实现要素:

13.本发明提供一种文本知识提取方法、装置、电子设备和计算机存储介质,对于文本知识的提取,该方法既不依赖人类手工建立的本体知识库,又能处理复杂的文本组织形式,进而,实现文本知识的自动化提取。
14.为达到上述目的,本发明的技术方案是这样实现的:
15.第一方面,本发明提供了一种文本知识提取方法,所述方法包括:
16.获取待处理的文档;
17.对所述文档建立文档对象模型(document object model,dom),根据所述dom确定第一标签集;
18.对第一标签集中至少一个标签进行分词;
19.针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系。
20.可选的,所述对第一标签集中至少一个标签进行分词,包括:
21.在所述至少一个标签的字号大小和字符个数满足第一设定条件,或者所述至少一个标签的字号大小和水平起始位置满足第二设定条件的情况下,对所述至少一个标签进行分词。
22.可选的,所述方法还包括:
23.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的字符个数小于k的情况下,确定所述第一标签集中的标签满足第一设定条件,其中,k为大于0的正整数;
24.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第二设定条件。
25.可选的,所述方法还包括:
26.根据所述dom,查找所述第一标签集中的标题型标签,所述标题型标签表示字号大小或者水平起始位置满足第三设定条件的标签;
27.查找所述标题型标签的父级标签,在所述父级标签为标题型标签的情况下,对所述标题型标签和所述标题型标签的父级标签进行分词;
28.提取第三知识集,其中,所述第三知识集表示所述标题型标签的分词结果与对应的父级标签的分词结果之间的关系。
29.可选的,所述方法还包括:
30.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,或者所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第三设定条件。
31.可选的,所述方法还包括:
32.将文本知识和所述第三知识集进行合并,形成知识库;
33.将所述知识库以知识图谱的方式进行存储。
34.可选的,所述对第一标签集中至少一个标签进行分词,包括:
35.对所述至少一个标签中每个标签的英文内容片段进行英文分词和词性标注,得到第一分词结果;
36.对所述至少一个标签中每个标签的中文内容片段进行中文分词和词性标注,得到第二分词结果;
37.将所述第一分词结果与所述第二分词结果进行合并,得到所述至少一个标签的分词结果。
38.可选的,所述针对所述至少一个标签的分词结果,提取文本知识,包括:
39.根据所述至少一个标签的分词结果,确定所述至少一个标签中存在顺序相邻的名词分词的情况下,提取第一知识集,其中,所述第一知识集表示所述相邻名词分词之间的属性关系;
40.根据所述至少一个标签的分词结果,确定所述至少一个标签中存在相邻的名词分词和动词分词,或者,存在相邻的名词分词和动名词分词的情况下,提取第二知识集,其中,所述第二知识集表示相邻分词之间的操作关系;
41.将所述第一知识集和所述第二知识集合并,得到所述文本知识。
42.第二方面,本发明提供一种文本知识提取装置,所述装置包括:
43.获取模块,用于获取待处理的文档;
44.确定模块,用于对所述文档建立dom,根据所述dom确定第一标签集;
45.提取模块,用于对第一标签集中至少一个标签进行分词;针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系。
46.可选的,所述提取模块,用于对第一标签集中至少一个标签进行分词,包括:
47.在所述至少一个标签的字号大小和字符个数满足第一设定条件,或者所述至少一个标签的字号大小和水平起始位置满足第二设定条件的情况下,对所述至少一个标签进行分词。
48.可选的,所述提取模块,还用于:
49.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的字符个数小于k的情况下,确定所述第一标签集中的标签满足第一设定条件,其中,k为大于0的正整数;
50.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标
签的字号,且所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第二设定条件。
51.可选的,所述提取模块,用于:
52.根据所述dom,查找所述第一标签集中的标题型标签,所述标题型标签表示字号大小或者水平起始位置满足第三设定条件的标签;
53.查找所述标题型标签的父级标签,在所述父级标签为标题型标签的情况下,对所述标题型标签和所述标题型标签的父级标签进行分词;
54.提取第三知识集,其中,所述第三知识集表示所述标题型标签的分词结果与对应的父级标签的分词结果之间的关系。
55.可选的,所述提取模块,还用于:
56.在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,或者所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第三设定条件。
57.可选的,所述方法还包括存储模块,所述存储模块,用于:
58.将文本知识和所述第三知识集进行合并,形成知识库;
59.将所述知识库以知识图谱的方式进行存储。
60.可选的,所述提取模块,用于对第一标签集中至少一个标签进行分词,包括:
61.对所述至少一个标签中每个标签的英文内容片段进行英文分词和词性标注,得到第一分词结果;
62.对所述至少一个标签中每个标签的中文内容片段进行中文分词和词性标注,得到第二分词结果;
63.将所述第一分词结果与所述第二分词结果进行合并,得到所述至少一个标签的分词结果。
64.可选的,所述提取模块,用于针对所述至少一个标签的分词结果,提取文本知识,包括:
65.根据所述至少一个标签的分词结果,确定所述至少一个标签中存在顺序相邻的名词分词的情况下,提取第一知识集,其中,所述第一知识集表示所述相邻名词分词之间的属性关系;
66.根据所述至少一个标签的分词结果,确定所述至少一个标签中存在相邻的名词分词和动词分词,或者,存在相邻的名词分词和动名词分词的情况下,提取第二知识集,其中,所述第二知识集表示相邻分词之间的操作关系;
67.将所述第一知识集和所述第二知识集合并,得到所述文本知识。
68.第三方面,本发明提供一种电子设备,所述设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述一个或多个技术方案提供的文本知识提取方法。
69.第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机程序;所述计算机程序被执行后能够实现前述一个或多个技术方案提供的文本知识提取方法。
70.本发明提供一种文本知识提取方法、装置、电子设备和计算机存储介质,所述方法包括:获取待处理的文档;对所述文档建立dom,根据所述dom确定第一标签集;对第一标签集中至少一个标签进行分词;针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系;如此,对于文本知识的提取,该方法既不依赖人类手工建立的本体知识库,又对文档内本文的组织形式没有限制,实现文本知识的自动化提取。
附图说明
71.图1为本发明中文本知识提取方法的流程图;
72.图2为html文档的内容和页面渲染结果的示意图;
73.图3为html文档的dom模型的示意图;
74.图4为本发明中文本知识提取装置的组成结构示意图;
75.图5为本发明提供的电子设备的结构示意图。
具体实施方式
76.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。
77.文本知识的提取是指从文本中能够提取实体、事件和相关属性等知识,并对这些知识进行结构化组织,为网络空间大搜索知识的查找与推理提供一定的基础。对于文本知识的提取,现有的技术方案包括面向结构化文本、面向半结构化文本和面向非结构化文本这三种类型。
78.相关技术中,对于文本知识的提取方法存在以下缺点:
79.1)面向结构化文本的方法,在提取文本知识时完全依赖表格数据中的同行数据进行关系的规则式提取,因而要求数据的组织为人工处理过的表结构,对人类的工作要求较高。此外,该类方法一般不对每行的不同列的数据进行深度的知识提取,而是把每列数据作为一个整体存储到知识库,具有一定的局限性。
80.2)面向半结构化文本的方法,在提取文本知识时,也是严格依赖文本的分隔结构,依赖于具体的分隔符来区分标题文本和对应的语句段。一方面,对文本数据的组织形式进行了单一的限制,即,所有的文本都由标题文本和段落文本的形式组织;另一方面,该类方法也通常不对语句段的文本内容进行深度的知识提取,而是将语句段文本作为一个整体存储到知识库。
81.3)面向非结构化文本的知识提取方法,通常是不考虑文本的结构,只认为文本由段落构成。因此,非结构化文本的组织形式通常是无样式的美国信息交换标准代码(american standard code for information interchange,ascii)本文件,即,不同段落采用不同字体、字号。另一方面,其知识提取过程的关键是依赖于已经建立的本体或者知识库。
82.从面向结构化文本和面向半结构化文本的分析可以看出,文档中文本的组织形式,是对知识对应的本体结构的隐式表示,只不过这两种方法只能支持单一的文本组织形式。而面向非结构化文本的方法忽略了文本的组织形式,而是依赖一个显式的、由人类提供的本体结构来进行知识提取。
83.另外,现实环境中,存在着大量的组织形式丰富的文本数据,例如html格式的文本、.doc格式的文本、.pdf格式的文本等。此类文本中的组织形式的挖掘和利用,可进一步扩展知识提取方法的数据处理边界,进一步加速知识获取的速度和体量。
84.针对上述技术问题,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明记载的技术方案可以任意组合的方式实施。
85.需要说明的是,在本发明中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
86.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
87.例如,本发明提供的文本知识提取方法包含了一系列的步骤,但是本发明提供的文本知识提取方法不限于所记载的步骤,同样地,本发明提供的文本知识提取装置包括了一系列模块,但是本发明提供的文本知识提取装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
88.本发明可以基于电子设备实现,这里,电子设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。
89.电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统可以在分布式云计算环境中实施,在分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
90.基于上述记载的应用场景,提出以下各实施例。
91.图1为本发明的数据处理方法的流程图,如图1所示,该流程可以包括:
92.步骤100:获取待处理的文档。
93.在一种实施方式中,待处理的文档可以表示进行文本知识提取的文档;示例性的,待处理的文档可以包括以下至少之一:html格式的文本、excel格式的文本、word格式的文本、pdf格式的文本等,本发明实施例不作限制。
94.在一种实施方式中,文档内文本数据可以是表格数据,例如,从数据库导出的表格数据,html文档中的表格数据、excel文档中的表格数据、word文档中的表格数据等,本发明实施例不作限制。
95.在一种实施方式中,文档内文本数据还可以是标题文本和语句段的组合数据,以及无固定样式的段落数据等。
96.在一种实施方式中,文档内文本数据可以由中文字符组成,也可以由英文字符组成,或者其它不同语言的混合字符共同组成。
97.对于获取待处理文档的实现方式,本发明实施例不作限制,示例性的,可以是用户根据需要进行输入的文档,还可以是通过数据抓取工具抓取的文档。
98.需要说明的是,本发明实施例对文档内文本数据的组织形式没有限制,只要该文档能转换为html文档,均能进行文本知识提取。
99.步骤101:对所述文档建立dom,根据所述dom确定第一标签集。
100.在一种实施方式中,针对待处理的文档建立对应的dom可以描述文档的结构,根据dom获取文档中的每个标签,可以将每个标签共同组成的标签集称为第一标签集。
101.本发明实施例中,dom是一个可以处理html文档的标准应用程序接口(application programming interface,api),dom提供了对整个文档的访问模型,将文档作为一个树形结构,树的每个结点表示了一个html标签或标签内的文本项,dom树结构精确地描述了html文档中标签间的相互关联性。
102.html文档被解析后,转化为dom树,因此对html文档的处理可以通过对dom树的操作实现。dom模型不仅描述了文档的结构,还定义了结点对象的行为,利用对象的方法和属性,可以方便地访问、修改、添加和删除dom树的结点和内容。
103.在一种实施方式中,步骤101可以包括:
104.步骤a1:在待处理的文档为html文档的情况下,使用html文档解析程序对html文档建立其对应的dom,根据dom按照自顶部向下的顺序确定第一标签集。根据dom确定每个tag标签及其对应的标签文本,形成的第一标签集tags={tag-1,tag-2,tag-3,

,tag-n};其中,用text(tag-i)表示第i个标签tag-i的文本,用fontsize(tag-i)表示tag-i的文字字号,用hpos(tag-i)表示tag-i在web浏览器中的水平坐标。
105.示例性的,第一标签集tags中的每个tag标签的文本、文字字号和水平坐标是根据待处理的html文档进行确定的。
106.步骤102:对第一标签集中至少一个标签进行分词。
107.本发明实施例中,分词就是将连续的字序列按照一定的规范重新组合成词序列的过程,由于第一标签集中的标签的文本可以包括英文内容片段和中文内容片段,因而,对标签进行分词可以包括英文分词和中文分词。
108.需要说明的是,对第一标签集中至少一个标签的分词过程可以通过相应的分词算法进行实现;示例性的,英文分词可用斯坦福大学开源的stanfordnlp实现,中文分词可用北京大学开源的pkuseg实现,具体使用的分词算法根据实际应用场景进行设置,本发明实施例不作限制。
109.在一种实施方式中,可以在至少一个标签的字号大小和字符个数满足第一设定条件,或者至少一个标签的字号大小和水平起始位置满足第二设定条件的情况下,对至少一个标签进行分词。
110.示例性的,在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的字符个数小于k的情况下,确定所述第一
标签集中的标签满足第一设定条件,其中,k为大于0的正整数;在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第二设定条件。
111.示例性的,这里的k表示标签包含的字符个数,根据经验,可以取k=25,具体的取值可以根据实际情况进行设置,本发明实施例不作限制。
112.示例性的,将第一标签集中当前标签的字号大小和字符个数与当前标签相邻的两个标签的字号大小和字符个数进行比较,判断当前标签是否满足第一设定条件;将第一标签集中当前标签的字号大小和水平起始位置的坐标与当前标签相邻的两个标签的字号大小和水平起始位置的坐标进行比较,判断当前标签是否满足第二设定条件;只有在第一标签集中当前标签满足第一设定条件或第二设定条件的情况下,可以对当前标签进行分词。
113.在一种实施方式中,步骤102可以包括:
114.步骤a2:根据下面的三个规则b1-b3,判断是否对第一标签集tags={tag-1,tag-2,tag-3,

,tag-n}中第i个标签tag-i进行分词,其中,i为大于0且小于等于n的正整数。
115.规则b1:text(tag-i)的字符个数小于k,其中,k可以根据经验值进行设置,例如k=25。
116.规则b2:标签tag-i的字号大于其前一个标签的文字字号且同时大于其后一个标签的字号,即,fontsize(tag-i)》fontsize(tag-i-1)且fontsize(tag-i)》fontsize(tag-i 1),则该标签为“标题型标签”。
117.规则b3:tag-i在web浏览器中的水平起始位置的坐标小于其前一个标签的标签的水平起始位置的坐标且小于其后一个标签的水平起始位置的坐标,即,hpos(tag-i)《hpos(tag-i-1)且hpos(tag-i)《hpos(tag-i 1),则标签tag-i为“标题型标签”。
118.同时满足规则b1和规则b2的标签为“知识型标签”。
119.同时满足规则b1和规则b3的标签为“知识型标签”。
120.对第一标签集中的知识型标签进行分词。
121.本发明实施例中,对第一标签集中至少一个标签进行分词的实现方式,示例性的,可以对所述至少一个标签中每个标签的英文内容片段进行英文分词和词性标注,得到第一分词结果;对所述至少一个标签中每个标签的中文内容片段进行中文分词和词性标注,得到第二分词结果;将所述第一分词结果与所述第二分词结果进行合并,得到所述至少一个标签的分词结果。
122.在一种实施方式中,在对第一标签集中至少一个标签进行分词的过程中,可以先对每个标签的英文内容片段进行英文分词和词性标注,再对每个标签的中文内容片段进行中文分词和词性标注;也可以先对每个标签的中文内容片段进行中文分词和词性标注,再对每个标签的英文内容片段进行英文分词和词性标注,本发明实施例不作限制。
123.步骤a3:对第一标签集tags={tag-1,tag-2,tag-3,

,tag-n}中第i个标签tag-i的text(tag-i)进行分词和词性标注(pos tagging),可以采用三阶段分词方法,可分为以下子步骤。
124.步骤a31:提取其中的英文内容片段,进行英文分词和词性标注,得到词性标签序列posen=(《w-1,pos(w-1)》,

,《w-m,pos(w-m)》),其中w-i为英文词,pos(w-i)为w-i的词
性如名词、动词等。从text(tag-i)中去掉这些英文词得到textcn(tag-j)。
125.步骤a32:对textcn(tag-j)进行中文分词,得到词性标签序列poscn=(《s-1,pos(s-1)》,

,《s-k,pos(s-k)》),其中s-j为中文词,pos(s-j)为s-j的词性如名词、动词等。
126.步骤a33:对poscn=(《s-1,pos(s-1)》,

,《s-k,pos(s-k)》)以逆序的方式进行名词合并,规则如下:
127.规则b4:如果名词s前面的s’为名词、专有名词、动词性名词,则将s’s连接起来作为一个名词。在poscn中删除s和s’,将《s’s,名词》插入到s在poscn中的顺序位置。
128.示例性的,“汽车美容”这个短语包含两个名词,“汽车”“美容”,首先确定“美容”为名词后,再确定“汽车”,通过这种逆序方式,然后将这两个名词合并为一个名词“汽车美容”。
129.步骤a34:将posen和poscn按照它们在text(tag-i)中出现的位置进行排序合并,形成posterm(tag-i)。
130.示例性的,posterm(tag-i)是将英文分词结果posen与中文分词结果poscn进行合并得到的第i个标签tag-i的分词结果。
131.步骤a3中是对一段中英文混合文本进行分词处理的过程,该步骤采用“三阶段分词”的方法进行分词,其中第一阶段单独对文本中的英文进行分词、第二阶段进行中文基础分词、第三阶段进行中文精化分词,并与第一阶段的分词结果按顺序拼接。
132.可以看出,采用“三阶段分词”的方法能够避免将中英文混合文本中出现的“cpu”(中央处理器缩略语)分词为“cp”(情侣的网络代名词)和“u”两个词,以及能够避免将“热插拔电源”分词为“热插拔”和“电源”两个词。从而,在文本知识提取的结果中,能够有效提高知识的召回率和知识的完整性。
133.步骤103:针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系。
134.本发明实施例中,对第一标签集中至少一个标签进行分词的实现方式,示例性的,可以根据所述至少一个标签的分词结果,确定所述至少一个标签中存在顺序相邻的名词分词的情况下,提取第一知识集,其中,所述第一知识集表示所述相邻名词分词之间的属性关系;根据所述至少一个标签的分词结果,确定所述至少一个标签中存在相邻的名词分词和动词分词,或者,存在相邻的名词分词和动名词分词的情况下,提取第二知识集,其中,所述第二知识集表示相邻分词之间的操作关系;将所述第一知识集和所述第二知识集合并,得到所述文本知识。
135.示例性的,对于分词后的结果posterm(tag-i),如果确定posterm(tag-i)中存在顺序相邻的两个名词分词n1和n2,则将n2作为n1的属性关系,并根据n1和n2这种具有属性关系的相邻名词分词所构成的集合,确定第一知识集。
136.示例性的,如果确定posterm(tag-i)中存在顺序相继的名词n1和动词v1、名词n1和动名词g1、动词v1和名词n1和动名词g1和名词n1时,则将n1作为v1、g1的操作关系,并根据n1、v1、g1这种具有操作关系的相邻分词所构成的集合,确定第二知识集。
137.在一种实施方式中,步骤103可以包括:
138.步骤a4:针对第一标签集中第i个标签tag-i的分词结果posterm(tag-i)进行文本知识,分为如下子步骤:
139.步骤a41:提取第一知识集,即相邻名词分词之间的属性关系,处理规则如下:
140.如果posterm(tag-i)存在顺序相继的(w1,名词)、(w2,名词),则将w2作为w1的属性,用“属性知识”(w1,’has’,w2)表示,所有“属性关系”构成的集合记为“属性知识”库featurekg,即第一知识集。
141.步骤a42:提取第二知识集,即相邻分词之间的操作关系,处理规则如下:
142.规则b5:posterm(tag-i)存在顺序相继的(w1,名词)、(w2,动词);
143.规则b6:posterm(tag-i)存在顺序相继的(w1,名词)、(w2,动名词);
144.规则b7:posterm(tag-i)存在顺序相继的(w1,动名词)、(w2,名词);
145.规则b8:posterm(tag-i)存在顺序相继的(w1,动词)、(w2,名词);
146.对于满足规则b5或规则b6或规则b7或规则b8的w1和w2,将w2作为w1可执行的操作知识,表示为(w1,’can’,w2),所有“操作关系”构成的集合记为“操作知识库”actionkg,即第二知识集。
147.示例性的,将第一知识集featurekg和所述第二知识集actionkg合并,得到文本知识。
148.在一种实施方式中,可以根据dom,查找所述第一标签集中的标题型标签,所述标题型标签表示字号大小或者水平起始位置满足第三设定条件的标签;查找所述标题型标签的父级标签,在所述父级标签为标题型标签的情况下,对所述标题型标签和所述标题型标签的父级标签进行分词;提取第三知识集,其中,所述第三知识集表示所述标题型标签的分词结果与对应的父级标签的分词结果之间的关系。
149.示例性的,标题型标签表示满足规则b2或规则b3的标签,在确定标题型标签和标题型标签的父级标签均满足规则b2或规则b3的情况下,分别对标题型标签和标题型标签的父级标签进行分词,对标题型标签和标题型标签的父级标签分词后得到的结果建立分词之间的相互关系,例如,w1为标题型标签中的一个分词,w2为父级标签的一个分词,当w1和w2属于名词或者专有名词时,建立w1和w2的相关关系。
150.其中,w1和w2可以是中文,也可以是英文,例如,w1为“ip”,w2为“地址”,建立“ip”和“地址”的相关关系。
151.示例性的,在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,或者所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第三设定条件。
152.在一种实施方式中,当标题型标签满足第三设定条件时,查找与标题型标签对应的和标题型标签的父级标签,在父级标签也满足第三设定条件的情况下,对标题型标签和标题型标签的父级标签进行分词,并对分词后得到的结果建立分词之间的相互关系。
153.步骤a5:对第一知识集中所有标签的父级标题进行查找,具体的子步骤如下:
154.步骤a51:初始化对偶集合partags。
155.步骤a52:根据dom,取出下一个标签tag,按照步骤a2中规则b2或规则b3判断tag是否为“标题型标签”,如果是则转步骤a53。
156.步骤a53:从tag标签根据dom树结构找到其前面的第一个“标题型标签”tag2,设定tag2为tag的父级标签。将标签对偶《tag,tag2》加入partags,如果还有下一个标签则转步
骤a52,否则,父级标签查找结束。
157.示例性的,如果当前标签如果为tag,则查找到当前标签的父级标签为tagp,它的父父级标签为tagpp,那么,当前标签tag、父级标签tagp、父父级标签tagpp都会以《tag,tagp》,《tag,tagpp》的形式加入到对偶集合partags中。
158.步骤a6:当对所有标签的父级标题进行确定后,根据对偶集合partags,提取名词之间的关联关系,具体的子步骤如下:
159.步骤a61:取出partags中的下一个对偶《tag,tag2》,如果没有下一个对偶,则转步骤a62。
160.步骤a62:对标签tag按照步骤103记载的步骤a31-a34进行分词,得到结果即为posterm(tag)。
161.步骤a63:对标签tag2按照步骤103记载的步骤a31-a34进行分词,得到结果即为posterm(tag2)。
162.步骤a64:对(w1,t)∈posterm(tag)和(w2,t)∈posterm(tag2),其中t取{名词,专有名词}之一,建立w1和w2的相关关系,记为(w1,’relating’,w2)。将所有(w1,’relating’,w2)形成的知识集合记为relatingkg,即第三知识集。
163.步骤a65:步骤a6结束。
164.在一种实施方式中,将文本知识和所述第三知识集进行合并,形成知识库;将所述知识库以知识图谱的方式进行存储。
165.在一种实施方式中,将第一知识集featurekg、第二知识集actionkg以及第三知识集relatingkg进行合并,形成待处理文档对应的知识库,通过知识图谱能够更加直观地表明知识库中各个实体之间的关系以及相互联结的知识结构。
166.进一步的,可以通过neo2j图数据库将文档对应的知识库以知识图谱的方式进行存储。
167.知识图谱(knowledge graph,kg),是结构化的语义知识库,用于以符号形式描述知识库中的概念及其相互关系,其基本组成单位是(实体—关系—实体)三元组,以及实体及其(相关属性—值)对,实体之间通过关系相互联结,构成网状的知识结构。
168.本发明提供一种文本知识提取方法、装置、电子设备和计算机存储介质,所述方法包括:获取待处理的文档;对所述文档建立文档对象模型dom,根据所述dom确定第一标签集;对第一标签集中至少一个标签进行分词;针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系;如此,对于文本知识的提取,该方法既不依赖人类手工建立的本体知识库,又对文档内本文的组织形式没有限制,实现文本知识的自动化提取。
169.为了更好理解本发明,首先给出用具体的第三方工具实现本发明的实施例。需要说明的是,本发明的文本知识提取方法不限于使用如下的具体工具,而是在使用同类工具的情况下均能有效工作。
170.步骤21:需要利用第三方的html文档dom模型构建工具,可采用基于python的beautiful soup4(简称,bs4),需要利用第三方的html渲染工具,可采用基于python的selenium。text(tag-i)功能的实现可利用bs4提供的tag对象的get_text()方法实现。fontsize(tag-i)可用selenium的webdriver在渲染html文档后使用网页页面元素的
location['x']方法获得,fontsize(tag-i)可用value_of_css_property("font-size")实现。
[0171]
步骤22:对于步骤102规则b1中的参数k,可取值为25;依据是中文惯例为标题不超过25个汉字。
[0172]
步骤a31的英文分词可用斯坦福大学开源的stanfordnlp实现,步骤a32的中文分词可用北京大学开源的pkuseg实现。
[0173]
图2为html文档的内容和页面渲染结果的示意图,图3为html文档的dom模型的示意图。
[0174]
下面结合一个具体的html文档内容片段,如图2所示,及其对应的dom结构,如图3所示,阐述本发明所提出方法的处理过程。
[0175]
根据步骤a1,从图3可以看出,依据该html文档的dom结构,对应于图2“9.1查询管理网口ip地址”的标题对应的tag的类型是《h3》,其下的每行都对应一个tag、类型为《p》。
[0176]
根据步骤a2:“9.1查询管理网口ip地址”对应的tag满足规则b1和规则b2,因而,被识别为“知识型标题”。
[0177]
在步骤a3:“9.1查询管理网口ip地址”中的“9.1”被去掉,得到字符串“查询管理网口ip地址”;这里,去掉9.1的原因是它不属于知识型标签。
[0178]
根据步骤a31:在第一阶段的英文分词,可得到的结果为{《“ip”,专业名词》}。
[0179]
根据步骤a32:可得到中文分词结果为{《“查询”,动词》,《“管理”,动名词》,《“网口”,名词》,《“地址”,名词》}。
[0180]
合并a31和a32的结果得到分词与词性标注结果:posterm={《“查询”,动词》,《“管理”,动名词》,《“网口”,名词》,《“ip”,专业名词》,《“地址”,名词》}
[0181]
根据步骤a33:处理posterm,用其中的规则b4,合并《“ip”,专有名词》,《“地址”,名词》,得到《“ip地址”,名词》,合并《“管理”,动名词》,《“网口”,名词》得到《“管理网口”,名词》。最终得到posterm={《“查询”,动词》,《“管理网口”,名词》,《“ip地址”,名词》}。
[0182]
在步骤a34:根据步骤a4的方法,得到“属性知识”库featurekg={《“管理网口”,’has’,“ip地址”》}。
[0183]
根据步骤a42的规则b8,得到“操作知识库”actionkg={《“管理网口”,’can’,“查询”》}。
[0184]
在步骤a5:图2中每个有文字行的tag名如表1所示:
[0185][0186]
表1
[0187]
在步骤a51在步骤a52,识别出如下的父级标签关系partags如表2所示:
[0188]
标签名按照本发明方法步骤a5识别得出的父级标签tag-0nulltag-1nulltag-2tag-1tag-3tag-1tag-4tag-1tag-5tag-1tag-6nulltag-7tag-6
[0189]
表2
[0190]
其中null表示无父级标签。为便于理解,进一步解释上表的一行的含义:如最后一行表示partags(tag-7)=tag-6,这里《tag-6,tag-7》属于标签对偶。
[0191]
在步骤a6,以partags(tag-7)=tag-6为例,对tag-6的文本进行分词和词性标注得到{《“默认ip”,名词》}。对tag-7的分词和词性标注得到名词有{《“ibmc”,名词》《“管理网口”,名词》,《“默认ip”,名词》},得到relatingkg={(“ibmc”,

relating’,“默认ip”),(“管理网口”,

relating’,“默认ip”),(“默认ip”,

relating’,“默认ip”)}。
[0192]
最后,合并featurekg、actionkg、relatingkg,得到从图2所示html文档的知识三元组集合为kg={(“管理网口”,’has’,“ip地址”),(“管理网口”,’can’,“查询”),(“ibmc”,

relating’,“默认ip”),(“管理网口”,

relating’,“默认ip”),(“默认ip”,

relating’,“默认ip”)}。
[0193]
对于得到的知识图谱,可用neo2j图数据库进行存储。
[0194]
图4为本发明的文本知识提取的组成结构示意图,如图4所示,装置包括:获取模块400、确定模块401和提取模块402,其中:
[0195]
获取模块400,用于获取待处理的文档;
[0196]
确定模块401,用于对所述文档建立dom,根据所述dom确定第一标签集;
[0197]
提取模块402,用于对第一标签集中至少一个标签进行分词;针对所述至少一个标签的分词结果,提取文本知识;所述文本知识表示所述标签中相邻分词之间的关系。
[0198]
在一种实施方式中,所述提取模块402,用于对第一标签集中至少一个标签进行分词,包括:
[0199]
在所述至少一个标签的字号大小和字符个数满足第一设定条件,或者所述至少一个标签的字号大小和水平起始位置满足第二设定条件的情况下,对所述至少一个标签进行分词。
[0200]
在一种实施方式中,所述提取模块402,还用于:
[0201]
在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的字符个数小于k的情况下,确定所述第一标签集中的标签满足第一设定条件,其中,k为大于0的正整数;
[0202]
在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,且所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第二设定条件。
[0203]
在一种实施方式中,所述提取模块402,用于:
[0204]
根据所述dom,查找所述第一标签集中的标题型标签,所述标题型标签表示字号大小或者水平起始位置满足第三设定条件的标签;
[0205]
查找所述标题型标签的父级标签,在所述父级标签为标题型标签的情况下,对所述标题型标签和所述标题型标签的父级标签进行分词;
[0206]
提取第三知识集,其中,所述第三知识集表示所述标题型标签的分词结果与对应的父级标签的分词结果之间的关系。
[0207]
在一种实施方式中,所述提取模块402,还用于:
[0208]
在所述第一标签集中的标签的字号大于所述第一标签集中的标签相邻的两个标签的字号,或者所述第一标签集中的标签的水平起始位置的坐标小于所述第一标签集中的标签相邻的两个标签的水平起始位置的坐标的情况下,确定所述第一标签集中的标签满足第三设定条件。
[0209]
在一种实施方式中,所述方法还包括存储模块403,所述存储模块403,用于:
[0210]
将文本知识和所述第三知识集进行合并,形成知识库;
[0211]
将所述知识库以知识图谱的方式进行存储。
[0212]
在一种实施方式中,所述提取模块402,用于对第一标签集中至少一个标签进行分词,包括:
[0213]
对所述至少一个标签中每个标签的英文内容片段进行英文分词和词性标注,得到第一分词结果;
[0214]
对所述至少一个标签中每个标签的中文内容片段进行中文分词和词性标注,得到第二分词结果;
[0215]
将所述第一分词结果与所述第二分词结果进行合并,得到所述至少一个标签的分
词结果。
[0216]
在一种实施方式中,所述提取模块402,用于针对所述至少一个标签的分词结果,提取文本知识,包括:
[0217]
根据所述至少一个标签的分词结果,确定所述至少一个标签中存在顺序相邻的名词分词的情况下,提取第一知识集,其中,所述第一知识集表示所述相邻名词分词之间的属性关系;
[0218]
根据所述至少一个标签的分词结果,确定所述至少一个标签中存在相邻的名词分词和动词分词,或者,存在相邻的名词分词和动名词分词的情况下,提取第二知识集,其中,所述第二知识集表示相邻分词之间的操作关系;
[0219]
将所述第一知识集和所述第二知识集合并,得到所述文本知识。
[0220]
在实际应用中,上述获取模块400、确定模块401、提取模块402和存储模块403均可以由位于电子设备中的处理器实现,该处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。
[0221]
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0222]
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0223]
具体来讲,本实施例中的一种文本知识提取方法对应的计算机程序指令可以被存储在光盘、硬盘、u盘等存储介质上,当存储介质中的与一种文本知识提取方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种文本知识提取方法。
[0224]
基于前述实施例相同的技术构思,参见图5,其示出了本发明提供的一种电子设备500,可以包括:存储器501和处理器502;其中,
[0225]
存储器501,用于存储计算机程序和数据;
[0226]
处理器502,用于执行存储器中存储的计算机程序,以实现前述实施例的任意一种文本知识提取方法。
[0227]
在实际应用中,上述存储器501可以是易失性存储器(volatile memory),例如ram;或者非易失性存储器(non-volatile memory),例如rom、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器502提供指令和数据。
[0228]
上述处理器502可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的增强现实云平台,用于实现上述处理器功能的电
子器件还可以为其它,本发明实施例不作具体限定。
[0229]
在一些实施例中,本发明实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
[0230]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
[0231]
本发明所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0232]
本发明所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0233]
本发明所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0234]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0235]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0236]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0237]
以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献