掌桥专利:专业的专利平台
掌桥专利
首页

文本检索方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 10:48:02


文本检索方法、装置、计算机设备和存储介质

技术领域

本申请涉及知识图谱技术领域,特别是涉及一种文本检索方法、装置、计算机设备和存储介质。

背景技术

文本检索,是指根据文本内容,如关键字、语意等对文本集合进行检索,返回目标内容。检索的精确度体现在检索词与目标内容的匹配度上。随着互联网大数据的快速发展,人们对检索精度的要求日益提高。

传统的检索方法,常做法为:1、准备文本数据库,一般有若干文本\文段\句子;2、将文本做分词/分字后,通过词、词做倒排索引;3、根据倒排索引将文本数据库分桶或做哈希。在该方式下,基于字频或词频,返回结果相对生硬,不符合人类直觉。如以某公司法人作为关键词进行查询,通常能够查询到该公司法人的文本但并不能够返回包括公司主营业务产品相关的文本。然而在人类印象中,由于公司法人和公司主营业务产品相关,从人类直觉的角度二者是关联的,因此,从人类直觉角度,二者数据存在相关性。若只返回关键字相关的文档,则检索结果不符合人类检索需求。

即传统的检索方法存在检索精度低的技术问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高检索精度的文本检索方法、装置、计算机设备和存储介质。

一种文本检索方法,所述方法包括:

获取用户输入的检索句;

对所述检索句进行实体识别,提取所述检索句中的实体;

根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

获取所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数;

对所述直接文档按照出现次数从高到低进行排序,得到所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

遍历所述查询节点的1至N阶邻居主节点的文档邻居节点,若所述文档邻居节点为所述直接文档,则对直接文档增加预设推荐分值;

按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

在其中一个实施例中,若所述文档邻居节点为所述直接文档,则根据阶数权重对所述直接文档增加预设推荐分值;其中,阶数权重与阶数成负相关。

在其中一个实施例中,构建所述知识图谱的方式,包括:

根据至少两个关联的领域属性,将所述领域属性的属性值作为主节点,领域属性具有关联的主节点连接,所述领域属性的属性值为实体;

从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点;

根据主节点,以及所述主节点的文档邻居节点,得到所述知识图谱。

在其中一个实施例中,从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点,包括:

利用词频分析方法,对数据库中的每个文本进行分析,根据文本与所述实体的词频包含关系得到文本与实体的相关度,将相关度大于阈值的文本作为对应主节点的文档邻居节点。

在其中一个实施例中,所述方法还包括:

向用户终端返回所述文本检索结果以及知识图谱信息,所述知识图谱信息包括所述查询节点以及所述查询节点的1至N阶邻居主节点。

一种文本检索装置,所述装置包括:

检索句获取模块,用于获取用户输入的检索句;

实体提取模块,用于对所述检索句进行实体识别,提取所述检索句中的实体;

查询节点获取模块,用于根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

文档获取模块,用于获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

检索模块,用于根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取用户输入的检索句;

对所述检索句进行实体识别,提取所述检索句中的实体;

根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取用户输入的检索句;

对所述检索句进行实体识别,提取所述检索句中的实体;

根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

上述文本检索方法、装置、计算机设备和存储介质,针对检索句,提取实体,查询预先构建的知识图谱对应的主节点,得到查询节点,获取查询节点的文档邻居节点,得到直接文档,根据直接文档在查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,得到检索结果。由于知识图谱中,以领域属性为主节点构建,领域属性的属性值为实体,因而具有关联的实体相连,在检索到实体的文档邻居结点后,通过遍历查询节点的1至N阶邻居主节点的文档邻居节点,进行多阶邻居查询,扩大多阶查询的范围,使检索结果能够关联到其它领域属性,体现领域属性之间的关联性,能够提高检索结果的准确度。

附图说明

图1为一个实施例中文本检索方法的应用场景图;

图2为一个实施例中文本检索方法的流程示意图;

图3为一个实施例中知识图谱的结构示意图;

图4为另一个实施例中构建知识图谱的步骤的流程示意图;

图5为一个实施例中文本检索装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的文本检索方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。用户通过终端102输入检索句,服务器获取用户输入的检索句;对所述检索句进行实体识别,提取所述检索句中的实体;根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种文本检索方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:

