CN112417091A - 一种文本检索方法及装置 - Google Patents
一种文本检索方法及装置 Download PDFInfo
- Publication number
- CN112417091A CN112417091A CN202011109750.4A CN202011109750A CN112417091A CN 112417091 A CN112417091 A CN 112417091A CN 202011109750 A CN202011109750 A CN 202011109750A CN 112417091 A CN112417091 A CN 112417091A
- Authority
- CN
- China
- Prior art keywords
- text
- keyword
- target
- texts
- index
- 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.)
- Pending
Links
Images
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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种文本检索方法及装置,属于文本搜索技术领域。所述方法包括获取待搜索文本的关键词;计算所述待搜索文本的各关键词的权重,构建由待搜索文本的各关键词的权重与对应的关键词构成的二维查询向量;在包含所有文本的索引库中查询与所述待搜索文本的至少一个关键词匹配的目标文本;获取预置在所述索引库中的所述目标文本的各关键词的权重,构建由所述目标文本的各关键词的权重与对应的关键词构成的二维目标向量;根据所述二维查询向量与所述二维目标向量的余弦相似度确定最终目标文本。本申请提高了整体检索效率,同时提高了检索命中率。
Description
技术领域
本申请属于文本搜索技术领域,特别涉及一种文本检索的方法及装 置。
背景技术
随着国际互联网在中国的普及,中国的网络招聘领域表现出了蓬勃 发展之势。迅速增长的网络招聘规模在给求职者带来更多的选择机会的 同时,也增加了求职者搜索所需要职位的成本。
现有的招聘类app简化了人们获取职位信息的方式,但其普遍存在推 荐过多与用户自身职位有一定相似性、但不是用户期望的职位信息,或 者通过一些可以设置的,但筛选方式比较简单的方式去除少量不符合期 望的职位信息,后续仍然有大量的不符合期望的职位信息需要用户自己 筛选去除,在这个过程中用户花费大量的时间和精力去查看并去除许多 跟自身期望不相关的数据信息,浪费用户的时间和精力。
除了检索结果不尽人意之外,检索速度过慢也给用户带来了不好的 app使用体验。现有的职位检索采用传统的DB检索方案,是基于单数据 片、B+树索引、硬盘持久化的检索方法,这种方法来的问题是:
数据体量,当单片数据达到千万级后,查询速度下降明显
索引方法,正排索引对非结构化数据支持效率低
硬盘访问速度,不管是机械硬盘还是SSD,都满足线上实时的检索 需求。
发明内容
为了解决上述技术问题至少之一,本申请提供了一种文本检索方法 及装置,用于提高检索效率以及检索命中率。
本申请第一方面提供了一种文本检索方法,包括:获取待搜索文本 的关键词;计算所述待搜索文本的各关键词的权重,构建由待搜索文本 的各关键词的权重与对应的关键词构成的二维查询向量;在包含所有文 本的索引库中查询与所述待搜索文本的至少一个关键词匹配的目标文 本;获取预置在所述索引库中的所述目标文本的各关键词的权重,构建 由所述目标文本的各关键词的权重与对应的关键词构成的二维目标向 量;根据所述二维查询向量与所述二维目标向量的余弦相似度确定最终 目标文本。
优选的是,在索引库中查询目标文本之前,进一步包括构建所述索 引库,构建所述索引库包括:对所有待入库的文本构建倒排索引,所述 倒排索引至少包括由关键词以及所述关键词所在的待入库的文本的编号 集合所形成的索引表;计算所有待入库的文本的各关键词的权重。
优选的是,所述待搜索文本的各关键词的权重与所述索引库中的所 有文本的各关键词的权重的计算方法相同,该计算方法包括:对各关键 词,确定该关键词在对应文本中的词频,以及确定该关键词的逆向文件 频率,所述逆向文件频率是指包含该关键词的文本占所有文本的频率的 一个反比参数;由所述词频与所述逆向文件频率的乘积作为该关键词的 权重。
优选的是,确定最终目标文本包括:对所有目标文本,计算其对应 的二维目标向量与所述待搜索文本所对应的二维查询向量的余弦相似 度,对余弦相似度计算结果由大到小进行排序;选取排序靠前的指定数 量的余弦相似度所对应的目标文本作为所述最终目标文本。
优选的是,所述索引库包括多个,据此,在确定最终目标文本时进 一步包括:对满足条件的索引库并行处理,获得每个索引库返回的所述 指定数量的预处理目标文本;合并各索引库的预处理目标文本并按余弦 相似度计算结果由大到小进行排序;选取排序靠前的指定数量的余弦相 似度所对应的目标文本作为所述最终目标文本。
本申请第二方面提供了一种文本检索装置,包括:关键词获取模块, 用于获取待搜索文本的关键词;查询向量生成模块,用于计算所述待搜 索文本的各关键词的权重,构建由待搜索文本的各关键词的权重与对应 的关键词构成的二维查询向量;搜索模块,用于在包含所有文本的索引 库中查询与所述待搜索文本的至少一个关键词匹配的目标文本;目标向 量生成模块,用于获取预置在所述索引库中的所述目标文本的各关键词 的权重,构建由所述目标文本的各关键词的权重与对应的关键词构成的 二维目标向量;目标文本确定模块,用于根据所述二维查询向量与所述 二维目标向量的余弦相似度确定最终目标文本。
优选的是,还包括索引库构建模块,所述索引库构建模块包括:索 引表构建单元,用于对所有待入库的文本构建倒排索引,所述倒排索引 至少包括由关键词以及所述关键词所在的待入库的文本的编号集合所形 成的索引表;权重计算单元,用于计算所有待入库的文本的各关键词的 权重。
优选的是,所述待搜索文本的各关键词的权重与所述索引库中的所 有文本的各关键词的权重的通过权重计算单元计算,所述权重计算单元 包括:词频及逆向文件频率统计单元,用于对各关键词,确定该关键词 在对应文本中的词频,以及确定该关键词的逆向文件频率,所述逆向文 件频率是指包含该关键词的文本占所有文本的频率的一个反比参数;权 重存储单元,用于将由所述词频与所述逆向文件频率的乘积作为该关键 词的权重。
优选的是,所述目标文本确定模块包括:排序单元,用于对所有目 标文本,计算其对应的二维目标向量与所述待搜索文本所对应的二维查 询向量的余弦相似度,对余弦相似度计算结果由大到小进行排序;选取 单元,用于选取排序靠前的指定数量的余弦相似度所对应的目标文本作 为所述最终目标文本。
优选的是,所述索引库包括多个,据此,所述目标文本确定模块进 一步包括:并行处理单元,用于对满足条件的索引库并行处理,获得每 个索引库返回的所述指定数量的预处理目标文本;合并单元,用于合并 各索引库的预处理目标文本并按余弦相似度计算结果由大到小进行排 序;统计单元,用于选取排序靠前的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
本申请提高了整体检索效率,同时提高了检索命中率。
附图说明
图1是本申请文本检索方法的一优选实施例的流程图。
图2是本申请文本检索装置的一优选实施例的架构图。
图3是本申请文本检索方法的一优选实施例的索引存储过程示意图。
具体实施方式
为使本申请实施的目的、技术方案和优点更加清楚,下面将结合本 申请实施方式中的附图,对本申请实施方式中的技术方案进行更加详细 的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件 或具有相同或类似功能的元件。所描述的实施方式是本申请一部分实施 方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示 例性的,旨在用于解释本申请,而不能理解为对本申请的限制。基于本 申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下 所获得的所有其他实施方式,都属于本申请保护的范围。下面结合附图 对本申请的实施方式进行详细说明。
本申请提供了一种文本检索方法及装置,如图1所示,主要包括:
步骤S100、获取待搜索文本的关键词。
本申请中,文本,是指书面语言的表现形式,从文学角度说,通常 是具有完整、***含义(Message)的一个句子或多个句子的组合,在计 算机领域,文本通常是由多个关键词形成的表征一定含义的短语,例如 “测试开发工程师”,“自动灌溉立体化种植设备”等等。
本申请的目的在于针对上述的待搜索文本,从数据库中选取与之匹 配的信息(记录)。
如上所示,测试开发工程师属于典型的文本,以职位搜索为例,对 本申请的技术方案做详细介绍,应当理解,本申请还适用于其他领域的 文本搜索,如通过文本信息进行专利检索、论文检索等等。
在步骤S100中,本申请首先通过app等方式获得用户的需求,即待搜 索文本,之后对该文本进行关键词提取,例如获取的待搜索文本是“测 试开发工程师”,对应提取的关键词是“测试”,“开发”,“工程师”。
步骤S200、计算所述待搜索文本的各关键词的权重,构建由待搜索 文本的各关键词的权重与对应的关键词构成的二维查询向量。
仍以上述“测试开发工程师”为例,权重表征了各关键词的重要程 度,如按照词频来确定,上述三个关键词的权重均为33.3%,备选实施方 式中,也可以根据其他方式确定权重,例如可以通过词频与逆向文件频 率来共同确定,将在步骤S300中详细介绍,或者根据指定规则对一些特 殊关键词赋予一定的权重等等。
二维查询向量是用于描述待搜索文本,便于后续在数据库中做精准 匹配,详见步骤S500,这里所构建的二维查询向量包括两个维度,一是 关键词,二是关键词对应的权重,例如以m1-m3表示上述三个关键词,则 构建的二维向量为((m1,m2,m3),(33.3%,33.3%,33.3%))。
步骤S300、在包含所有文本的索引库中查询与所述待搜索文本的至 少一个关键词匹配的目标文本。
以上述“测试开发工程师”的三个关键词为检索目标,或者首先从 索引库中查询具有至少一个关键词的目标文本,例如“计算机***运维 工程师”,“Java项目开发经理”等均属于目标文本。
在一些可选实施方式中,在索引库中查询目标文本之前,进一步包 括构建所述索引库,用于提高检索效率,构建所述索引库包括:
步骤T1,对所有待入库的文本构建倒排索引,所述倒排索引至少包 括由关键词以及所述关键词所在的待入库的文本的编号集合所形成的索 引表。
步骤T2,计算所有待入库的文本的各关键词的权重。
本领域技术人员理解的是,职位的数据包含结构化数据与非结构化 数据,故索引结构采用倒排方式。倒排索引(Inverted Index),也常被称为 反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文 搜索下某个单词在一个文档或者一组文档(文本)中的存储位置的映射。
假设我们要对以下文本(职位)内容建立倒排索引,如表1所示。
表1文本内容表
文档编号 | 文档内容 |
1 | Java开发工程师 |
2 | 测试开发工程师 |
3 | WEB前端开发工程师 |
4 | IOS前端开发工程师 |
5 | 计算机***运维工程师 |
首先要用分词***将本自动切分成单词序列。这样每个文本就转换 为由单词序列构成的数据流,为了***后续处理方便,需要对每个不同 的单词赋予唯一的单词编号,同时记录下哪些文本包含这个单词,在如 此处理结束后,我们可以得到最简单的倒排索引,如表2所示。
表2倒排索引表
通过倒排索引,可以根据单词快速获取包含这个单词的文本列表。 比如单词“工程师”,其单词编号为3,倒排列表为{1,3,4,5},说明文档 编号为1,3,4,5的文本都包含该单词。以上只是对倒排索引进行简单地举例 说明,实际上我们的文本内容应该包含职位的详细信息。同时索引*** 不仅可以记录文本编号,在索引过中还会通过索引组件进行文本频次和 单词频率的计算,最终构成完整的倒排索引。
对于文本频次和单词频次的计算即步骤T2中描述的计算所有待入库 的文本的各关键词的权重所需要的。
在对数据库进行检索时会先对搜索词进行语言处理,同索引过程中 的语言处理几乎相同。例如我们的搜索词为“酒店服务员”,经过处理 我们得到term词组:“酒店”,“服务员”,根据词组去倒排索引表中搜 索到所有包含“酒店”和包含“服务员”的文档。当然并不是简单地通 过倒排索引找到对应的文档列表,在数据量较大的情况下,对某一个关 键词进行检索可能会返回大量结果,我们需要对结果进行排序,对于查 询结果应该按照与查询语句的相关性进行排序,越相关者越靠前。所以 说,权重作为关键词的重要程度,其表征的越符合用户的期望值,则检 索到的结果将会越准确。
在一些可选实施方式中,所述待搜索文本的各关键词的权重与所述 索引库中的所有文本的各关键词的权重的计算方法相同,该计算方法包 括:
M1、对各关键词,确定该关键词在对应文本中的词频,以及确定该 关键词的逆向文件频率,所述逆向文件频率是指包含该关键词的文本占 所有文本的频率的一个反比参数。
M2、由所述词频与所述逆向文件频率的乘积作为该关键词的权重。
我们把查询语句看作一片短小的文本,对文本与文本之间的相关性 (relevance)进行打分(scoring),分数高的相关性好,就应该排在前面。一 个文档有很多词(Term)组成,不同的Term重要性不同,因而判断文档之 间的关系,首先找出哪些词(Term)对文档之间的关系最重要,然后判断这 些词(Term)之间的关系。判断词(Term)之间的关系从而得到文档相关性 的过程应用一种叫做向量空间模型算法(Vector Space Model)。
我们通常通过一定的算法来计算这些词(Term)的权重。例如本实施例 M1-M2给出的统计方法,用以评估一字词对于一个文件集或一个语料库 中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次 数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
本实施例中,词频TF指的是某一个给定的词语在该文件中出现的次 数。这个数字通常会被归一化(一般是词频除以文章总词数),以防止它偏 向长的文件:
逆向文件频率IDF的主要思想是:如果包含某一词条(本申请的关键 词)的文本越少,则逆向文件频率越大,则说明词条具有很好的类别区分 能力。某一特定词语的逆向文件频率,如步骤M1所述是指包含该关键词 的文本占所有文本的频率的一个反比参数,例如可以由总文件数目除以 包含该词语之文件的数目,再将得到的商取对数得到:
备选实施方式中,反比参数也可以是直接是总文件数目除以包含该 词语之文件的数目,或者总文件数目除以包含该词语之文件的数目之后, 再进行一定比例的缩放等等。
最后,步骤M2中,通过词频(TF)和逆向文件频率(IDF)的乘积来表示 权重(Weight):
Weight=TF*IDF。
步骤S400、获取预置在所述索引库中的所述目标文本的各关键词的 权重,构建由所述目标文本的各关键词的权重与对应的关键词构成的二 维目标向量。
二维目标向量的构建方式与二维查询向量的构建方式相同,这里不 再赘述。
步骤S500、根据所述二维查询向量与所述二维目标向量的余弦相似 度确定最终目标文本。
本实施例中,步骤S500中,根据余弦相似度确定最终目标文本可以 是选取余弦相似度最高的二维目标向量所对应的文本为最终目标文本, 也可以是选取余弦相似度排名靠前的二维目标向量所对应的文本为最终 目标文本,还可以是选取余弦相似度超过阈值的二维目标向量所对应的 文本为最终目标文本。
相似度可以近似理解为两个向量的同向程度,余弦相似度即用余弦 值表示两个向量的夹角,夹角越小,余弦值越大,表明二维查询向量与 所述二维目标向量越贴近,二维查询向量所对应的搜索文本与二维目标 向量所对应的最终目标文本越接近,检索结果越符合要求。
余弦相似度可以用以下公式表明。
其中,A为二维查询向量,B为二维目标向量,余弦值越接近1,就表 明夹角越接近0度,也就是两个向量越相似。
举例来说,假设待搜索文本在步骤S100中提取了三关键词,简记为 w5,w8,w10。步骤S200计算了这三个关键词的权重,如表3所示。Query 行表示待搜索文本的各关键词的权重。
以w5为关键词在索引库中检索到目标文本D2和D3,以w8为关键词在 索引库中检索到目标文本D1,以w10为关键词在索引库中检索到目标文本 D1和D3,同时D1-D3中还存在其他关键词,如w1、w2、w3等,并且索引 库中存储了各目标文本的各关键词的权重,详见表3。
表3检索结果展示表
W1 | W2 | w3 | W4 | W5 | W6 | W7 | W8 | W9 | W10 | |
D1 | 0.176 | 0 | 0.477 | 0 | 0 | 0 | 0 | 0.954 | 0 | 0.176 |
D2 | 0 | 0.477 | 0 | 0.477 | 0.176 | 0 | 0 | 0 | 0.176 | 0 |
D3 | 0.176 | 0 | 0 | 0 | 0.176 | 0 | 0 | 0 | 0.176 | 0.176 |
Query | 0 | 0 | 0 | 0 | 0.176 | 0 | 0 | 0.477 | 0 | 0.176 |
在步骤S500中,分别计算D1-D3与Query的余弦相似度。
可以看出,D1的分值最高,表明其与Query最为相似,其次是D3,相 似度达到0.372,D2的相似度最低,只有0.08。
在一些可选实施方式中,确定最终目标文本包括:对所有目标文本, 计算其对应的二维目标向量与所述待搜索文本所对应的二维查询向量的 余弦相似度,对余弦相似度计算结果由大到小进行排序;选取排序靠前 的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
可以理解的是,通过上述方式,可以从海量的目标文本中挑选出最 符合要求的若干文本作为最终目标文本呈现给用户。
在一些可选实施方式中,所述索引库包括多个,据此,在确定最终 目标文本时进一步包括:对满足条件的索引库并行处理,获得每个索引 库返回的所述指定数量的预处理目标文本;合并各索引库的预处理目标 文本并按余弦相似度计算结果由大到小进行排序;选取排序靠前的指定 数量的余弦相似度所对应的目标文本作为所述最终目标文本。
该实施例中,对于一些数据量较大且具有一定的划分标准的检索项 目,可以按照划分标准构建多个索引库,并且在每一个划分标准中,根 据需要继续划分索引库。比如在求职类文本搜索时,地区就是所谓的划 分标准,不同地区的职位信息可以存储在不同的索引库中,即便相同的 地区,也可以采用不同的索引库存储。
举例来说,索引服务定时从数据源中获取数据进行索引的构建,整 个索引库是按照城市+数据量进行切分,异步把所有的职位信息全部写内 存,如图3所示,通过多线程或者多进程构建索引库。
如图3所示,在北京,可以将每2w条数据作为一个集合,通过多个线 程来处理不同的集合,在进行检索时,检索过程中根据传入的城市id并行 查询对应城市的所有索引,每个索引返回2000条数据,合并多个索引的 数据排序并取前2000条作为最终结果。
在一些可选实施方式中,构建索引库时,采用主次路索引策略,其 中一路索引提供检索,另一路索引提供异步索引更新,索引更新完成后 进行索引切换。该过程可以保证检索过程不受更新过程的影响。同时, 为了减少在查询阶段对返回结果数据的每个字段进行数据拼接,在索引 阶段,缓存了每条职位按固定格式拼接好的数据。由于上层调用针对不 同的实验组可能需要不同的数据,因此针对不同的source缓存了多份数 据,查询阶段根据上层传入的source以及查询结果中的post_id直接从缓存 获取数据。
本申请第二方面提供了一种与上述方法相对应的文本检索装置,如 图2所示,主要包括:关键词获取模块,用于获取待搜索文本的关键词; 查询向量生成模块,用于计算所述待搜索文本的各关键词的权重,构建 由待搜索文本的各关键词的权重与对应的关键词构成的二维查询向量; 搜索模块,用于在包含所有文本的索引库中查询与所述待搜索文本的至 少一个关键词匹配的目标文本;目标向量生成模块,用于获取预置在所 述索引库中的所述目标文本的各关键词的权重,构建由所述目标文本的 各关键词的权重与对应的关键词构成的二维目标向量;目标文本确定模 块,用于根据所述二维查询向量与所述二维目标向量的余弦相似度确定 最终目标文本。
在一些可选实施方式中,还包括索引库构建模块,所述索引库构建 模块包括:索引表构建单元,用于对所有待入库的文本构建倒排索引, 所述倒排索引至少包括由关键词以及所述关键词所在的待入库的文本的 编号集合所形成的索引表;权重计算单元,用于计算所有待入库的文本 的各关键词的权重。
在一些可选实施方式中,所述待搜索文本的各关键词的权重与所述 索引库中的所有文本的各关键词的权重的通过权重计算单元计算,所述 权重计算单元包括:词频及逆向文件频率统计单元,用于对各关键词, 确定该关键词在对应文本中的词频,以及确定该关键词的逆向文件频率, 所述逆向文件频率是指包含该关键词的文本占所有文本的频率的一个反 比参数;权重存储单元,用于将由所述词频与所述逆向文件频率的乘积 作为该关键词的权重。
在一些可选实施方式中,所述目标文本确定模块包括:排序单元, 用于对所有目标文本,计算其对应的二维目标向量与所述待搜索文本所 对应的二维查询向量的余弦相似度,对余弦相似度计算结果由大到小进 行排序;选取单元,用于选取排序靠前的指定数量的余弦相似度所对应 的目标文本作为所述最终目标文本。
在一些可选实施方式中,所述索引库包括多个,据此,所述目标文 本确定模块进一步包括:并行处理单元,用于对满足条件的索引库并行 处理,获得每个索引库返回的所述指定数量的预处理目标文本;合并单 元,用于合并各索引库的预处理目标文本并按余弦相似度计算结果由大 到小进行排序;统计单元,用于选取排序靠前的指定数量的余弦相似度 所对应的目标文本作为所述最终目标文本。
本申请第三方面提供了一种计算机设备,包括处理器、存储器以及 存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理 器执行所述计算机程序用于实现如上所述的文本检索方法。
本申请第四方面提供了一种可读存储介质,所述可读存储介质存储 有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的文 本检索方法。
特别地,根据本申请的实施方式,上文参考流程图描述的过程可以 被实现为计算机软件程序,特别是安装在手机终端上的计算机程序,其 能够与服务器进行交互。例如,本申请的实施方式包括一种计算机程序 产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包 含用于执行流程图所示的方法的程序代码。本申请的计算机存储介质可 以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任 意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、 电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。 计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多 个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便 携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上 述的任意合适的组合。
在本申请中,计算机可读存储介质可以是任何包含或存储程序的有 形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合 使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作 为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这 种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号 或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读 存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传 播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用 的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输, 包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组 合。
附图中的流程图和框图,图示了按照本申请各种实施方式的***、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上, 流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部 分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的 逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框 中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个 接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反 的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图 中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定 的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与 计算机指令的组合来实现。
描述于本申请实施方式中所涉及到的模块或单元可以通过软件的方 式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设 置在处理器中,这些模块或单元的名称在某种情况下并不构成对该模块 或单元本身的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内, 可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此, 本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种文本检索方法,其特征在于,包括:
获取待搜索文本的关键词;
计算所述待搜索文本的各关键词的权重,构建由待搜索文本的各关键词的权重与对应的关键词构成的二维查询向量;
在包含所有文本的索引库中查询与所述待搜索文本的至少一个关键词匹配的目标文本;
获取预置在所述索引库中的所述目标文本的各关键词的权重,构建由所述目标文本的各关键词的权重与对应的关键词构成的二维目标向量;
根据所述二维查询向量与所述二维目标向量的余弦相似度确定最终目标文本。
2.如权利要求1所述的文本检索方法,其特征在于,在索引库中查询目标文本之前,进一步包括构建所述索引库,构建所述索引库包括:
对所有待入库的文本构建倒排索引,所述倒排索引至少包括由关键词以及所述关键词所在的待入库的文本的编号集合所形成的索引表;
计算所有待入库的文本的各关键词的权重。
3.如权利要求1所述的文本检索方法,其特征在于,所述待搜索文本的各关键词的权重与所述索引库中的所有文本的各关键词的权重的计算方法相同,该计算方法包括:
对各关键词,确定该关键词在对应文本中的词频,以及确定该关键词的逆向文件频率,所述逆向文件频率是指包含该关键词的文本占所有文本的频率的一个反比参数;
由所述词频与所述逆向文件频率的乘积作为该关键词的权重。
4.如权利要求1所述的文本检索方法,其特征在于,确定最终目标文本包括:
对所有目标文本,计算其对应的二维目标向量与所述待搜索文本所对应的二维查询向量的余弦相似度,对余弦相似度计算结果由大到小进行排序;
选取排序靠前的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
5.如权利要求4所述的文本检索方法,其特征在于,所述索引库包括多个,据此,在确定最终目标文本时进一步包括:
对满足条件的索引库并行处理,获得每个索引库返回的所述指定数量的预处理目标文本;
合并各索引库的预处理目标文本并按余弦相似度计算结果由大到小进行排序;
选取排序靠前的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
6.一种文本检索装置,其特征在于,包括:
关键词获取模块,用于获取待搜索文本的关键词;
查询向量生成模块,用于计算所述待搜索文本的各关键词的权重,构建由待搜索文本的各关键词的权重与对应的关键词构成的二维查询向量;
搜索模块,用于在包含所有文本的索引库中查询与所述待搜索文本的至少一个关键词匹配的目标文本;
目标向量生成模块,用于获取预置在所述索引库中的所述目标文本的各关键词的权重,构建由所述目标文本的各关键词的权重与对应的关键词构成的二维目标向量;
目标文本确定模块,用于根据所述二维查询向量与所述二维目标向量的余弦相似度确定最终目标文本。
7.如权利要求6所述的文本检索装置,其特征在于,还包括索引库构建模块,所述索引库构建模块包括:
索引表构建单元,用于对所有待入库的文本构建倒排索引,所述倒排索引至少包括由关键词以及所述关键词所在的待入库的文本的编号集合所形成的索引表;
权重计算单元,用于计算所有待入库的文本的各关键词的权重。
8.如权利要求6所述的文本检索装置,其特征在于,所述待搜索文本的各关键词的权重与所述索引库中的所有文本的各关键词的权重的通过权重计算单元计算,所述权重计算单元包括:
词频及逆向文件频率统计单元,用于对各关键词,确定该关键词在对应文本中的词频,以及确定该关键词的逆向文件频率,所述逆向文件频率是指包含该关键词的文本占所有文本的频率的一个反比参数;
权重存储单元,用于将由所述词频与所述逆向文件频率的乘积作为该关键词的权重。
9.如权利要求6所述的文本检索装置,其特征在于,所述目标文本确定模块包括:
排序单元,用于对所有目标文本,计算其对应的二维目标向量与所述待搜索文本所对应的二维查询向量的余弦相似度,对余弦相似度计算结果由大到小进行排序;
选取单元,用于选取排序靠前的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
10.如权利要求9所述的文本检索装置,其特征在于,所述索引库包括多个,据此,所述目标文本确定模块进一步包括:
并行处理单元,用于对满足条件的索引库并行处理,获得每个索引库返回的所述指定数量的预处理目标文本;
合并单元,用于合并各索引库的预处理目标文本并按余弦相似度计算结果由大到小进行排序;
统计单元,用于选取排序靠前的指定数量的余弦相似度所对应的目标文本作为所述最终目标文本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109750.4A CN112417091A (zh) | 2020-10-16 | 2020-10-16 | 一种文本检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011109750.4A CN112417091A (zh) | 2020-10-16 | 2020-10-16 | 一种文本检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417091A true CN112417091A (zh) | 2021-02-26 |
Family
ID=74854026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011109750.4A Pending CN112417091A (zh) | 2020-10-16 | 2020-10-16 | 一种文本检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417091A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680367A (zh) * | 2023-08-04 | 2023-09-01 | 深圳市智慧城市科技发展集团有限公司 | 数据匹配方法、数据匹配装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060224584A1 (en) * | 2005-03-31 | 2006-10-05 | Content Analyst Company, Llc | Automatic linear text segmentation |
US20070112757A1 (en) * | 2005-11-17 | 2007-05-17 | International Business Machines Corporation | Indexing pages based on associations with geographic regions |
CN101196935A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 一种创建索引库的***及其方法 |
CN105653737A (zh) * | 2016-03-01 | 2016-06-08 | 广州神马移动信息科技有限公司 | 用于内容文档排序的方法、设备和电子设备 |
CN110688559A (zh) * | 2019-09-25 | 2020-01-14 | 中科鼎富(北京)科技发展有限公司 | 一种检索方法及装置 |
CN111104794A (zh) * | 2019-12-25 | 2020-05-05 | 同方知网(北京)技术有限公司 | 一种基于主题词的文本相似度匹配方法 |
-
2020
- 2020-10-16 CN CN202011109750.4A patent/CN112417091A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060224584A1 (en) * | 2005-03-31 | 2006-10-05 | Content Analyst Company, Llc | Automatic linear text segmentation |
US20070112757A1 (en) * | 2005-11-17 | 2007-05-17 | International Business Machines Corporation | Indexing pages based on associations with geographic regions |
CN101196935A (zh) * | 2008-01-03 | 2008-06-11 | 中兴通讯股份有限公司 | 一种创建索引库的***及其方法 |
CN105653737A (zh) * | 2016-03-01 | 2016-06-08 | 广州神马移动信息科技有限公司 | 用于内容文档排序的方法、设备和电子设备 |
CN110688559A (zh) * | 2019-09-25 | 2020-01-14 | 中科鼎富(北京)科技发展有限公司 | 一种检索方法及装置 |
CN111104794A (zh) * | 2019-12-25 | 2020-05-05 | 同方知网(北京)技术有限公司 | 一种基于主题词的文本相似度匹配方法 |
Non-Patent Citations (1)
Title |
---|
杨雨诗 等: "基于词库匹配的网络文本分类及预测", 《计算机与现代化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680367A (zh) * | 2023-08-04 | 2023-09-01 | 深圳市智慧城市科技发展集团有限公司 | 数据匹配方法、数据匹配装置及计算机可读存储介质 |
CN116680367B (zh) * | 2023-08-04 | 2023-11-24 | 深圳市智慧城市科技发展集团有限公司 | 数据匹配方法、数据匹配装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8533203B2 (en) | Identifying synonyms of entities using a document collection | |
US7409404B2 (en) | Creating taxonomies and training data for document categorization | |
US7636713B2 (en) | Using activation paths to cluster proximity query results | |
CN106844341B (zh) | 基于人工智能的新闻摘要提取方法及装置 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
WO2020258662A1 (zh) | 关键词确定方法、装置、电子设备及存储介质 | |
CN112100396B (zh) | 一种数据处理方法和装置 | |
CN111221954A (zh) | 一种构建家电维修问答库的方法、装置、存储介质及终端 | |
CN111859079B (zh) | 信息搜索方法、装置、计算机设备及存储介质 | |
CN112417091A (zh) | 一种文本检索方法及装置 | |
CN110008407B (zh) | 一种信息检索方法及装置 | |
CN109657060B (zh) | 安全生产事故案例推送方法及*** | |
US20220318318A1 (en) | Systems and methods for automated information retrieval | |
CN112507181B (zh) | 搜索请求分类方法、装置、电子设备及存储介质 | |
CN112199461B (zh) | 基于块索引结构的文档检索方法、装置、介质和设备 | |
CN110866088B (zh) | 一种语料库之间的快速全文检索方法及*** | |
CN110941743B (zh) | 一种基于深度学习算法自动实现字段权重分配的科技项目查重方法 | |
JP5199968B2 (ja) | キーワードタイプ判定装置、キーワードタイプ判定方法およびキーワードタイプ判定プログラム | |
CN111639099A (zh) | 全文索引方法及*** | |
JP2001052024A (ja) | 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体 | |
CN117271577B (zh) | 一种基于智能分析的关键字检索方法 | |
CN116501841B (zh) | 数据模型模糊查询方法、***及存储介质 | |
CN110083679B (zh) | 搜索请求的处理方法、装置、电子设备和存储介质 | |
US20220019594A1 (en) | Data processing device, data processing program and data processing method | |
CN117633153A (zh) | 一种检索方法、装置、设备及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |