基于关联词的协同检索方法、装置、设备及可读存储介质与流程

文档序号:18267473发布日期:2019-07-27 09:18阅读:297来源:国知局
基于关联词的协同检索方法、装置、设备及可读存储介质与流程

本发明主要涉及人工智能技术领域,具体地说,涉及一种基于关联词的协同检索方法、装置、设备及可读存储介质。



背景技术:

随着网络技术的发展,大众通过网络进行搜索的场景越来越多,且在搜索过程中需要用到关键词提取技术以进行文本匹配。目前市面上的搜索工具通常依赖用户输入的内容,对文本的关键词进行完全匹配检索,或者进行模糊匹配检索;其中模糊匹配检索只是放宽了关键词的位置要求,检索的结果依赖于用户输入内容的准确性,用户通常都需要搜索多次,才能得到自己想要的结果,搜索效率低;同时现有技术中依据对关键词的识别进行匹配检索,因关键词的复杂性,使得识别速度慢,进一步降低了搜索的效率。



技术实现要素:

本发明的主要目的是提供一种基于关联词的协同检索方法、装置、设备及可读存储介质,旨在解决现有技术中搜索时仅依赖于输入内容进行匹配检索,在输入内容不准确时,容易导致检索结果不准确,且对搜索内容的调整以及关键词的识别,使得搜索效率低的问题。

为实现上述目的,本发明提供一种基于关联词的协同检索方法,所述基于关联词的协同检索方法包括以下步骤:

爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

优选地,所述在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索的步骤包括:

读取所述检索词中携带的类型标识符,并根据所述类型标识符确定搜索类型;

当所述搜索类型为句子类型时,将所述搜索向量和各所述句子向量进行对比,生成第一搜索结果,以基于关联词进行句子类型的协同检索;

当所述搜索类型为文章类型时,将所述搜索向量和各所述文章向量进行对比,生成第二搜索结果,以基于关联词进行文章类型的协同检索。

优选地,所述将所述搜索向量和各所述句子向量进行对比,生成第一搜索结果的步骤包括:

将所述搜索向量和各所述句子向量进行余弦计算,生成各第一余弦值,并确定各所述第一余弦值中排列在前预设位的第一目标余弦值;

将与各所述第一目标余弦值对应的分句确定为目标分句,并根据各所述文本语料中具有所述目标分句的数量,确定与所述检索词对应的第一搜索结果。

优选地,所述将所述搜索向量和各所述文章向量进行对比,生成第二搜索结果的步骤包括:

将所述搜索向量和各所述文章向量进行余弦计算,生成各第二余弦值,并对各所述第二余弦值进行排序,确定排列在前预设位的第二目标余弦值;

读取各所述第二目标余弦值所来源的目标文本语料,并将各所述目标文本语料确定为第二搜索结果。

优选地,所述根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量的步骤包括:

根据各所述分句所具有的分句分词,读取各所述分句分词所对应的分句分词向量,并将各所述分句分词向量进行均值处理,生成各所述分句的句子向量;

根据各所述文本语料所具有的文章分词,读取各所述文章分词所对应的文章分词向量,并将各所述文章分词向量进行均值处理,生成各所述文本语料的文章向量。

优选地,所述确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量的步骤包括:

将所述检索词和所述词典中的各所述常用词组对比,确定各所述常用词组中具有所述检索词的目标常用词组;

将所述目标常用词组中常用词的词向量和关联词的词向量进行均值处理,生成所述目标常用词组的搜索向量。

优选地,所述对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词的步骤包括:

检测各所述文本语料中段落符所在的第一符号位置,并根据所述第一符号位置,将各所述文本语料划分为多个段落;

检测各所述段落中标号符所在的第二符号位置,并根据所述第二符号位置,对各所述段落进行分句处理,生成多个分句;

对各所述分句进行分词处理,生成待筛选分词,并将各所述待筛选分词和预设停用词对比,对各所述待筛选分词中的预设停用词进行删除,生成多个分词。

此外,为实现上述目的,本发明还提出一种基于关联词的协同检索装置,所述基于关联词的协同检索装置包括:

分词模块,用于爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

生成模块,用于根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

确定模块,用于根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

检索模块,用于当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

此外,为实现上述目的,本发明还提出一种基于关联词的协同检索设备,所述基于关联词的协同检索设备包括:存储器、处理器、通信总线以及存储在所述存储器上的基于关联词的协同检索程序;

所述通信总线用于实现处理器和存储器之间的连接通信;

所述处理器用于执行所述基于关联词的协同检索程序,以实现以下步骤:

爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:

爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

本实施例的基于关联词的协同检索方法,通过将爬取的多个文本语料进行分句和分词处理,分别生成多个分句和分词;再由各分词的出现次数确定多个常用词,通过预设算法计算各常用词的词向量,并将各词向量生成各分句的句子向量以及各文本语料的文章向量;同时依据各个词向量确定与各常用词对应的关联词,在各常用词及其各自所对应的关联词之间建立常用词组,并将各个常用词组形成为词典存储;在接收到用于搜索的检索词时,确定词典中与检索词对应的目标常用词组,并将该目标常用词组生成搜索向量,进而在搜索向量和各句子向量或搜索向量和各文章向量之间进行对比,以实现基于与常用词对应的关联词进行协同检索。本方案中的句子向量用数字的方式表征了分句中所具有的分词,文章向量用数字的方式表征了文本语料中所具有的分词;而关联词为与常用词具有相似性的词,将关联词和常用词所组成的常用词组形成词典;在搜索时,以与检索词对应的目标常用词组中的常用词和关联词进行扩展检索,且检索过程中,将目标常用词组中的常用词和关联词形成搜索向量和句子向量或文章向量进行对比;通过数字之间的对比,而避免对检索词的识别,可提高比对的速度;同时避免仅以接收到的检索词进行匹配检索,使得检索所匹配的结果更为广泛;且因目标常用词组中关联词和常用词之间具有相似性,而使得所匹配的结果更容易覆盖用户的搜索意图;避免了用户多次的搜索操作,提高了搜索效率以及准确性。

附图说明

图1是本发明的基于关联词的协同检索方法第一实施例的流程示意图;

图2是本发明的基于关联词的协同检索装置第一实施例的功能模块示意图;

图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种基于关联词的协同检索方法。

请参照图1,图1为本发明基于关联词的协同检索方法第一实施例的流程示意图。在本实施例中,所述基于关联词的协同检索方法包括:

步骤s10,爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

本发明基于关联词的协同检索方法应用于服务器,适用于通过服务器基于关联词对用户所输入的内容进行协同检索,以匹配满足用户搜索需求的内容。具体地,为了实现基于关联词进行协同检索,需要先确定关联词,关联词是与常用词具有相似性的词,而常用词则是在作为各个搜索资料的文本中经常使用的词。从而在确定与各常用词对应的相似词之前,需要先确定各个文本中的常用词。从网络上爬取大量的文本、文章、段落等作为文本语料,并对各文本语料进行分句和分词处理,以将各文本语料划分为多个分句和分词;其中分句处理可以依据标点符号将文本语料中的语句划分为各个分句,而分词处理则可通过对各分句中的文字内容进行识别,将其中通常作为一个词语或单个字出现的词作为分词划分。如分句中涉及到“今天天气好”的语句,则在识别过程中,将“天气”、“天气”、“好”分别识别为作为词语出现的词;而对其进行划分,形成三个分词。

考虑到文本语料涉及到多个段落和语句,在进行分句和分词时,先进行段落和语句划分,再进行词语的划分;具体地,对各文本语料进行分句和分词处理,分别生成多个分句和多个分词的步骤包括:

步骤s11,检测各所述文本语料中段落符所在的第一符号位置,并根据所述第一符号位置,将各所述文本语料划分为多个段落;

步骤s12,检测各所述段落中标号符所在的第二符号位置,并根据所述第二符号位置,对各所述段落进行分句处理,生成多个分句;

进一步地,将缩进符、换行符等用于段落区分的符号作为段落符,对各文本语料进行检测,判断其中是否存在段落符;若存在段落符,则对段落符所在的第一符号位置进行读取,并依据该第一符号位置对各文本语料进行段落划分;若不存在段落符,则将文本语料整体作为一个段落。在进行段落划分之后,在对各段落进行分句处理;将句号、逗号、分号等段落中的标点符号作为预设符,检测段落中各预设符所在的第二符号位置,并依据该第二符号位置对各段落进行分句处理,生成多个分句。