步骤202,获取用户输入的检索句。

检索句表示用户的检索目标。检索句中通常包括有检索关键词。如一个检索句中“我想听周某某的歌曲”,其中“周某某”是检索句中的关键词。

步骤204,对所述检索句进行实体识别,提取所述检索句中的实体。

具体地,采用命名实体识别方法,对检索句的实体进行识别,提取检索句中的实体。命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。通常包括两部分:(1)实体边界识别;(2)确定实体类别(人名、地名、机构名或其他)。

具体地,用户输入检索句,后台接收到后,对用户输入的检索句,采用命名实体进行识别,识别类别为领域数据库中的领域属性类别,如公司名称、产品名称、人物名称。如用户输入检索句为“中国平安的简介”,则命名实体识别后识别到的实体为“中国平安”。

步骤206,根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点。

具体地,领域属性是指能够用于描述领域的抽象概括,能够从一个维度表征对象的特征。以公司信息为例,公司名称和法人均是能够从名称和法人两个维度描述公司的特征。领域属性的属性值是具体领域内容的实体。如某一个公司的公司名称为“某科技公司”,其对应于公司名称这个领域属性,而“某科技公司”这个实体对应公司名称这个领域属性的属性值。

主节点的邻居节点包括领域属性关联的其它主节点以及与主节点内容相关的文档邻居节点。如图3所示,以“某科技公司”主节点为例,其所属的领域属性为公司名称,与该领域属性关联的领域属性包括主营产品名称、法人、子公司名称;其中,与子公司名称关联的领域属性包括子公司法人。

以“某科技公司”主节点为例,其邻居节点包括主节点公司法人名称“张三”、主节点公司主营业务内容“某保险”、关联子公司“某保险公司”,“某保险公司”的邻居主节点包括子公司法人“李四”。各主节点均有文档邻居节点。

根据实体,查询预先构建的知识图谱对应的主节点,具体是将实体与知识图谱中主节点的属性值进行匹配,将匹配的主节点作为查询节点。如提取的实体为“某科技公司”,则将对应的主节点作为查询节点。

步骤208,获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档。

具体地,是将查询节点的文档邻居节点,作为直接文档。其中,主节点的邻居节点包括与主节点内容相关的文档,即主节点的邻居节点的文档节点是与主节点内容相关的文档。以图3中的主节点“某科技公司”为例,其文档邻居节点为文档1、文档2和文档7,其中,文档1、文档2和文档7是与某科技公司相关的文档内容。将文档1、文档2和文档7作为直接文档。

步骤210,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

其中,邻居主节点是指节点属性是主节点的邻居节点。知识图谱以领域属性为主节点构建,主节点的邻居节点包括主节点内容相关的文档,即文档节点,也包括与主节点相关的其它领域属性的主节点。如图3所示,以“某科技公司”作为查询节点,文档1、文档2和文档7为其文档邻居节点,“张三”、“某保险”和“某保险公司”为其邻居主节点。

其中,1阶邻居节点是指某节点的邻居节点,N阶邻居节点是N-1阶邻居节点的邻居节点,如二阶邻居节点是指1阶邻居节点的邻居节点。查询节点的1至N阶邻居主节点的文档邻居节点,是指查询节点的1至N阶邻居主节点的邻居节点中属性为文档的节点。以图3中的“某科技公司”作为查询节点,“张三”、“某保险”和“某保险公司”为1阶邻居主节点,以邻居主节点“某保险公司”为例,文档1和文档5为其文档邻居节点。“李四”为“某保险公司”的邻居主节点,“某保险公司”作为查询节点“某科技公司”的1阶邻居主节点,则“李四”为查询节点“某科技公司”的1阶邻居主节点的邻居主节点,是查询节点“某科技公司”的2阶邻居主节点。“李四”的文档邻居节点为文档1和文档6,则查询节点“某科技公司”的2阶邻居主节点的文档邻居节点为文档1和文档6。

具体地,若直接文档在查询节点的1至N阶邻居主节点的文档邻居节点的出现,则表明直接文档同时也是1至N阶邻居主节点内容相关的文档。即,该文档是实体对应的主节点的相关文档,同时也是与主节点领域属性相关的其它主节点相关的文档。以图3为例,文档1、文档2和文档7为查询节点“某科技公司”的直接文档,文档1、文档2、文档3、文档4和文档5是查询节点“某科技公司”的一阶邻居主节点的文档邻居节点,其中,文档1是3个一阶邻居主节点的文档邻居节点,文档2、文档3、文档4和文档5分别是一个一阶邻居主节点的文档邻居节点。文档1和文档6是“某科技公司”的二阶邻居主节点的文档邻居节点。也就是说文档1在一阶邻居主节点的文档邻居节点中出现3次,文档2在一阶邻居主节点的文档邻居节点中出现1次。文档1在二阶邻居主节点的文档邻居节点中出现1次。文档7在1至N阶邻居主节点的文档邻居节点出现0次。

在具体的应用中,可根据出现次数对直接文档进行排序,得到文本检索结果。

上述的文本检索方法,针对检索句,提取实体,查询预先构建的知识图谱对应的主节点,得到查询节点,获取查询节点的文档邻居节点,得到直接文档,根据直接文档在查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,得到检索结果。由于知识图谱中,以领域属性为主节点构建,领域属性的属性值为实体,因而具有关联的实体相连,在检索到实体的文档邻居结点后,通过遍历查询节点的1至N阶邻居主节点的文档邻居节点,进行多阶邻居查询,扩大多阶查询的范围,使检索结果能够关联到其它领域属性,体现领域属性之间的关联性,能够提高检索结果的准确度。

一种实施方式中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:获取所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数;对所述直接文档按照出现次数从高到低进行排序,得到所述检索句的文本检索结果。

具体地,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,可按出现次数对直接文档进行排序,按照从高到底排序从所述直接文档中确定所述检索句的文本检索结果。以图3为例,直接文档“文档1”在1至N阶邻居主节点的文档邻居节点出现4次,直接文档“文档2”在1至N阶邻居主节点的文档邻居节点出现1次,直接文档“文档7”在1至N阶邻居主节点的文档邻居节点出现0次,对三者进行排序,先后顺序为文档1、文档2和文档7,则将三者进行排序返回作为检索句的文本检索结果。

具体地,直接文档在1至N阶邻居主节点的文档邻居节点的出现次数越多,说明该直接文档与多个领域属性相关,该文档涉及了多个领域属性的实体的内容,具有相关性,更能符合人类检索需求。

另一种实施方式中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:遍历所述查询节点的1至N阶邻居主节点的文档邻居节点,若所述文档邻居节点为所述直接文档,则对直接文档增加预设推荐分值;按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

具体地,根据查询节点,查找其1至N阶邻居主节点,返回1至N阶邻居主节点的文档邻居节点,若文档邻居节点为直接文档,则对直接文档增加预设推荐分值。如文档1、文档2和文档7为查询节点“某科技公司”的直接文档,直接文档“文档1”在1至N阶邻居主节点的文档邻居节点出现4次,直接文档“文档2”在1至N阶邻居主节点的文档邻居节点出现1次,直接文档“文档7”在1至N阶邻居主节点的文档邻居节点出现0次。每次遍历到直接文档,则对直接文档增加预设推荐分值。

一种实施方式中,预设推荐分值为固定的。如每次遍历到则增加一分。

一种实施方式中,若所述文档邻居节点为所述直接文档,则根据阶数权重对直接文档增加预设推荐分值;其中,阶数权重与阶数成负相关。即,阶数越大,阶数权重越小,阶数越小,阶数权重越大。具体地,阶数是指1至N阶邻居主节点的阶数。由于知识图谱中,具有关联的主节点相连,因此,阶数越小,通常表示与查询节点的关系越近。因此,通常而言,与主节点关系越近的1至N阶邻居主节点的文档与主节点越相关。因此,本实施例中提高了小阶数的文档邻居节点的权重。如,直接文档“文档1”在1阶邻居主节点的文档邻居节点出现3次,1阶的权重设为a,在2阶邻居主节点的文档邻居节点出现1次,2阶的权重设为b,则文档1的推荐分值为3a+b。按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

在具体应用中,为考虑到检索实验和效果,可设置N为2,即只查找以二阶邻居主节点的文档邻居节点即可。

在另一个实施例中,如图4所示,构建知识图谱的方式,包括:

S402,根据至少两个关联的领域属性,将所述领域属性的属性值作为主节点,领域属性具有关联的主节点连接,所述领域属性的属性值为实体。

其中,领域属性是指能够用于描述领域的抽象概括,能够从一个维度表征对象的特征。以公司信息为例,公司名称和法人均是能够从名称和法人两个维度描述公司的特征。领域属性的属性值是具体领域内容的实体。如某一个公司的公司名称为“某科技公司”,其对应于公司名称这个领域属性,而“某科技公司”这个实体则为公司名称这个领域的属性值。关联的领域属性,能够为扩大查询范围提供依据。

从领域相关渠道,获取领域数据集,构建领域知识图谱。知识图谱的各节点为领域实体,通过边连接具有关系的领域实体。以公司信息为例,知识图谱的实体包括名称、公司主营产品、公司法人等。其中,公司主营产品和公司法人均与公司名称相连。

S404,从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点。

具体地,文档邻居节点只存文档ID,不存内容,可减小知识图谱大小,提高检索效率。

具体地,从文本数据库中获取与实体相关的文档,例如,针对“某科技公司”的节点,可从文本数据库中获取与其相关的文档,作为其文档邻居节点。

具体地,利用词频分析方法,对数据库中的每个文本进行分析,根据文本与所述实体的词频包含关系得到文本与实体的相关度,将相关度大于阈值的文本作为对应主节点的文档邻居节点。

其中,词频分析方法可采用TF-IDF(term frequency–inverse documentfrequency),TF-IDF是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(TermFrequency),IDF是逆文本频率指数(Inverse Document Frequency)。根据实体与文本的词频包含关系,得到文本与实体的相关度。通常而言,实体在文本中出现的频次越高,文本与实体的相关度越大。将相关度大于阈值的文本作为实体对应主节点的文档邻居节点。

S406,根据主节点,以及所述主节点的文档邻居节点,得到所述知识图谱。

具体地,根据主节点与主节点的连接关系,主节点与文档邻居节点的连接关系,得到知识图谱。

本实施例中,通过预先挖掘文本与实体之间的关系,实体与实体之间的关系,构建知识图谱,为文本检索提供依据。

在另一个实施例中,在得到文本检索结果的步骤之后,还包括:向用户终端返回所述文本检索结果以及知识图谱信息,所述知识图谱信息包括所述查询节点以及所述查询节点的1至N阶邻居主节点。

具体地,本实施例中,除了向用户返回查询结果的文本外,还返回知识图谱信息,具体为查询节点和对应的邻居节点以及他们的关系。如“某科技公司”相关文档返回展示时,同时包含公司法人、主营业务产品,关联子公司几个字,增加文档返回的可解释性。

应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种文本检索装置,包括:

检索句获取模块502,用于获取用户输入的检索句。

实体提取模块504,用于对所述检索句进行实体识别,提取所述检索句中的实体。

查询节点获取模块506,用于根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点。

文档获取模块508,用于获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档。

检索模块510,用于根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

上述的文本检索装置,针对检索句,提取实体,查询预先构建的知识图谱对应的主节点,得到查询节点,获取查询节点的文档邻居节点,得到直接文档,根据直接文档在查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,得到检索结果。由于知识图谱中,以领域属性为主节点构建,领域属性的属性值为实体,因而具有关联的实体相连,在检索到实体的文档邻居结点后,通过遍历查询节点的1至N阶邻居主节点的文档邻居节点,进行多阶邻居查询,扩大多阶查询的范围,使检索结果能够关联到其它领域属性,体现领域属性之间的关联性,能够提高检索结果的准确度。

在另一个实施例中,检索模块,用于获取所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数;对所述直接文档按照出现次数从高到低进行排序,得到所述检索句的文本检索结果。

在另一个实施例中,检索模块,用于遍历所述查询节点的1至N阶邻居主节点的文档邻居节点,若所述文档邻居节点为所述直接文档,则对直接文档增加预设推荐分值;按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

其中,若所述文档邻居节点为所述直接文档,则根据阶数权重对所述直接文档增加预设推荐分值;其中,阶数权重与阶数成负相关。

在另一个实施例中,文本检索装置还包括:

主节点模块,用于根据至少两个关联的领域属性,将所述领域属性的属性值作为主节点,领域属性具有关联的主节点连接,所述领域属性的属性值为实体;

文档邻居节点模块,用于从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点;

构建模块,用于根据主节点,以及所述主节点的文档邻居节点,得到所述知识图谱。

在另一个实施例中,文档邻居节点模块,用于利用词频分析方法,对数据库中的每个文本进行分析,根据文本与所述实体的词频包含关系得到文本与实体的相关度,将相关度大于阈值的文本作为对应主节点的文档邻居节点。

在另一个实施例中,文本检索装置还包括:

信息处理模块,用于向用户终端返回所述文本检索结果以及知识图谱信息,所述知识图谱信息包括所述查询节点以及所述查询节点的1至N阶邻居主节点。

关于文本检索装置的具体限定可以参见上文中对于文本检索方法的限定,在此不再赘述。上述文本检索装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文本数据和知识图谱。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文本检索方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

获取用户输入的检索句;

对所述检索句进行实体识别,提取所述检索句中的实体;

根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

获取所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数;

对所述直接文档按照出现次数从高到低进行排序,得到所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

遍历所述查询节点的1至N阶邻居主节点的文档邻居节点,若所述文档邻居节点为所述直接文档,则对直接文档增加预设推荐分值;

按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

在其中一个实施例中,若所述文档邻居节点为所述直接文档,则根据阶数权重对所述直接文档增加预设推荐分值;其中,阶数权重与阶数成负相关。

在其中一个实施例中,构建所述知识图谱的方式,包括:

根据至少两个关联的领域属性,将所述领域属性的属性值作为主节点,领域属性具有关联的主节点连接,所述领域属性的属性值为实体;

从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点;

根据主节点,以及所述主节点的文档邻居节点,得到所述知识图谱。

在其中一个实施例中,从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点,包括:

利用词频分析方法,对数据库中的每个文本进行分析,根据文本与所述实体的词频包含关系得到文本与实体的相关度,将相关度大于阈值的文本作为对应主节点的文档邻居节点。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

向用户终端返回所述文本检索结果以及知识图谱信息,所述知识图谱信息包括所述查询节点以及所述查询节点的1至N阶邻居主节点。

在一个实施例中,提供了一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

获取用户输入的检索句;

对所述检索句进行实体识别,提取所述检索句中的实体;

根据所述实体,查询预先构建的知识图谱对应的主节点,得到查询节点;其中,所述知识图谱以领域属性为主节点构建,所述领域属性的属性值为实体,所述主节点的邻居节点包括与所述主节点内容相关的文档邻居节点;

获取所述知识图谱中所述查询节点的文档邻居节点,得到直接文档;

根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

获取所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数;

对所述直接文档按照出现次数从高到低进行排序,得到所述检索句的文本检索结果。

在其中一个实施例中,根据所述直接文档在所述查询节点的1至N阶邻居主节点的文档邻居节点的出现次数,从所述直接文档中确定所述检索句的文本检索结果,包括:

遍历所述查询节点的1至N阶邻居主节点的文档邻居节点,若所述文档邻居节点为所述直接文档,则对直接文档增加预设推荐分值;

按照所述推荐分值从高至低对所述直接文档进行排序,取前K个直接文档作为所述检索句的文本检索结果。

在其中一个实施例中,若所述文档邻居节点为所述直接文档,则根据阶数权重对所述直接文档增加预设推荐分值;其中,阶数权重与阶数成负相关。

在其中一个实施例中,构建所述知识图谱的方式,包括:

根据至少两个关联的领域属性,将所述领域属性的属性值作为主节点,领域属性具有关联的主节点连接,所述领域属性的属性值为实体;

从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点;

根据主节点,以及所述主节点的文档邻居节点,得到所述知识图谱。

在其中一个实施例中,从文本数据库中获取与实体相关的文档,将文档关联到主节点上,作为所述主节点的文档邻居节点,包括:

利用词频分析方法,对数据库中的每个文本进行分析,根据文本与所述实体的词频包含关系得到文本与实体的相关度,将相关度大于阈值的文本作为对应主节点的文档邻居节点。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

向用户终端返回所述文本检索结果以及知识图谱信息,所述知识图谱信息包括所述查询节点以及所述查询节点的1至N阶邻居主节点。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 文本检索方法、装置、计算机设备和存储介质
  • 文本检索方法、装置、计算机设备和存储介质
技术分类

06120112685590