一种语义检索方法和装置与流程

文档序号:15931891发布日期:2018-11-14 01:46阅读:124来源:国知局

本发明涉及计算机技术领域,特别涉及一种语义检索方法和装置。

背景技术

搜索引擎(searchengine)是指根据一定的策略、运用特定的计算机程序从互联网上或者数据库中搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。

用户在利用搜索引擎获取信息时,在很多情况下需求是比较明确的,搜索引擎应该针对用户输入的搜索词到需求对应的数据资源中搜索与该搜索词匹配的信息并返回给用户。其中,在确定需求对应的数据资源时,将搜索词与数据资源对应的需求匹配关键词进行匹配,但数据资源对应的需求匹配关键词往往是单一的,这就需要用户搜索词与需求匹配关键词的表述方式一致才能找到对应的数据资源,但用户表达同一需求时使用的用户搜索词是多样化的,这就可能造成搜索时采用的数据资源不准确,进而返回的搜索结果不准确。

上述问题在结构化数据搜索中尤为突出,结构化数据资源通常为内网资源,结构化数据库中结构化数据资源时通常只匹配单一的需求匹配关键词。如果输入的用户搜索词与数据库中的需求匹配关键词不一致,可能就无法准确映射到对应的结构化数据资源上,从而无法获得准确搜索结果,用户只能多次尝试输入搜索词,降低了搜索效率。



技术实现要素:

本发明实施例提供的一种语义检索方法和装置,能够解决现有技术存在的无法获得准确搜索结果,用户只能多次尝试输入搜索词,降低了搜索效率的问题。

为了解决上述问题,本发明实施例提供一种语义检索方法,应用于结构化数据搜索,包括:

接收搜索请求以获取所述搜索请求中的搜索关键词;

根据所述搜索关键词建立对应语义向量;

计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度;

获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源;

根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。

可选的,所述方法之前还包括:

预先分别建立数据库中各结构化数据资源对应的需求匹配关键词的语义向量。

可选的,所述建立数据库中各结构化数据资源对应的需求匹配关键词的语义向量,包括:

从所述结构化数据资源的描述信息中提取指定标签对应的内容构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词对应的搜索结果标题构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词的同义词构成所述结构化数据资源的需求匹配关键词的语义向量。

可选的,所述计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度,包括:

在数据中查找预先建立的所述搜索关键词与所述需求匹配关键词的映射关系,其中,所述映射关系是在计算搜索日志中的历史搜索关键词与各需求匹配关键词的语义向量的相似度后,选择相似度满足所述预设条件的需求匹配关键词和所述搜索关键词建立的;

所述获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源,包括:

选择所述搜索关键词映射的需求匹配关键词所对应的结构化数据资源。

可选的,所述根据所述搜索关键词建立对应语义向量,包括:

根据所述搜索关键词的搜索结果标题构成所述对应语义向量;或,

根据所述搜索关键词的同义词构成所述对应语义向量。

本发明实施例提供一种语义检索装置,包括:

接收模块,用于接收搜索请求以获取所述搜索请求中的搜索关键词;

处理模块,用于根据所述搜索关键词建立对应语义向量;

计算模块,用于计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度;

获取模块,用于获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源;

检索模块,用于根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。

可选的,所述装置还包括:

预处理模块,用于预先分别建立数据库中各结构化数据资源对应的需求匹配关键词的语义向量。

可选的,所述预处理模块具体用于:

从所述结构化数据资源的描述信息中提取指定标签对应的内容构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词对应的搜索结果标题构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词的同义词构成所述结构化数据资源的需求匹配关键词的语义向量。

可选的,所述计算模块具体用于:

在数据中查找预先建立的所述搜索关键词与所述需求匹配关键词的映射关系,其中,所述映射关系是在计算搜索日志中的历史搜索关键词与各需求匹配关键词的语义向量的相似度后,选择相似度满足所述预设条件的需求匹配关键词和所述搜索关键词建立的;

所述获取模块具体用于:选择所述搜索关键词映射的需求匹配关键词所对应的结构化数据资源。

可选的,所述处理模块具体用于:

根据所述搜索关键词的搜索结果标题构成所述对应语义向量;或,

根据所述搜索关键词的同义词构成所述对应语义向量。

本发明实施例提供一种语义检索方法和装置,接收搜索请求以获取所述搜索请求中的搜索关键词;根据所述搜索关键词建立对应语义向量;计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度;获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源;根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。通过本发明实施例提供的技术方案,能够较准确反映用户需求的搜索结果,避免了多次检索,提高了检索效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种语义检索方法的流程示意图;

图2为本发明实施例提供的一种语义检索装置的结构示意图。

具体实施方式

下面将结合附图及实施例对本发明的技术方案进行更详细的说明。

需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供一种语义检索方法,如图1所示,所述方法包括:

s102、接收搜索请求以获取所述搜索请求中的搜索关键词。

可选的,所述方法之前还可以包括:

s100、预先分别建立数据库中各结构化数据资源对应的需求匹配关键词的语义向量。

示例性的,在建立各结构化数据资源对应的需求匹配关键词的语义向量时,首先需要对需求匹配关键词进行预处理。其中预处理可以包括以下处理中的至少一种:转换成预设的大写或小写形式,以及转换成预设的编码形式。

对需求匹配关键词进行预处理是为了使用户搜索词与需求匹配关键词的语义向量在形式上保持一致,以方便后续计算用户搜索词与需求匹配关键词的语义向量之间的相似度。可以预先约定用户搜索词与需求匹配关键词都统一采用大写形式或者统一采用小写形式,也可以预先约定用户搜索词与需求匹配关键词采用统一的编码形式,例如统一采用汉字国际扩展码(gbk)。

可选的,s100具体可以包括:

从所述结构化数据资源的描述信息中提取指定标签对应的内容构成所述结构化数据资源的需求匹配关键词的语义向量;

示例性,每个数据资源都会存在对应的描述信息,通常体现为可扩展标记语言(xml)数据,其中包含了这个数据资源所有的关键词以及关键词对应的描述信息。该描述信息与数据资源的需求匹配关键词在语义上存在关联,因此可以利用该描述信息对需求匹配关键词进行扩展构成语义向量。这些描述信息预先都具有一些标签(tag),可以预先指定一些tag,提取指定tag对应的内容构成该数据资源的需求匹配关键词的语义向量。

其中指定tag可以包括但不限于:内容(content)、标题(title)、小标题(smalltitle)、按钮文字(buttontext)、表格标题(formtitle)、描述(description)、或者链接内容(linktext)。

或者,利用所述结构化数据资源对应的需求匹配关键词对应的搜索结果标题构成所述结构化数据资源的需求匹配关键词的语义向量;

示例性的,可以利用需求匹配关键词进行搜索,通常搜索结果是按照与需求匹配关键词的相关度进行排序的,在此可以获取排在前n1个搜索结果的title,其中n1为预设的正整数。这些获取的title与需求匹配关键词在语义上存在关联,可以从这些title中提取内容对需求匹配关键词进行扩展构成需求匹配关键词的语义向量。

对于获取的title而言,可以直接将这些获取的title用于构成需求匹配关键词的语义向量。例如,从需求匹配关键词的搜索结果中取排在前20个的搜索结果title对需求匹配关键词进行扩展构成需求匹配关键词的语义向量。

也可以对获取的title分别进行分词处理,提取分词处理后得到的词语中词频-倒文档率(tf-idf)满足预设要求的词语构成需求匹配关键词的语义向量。tf-idf用以评估一个词语对于一个语料库中其中一份文件的重要程度,在本方式中就体现为分词后得到的词语对于大规模语料库中上述获取的title的重要程度。其重要程度与词语在获取的title中出现的频率成正比,与该词语在大规模语料库中出现的频率成反比。其中tf-idf的统计方式是已有技术,在此不再赘述。

在从分词处理后得到的词语中提取词语构成需求匹配关键词的语义向量时,可以提取tf-idf达到设定阈值的词语,也可以提取tf-idf排在前n2个的词语,n2为预设的正整数。

或者,利用所述结构化数据资源对应的需求匹配关键词的同义词构成所述结构化数据资源的需求匹配关键词的语义向量。

示例性的,在该方式中可以通过查询同义词词典,获取需求匹配关键词的同义词,利用获取的同义词对需求匹配关键词进行扩展构成需求匹配关键词的语义向量。

需要说明的是,以上三种方式也可以同时采用上述三种方式,如果同时采用的话则需求匹配关键词的语义向量中可以包含:该需求匹配关键词、描述信息中指定tag对应的内容、需求匹配关键词对应的搜索结果title或者搜索结果title中的词语、需求匹配关键词的同义词。

s104、根据所述搜索关键词建立对应语义向量。

可选的,s104具体可以包括:

根据所述搜索关键词的搜索结果标题构成所述对应语义向量;或,

根据所述搜索关键词的同义词构成所述对应语义向量。

s106、计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度。

可选的,s106具体可以包括:

本步骤在计算相似度时,可以针对各需求匹配关键词的语义向量分别执行以下步骤s1和s2:

s1:将用户搜索词与需求匹配关键词的语义向量进行匹配,确定用户搜索词在该语义向量中命中的各项内容,然后分别计算命中的各项内容中用户搜索词的命中长度与用户搜索词的长度的比值;和/或,计算用户搜索词的语义向量与需求匹配关键词的语义向量之间的相似度。

如果需求匹配关键词的语义向量包含该需求匹配关键词本身,则可以计算用户搜索词命中该需求匹配关键词的长度与该用户搜索词的总长度的比值。

其中,如果需求匹配关键词的语义向量构建采用了上述内容第一种方式,则上述命中的各项内容中用户搜索词的命中长度与用户搜索词的长度的比值就是:用户搜索词中的词语在数据资源的描述信息中指定tag对应的内容中所命中的长度与用户搜索词的总长度的比值。本实施例中所述的命中指的是与用户搜索词中的词语相同。

其中优选地,可以进一步根据语义向量中上述指定tag对应的内容的重要程度为上述指定tag对应的内容分配不同的权重值,然后利用权重值将计算的上述比值进行线性加权,从而得到该部分的相似度。

如果需求匹配关键词的语义向量构建采用了上述内容中的第二种方式,则上述命中的各项内容中用户搜索词的命中长度与用户搜索词的长度的比值就是:用户搜索词中的词语在语义向量包含的搜索结果title或搜索结果title的词语中的命中长度与用户搜索词的总长度的比值。

如果需求匹配关键词的语义向量构建采用了上述内容中的第三种方式,则上述命中的各项内容中用户搜索词的命中长度与用户搜索词的长度的比值就是:用户搜索词中的词语在语义向量包含的需求匹配关键词的同义词中命中的长度与用户搜索词的总长度的比值。

在进行上述比值的计算之前首先对用户搜索词进行分词处理,该部分分词处理技术可以采用已有技术,不再赘述。

在该步骤中,也可以计算用户搜索词的语义向量与各需求匹配关键词的语义向量之间的相似度,相似度计算可以采用但不限于余弦相似度计算方式。

s2:将步骤s1的计算结果进行合并处理,得到用户搜索词与需求匹配关键词的语义向量的相似度。

在此可以采用线性加权的方式,预先设置各计算结果的权值,将上述各计算结果进行线性加权后的结果作为用户搜索词与需求匹配关键词的语义向量的相似度。

s108、获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源。

在本步骤中,可以选择相似度排序在前n个的需求匹配关键词所对应的数据资源,其中n为预设的正整数;也可以选择相似度达到预设的相似度阈值的需求匹配关键词对应的数据资源。

s110、根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。

本发明实施例提供的一种语义检索方法,接收搜索请求以获取所述搜索请求中的搜索关键词;根据所述搜索关键词建立对应语义向量;计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度;获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源;根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。通过本发明实施例提供的技术方案,能够较准确反映用户需求的搜索结果,避免了多次检索,提高了检索效率。

以上是对本发明实施例所提供的方法技术方案进行的描述,下面通过实施例四对本发明实施例所提供的装置进行详细描述。

本发明实施例提供一种语义检索装置00,如图2所示,该装置00包括:

接收模块10,用于接收搜索请求以获取所述搜索请求中的搜索关键词;

处理模块20,用于根据所述搜索关键词建立对应语义向量;

计算模块30,用于计算所述对应语义向量与数据库中的需求匹配关键词的语义向量的相似度;

获取模块40,用于获取相似度满足预设条件的所述需求匹配关键词的语义向量对应的结构化数据资源;

检索模块50,用于根据所述搜索关键词在所述结构化数据资源中进行检索并反馈检索结果。

可选的,所述装置00还包括:

预处理模块60,用于预先分别建立数据库中各结构化数据资源对应的需求匹配关键词的语义向量。

可选的,所述预处理模块60具体用于:

从所述结构化数据资源的描述信息中提取指定标签对应的内容构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词对应的搜索结果标题构成所述结构化数据资源的需求匹配关键词的语义向量;或,

利用所述结构化数据资源对应的需求匹配关键词的同义词构成所述结构化数据资源的需求匹配关键词的语义向量。

可选的,所述计算模块30具体用于:

在数据中查找预先建立的所述搜索关键词与所述需求匹配关键词的映射关系,其中,所述映射关系是在计算搜索日志中的历史搜索关键词与各需求匹配关键词的语义向量的相似度后,选择相似度满足所述预设条件的需求匹配关键词和所述搜索关键词建立的;

所述获取模块40具体用于:选择所述搜索关键词映射的需求匹配关键词所对应的结构化数据资源。

可选的,所述处理模块20具体用于:

根据所述搜索关键词的搜索结果标题构成所述对应语义向量;或,

根据所述搜索关键词的同义词构成所述对应语义向量。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

对于方法类实施例而言,由于其与装置实施例基本相似,所以描述的比较简单,相关之处参见装置实施例的部分说明即可。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1