步骤s13,对各所述分句进行分词处理,生成待筛选分词,并将各所述待筛选分词和预设停用词对比,对各所述待筛选分词中的预设停用词进行删除,生成多个分词。

更进一步地,对各分句中的文字内容进行识别,以对各分句进行分词,将各分句划分为多个分词;所划分的分词中涉及到“的”、“地”、“与”等对于检索来说无意义的词,需要进行筛选过滤;将经各语句直接划分而未进行筛选的分词作为待筛选分词,且将对检索无意义的中介词、助词、连词、感叹词、虚词等预先设定为预设停用词;将对各分句划分所生成的待筛选词和各预设停用词对比,删除待筛选词中所存在的各预设停用词,得到各个分词。如作为文本语料的文章a和b中,所得到的待筛选分词包括a:(a1、a2、b1、b2、a3、a1、a4)和b:(a3、a5、b1、b4、b3、b1、b2、a2),经判断其中a4、b2为预设停用词,则将该两者从a、b中删除掉后,再对a、b进行合并作为文本语料所得到的分词。虽然两者之中存在相同的分词,但是考虑到各文本语料中重复的分词具有不同的语义;从而在分词处理后,并不对得到的分词进行去重处理,直接合并作为各文本语料的分词即可。

步骤s20,根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

可理解地,文本预料所划分的分词众多,不同的分词在文本语料中出现的次数不相同,其中出现次数越多表征该分词所使用的频率越高,而出现次数越少表征该分词所使用的频率越低。对于出现次数低于一定值的分词,因其使用频率过低,可能为生僻词;用户以其进行搜索的可能性较小,而对其维护又需要耗费服务器资源;从而需要对该类词进行过滤,从各分词中确定使用频率较高的常用词。具体地,在对文本语料进行分词的处理过程中,对所划分的各分词进行统计,确定各个分词在文本预料的出现次数;并将该统计得到的各分词的出现次数,生成为各分词的分词数量,表征各分词在爬取的文本语料中所存在的数量。同时为了表征所存在数量的多少,预先根据需求设定用于判定分词数量多少的预设阈值;将各分词的分词数量和预设阈值进行对比,确定各分词数量中大于预设阈值的分词数量。该大于预设阈值的分词数量表征了分词数量较多,具有该分词数量的分词的使用频率较高;而将大于预设阈值的分词数量确定为目标分词数据,将生成各目标分词数量的分词确定为常用词。而对于分词数量中小于或等于预设阈值的分词数量,具有该分词数量的分词的使用频率较低,而对该类分词进行剔除操作。如设定预设阈值为5,则将各文本语料所划分的分词中,出现次数在5次以上的分词确定为常用词,而将出现次数小于或等于5次的分词确定为生僻词,进行剔除。

在从各分词中确定常用词之后,需要进一步对各个常用词的词向量进行计算,词向量(wordembedding)是将来自词汇表的单词或短语被映射到实数的向量,可用于表征词与词之间的相似性。预先设置有预设算法,通过该预设算法可计算各常用词所具有的词向量;该预设算法可以是基于lda2vec的算法,lda2vec是在word2vec的skip-gram模型基础上的建模,是word2vec和lda的扩展;可计算各常用词的词向量,并通过所计算的词向量,来度量各常用词之间的相似性。本实施例基于lda2vec计算各常用词的词向量之后,依据该各常用词的词向量,可生成各分句的句子向量,以及各文本语料的文章向量;其中句子向量依据句子中所具有分词的词向量生成,而文章向量依据文本语料中所具有分词的词向量生成。具体地,根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量的步骤包括:

步骤s21,根据各所述分句所具有的分句分词,读取各所述分句分词所对应的分句分词向量,并将各所述分句分词向量进行均值处理,生成各所述分句的句子向量;

可理解地,各文本语料所划分的分句由多个分词组成,且各分句所具有的分词不相同,从而可用组成各分句的分词所具有的词向量来表征分句的句子向量。具体地,在依据句子所具有分词的词向量生成句子向量时,先依据文字内容识别确定分句中所具有的分词,该所具有的分词即为分句的分句分词;进而读取各分句分词基于lda2vec所生成的词向量,并将该词向量作为分句分词向量;再对各分句分词向量进行均值处理,即可得到分句的句子向量。如分句所具有的分句分词报备a1、a2和a3,且a1、a2、a3所对应的分句分词向量分别为500维的a1、a2和a3;其中a1=(a11、a12···a134、a135···),a2=(a21、a22···a234、a235···),a3=(a31、a32···a334、a335···);则对a1、a2、a3的500维的各个分句分词向量进行相加,并用相加的结果除以3,所得到的结果((a11+a21+a31)/3、(a12+a22+a32)/3···(a134+a234+a334)/3、(a135+a235+a335)/3···)即为该句子的500维的句子向量。如此循环,直到对各分句均生成句子向量,即完成各分句句子向量的生成。

