CN110263178A - 一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 - Google Patents
一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 Download PDFInfo
- Publication number
- CN110263178A CN110263178A CN201910477451.7A CN201910477451A CN110263178A CN 110263178 A CN110263178 A CN 110263178A CN 201910477451 A CN201910477451 A CN 201910477451A CN 110263178 A CN110263178 A CN 110263178A
- Authority
- CN
- China
- Prior art keywords
- semantic
- synset
- word
- node
- neo4j
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法,包括:提取同义词集合有效信息,并将其映射到Neo4J中的同义词集结点上;采用广度优先算法遍历每个以特定关系相关连的两个同义词集结点,并生成相应的Neo4J同义词集结点之间的连接;遍历WordNet中的所有单词和每个单词对应的义元集合,并基于义元集合实现单词到同义词集的绑定形成单词结点。本发明采用基于WordNet语义关系网络实现了高效的语义计算,语义计算的实现上浮到了基于Cyper语言层,表达更加直观,使得语义计算可视化,并且映射到Neo4j的图结构,处理数据的速度更快;Neo4j的图结构的优化使得语义检测算法的实现过程中的查询从空间复杂度On^n降到了O1。
Description
技术领域
本发明主要涉及信息处理技术领域,尤其涉及一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法。
背景技术
WordNet是有普林斯顿大学专家设计的一种基于认知语言学的英语词典,由于它克 服了传统词典中忽律统一信息组织的问题,所以它非常适合用于语义计算。它的核心在于将单词之间的语义关系抽取出来,通过同义词集的概念实现具像化,形成一个语义关 系网络。每个同义词集都代表着一个基本的语义概念,单词通过链接一个个同义词集, 实现一种单词间间接的联系。在WordNet中主要有名词语义网络、动词语义网络、形容 词语义网络和副词语义网络。
Neo4j是专门用于网络图存储的图数据库,它具有更快的海量数据处理速度、更直观的数据、更加灵活的数据存储以及稳定的计算效率。在数据量、数据关联达到一定程 度时,传统关系型数据库逐渐乏力,Neo4j能够稳定应对;相比传统SQL语句,Neo4j 使用的Cyper语言对关系的表达更加直观;新数据的存储,一律为边与节点、边属性与 节点属性,不需要考虑表的结构以及新表与其它表的关联;得益于Neo4j底层的图存储 结构和基于图数据结构的优化算法,Neo4j的操作速度始终如一,但目前语义计算的查 询空间复杂度高,个人电脑很难进行处理,且语义计算不可视,不直观。
发明内容
发明目的:本发明实施例提供了一种WordNet到Neo4J的映射方法,用以解决现有技术中语义计算复杂、速度慢的问题;本发明还提供一种基于Neo4J图库的语义检测方 法,降低了现有技术中语义计算的空间复杂度;另外,本发明还提供一种语义计算扩展 接口生成方法,解决了语义检测中的功能单一,不可发展的问题。
技术方案:一种WordNet到Neo4J的映射方法,包括:
(1)提取同义词集合有效信息,并将其映射到Neo4J中的同义词集结点上;
(2)采用广度优先算法遍历每个以特定关系相关连的两个同义词集结点,并生成相应的Neo4J同义词集结点之间的连接;
(3)遍历WordNet中的所有单词和每个单词对应的义元集合,并基于义元集合实现单词到同义词集的绑定形成单词结点。
进一步地,包括:
所述步骤(1)中,同义词集合有效信息包括:同义词集ID,以及对该同义词集的 解释Gloss;所述将其映射到Neo4J同义词集结点,包括:通过WordNet解析引擎生成 在Neo4J中生成同义词集结点的Cyper语句,并为每个同义词集结点生成固定的同义词 集类型Synset,所述同义词集ID由Synset的对应lexical决定,每个同义词集结点具有 与同义词集合对应的同义词集结点ID和说明属性Gloss,通过同义词集合的同义词集ID 和同义词集结点ID确定唯一的同义词集结点。
进一步地,包括:
所述步骤(2)中,生成相应的Neo4J同义词集结点之间的连接,包括:以每个同 义词集结点为起点,采用广度优先算法循环遍历所有与其具有直接语义关系的同义词集 结点;借助API传入的同义词迭代器对象,构造MATCH子句、WHERE子句和CREATE 子句,实现从Neo4J数据库中匹配并获得对应的同义词集结点的指针。
进一步地,包括:
所述直接语义关系为两个单词分别对应关联的同义词集之间存在的所有类型的语 义关系,可包括:同根关系、同义关系、上位词关系、下位词关系、下位词关系、部分 组成词、部分构件词、同等关系以及迭代上位词关系。
进一步地,包括:
所述步骤(3)具体包括:遍历WordNet中的单词,并迭代以下步骤,直到遍历所 有的单词:
(31)对应生成Neo4J中所述连接关系不确定的单词结点,所述单词结点为Word 类型,并且具有lemma属性;
(32)所述WordNet解析引擎根据义元集合中指向的同义词集的ID构建MATCH 和WHERE语句,并基于此生成构建单词与同义词集之间连接CREATE语句;
(33)根据与对应的单词具有连接关系的所有同义词集,得到与所述连接关系不确定的单词结点具有连接关系的对应同义词集结点,进而单词结点的连接关系得到确定。
一种语义检测方法,包括:
输入:Neo4J数据库的单词表中确定两个待检测的字符串;
过程:S1采用Cyper语句搜索比较字符串的所有词义,形成两组词义集合,进一步追踪词义属于的近似词集,并构成两个近义词集集合,检测每一对近义词集组合之间的 语义关系;
S2执行语法检测算法的波特词干提取算法,用于检测若干特殊的语义关系是否存在;
S3检测两个比较字符串语义关系中的直接语义关系和迭代语义关系;
S4若无法确定一对字符串间的语义关系,则执行语法检测的编辑距离算法,语义相似度的值由编辑距离算法测定;否则,语义关系值决定语义相似度;
输出:两个比较字符串之间的语义相似度。
进一步地,包括:
所述直接语义关系包括:同根关系、同义关系、上位词关系、下位词关系、下位词关系、部分组成词、部分构件词、同等关系以及迭代上位词关系;迭代语义关系为对所 述直接语义关系的嵌套。
进一步地,包括:
根据所述语义检测方法得到语义计算API;基于自定义可扩展的中间语言,实现扩展语义的计算。
一种语义计算扩展接口生成方法,所述语义计算API包括直接语义检测接口detectDirectedRelation(WordPair)、限定直接语义检测接口 detectDirectedRelation(WordPair,RType)、迭代语义检测detectIterativeRelation(WordPair)、 限定迭代语义检测detectIterativeRelation(WordPair)、指定层数迭代语义检测detectIterativeRelation(WordPair,Set<RType>)、精确迭代语义检测detectIterativeRelation(WordPair,Times,Set<RType>)以及确定迭代语义检测detectIterativeRelation(WordPair,List<RType>),WordPair为待检测的两个字符串,RType 为语义关系的类型。
进一步地,包括:
所述元模型中关键字分为连接词和限定词,所述限定词用于指定当前语句的确定功 能,限定词包括:DETECT和SYNONYM,DETECT用来限定的包含某种关系的语句, 其限定的语句中可以包含连接词TONODE、RETURN、WITHRTYPE,SYNONYM用 来获得指定字符串的近亲短语。
有益效果:(1)本发明采用基于WordNet语义关系网络实现了高效的语义计算, 语义计算的实现上浮到了基于Cyper语言层,表达更加直观,使得语义计算可视化,并 且映射到Neo4j的图结构,处理数据的速度更快;(2)本发明Neo4j的图结构的优化 使得语义检测算法的实现过程中的查询从空间复杂度On^n降到了O1,可以实现在个人 电脑上进行复杂关系推导;(3)利用中间语言模版方法,在一定程度上实现语义检测 功能的可升级能力,该方法的实现证明了其它类似领域相似功能的可发展性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用 的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他的附图。
图1为本发明实施例提供的整体架构图;
图2为本发明实施例提供的WordNet到Neo4j数据库的映射方法流程图;
图3为本发明实施例提供的单词映射方法的流程图;
图4为本发明实施例所实现的WordNet到Neo4j数据库的映射示意图;
图5为本发明实施例提供的语义关系检测算法流程图;
图6为本发明实施例提供的一种在企业间合作推荐的用例;
图7为本发明实施例提供的实现语义计算的可扩展而定义的中间语言元模型。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发 明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明的底层使用JAVA实现,对WordNet的解析使用MIT官方提供的JAVA接口, 对Neo4J的访问使用原生的Neo4J Cyper接口以获得足够的自由度,基于半自定义Cyper 语句实现语义计算功能扩展,定义中间语言元模型支持Cyper语句的半自定义的实现。
实现WordNet存入Neo4J是本方法的首要步骤。进而利用Cyper语句的优秀表达能力实现各种基于语义计算的应用。例如:作为一般词典、获取词语及其上下文、意义排 歧、信息检索、甚至实现知识工程用例。如图1所示,包括WordNet到Neo4j映射、语 义计算以及语义计算功能扩展。
本发明提供一种WordNet到Neo4J的映射方法,WordNet并不仅仅是英语词典,它的核心是同义词集。它根据单词词条的意义分组,每个具有相同意义的字条组称为 Synset的同义词集。Wordnet为每个Synset提供了简短概要的定义,并记录着不同 Synset之间的语义关系。其中共有四个具有简介关联的同义词网络某,名词网络、动词 网络、形容词网络和副词网络。
WordNet的底层数据结构包括词条、义元和同义词集,三种数据条目分别具有各自条目的ID并按序存储于各自的文本文件中。每个词条包含其从属的义元ID,每个义元 指向其从属的同义词集文件、同义词集ID,每个同义词集条目中包含其释义、用法以 及与其它同义词集之间的关系。
Neo4J底层以图的方式把用户定义的节点以及关系存储起来,可以高效地实现从某 个节点开始,借助节点间关系找出起始与目标节点之间的关系。元素包括结点、连接以及属性,其中连接位于某两个结点之间,结点和连接都可以具有任意数目的属性。
基于以上分析,可以实现WordNet到Neo4J的映射。简单来将,两个单词之间的语义检测等价于对两个单词之间语义的所有关系的综合分析,在Neo4J存储的词典数据 中,单词和同义词集都是结点,但是它们具有不同的属性键值对,例如单词具有lemma 属性存储词形、WID属性存储词ID,同义词集结点具有sense属性存储释义字符串、 example属性存储用例说明字符串、SID存储同义词集ID。单词与同义词集、同义词集 与同义词集之间都可以具有连接,这两大类连接也可以具有不同的属性,它们分别对应 于WordNet中词与某个同义词集的从属关系,同义词集之间的上下位、整体部分、反义、 属性等关系。
具体映射方法包括,参阅图2所示:
S1同义词集映射:提取同义词集合有效信息,并将其映射到Neo4J中的同义词集结点上;
同义词集合有效信息包括:同义词集ID,以及对该同义词集的解释Gloss;所述将其映射到Neo4J同义词集结点,包括:通过WordNet解析引擎生成在Neo4J中生成同义 词集结点的Cyper语句,并为每个同义词集结点生成固定的同义词集类型Synset,所述 同义词集ID由Synset的对应lexical决定,每个同义词集结点具有与同义词集合对应的 同义词集结点ID和说明属性Gloss,通过同义词集合的同义词集ID和同义词集结点ID 确定唯一的同义词集结点。
S2同义词集关系映射:使用广度优先算法基于每个同义词集的关联集合遍历每个以特定关系相关连的同义词集,并生成相应的Neo4J中同义词集结点之间的连接,并填 入相关连接属性。
生成相应的Neo4J同义词集结点之间的连接,包括:以每个同义词集结点为起点,采用广度优先算法循环遍历所有与其具有直接语义关系的同义词集结点;借助API传入 的同义词迭代器对象,构造MATCH子句、WHERE子句和CREATE子句,实现从Neo4J 数据库中匹配并获得对应的同义词集结点的指针。
所述直接语义关系为两个单词分别对应关联的同义词集之间存在的所有类型的语 义关系,可包括:同根关系、同义关系、上位词关系、下位词关系、下位词关系、部分 组成词、部分构件词、同等关系以及迭代上位词关系。
S3单词映射:遍历WordNet中的所有单词,并遍历每个单词义元集合,基于义元 中指定的同义词集将单词以固定属性的连接绑定到对应的同义词集上,形成单词结点。
具体包括:遍历WordNet中的单词,并迭代以下步骤,直到遍历所有的单词:
S31对应生成Neo4J中所述连接关系不确定的单词结点,所述单词结点为Word类型,并且具有lemma属性;
S32所述WordNet解析引擎根据义元集合中指向的同义词集的ID构建MATCH和WHERE语句,并基于此生成构建单词与同义词集之间连接CREATE语句;
S33根据与对应的单词具有连接关系的所有同义词集,得到与所述连接关系不确定 的单词结点具有连接关系的对应同义词集结点,进而单词结点的连接关系得到确定。
本发明的一个实施例中,提供了一个包装了Neo4J Cyper原生方法的工具类Neo4J_Exa,三阶段映射过程中主要使用的API接口如下:
(1)Void addSynsetWithWN(Iterator<ISynset>synsetIt)
对应第一阶段,只做同义词集到Neo4J中的映射,保证第二阶段映射同义词集间关系而建立同义词集结点关系时不会指向空结点。
第一阶段映射的底层实现是通过实现的WordNet解析引擎,生成在Neo4J中生成同义词集结点的Cyper语句,大致过程通过如下伪代码描述:
第一阶中为每个同义词集结点生成了固定的同义词集类型Synset,名称由Synset的 对应lexical决定,每个同义词集结点具有同义词集ID属性SID和说明属性Gloss。生 成的Cyper语句如下:
CREATE(a:Synset:[lexical1]{SID:[offset1],Gloss:[gloss1]})
+CREATE(b:Synset:[lexical2]{SID:[offset2],Gloss:[gloss2]})
+...。
(2)Void addRelationShipWithWN(Iterator<ISynset>synsetIt,IDictionarydict)
对应第二阶段,基于广度优先的思路遍历所有以给定同义词集(基于SID指定)结点为起点的关系。在解释引擎构造Cyper语句的过程中,对MATCH和WHERE子语句 做了去重处理,生成Cyper语句的大致过程通过如下伪代码描述:
第二阶段中以每个同义词集结点为起点遍历所有与其具有直接语义关系的同义词 集结点,每一个直接语义关系对应一条MATCH子句、一条WHERE子句以及一条 CREATE子句。
借助API传入的同义词迭代器对象构造构造CREATE子句,在CREATE子句中使 用MATCH与WHRER子句匹配得到的同义词集结点指针,在两个已经存在于Neo4j实 例中的结点之间构造连接。
每个生成的同义词集结点间连接根据直接语义关系具有不同的连接类型,例如:下 位关系hyponymy、上位关系hypernymy、部分关系meronymy、部件构分关系 component_of等。生成的Cyper语句大致如下:
MATCH(s1:[lexcal_file_name]),(s[offset1]:[lexxical_file_name1]),...
+WHERE(s1.SID=[offset])AND(s[offset1].SID=[offset1])AND...
+CREATE(s1)-[:[pointer1]]->(s[offset1])
+CREATE(s1)-[:[pointer2]]->(s[offset2])
+...。
(3)Void addWordWithWN(Iterator<IIndexWord>wordIt,IDictionary dict)
对应第三阶段,遍历所有单词,生成对应的单词结点和每个单词对应的义元集合,并基于义元集合实现单词到同义词集的绑定。
WordNet解释引擎根据义元中指向的同义词集的SID构建MATCH和WHERE语句, 并基于此生成构建词与同义词集之间连接的CREATE语句。
生成Cyper语句的大致过程通过如下伪代码描述:
在构件单词与同义词集结点关系的阶段中,包括对单词结点的创建以及对当前单词 从属的义元遍历后解析出的关联的同义词集,其中,单词指向同义词集的连接类型是固定的类型word2synset,单词与单词之间没有直接的关联,而是借助与他们直接关联或 间接关联的所有同义词集,来进行单词与单词之间的语义关系计算。
在映射过程中构建的Cyper语句大致如下:
MATCH(s[offset1]:Synset:[lexical1]),(s[offset2]:Synset:[lexical2])...
+WHERE(s[offset1].SID=[offset1])AND(s[offset2].SID=[offset2])...
+CREATE(word:Word{lemma:[lemma]})
+CREATE(word)-[:word2synset]->(s[offset1])
+CREATE(word)-[:word2synset]->(s[offset2])
+CREATE...。
本发明的上述三个步骤,虽然三个阶段之间必须是同步的关系,但是每个阶段中的 任意创建操作是线程安全的,即在每个阶段内使用多线程的创建方式实现结点、连接的创建,从而提高运行效率。这样做的好处是利用了程序逻辑过程的特性进行了多线程优 化无需考虑线程安全,底层实现代码逻辑简单、可读性较强、易于维护。
参阅图5所示,本发明还提供一种语义检测方法,包括:
输入:Neo4J数据库的单词表中确定两个待检测的字符串;
过程:S1采用Cyper语句搜索比较字符串的所有词义,形成两组词义集合,进一步追踪词义属于的近似词集,并构成两个近义词集集合,检测每一对近义词集组合之间的 语义关系;
S2执行语法检测算法的波特词干提取算法,用于检测若干特殊的语义关系是否存在,如单复数变型情况;
S3检测两个比较字符串语义关系中的直接语义关系和迭代语义关系;
S4若无法确定一对字符串间的语义关系,则执行语法检测的编辑距离算法,语义相似度的值由编辑距离算法测定;否则,语义关系值决定语义相似度;
输出:两个比较字符串之间的语义相似度。
具体的:通常,语义和语法检测技术被结合使用,以判断单词对或概念对之间在语法、语义上的相似性。语法检测专注于句子与单词的组成结构规则。语法检测的典型应 用是使用正则表达式,已有许多研究对使用正则表达式实现语法检测进行了探讨。在使 用更少资源的情况下,语法检测可以揭示某些潜在的语义联系。因而,通过结合语法检 测技术,可以有效的提升语义检测方法的性能。语义检测算法的输入通常为文本或单 词对,输出为字符串之间的语义相似度。
该模块算法首先执行语法检测算法的波特词干提取算法,用于检测若干特殊的语义 关系是否存在,从英语单词中去除常见词首、词尾及特殊扩展后进行词根比对,如表1所示,列举八种被检测的词根词缀情况。
表1八种被检测的词根词缀情况
如未发现符合检测规则的语法关系,则执行算法的语义检测部分。语义检测中包括 对直接语义关系和迭代语义关系的检测。如果无法确定一对字符串间的语义关系,则执行语法检测的编辑距离算法,编辑距离算法是基于英文单词的构造特性,在波特词干抽 取和语义检测失败的情况下,计算两个单词之间的编辑距离,精度较低。
本发明的语义检测算法建立在具体的语义词典-WorNet上的。WorNet收录了大量的 单词、义元、同义词集并定义单词与义元、同义词集与同义词集之间的语义关系。本方法所使用的WordNet的数据被抽取并存储在图形化语义数据库Neo4J之中。库中所存储 的内容包括:单词结点147306个、单词词义(义元)206941个和同义词集结点(synset 由包含相近词义的单词词义组成)114038个。
对任意一对字符串,检测其语义关系都要遵循四个步骤:1)在单词表中定位两个比 较字符串;2)采用Cyper语句搜索比较字符串的所有词义,形成两组词义集合;3) 进一步追踪词义属于的近似词集,并构成两个近义词集集合;4)检测每一对近义词集 组合之间的语义关系。
具体的语义关系,如表2所示。
表2在语义数据库中检测的语义关系
如表2所示,被检测的七种直接语义关系分别为:同根、同义、上位词等;被检测 的迭代语义关系为此七种语义关系的嵌套,但最多不超过八层迭代。表中对各种语义关 系的赋值SrV由人为按照常识、经验取定;语义关系越近(转换可能性越高),其SrV 值越大。两个比较词之间可能存在多重语义关系(因其拥有的不同词义所致),一对单词 之间亦可能存在多个检测值,在存在多重检测值的情况下,通过设定的权重取均值得到 输出语义检测值。
Srv为两个单词所指向的同义词集之间特定关系的匹配度;如果两个单词指向的同 一个同义词集,但是此时由于波特词算法的失效而进入了语义计算过程证明了这两个单 词不是同一个单词,则这两个单词之间的语义关系相似度为0.9。
相似度值域为0到1;当判定两个字符串语义相同时,相似度为1。在算法执行过 程中,如果检测到存在语义关系存在,相似度由语义关系值决定;如果检测不到语义关 系存在,则相似度的值由编辑距离算法测定。
编辑距离算法的计算结果,如果低于某个阀值就会进入语义检测过程。字符串间的 编辑距离是单字符最少编辑次数,即将一个字符串(a)转换为另一个字符串(b)所需要的最 少插入、删除或替换的操作步骤。表3给出了该算法的一个执行过程的说明。比对的字符串为“son”与“sun”。
表3编辑距离算法的应用
son | s | o | n | |
sun | 0 | 1 | 2 | 3 |
s | 1 | 0 | 1 | 2 |
u | 2 | 1 | 1 | 2 |
n | 3 | 2 | 2 | 1 |
关于比较二维表的构造以及表中数值计算的规则,可参考文献[20]。二维表右下角 计算获得的值“1”,即是两个比较字符串间的编辑距离。“1”意味着需要一次编辑能 将字符串“son”转换“sun”
本发明的实施例中,语义检测计算算法的伪代码如下:
在CALCULATE过程中应用的Cyper语句STATE由语义结算接口的入口方法决定, 在语义计算的过程中,主要应用的是MATCH语法树下的语句,在实现中主要应用了如 下集中MATCH语句:
算法实现过程中用到的Cyper语言
(1)MATCH item=(word1{lemma:?...})-[*n...{...}]-(word2{lemma:?...})RETURN item
该语句含义是寻找所有单词word1与word2之间的关系,关系的迭代层数由n指定,可以限定范围也可以指定确定层数。该语句还有更多的可以精华的部分,包括结点的属性、结点之间连接的属性、返回的条目是否可以重复。
(2)MATCH(word1)-[]->(synsetl)-[]-...-[]<-(synsetn)-(word2)
Cyper语句甚至可以在一句话中完整表达多层嵌套复杂关系的检测。
语义检测的过程就是对单词对之间关系的分析过程,对单词对之间关系的分析一般 设定指定的默认值,以及无其它限定条件。为了实现一种基于模版的Cyper语句半自动化生成,此处的基于关系的语义检测方法实现需要提供通用的接口,以便进一步扩展方 法的功能。
为了更加清楚的描述本发明的技术方案,有如下的应用实例:
首先,对三组对比单词:“螺钉bolt”-“螺丝钉screw”,“钉子nail”-“螺丝钉screw”以及“木钉nog”-“螺丝钉screw”执行语法波特词干提取算法检测。在未 检测到词缀、词根的情况下,对三组对比词执行语义检测。图6展示了语义检测的结果。
“螺钉bolt”对“螺丝钉screw”语义关系如图6a)所示。前者是后者的直接下位词,同时前者是后者的部件,则此单词对的语义检测结果为即0.9。参阅图6b所示,“钉子 nail”与“螺丝钉screw”之间的语义关系是一层迭代的同等下位词关系以及同等的一层 迭代的同等部件词,所以此单词对的值是由迭代的语义检测过程实现的,即 0.9*0.7=0.63。同样的,参阅图6c所示,“木钉nog”与“螺丝钉screw”之间的语义关 系是多层、多路径迭代语义关系,其中包括下位词-上位词关系、下位词上位词关系、 部件词关系,所以此单词的相似度为0.9*MAX(0.7*0.9,0.75*0.55)=0.567。
本发明还提供一种语义计算扩展接口生成方法,根据所述语义检测方法得到语义计 算API;基于自定义可扩展的中间语言,实现扩展语义的计算。
语义关系检测给出了功能丰富的语义检测计算接口,如表4所示,提供了丰富地语义检测能力,WordPair为词对,RType为语义关系类型。
表4语义计算API
直接语义检测 | detectDirectedRelation(WordPair) |
限定直接语义检测 | detectDirectedRelation(WordPair,RType) |
迭代语义检测 | detectIterativeRelation(WordPair) |
限定迭代语义检测 | detectIterativeRelation(WordPair) |
指定层数迭代语义检测 | detectIterativeRelation(WordPair,Set<RType>) |
精确迭代语义检测 | detectIterativeRelation(WordPair,Times,Set<RType>) |
确定迭代语义检测 | detectIterativeRelation(WordPair,List<RType>) |
基于丰富地接口,可以进一步实现灵活扩展的语义计算方案。本研究就是基于一种 自定义的中间语言实现扩展语义的表达,并通过模版映射的方法实现中间语言到编码的 实现。当前该中间语言只定义了一个闭包的集合,其元模型具有一定的可扩展性,该中间语言是可配置的,用户在享受已定义中间语言所带来的扩展的服务功能的同时,还可 以根据自己的需要丰富中间语言的元模型。该中间语言模版方法为语义计算提供了更多 的灵活性,图7给出了该中间语言元模型,元模型中,主要的关键字分为连接词和限定 词,限定词用于指定当前语句的确定功能,限定词所引领的语句可以包含子限定词,但 是被包含的限定词只用来丰富当前语句语义。
所述元模型中关键字分为连接词和限定词,所述限定词用于指定当前语句的确定功 能,限定词包括:DETECT和SYNONYM,DETECT用来限定的包含某种关系的语句, 其限定的语句中可以包含连接词TONODE、RETURN、WITHRTYPE,SYNONYM用 来获得指定字符串的近亲短语。
给出的限定词DETECT可以表达加强的语义检测功能,其限定的语句中可以包含连接词TONODE、RETURN、WITHRTYPE,例如如果想限定查找语义关系树中的“兄 弟”词,可以使用如下语句指定:
DETECT‘word1’,b to c WITHRTYPE rtype1,rtype2RETURN b
表达的语义是:找到与c分别有对应下位关系语义的同胞‘word1’->c<-b,其中b就是word1的兄弟单词,它和word1同时以rtype1或rtype2的语义关系与同义词集c 相关联。
在图7中还给出了另一个限定词SYNONYM,其表达的语义为获得指定字符串的 近亲短语,例如:
SYNONYM“Decorate the house”NUMS 2
表达的语义是:获得“Decorate the house”的近亲短语,限定最多为2个。
在本研究的中间语言中,只有限定词富有丰富的语义,其中限定词可以通过包含其 它限定词作为其子限定词来丰富自己的语义,例如:
SYNONYM“Decorate the house”BY DETECT WITHTYPE rtype1,rtype2 NUMS 3
表达的语义是:获得“Decorate the house”的近亲短语,并通过子限定词DETECT的 连接词WITHTYPE指定近亲短语与同义词集父结点的语义关系为rtype1或rtype2。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体 或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体 或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全应用实施例、或结合应用和硬件方面 的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的 计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的 计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每 一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备 的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的 指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算 机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性 概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神 和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种WordNet到Neo4J的映射方法,其特征在于,包括:
(1)提取同义词集合有效信息,并将其映射到Neo4J中的同义词集结点上;
(2)采用广度优先算法遍历每个以特定关系相关连的两个同义词集结点,并生成相应的Neo4J同义词集结点之间的连接;
(3)遍历WordNet中的所有单词和每个单词对应的义元集合,并基于义元集合实现单词到同义词集的绑定形成单词结点。
2.根据权利要求1所述的WordNet到Neo4J的映射方法,其特征在于,所述步骤(1)中,同义词集合有效信息包括:同义词集ID,以及对该同义词集的解释Gloss;所述将其映射到Neo4J同义词集结点,包括:通过WordNet解析引擎生成在Neo4J中生成同义词集结点的Cyper语句,并为每个同义词集结点生成固定的同义词集类型Synset,所述同义词集ID由Synset的对应lexical决定,每个同义词集结点具有与同义词集合对应的同义词集结点ID和说明属性Gloss,通过同义词集合的同义词集ID和同义词集结点ID确定唯一的同义词集结点。
3.根据权利要求1所述的WordNet到Neo4J的映射方法,其特征在于,所述步骤(2)中,生成相应的Neo4J同义词集结点之间的连接,包括:以每个同义词集结点为起点,采用广度优先算法循环遍历所有与其具有直接语义关系的同义词集结点;借助API传入的同义词迭代器对象,构造MATCH子句、WHERE子句和CREATE子句,实现从Neo4J数据库中匹配并获得对应的同义词集结点的指针。
4.根据权利要求3所述的WordNet到Neo4J的映射方法,其特征在于,所述直接语义关系为两个单词分别对应关联的同义词集之间存在的所有类型的语义关系,可包括:同根关系、同义关系、上位词关系、下位词关系、下位词关系、部分组成词、部分构件词、同等关系以及迭代上位词关系。
5.根据权利要求1所述的WordNet到Neo4J的映射方法,其特征在于,所述步骤(3)具体包括:遍历WordNet中的单词,并迭代以下步骤,直到遍历所有的单词:
(31)对应生成Neo4J中所述连接关系不确定的单词结点,所述单词结点为Word类型,并且具有lemma属性;
(32)所述WordNet解析引擎根据义元集合中指向的同义词集的ID构建MATCH和WHERE语句,并基于此生成构建单词与同义词集之间连接CREATE语句;
(33)根据与对应的单词具有连接关系的所有同义词集,得到与所述连接关系不确定的单词结点具有连接关系的对应同义词集结点,进而单词结点的连接关系得到确定。
6.根据权利要求1-5任一项所述的WordNet到Neo4J的映射方法实现的语义检测方法,其特征在于,包括:
输入:Neo4J数据库的单词表中确定两个待检测的字符串;
过程:S1采用Cyper语句搜索比较字符串的所有词义,形成两组词义集合,进一步追踪词义属于的近似词集,并构成两个近义词集集合,检测每一对近义词集组合之间的语义关系;
S2执行语法检测算法的波特词干提取算法,用于检测若干特殊的语义关系是否存在;
S3检测两个比较字符串语义关系中的直接语义关系和迭代语义关系;
S4若无法确定一对字符串间的语义关系,则执行语法检测的编辑距离算法,语义相似度的值由编辑距离算法测定;否则,语义关系值决定语义相似度;
输出:两个比较字符串之间的语义相似度。
7.根据权利要求6所述的语义检测方法,其特征在于,所述直接语义关系包括:同根关系、同义关系、上位词关系、下位词关系、下位词关系、部分组成词、部分构件词、同等关系以及迭代上位词关系;迭代语义关系为对所述直接语义关系的嵌套。
8.根据权利要求6所述的根据语义检测方法实现扩展语义计算的方法,其特征在于,根据所述语义检测方法得到语义计算API;基于自定义可扩展的中间语言,实现扩展语义的计算。
9.根据权利要求8所述的语义计算扩展接口生成方法,其特征在于,所述语义计算API包括直接语义检测接口detectDirectedRelation(WordPair)、限定直接语义检测接口detectDirectedRelation(WordPair,RType)、迭代语义检测detectIterativeRelation(WordPair)、限定迭代语义检测detectIterativeRelation(WordPair)、指定层数迭代语义检测detectIterativeRelation(WordPair,Set<RType>)、精确迭代语义检测detectIterativeRelation(WordPair,Times,Set<RType>)以及确定迭代语义检测detectIterativeRelation(WordPair,List<RType>),WordPair为待检测的两个字符串,RType为语义关系的类型。
10.根据权利要求8所述的语义计算扩展接口生成方法,其特征在于,所述元模型中关键字分为连接词和限定词,所述限定词用于指定当前语句的确定功能,限定词包括:DETECT和SYNONYM,DETECT用来限定的包含某种关系的语句,其限定的语句中可以包含连接词TONODE、RETURN、WITHRTYPE,SYNONYM用来获得指定字符串的近亲短语。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477451.7A CN110263178B (zh) | 2019-06-03 | 2019-06-03 | 一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910477451.7A CN110263178B (zh) | 2019-06-03 | 2019-06-03 | 一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110263178A true CN110263178A (zh) | 2019-09-20 |
CN110263178B CN110263178B (zh) | 2023-05-12 |
Family
ID=67916575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910477451.7A Active CN110263178B (zh) | 2019-06-03 | 2019-06-03 | 一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263178B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324690A (zh) * | 2020-03-04 | 2020-06-23 | 南京航空航天大学 | 一种基于FrameNet的图形化语义数据库处理方法 |
CN114722073A (zh) * | 2022-04-06 | 2022-07-08 | 杭州悦数科技有限公司 | 有环图转换为图数据库查询语言的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901249A (zh) * | 2009-05-26 | 2010-12-01 | 复旦大学 | 一种图像检索中基于文本的查询扩展与排序方法 |
CN105045913A (zh) * | 2015-08-14 | 2015-11-11 | 北京工业大学 | 基于WordNet以及潜在语义分析的文本分类方法 |
US20160364377A1 (en) * | 2015-06-12 | 2016-12-15 | Satyanarayana Krishnamurthy | Language Processing And Knowledge Building System |
CN108595708A (zh) * | 2018-05-10 | 2018-09-28 | 北京航空航天大学 | 一种基于知识图谱的异常信息文本分类方法 |
-
2019
- 2019-06-03 CN CN201910477451.7A patent/CN110263178B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901249A (zh) * | 2009-05-26 | 2010-12-01 | 复旦大学 | 一种图像检索中基于文本的查询扩展与排序方法 |
US20160364377A1 (en) * | 2015-06-12 | 2016-12-15 | Satyanarayana Krishnamurthy | Language Processing And Knowledge Building System |
CN105045913A (zh) * | 2015-08-14 | 2015-11-11 | 北京工业大学 | 基于WordNet以及潜在语义分析的文本分类方法 |
CN108595708A (zh) * | 2018-05-10 | 2018-09-28 | 北京航空航天大学 | 一种基于知识图谱的异常信息文本分类方法 |
Non-Patent Citations (2)
Title |
---|
ENRICO GIACINTO CALDAROLA等: "Improving the Visualization of WordNet Large Lexical Database through Semantic Tag Clouds", 《 2016 IEEE INTERNATIONAL CONGRESS ON BIG DATA (BIGDATA CONGRESS)》 * |
王飞等: "基于限定自然语言需求模板的AADL模型生成方法", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324690A (zh) * | 2020-03-04 | 2020-06-23 | 南京航空航天大学 | 一种基于FrameNet的图形化语义数据库处理方法 |
CN111324690B (zh) * | 2020-03-04 | 2023-11-07 | 南京航空航天大学 | 一种基于FrameNet的图形化语义数据库处理方法 |
CN114722073A (zh) * | 2022-04-06 | 2022-07-08 | 杭州悦数科技有限公司 | 有环图转换为图数据库查询语言的方法和装置 |
CN114722073B (zh) * | 2022-04-06 | 2023-03-14 | 杭州悦数科技有限公司 | 有环图转换为图数据库查询语言的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110263178B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915340B (zh) | 自然语言问答方法及装置 | |
CN103646032B (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN107885786B (zh) | 面向大数据的自然语言查询接口实现方法 | |
CN102799578B (zh) | 一种基于依存句法树的翻译规则抽取方法和翻译方法 | |
CN110502642B (zh) | 一种基于依存句法分析与规则的实体关系抽取方法 | |
Brando et al. | REDEN: named entity linking in digital literary editions using linked data sets | |
Athreya et al. | Template-based question answering using recursive neural networks | |
TW201500944A (zh) | 同義片語的擷取方法和裝置及搜索相關內容的方法和裝置 | |
CN104391837A (zh) | 一种基于格语义的智能语法分析方法 | |
Ghosh et al. | Automated generation of er diagram from a given text in natural language | |
CN110263178A (zh) | 一种WordNet到Neo4J的映射方法、语义检测方法及语义计算扩展接口生成方法 | |
Zhu et al. | Unsupervised terminological ontology learning based on hierarchical topic modeling | |
Sawai | Semantic structure analysis of noun phrases using abstract meaning representation | |
Zhang et al. | FactQA: Question answering over domain knowledge graph based on two-level query expansion | |
Xue et al. | A new tree similarity measuring method and its application to ontology comparison | |
Wu et al. | MayoClinicNLP–CORE: Semantic representations for textual similarity | |
KR20110028077A (ko) | 문장 온톨로지 생성을 위한 자동 어노테이션 시스템 및 방법 | |
Le Maitre et al. | From annotated corpora to databases: the SgmlQL language | |
ShafieiBavani et al. | A query-based summarization service from multiple news sources | |
Kokare et al. | A survey of natural language query builder interface for structured databases using dependency parsing | |
Xu et al. | Understanding the semantic intent of natural language query | |
Mousavi | Summarizing massive information for querying web sources and data streams | |
Li et al. | Svega: Answering Natural Language Questions over Knowledge Base with Semantic Matching. | |
Atzori et al. | Querying RDF Data Cubes through Natural Language. | |
Fossati et al. | The problem of ontology alignment on the web: a first report |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |