首页> 中国专利> 一种最长匹配资源映射方法

一种最长匹配资源映射方法

摘要

本发明公开了一种最长匹配资源映射方法。本发明主要为了解决从文本中检测知识库和知识图谱中的资源时,难以检测复合语义资源的问题。本发明采用的技术方案是,为待检测的语句解析为词语流,为每一个词语寻找与其相关的语义资源,然后寻找尽可能多的与原始句子中词语相关的语义资源作为资源映射的结果。同时,为了提升分类的效率,本发明在语句被进行资源映射处理之前对文本做了一定的预处理,提高了检索效率。本发明针对复合语义资源在短语检测和资源映射阶段难以得到合理映射的问题,提出针对邻域中的多个词语的组合资源映射方案,提高了多个词语映射到一个复合语义资源的问题。同时,通过一定的索引优化,提高了查询效率。

著录项

  • 公开/公告号CN110175268A

    专利类型发明专利

  • 公开/公告日2019-08-27

    原文格式PDF

  • 申请/专利权人 杭州电子科技大学;

    申请/专利号CN201910315880.4

  • 申请日2019-04-19

  • 分类号

  • 代理机构杭州君度专利代理事务所(特殊普通合伙);

  • 代理人朱月芬

  • 地址 310018 浙江省杭州市下沙高教园区2号大街

  • 入库时间 2024-02-19 12:54:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-17

    授权

    授权

  • 2019-09-20

    实质审查的生效 IPC(主分类):G06F16/901 申请日:20190419

    实质审查的生效

  • 2019-08-27

    公开

    公开

说明书

技术领域

本发明涉及文本匹配领域,具体涉及一种最长匹配资源映射方法,一种从文本中检测已有标签并建立映射关系的方法。

背景技术

知识库和知识图谱已经被广泛的应用于搜索引擎和自动问答系统当中,以提升查询结果的准确率。为了避免传统搜索引擎只能机械通过关键字检索相关内容,结合知识库的搜索引擎或者问答系统需要理解用户的意图并寻找相应答案。例如对问题“杭州的简称是什么”给出答案“杭州的简称是杭”。

结合知识库的搜索引擎和自动问答系统的实现通常都始于从文本中检测知识库内的资源。资源映射问题可以解释为从一个自然语言句子中,寻找句子的一个子序列,这个子序列与知识库中的项目有极高的相似度。

现有方案能够从文本中严格或者近似匹配到短语并映射资源,但是这些局限于单个词语与资源标签之间的映射方案会错失将词语组合映射到复合词的可能。尽管这些方案都可能通过结构化查询语句构建等方式推理出对应的语义资源,但是这势必会增加语义处理的深度和知识图谱的复杂度。我们希望有一种尽可能简单的,在短语检测和资源映射阶段就能解决这个问题的方案。

发明内容

本发明的目的是针对现有技术的不足,提供一种最长匹配资源映射方法,以解决短语检测和资源映射算法在处理复合语义资源时的不足。

本发明解决其技术问题所采用的技术方案包括以下步骤:

步骤1、使用对应语言的分析器将字符流分解为词语流;

步骤2、对于词语流中的每个词语wi,寻找其近义词wi,j并构成wi的一个近义词集ci,wi∈ci

步骤3、寻找这个近义词集当中的词语wi,j能指向的所有资源,即该词语的相关资源集,

步骤4、根据给定的长度n,从左到右枚举每个词语流当中长度为n的局部词序列;

步骤5、针对单个词语滑动窗口wiwi+1...wi+n-1,枚举从中抽取至少两个词语的每一种组合,如(wi,wi+1),(wi,wi+2,...,wi+n-1);

步骤6、对于一种局部词序列中的词语组合wi...wj...wk,求这些词语的映射资源集合的交集即该词语组合下的资源映射结果,即

步骤7、针对步骤6当中任何非空的资源映射结果rrsstatus,记录下映射到rrsstatus的资源数量,映射到rrsstatus的词语wi,...,wi′,...wi″也称为rrsstatus的锚点。

步骤8、扫描wiwi+1…wi+n-1中,所有词语组合的映射结果rrsall,对于任何rrsstatus′∈rrsall,选择拥有锚点最多的资源映射结果作为这个局部词序列的映射结果,即对于rrsresult,当且仅当result=wi,...,wj,...,wk,maxmize(|wi,...,wj,...,wk|)。

步骤1当中的分析器指的是分词工具。英语等罗曼语族和日耳曼语族的分词工具通常以空格和标点符号为分割,在中文环境下则由专门的分词工具进行。

步骤2所述的寻找词语的近义词需要预先建立近义词库和词向量模型。在本发明当中求的是词向量空间下,最接近余弦值的五个词,以及人工整理出来的词典例如汉语词典整理出来的近义词表。利用倒排索引以及非关系型数据库可以提高这一步的查找效率。

步骤3与步骤2相似,知识库当中的项目使用对应语言的分析器,并为使用倒排索引以及菲关系型数据库可以进一步提高查找效率;

本发明的优点及有益效果如下:

本发明针对复合语义资源在短语检测和资源映射阶段难以得到合理映射的问题,提出针对邻域中的多个词语的组合资源映射方案,提高了多个词语映射到一个复合语义资源的问题。同时,通过一定的索引优化,提高了查询效率。

附图说明

图1是本发明所述方法的流程框图。

图2是本发明所述局部详细流程图。

图3是本发明所述局部详细流程图。

图4是本发明所述局部详细流程图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1,一种最长匹配资源映射方法,包括以下步骤:

步骤1、使用对应语言的分析器将字符流分解为词语流;

步骤2、对于词语流中的每个词语wi,寻找近义词并构成wi的一个近义词集;

步骤3、寻找这个近义词集当中的词语能指向的所有资源,即该词语的相关资源集;

步骤4、根据给定的长度n,从左到右枚举每个词语流当中长度为n的局部词序列;

步骤5、针对每个局部词序列,枚举从中抽取至少两个词语的每一种组合;

步骤6、对于一种局部词序列中的词语组合,求这些词语的映射资源集合的交集即该词语组合下的资源映射结果;

步骤7、针对步骤6当中任何非空的资源映射结果rrsstatus,记录下映射到rrsstatus的资源数量,映射到rrsstatus的词语wi,...,wi′,...wi″也称为rrsstatus的锚点。。

步骤8、扫描wiwi+1...wi+n-1中,所有词语组合的映射结果rrsall,对于任何rrsstat,∈rrsall,选择拥有锚点最多的资源映射结果作为这个局部词序列的映射结果,即对于rrsresult,当且仅当result=wi,...,wj,...,wk,maxmize(|wi,...,wj,...,wk|)。

如图2、3和4所示,步骤1具体实现如下:

1-1对于预先建立好的知识图谱和知识库等语义资源库,对其内部的所有项目使用合适的分析器分解为独立的词语,建立“词语-项目”的映射关系,并以词语为键值存储这一映射关系。这一过程实际上是倒排索引的一个实现,可以利用java的映射容器Hashmap以及一些非关系型数据库等进行存储。

1-2根据预先搜集的对应知识库的文本资料,对这些文本资料使用相应的分析器转换为词语流,使用word2vec获取这些文本在对应语料环境下的词向量,以词向量之间的余弦值作为词义相近程度的衡量工具。

所述的根据不同语言选择不同的分析器,甚至是不同应用场景选用不同的分析器。使用分析器的目的,是将单个的,无法包含语义的字符,按顺序组织成基本的语义单元,即词语。分析器生成的词语顺序与字符顺序一致。

1-3使用对应∑的分析器将sentence分解为一个个单独的词语,构成一个词语流:

①首先确定输入的字符串的语言种类,使用所有对应语言的分析器作为分词工具;

②英语等罗曼语族和日耳曼语族的分词工具通常以空格和标点符号为分割,在中文、日语以及专有名词等则由专门的分词工具进行;

步骤2具体实现如下:

2-1从左至右枚举词语流中的词语,sentence→w1w2…wi...;

2-2通过词向量模型,寻找与wi(i=0,1,2...)词义最接近的5个词语作为wi的近义词,这些近义词和wi本身构成一个近义词集ci;这里词义接近程度指的通过在词向量空间中,两个词的词向量的余弦值大小来衡量。

步骤3具体实现如下:

3-1.对于wi(i=0,1,2...)的近义词集ci,当中的每个词语,通过步骤1-1中的倒排索引,查找到包含这些词语的语义资源,将语义资源放入一个集合rrsi,该集合被称为wi的相关资源集;

3-2.对于集合rrsi中的项目,wi是项目在滑动窗口当中的一个锚点;

步骤5具体实现如下:

针对每个局部词序列,枚举从中抽取至少两个词语的每一种组合。即对于一个由wiwi+1…wi+n-1构成的子序列中,枚举从中抽取至少两个词语的每一个组合:wiwi+1,wiwi+1wi+2,…,wi…wk…wn-1,…,wn-2wn-1

步骤6具体实现如下:

6-1.对于一个构成为com=wi…wj…wk,i<j<k的组合而言,其潜在映射的术语集合resource_set=rrsi

6-2.枚举每一个w′∈com,resource_set=rrsi∩resource_set,即每一个词语的相关资源集都与潜在映射结果相交,根据交集的性质,组合内所有词语的相关资源集的交集即与组合内的每一个词语都相关。

6-3.组合内的所有词语均为组合映射结果集合的锚点。

步骤7和8具体如下:

在得出的所有组合映射相关资源集中,对于每一个非空的相关资源集合计算每一个status=wi,...,wj,...,wk,当|wi,...,wj,...,wk|最大时,即表明rrsstatus拥有最多锚点,当前的词语滑动窗口的映射结果返回。

举例

例如句子s=“我们需要一些处理蓝藻的相关技术”,假设语料库中存在语义资源r1=“蓝藻治理技术”,语义资源r2=“蓝藻治理政策”,分析器采用中文分词,寻找近义词采用词向量余弦值,n=5。以上为前提。

1.原始句子被分割为词序列“我们”、“需要”、“一些”、“蓝藻”、“治理”、“的”、“相关”、“技术”。

2.依次获取每个词语的近义词集合,如“需要”与“必要”组成“需要”的近义词集合,“治理”与“处理”、“整理”在“处理”一词的近义词集合。

3.借助近义词集合寻找每个词语的相关术语集。

3.枚举长度窗口为n每一个词语顺序组合,例如“蓝藻”~“技术”的这个窗口内,“蓝藻”和“的”是一个组合,“蓝藻”“相关”“的”又是一个新的组合。

4.于每一个组合,求其相关资源集合的交集。例如“蓝藻”“的”“治理”的相关资源集合交集为而“蓝藻”“治理”的映射结果为“蓝藻治理技术”。

5.第一个n=5的区间中,“蓝藻治理技术”有三个锚点,“蓝藻治理技术”有两个锚点。映射结果为“蓝藻治理技术”返回。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号