步骤s22,根据各所述文本语料所具有的文章分词,读取各所述文章分词所对应的文章分词向量,并将各所述文章分词向量进行均值处理,生成各所述文本语料的文章向量。

同样地,各文本语料中包括多个分词,可用组成各文本语料的分词所具有的词向量来表征文本语料的文章向量。具体地,在依据文本语料中所具有分词的词向量生成文章向量时,先依据对各文本语料的分词结果确定文本语料中所具有的分词,该所具有的分词即为文本语料的文章分词;进而读取各文章分词基于lda2vec所生成的词向量,并将该词向量作为文章分词向量;再对各文章分词向量进行均值处理,即可得到文本语料的文章向量。针对各个文本语料如此循环,直到对各文本语料均生成文章向量,即完成各文本语录文章向量的生成。

步骤s30,根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

进一步地,因词向量可用于表征词与词之间相似性,在生成各个常用词的词向量之后,依据各常用词所具有的词向量,可确定与各常用词具有相似性的词,该相似性的词即为常用词所对应的关联词。具体地,逐个读取常用词,以逐个确定与常用词具有相似性的关联词;将当前读取到的常用词作为目标常用词,并将目标常用词的词向量分别和其他常用词的词向量逐个进行余弦计算,生成目标常用词与各其他常用词之间的余弦值。通过计算所得到各个余弦值大小来表征目标常用词与各其他常用词之间的相似性大小,以根据相似性的大小来确定与该目标常用词对应的关联词。

考虑到不同其他常用词和目标常用词之间计算,所生成的余弦值不相同,表征不同其他常用词与目标常用词之间的不同相似性;其中余弦值越小,表征其他常用词和目标常用词之间的相似性越大,而余弦值越大,则表征其他常用词与目标常用词之间的相似性越小。为了确定与目标常用词相似性大的其他常用词,将目标常用词和其他常用词之间的余弦值按照数值从小到大的顺序进行排序,并预先根据所需要查找的与目标常用词相似的关联词的数量设定预设位,将排列在前预设位的余弦值确定为目标余弦值。该目标余弦值即由所需要查找的与目标常用词相似性从大到小其他常用词生成,从而将生成该各个目标余弦值的其他常用词确定为与目标常用词对应的关联词。如预先所设定的预设位为20,则将排在前20的余弦值确定为目标余弦值。依据该20个目标余弦值所确定的关联词也为20个,即与目标常用词相似性最大的20个关联词。

更进一步地,在当前所读取的目标常用词的关联词确定完成后,读取下一个常用词作为新的目标常用词,进行关联词确定;如此循环,直到所有常用词均确定对应的关联词。而在各个常用词均确定各自对应的关联词之后,可将各常用词其各自对应的关联词之间建立为常用词组;即各个常用词组中均包括一个常用词以及与该常用词相似性最大的预设位关联词,表征常用词组内的各关联词与常用词之间的相似关系。为了在用户搜索过程中,快速匹配到用户所输入的检索词,将建立的各个常用词组形成词典进行存储;以便于直接依据词典中的常用词组对检索词进行匹配,用匹配的常用词组进行搜索,以提高搜索速度。

步骤s40,当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

可理解地,当用户有搜索需求时,通过搜索引擎输入并发送与其所需要搜索内容相关的词;将该与搜索内容相关的各种词作为检索词进行接收,进而依据该接收的检索词确定对应的目标常用词组;该目标常用词组中的常用词与检索词具有一致性,表征用户所需要搜索内容的关键词。因目标常用词组中包括有常用词以及该常用词对应的关联词,而常用词和关联词均具有词向量,从而可依据目标常用词组中常用词和关联词的词向量,生成目标常用词的搜索向量;具体地,确定词典中与检索词对应的目标常用词组,并将目标常用词组生成搜索向量的步骤包括:

步骤s41,将所述检索词和所述词典中的各所述常用词组对比,确定各所述常用词组中具有所述检索词的目标常用词组;

进一步地,在从词典的各常用词组中确定与检索词对应的目标常用词组的过程中,将接收到的检索词和词典中所存储的常用词组进行对比,确定各常用词组中具有该检索词的常用词组;常用词组中具有该检索词说明了用户所输入的与搜索内容相关的词存在于该常用词组中,检索词是该常用词组中的常用词或关联词。从而将词典中具有检索词的常用词组确定为目标常用词组,以便于用目标常用词组中的常用词及与该常用词相似的关联词进行协同搜索。

步骤s42,将所述目标常用词组中常用词的词向量和关联词的词向量进行均值处理,生成所述目标常用词组的搜索向量。

更进一步地,在经对比确定与检索词对应的目标常用词组后,对目标常用词组中所具有常用词的词向量以及关联词的词向量进行均值处理;即将目标常用词组中所具有的各个词向量进行相加后,用相加的结果除以目标常用词组中所具有的词向量的个数;相除的结果即为所生成的目标常用词组的搜索向量,以基于搜索向量所表征的词语进行搜索,即以常用词及其关联词进行协同搜索。

因所生成的句子向量表征了分句中所具有的分词,而文章向量表征了文本语料中所具有的分词;从而在基于搜索向量进行搜索时,可用搜索向量和各个句子向量进行对比,或者用搜索向量和各个文章向量进行对比。当对比结果表征搜索向量与句子向量或者搜索向量与文章向量之间越接近,说明搜索向量所表征的词语和句子向量所表征的分词,或者搜索向量所表征的词语与文章向量所表征的分词越接近;句子向量所来源的分句或者文章向量所来源的文本语料越能满足搜索向量所来源目标常用词组,即检索词的搜索要求。因目标常用词组中的关联词与其中的常用词具有较大的相似性,即与检索词具有较大的相似性;以与检索词相似的各关联词和常用词生成搜索向量进行协同搜索,所获得的内容可能更满足用户的搜索需求;从而将目标常用词组中的常用词及其对应的关联词进行协同检索,可确保检索得到的结果在最大程度上满足用户的搜索需求。

本实施例的基于关联词的协同检索方法,通过将爬取的多个文本语料进行分句和分词处理,分别生成多个分句和分词;再由各分词的出现次数确定多个常用词,通过预设算法计算各常用词的词向量,并将各词向量生成各分句的句子向量以及各文本语料的文章向量;同时依据各个词向量确定与各常用词对应的关联词,在各常用词及其各自所对应的关联词之间建立常用词组,并将各个常用词组形成为词典存储;在接收到用于搜索的检索词时,确定词典中与检索词对应的目标常用词组,并将该目标常用词组生成搜索向量,进而在搜索向量和各句子向量或搜索向量和各文章向量之间进行对比,以实现基于与常用词对应的关联词进行协同检索。本方案中的句子向量用数字的方式表征了分句中所具有的分词,文章向量用数字的方式表征了文本语料中所具有的分词;而关联词为与常用词具有相似性的词,将关联词和常用词所组成的常用词组形成词典;在搜索时,以与检索词对应的目标常用词组中的常用词和关联词进行扩展检索,且检索过程中,将目标常用词组中的常用词和关联词形成搜索向量和句子向量或文章向量进行对比;通过数字之间的对比,而避免对检索词的识别,可提高比对的速度;同时避免仅以接收到的检索词进行匹配检索,使得检索所匹配的结果更为广泛;且因目标常用词组中关联词和常用词之间具有相似性,而使得所匹配的结果更容易覆盖用户的搜索意图;避免了用户多次的搜索操作,提高了搜索效率以及准确性。

进一步地,在本发明基于关联词的协同检索方法中的另一实施例中,所述在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索的步骤包括:

步骤s43,读取所述检索词中携带的类型标识符,并根据所述类型标识符确定搜索类型;

本实施例子基于搜索向量进行搜索时,可依据句子进行搜索匹配,也可直接对文章进行搜索匹配;其中句子的搜索匹配为依据句子中所具有的分词对检索词进行匹配搜索的过程,文章的搜索匹配为依据文本语料中所具有的分词对检索词进行匹配搜索的过程。将该两种搜索方式作为两种搜索类型,且具体用哪种方式进行搜索,由用户在输入检索词过程中所选择的搜索类型决定。用户在输入检索词并选择搜索类型后,检索词中携带有表征搜索类型的类型标识符。为了确定搜索方式,对检索词中所携带的类型标识符进行读取,并将读取的类型标识符和预先设置的表征搜索类型的预设标识符对比,确定检索词所对应的搜索类型。

步骤s44,当所述搜索类型为句子类型时,将所述搜索向量和各所述句子向量进行对比,生成第一搜索结果,以基于关联词进行句子类型的协同检索;

进一步地,当经对比检索词中所携带的类型标识符所表征的搜索类型为句子类型,即依据句子进行搜索匹配时,则将搜索向量和各句子向量进行对比,生成第一搜索结果,以实现基于关联词进行句子类型的协同搜索。其中搜索向量和各句子向量对比的过程,其实质为确定搜索向量和各句子向量相似性的过程;而两者之间的相似性可用两者之间的余弦值表征,从而搜索向量和各句子向量对比的过程,其实质为将搜索向量和各句子向量进行余弦计算的过程。具体地,将搜索向量和各句子向量进行对比,生成第一搜索结果的步骤包括:

步骤s441,将所述搜索向量和各所述句子向量进行余弦计算,生成各第一余弦值,并确定各所述第一余弦值中排列在前预设位的第一目标余弦值;

更进一步地,预先设置有用于余弦计算的预设公式,将搜索向量逐一和各个句子向量形成向量对,传输到预设公式中进行计算,即可生成各个第一余弦值。其中预设公式为:yi表示所生成的第一余弦值,a表示搜索向量,xi表示各句子向量,cos表示余弦函数。将各个向量对中的搜索向量和句子向量分别传输到预设公式中,替换其中的a和xi,通过余弦函数cos的计算,即可得到各个对应的第一余弦值yi,表征搜索向量与各个句子向量之间的相似性大小。

因不同句子向量和和搜索向量之间的计算,所生成的第一余弦值不相同,表征不同句子向量与搜索向量之间的不同相似性;为了确定与搜索向量具有较大相似性的句子向量,可对各个第一余弦值按照数值从小到大的顺序进行排序,并预先根据需求设定预设位,将排列在前预设位的第一余弦值确定为第一目标余弦值。

步骤s442,将与各所述第一目标余弦值对应的分句确定为目标分句,并根据各所述文本语料中具有所述目标分句的数量,确定与所述检索词对应的第一搜索结果。

进一步地,因各个第一目标余弦值由与搜索向量具有较大相似性的句子向量所生成,即表征了与搜索向量具有较大相似性的句子向量;而句子向量与搜索向量之间的相似性可表征句子向量所来源分句与搜索向量所来源目标常用词组之间的相似性,即句子向量与搜索向量之间的相似性大,则句子向量所来源分句与搜索向量所来源目标常用词组之间的相似性大。从而将与各第一目标余弦值所对应的分句确定为目标分句,该所对应的分句为生成第一目标余弦值的句子向量所来源的分句;目标分句与搜索向量所来源的目标常用词组之间具有较大的相似性,具有目标分句的文本语料即为与检索词相关的文本语料,而将该类文本语料作为第一搜索结果输出。

考虑到文本语料中所具有的语句众多,可能某些文本语料中仅涉及到很少部分的目标语句,该类文本语料与检索词之间的相关性不大;在将具有各目标分句的文本语料作为第一搜索结果输出时,需要将该类文本语料排列在后输出,以优先将与检索词相关性大的第一搜索结果输出。具体地,对各文本语料中所具有的目标分句的数量进行统计,并按照数量从大到小的顺序,对各文本语料进行排列;将该经排列操作的文本语料作为与检索词对应的第一搜索结果,以按照与检索词相关性的大小关系,将第一搜索结果输出。

步骤s45,当所述搜索类型为文章类型时,将所述搜索向量和各所述文章向量进行对比,生成第二搜索结果,以基于关联词进行文章类型的协同检索。

更进一步地,当经对比检索词中所携带的类型标识符所表征的搜索类型为文章类型,即依据文章进行搜索匹配时,则将搜索向量和各文章向量进行对比,生成第二搜索结果,以实现基于关联词进行文章类型的协同搜索。其中搜索向量和各文章向量对比的过程,其实质同样为确定搜索向量和各文章向量相似性的过程;同样是将搜索向量和各句子向量进行余弦计算的过程。具体地,将搜索向量和各文章向量进行对比,生成第二搜索结果的步骤包括:

步骤s451,将所述搜索向量和各所述文章向量进行余弦计算,生成各第二余弦值,并对各所述第二余弦值进行排序,确定排列在前预设位的第二目标余弦值;

同样地,将搜索搜索向量逐一和各个文章向量形成向量对,传输到预设公式中进行计算,即可生成各个第二余弦值。其中该预设公式和用于计算第一余弦值的预设公式相同,且在计算第二余弦值时,预设公式中的xi表征文章向量,yi表示第二余弦值。即将各个向量对中的搜索向量和文章向量分别传输到预设公式中,替换其中的a和xi,通过余弦函数cos的计算,即可得到各个对应的第二余弦值yi,表征搜索向量与各个文章向量之间的相似性大小。

因不同文章向量和和搜索向量之间的计算,所生成的第二余弦值不相同,表征不同文章向量与搜索向量之间的不同相似性;为了确定与搜索向量具有较大相似性的文章向量,可对各个第二余弦值按照数值从小到大的顺序进行排序,并预先根据需求设定预设位,将排列在前预设位的第二余弦值确定为第二目标余弦值。

步骤s452,读取各所述第二目标余弦值所来源的目标文本语料,并将各所述目标文本语料确定为第二搜索结果。

进一步地,因各个第二目标余弦值由与搜索向量具有较大相似性的文章向量所生成,即表征了与搜索向量具有较大相似性的文章向量;而文章向量与搜索向量之间的相似性可表征文章向量所来源文本语料与搜索向量所来源目标常用词组之间的相似性,即文章向量与搜索向量之间的相似性大,则文章向量所来源文本语料与搜索向量所来源目标常用词组之间的相似性大。从而将与各第二目标余弦值所对应的文本语料确定为目标文本语料进行读取,该所对应的文本语料为生成第二目标余弦值的文章向量所来源的文本语料;目标文本语料与搜索向量所来源的目标常用词组之间具有较大的相似性,为与检索词相关的文本语料,而将该读取的目标文本语料确定为第二搜索结果。此后,可将第二搜索结果输出,实现关联词对常用词的协同检索,满足用户的搜索需求。

此外,请参照图2,本发明提供一种基于关联词的协同检索装置,在本发明基于关联词的协同检索装置第一实施例中,所述基于关联词的协同检索装置包括:

分词模块10,用于爬取多个文本语料,并对各所述文本语料进行分句和分词处理,分别生成多个分句和多个分词;

生成模块20,用于根据各所述分词的出现次数确定多个常用词,基于预设算法计算各所述常用词的词向量,并根据各所述词向量生成各所述分句的句子向量以及各所述文本语料的文章向量;

确定模块30,用于根据各所述词向量,确定与各所述常用词对应的关联词,并将各所述常用词及对应关联词建立常用词组,形成词典存储;

检索模块40,用于当接收到检索词时,确定所述词典中与所述检索词对应的目标常用词组,并将所述目标常用词组生成搜索向量,在所述搜索向量和各所述句子向量之间或所述搜索向量和各所述文章向量之间对比,以基于关联词进行协同检索。

本实施例的基于关联词的协同检索装置,通过将爬取的多个文本语料进行分句和分词处理,分别生成多个分句和分词;再由各分词的出现次数确定多个常用词,通过预设算法计算各常用词的词向量,并将各词向量生成各分句的句子向量以及各文本语料的文章向量;同时依据各个词向量确定与各常用词对应的关联词,在各常用词及其各自所对应的关联词之间建立常用词组,并将各个常用词组形成为词典存储;在接收到用于搜索的检索词时,确定词典中与检索词对应的目标常用词组,并将该目标常用词组生成搜索向量,进而在搜索向量和各句子向量或搜索向量和各文章向量之间进行对比,以实现基于与常用词对应的关联词进行协同检索。本方案中的句子向量用数字的方式表征了分句中所具有的分词,文章向量用数字的方式表征了文本语料中所具有的分词;而关联词为与常用词具有相似性的词,将关联词和常用词所组成的常用词组形成词典;在搜索时,以与检索词对应的目标常用词组中的常用词和关联词进行扩展检索,且检索过程中,将目标常用词组中的常用词和关联词形成搜索向量和句子向量或文章向量进行对比;通过数字之间的对比,而避免对检索词的识别,可提高比对的速度;同时避免仅以接收到的检索词进行匹配检索,使得检索所匹配的结果更为广泛;且因目标常用词组中关联词和常用词之间具有相似性,而使得所匹配的结果更容易覆盖用户的搜索意图;避免了用户多次的搜索操作,提高了搜索效率以及准确性。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述检索模块还包括:

读取单元,用于读取所述检索词中携带的类型标识符,并根据所述类型标识符确定搜索类型;

对比单元,用于当所述搜索类型为句子类型时,将所述搜索向量和各所述句子向量进行对比,生成第一搜索结果,以基于关联词进行句子类型的协同检索;

生成单元,用于当所述搜索类型为文章类型时,将所述搜索向量和各所述文章向量进行对比,生成第二搜索结果,以基于关联词进行文章类型的协同检索。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述对比单元还用于:

将所述搜索向量和各所述句子向量进行余弦计算,生成各第一余弦值,并确定各所述第一余弦值中排列在前预设位的第一目标余弦值;

将与各所述第一目标余弦值对应的分句确定为目标分句,并根据各所述文本语料中具有所述目标分句的数量,确定与所述检索词对应的第一搜索结果。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述生成单元还用于:

将所述搜索向量和各所述文章向量进行余弦计算,生成各第二余弦值,并对各所述第二余弦值进行排序,确定排列在前预设位的第二目标余弦值;

读取各所述第二目标余弦值所来源的目标文本语料,并将各所述目标文本语料确定为第二搜索结果。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述生成模块还用于:

根据各所述分句所具有的分句分词,读取各所述分句分词所对应的分句分词向量,并将各所述分句分词向量进行均值处理,生成各所述分句的句子向量;

根据各所述文本语料所具有的文章分词,读取各所述文章分词所对应的文章分词向量,并将各所述文章分词向量进行均值处理,生成各所述文本语料的文章向量。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述检索模块还用于:

将所述检索词和所述词典中的各所述常用词组对比,确定各所述常用词组中具有所述检索词的目标常用词组;

将所述目标常用词组中常用词的词向量和关联词的词向量进行均值处理,生成所述目标常用词组的搜索向量。

进一步地,在本发明基于关联词的协同检索装置另一实施例中,所述分词模块还用于:

检测各所述文本语料中段落符所在的第一符号位置,并根据所述第一符号位置,将各所述文本语料划分为多个段落;

检测各所述段落中标号符所在的第二符号位置,并根据所述第二符号位置,对各所述段落进行分句处理,生成多个分句;

对各所述分句进行分词处理,生成待筛选分词,并将各所述待筛选分词和预设停用词对比,对各所述待筛选分词中的预设停用词进行删除,生成多个分词。

其中,上述基于关联词的协同检索装置的各虚拟功能模块存储于图3所示基于关联词的协同检索设备的存储器1005中,处理器1001执行基于关联词的协同检索程序时,实现图2所示实施例中各个模块的功能。

参照图3,图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。

本发明实施例基于关联词的协同检索设备可以是pc(personalcomputer,个人计算机),也可以是智能手机、平板电脑、电子书阅读器、便携计算机等终端设备。

如图3所示,该基于关联词的协同检索设备可以包括:处理器1001,例如cpu(centralprocessingunit,中央处理器),存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速ram(randomaccessmemory,随机存取存储器),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该基于关联词的协同检索设备还可以包括用户接口、网络接口、摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi(wirelessfidelity,无线宽带)模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。

本领域技术人员可以理解,图3中示出的基于关联词的协同检索设备结构并不构成对基于关联词的协同检索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图3所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块以及基于关联词的协同检索程序。操作系统是管理和控制基于关联词的协同检索设备硬件和软件资源的程序,支持基于关联词的协同检索程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与基于关联词的协同检索设备中其它硬件和软件之间通信。

在图3所示的基于关联词的协同检索设备中,处理器1001用于执行存储器1005中存储的基于关联词的协同检索程序,实现上述基于关联词的协同检索方法各实施例中的步骤。

本发明提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述基于关联词的协同检索方法各实施例中的步骤。

还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个可读存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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