CN113505196B - 基于词性的文本检索方法、装置、电子设备及存储介质 - Google Patents
基于词性的文本检索方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113505196B CN113505196B CN202110737521.5A CN202110737521A CN113505196B CN 113505196 B CN113505196 B CN 113505196B CN 202110737521 A CN202110737521 A CN 202110737521A CN 113505196 B CN113505196 B CN 113505196B
- Authority
- CN
- China
- Prior art keywords
- text
- speech
- word
- corpus
- candidate
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000011218 segmentation Effects 0.000 claims abstract description 33
- 230000000875 corresponding effect Effects 0.000 claims description 95
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 8
- 239000013598 vector Substances 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010276 construction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/3332—Query translation
- G06F16/3334—Selection or weighting of terms from queries, including natural language queries
-
- 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
- G06F16/3344—Query execution using natural language analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及文本检索技术领域,公开了一种基于词性的文本检索方法、装置、电子设备及存储介质,以提高了文本检索精准度,该方法包括:获取输入文本,从语料库中检索与输入文本相关的候选文本;对输入文本进行分词处理,获得若干个检索词;从基于语料库构建的词典中获取每个检索词与每个候选文本的相关性得分;针对每个候选文本,对若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在输入文本中出现的次数确定的;基于每个候选文本与输入文本的相关度,从候选文本中确定出输入文本对应的检索结果。
Description
技术领域
本申请涉及文本检索技术领域,尤其涉及一种基于词性的文本检索方法、装置、电子设备及存储介质。
背景技术
文本检索(Text Retrieval)与图象检索、声音检索、图片检索等都是信息检索的一部分,是指根据文本内容,如关键字、语意等对文本集合进行检索、分类、过滤等。文本检索换言之也为自然语言检索,指不对文献进行任何标引,直接通过计算机以自然语言中的语词匹配查找的系统。文本检索在应用场景有搜索引擎、机器人问答等应用场景。在检索海量信息时,虽然搜索引擎可以筛选与检索条件相关的信息并且以标题列表的方式反馈给用户,但是搜索引擎提供的结果不够简洁和直接,用户仍需花大量时间去逐一浏览检索结果,降低了信息获取的效率。
目前可通过计算搜索结果和检索条件的相关性评分,解决信息获取效率第问题。其中,基于TF-IDF的文本检索方法的思想是文章中出现次数越高的词语,其和句子与文章主题的关联度越高,因此可以根据词语的词频和每个句子出现的频率给文本中的句子打分,这种方式没有结合到其他的句子信息,只是简单的基于词频信息,获得的相关性评分不是很准确。后续有研究提出利用机器学习进行文本检索方向的技术主要是直接利用BM25进行检索,BM25算法通常用来计算搜索相关性评分,该算法进一步考虑了词频出现的不同位置和不同位置的权重问题,相对于TF-IDF计算更加的准确,但是BM25算法本质上仍然只是考虑的词频的影响因素。
发明内容
本申请实施例提供一种基于词性的文本检索方法、装置、电子设备及存储介质,根据不同检索词的词性将输入文本的语义信息巧妙融合到相关度中,提高了文本检索精准度。
一方面,本申请一实施例提供了一种基于词性的文本检索方法,包括:
获取输入文本,从语料库中检索与所述输入文本相关的候选文本;
对所述输入文本进行分词处理,获得若干个检索词;
从基于所述语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,所述词典中包括所述语料库中的每个词语与每个词语所属文本之间的相关性得分;
针对每个候选文本,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在所述输入文本中出现的次数确定的;
基于每个候选文本与所述输入文本的相关度,从候选文本中确定出所述输入文本对应的检索结果。
可选地,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,具体包括:
基于如下公式获得第i个候选文本D'i与所述输入文本Q的相关度:
其中,Q被分成n个检索词,R(qj,D'i)表示第j个检索词qj与候选文本D'i的相关性得分,wj表示检索词qj在所述输入文本Q中出现的次数,表示基于检索词qj的词性确定的词性权重。
可选地,通过如下方式确定每个检索词对应的词性权重:
基于预先设定的词性和词性权重之间的对应关系、以及每个检索词的词性,确定每个检索词对应的词性权重,其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关;或者
分别确定每种词性对应的检索词与所述输入文本的相似度,基于每种词性对应的相似度确定每种词性对应的词性权重,将每个检索词所属的词性对应的词性权重作为每个检索词的词性权重。
可选地,通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数以及该文本的文本长度,确定该词语与该文本之间的相关性得分。
可选地,通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语该文本中的词性,确定该词语在该文本中的词性权重;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分。
可选地,所述基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分,具体包括:
基于如下公式确定所述语料库中的词语di与文本Dj之间的相关性得分:
其中,di为Dj中的第i个词语,IDF(di)表示di在所述语料库中的逆向文件频率,表示di在Dj中的词性权重,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子。
可选地,所述基于该词语该文本中的词性,确定该词语在该文本中的词性权重,具体包括:
基于预先设定的词性和词性权重之间的对应关系、该词语在该文本中的词性,确定该词语在该文本中的词性权重;
其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关。
一方面,本申请一实施例提供了一种基于词性的文本检索装置,包括:
检索模块,用于获取输入文本,从语料库中检索与所述输入文本相关的候选文本;
分词模块,用于对所述输入文本进行分词处理,获得若干个检索词;
查询模块,用于从基于所述语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,所述词典中包括所述语料库中的每个词语与每个词语所属文本之间的相关性得分;
相关度计算模块,用于针对每个候选文本,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在所述输入文本中出现的次数确定的;
输出模块,用于基于每个候选文本与所述输入文本的相关度,从候选文本中确定出所述输入文本对应的检索结果。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种TCP传输性能的控制的各种可选实现方式中提供的方法。
本申请实施例提供的基于词性的文本检索方法、装置、电子设备及存储介质,在计算输入文本和候选文本之间的相关度时,既考虑了机器学习中词频以及词语长短对信息检索的影响,也考虑了文本的词性信息对检索的影响,根据不同检索词的词性将输入文本的语义信息巧妙融合到相关度中,很好地考虑到输入文本的语义信息。此外,将输入文本的语义信息融合到相关度中的方式很简单,可很好的应用到现有的TF-IDF、BM25等算法中,避免了语义向量无法很难应用于TF-IDF和BM25算法的缺陷。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的基于词性的文本检索方法的应用场景示意图;
图2为本申请一实施例提供的一种基于词性的文本检索方法的流程示意图;
图3为本申请一实施例提供的构建语料库对应的词典的流程示意图;
图4为本申请一实施例提供的基于词性的文本检索装置的结构示意图;
图5为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
目前,经常用于文本检索的机器学习方法主要是TF-IDF和BM25这两个大类。本申请发明人发现,上述两类方法本质上都是基于文本的词频信息调整计算搜索结果的相关性评分时的权重,没有考虑到输入文本的语义等其它信息。目前采用的方式都是计算相关性评分时加入语义向量,但是语义向量无法直接利用现有的TF-IDF和BM25算法。此外,语义向量主要分为静态语义向量和基于BERT这类模型获得的动态语义向量,静态向量存在词向量在不同文本中有不同含义等问题,而计算动态语义向量则需要大量的计算资源。
为此,本申请提出了一种基于词性的文本检索算法,先从语料库中检索与输入文本相关的候选文本,然后对输入文本进行分词处理获得若干个检索词,从基于语料库构建的词典中获取每个检索词与每个候选文本的相关性得分;基于每个检索词的词性和检索词在输入文本中出现的次数,确定检索词对应的权重;然后,针对每个候选文本,基于检索词对应的权重,对所有检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与输入文本的相关度;最后,基于每个候选文本与输入文本的相关度,从候选文本中确定出输入文本对应的检索结果。在计算输入文本和候选文本之间的相关度时,基于检索词的词性确定权重,可以很好地考虑到输入文本的语义信息,也避免了语义向量无法很难应用于TF-IDF和BM25算法的缺陷。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的基于词性的文本检索方法的应用场景示意图。其中,终端设备101和服务器102之间可通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视、机器人等电子设备,服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。基于词性的文本检索应用于搜索引擎、机器人问答等应用场景。以搜索引擎为例,用户可通过终端设备101输入检索词或查询语句,并发送给服务器102,服务器102根据检索词或查询语句搜索到相关的文本内容,并反馈给终端设备101,终端设备101将相关的文本内容展示给用户。以机器人问答为例,用户通过终端设备输入文本或语音等信息,终端设备101可将语音转换为对应的文本,并将文本发送给服务器102,服务器102可根据接收到的文本,从预设的语料库中检索最相似的文本内容,基于该最相似的内容生成回复信息,并反馈给机器人,机器人输出该回复信息。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。本申请实施例提供的任一基于词性的文本检索方法,可应用于终端设备或服务器等电子设备,本申请不作限定。本申请主要以服务器为执行主体,对基于词性的文本检索方法进行说明,以终端设备等其它设备为执行主体的实施方式类似,不再赘述。
参考图2,本申请实施例提供一种基于词性的文本检索方法,包括以下步骤:
S201、获取输入文本,从语料库中检索与输入文本相关的候选文本。
具体实施时,用户可通过终端设备输入检索条件,即输入文本。其中,输入文本可以是一个句子,如“张三多大了”;输入文本也可以是一个或多个词语,如“张三年龄”,多个词语之间可通过空格等特殊符号进行分隔。
服务器在收到终端设备发送的输入文本后,可基于现有的任意一种检索方式从语料库中检索到与输入文本相关的候选文本,例如,可通过关键词检索、句子相似度匹配等方式,从语料库中找到与输入文本相似的一个或多个候选文本。当找到一个候选文本时,服务器可以直接将该候选文本作为检索结果反馈给终端设备;当找到多个候选文本时,可以从这多个候选文本中确定出相关度较高的一个或多个文本,作为检索结果反馈给终端设备。
其中,语料库中包含搜集的大量文本语料,语料库中的文本语料可根据应用场景的需要进行搜集。
S202、对输入文本进行分词处理,获得若干个检索词。
具体实施时,可采用现有的分词工具(如jieba)对输入文本进行分词处理。当输入文本为多个词语时,可直接基于输入文本中使用的分隔符,获得若干个检索词。进一步地,可在对输入文本进行分词处理时,去掉一些没有实际语义的词,如“的”、“啊”、“呀”等,一方面可提高检索效率,另一方面可排除这些无意义词的干扰,提高检索精准度。
S203、从基于语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,词典中包括语料库中的每个词语与每个词语所属文本之间的相关性得分。
具体实施时,可通过如下方式构建词典:首先,对语料库中的每个文本进行分词处理,获得每个文本对应的词语;然后,针对每个文本对应的每个词语,基于该词语在语料库中的逆向文件频率(inverse document frequency,IDF)、该词语在该文本中的出现次数以及该文本的文本长度,确定该词语与该文本之间的相关性得分。
具体地,可通过如下公式确定词语di与文本Dj之间的相关性得分:
其中,Dj表示语料库中的第j个文本,di表示对Dj进行分词处理后获得的第i个词语,IDF(di)表示di的逆向文件频率,fi表示di在Dj中的出现次数,表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子。其中,文本长度是指文本包含的字符数量。
其中,k1和b的取值可根据实际应用需求结合经验确定。在一个可能的实施例中,k1=0.75,b=0.25。
通过上述公式,可确定出每个词语与其所属文本之间的相关性得分,并将各个词语和其所属文本之间的相关性得分存入词典中。如果语料库中包含某一词语的文本的数量为10,则词典中会存储这个词语分别与这10个文本的相关性得分。
S204、针对每个候选文本,对若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在输入文本中出现的次数确定的。
其中,词性是按照语法对词的分类,具体包括名词、动词、形容词、副词、介词、助词等。词性和权重之间的对应关系可根据实际应用需求设定,例如“我们去济南吧”中,名词“济南”最为重要,语气助词“吧”对句子的语义基本无影响,因此可以忽略。为此,名词、动词、形容词等包含较多语义信息的检索词对应的权重可适当大一些,而副词、介词、助词等包含的语义信息较少,因此可降低这类检索词对应的权重,这样就可以将句子的语义信息融合到候选文本与输入文本的相关度中,且融合方式很简单。
此外,检索词在输入文本中出现的次数越多,则这个检索词越能代表输入文本所要表达的主要语义,因此可提高这类检索词的权重。
S205、基于每个候选文本与输入文本的相关度,从候选文本中确定出输入文本对应的检索结果。
具体实施时,可按照每个候选文本与输入文本的相关度从高到底的顺序,对候选文本进行排序,然后根据应用场景的需求选择排序靠前的N个候选文本作为检索结果。例如,在机器人问答等需要给出唯一结果的场景下,可选择相关度最高的一个候选文本,作为机器人的回复;在搜索引擎等需要给出多个结果的场景中,可选出相关度较高的多个候选文本,作为输入文本对应的检索结果。
本申请实施例提供的基于词性的文本检索方法,在计算输入文本和候选文本之间的相关度时,既考虑了机器学习中词频以及词语长短对信息检索的影响,也考虑了文本的词性信息对检索的影响,根据不同检索词的词性将输入文本的语义信息巧妙融合到相关度中,很好地考虑到输入文本的语义信息。此外,将输入文本的语义信息融合到相关度中的方式很简单,可很好的应用到现有的TF-IDF、BM25等算法中,避免了语义向量无法很难应用于TF-IDF和BM25算法的缺陷。
在一种可能的实施方式中,可基于如下公式获得第i个候选文本D'i与输入文本Q的相关度:
其中,Q被分成n个检索词,R(qj,D'i)表示第j个检索词qj与候选文本D'i的相关性得分,wj表示检索词qj在输入文本Q中出现的次数,表示基于检索词qj的词性确定的词性权重。
具体实施时,可从预先构建的词典中找到检索词qj与候选文本D'i的相关性得分。如果没有找到检索词qj与候选文本D'i的相关性得分,表示检索词qj与候选文本D'i不相关,即检索词qj与候选文本D'i的相关性得分为0,对于相关性得分为0的检索词,无需确定这些检索词对应的次数和词性权重,以提高检索效率。
在一种可能的实施方式中,可通过如下方式确定检索词qj对应的词性权重Aqj:基于预先设定的词性和词性权重之间的对应关系、以及检索词qj的词性,确定检索词qj对应的词性权重
其中,词性和词性权重之间的对应关系可根据实际应用需求设定,例如对于最能表达句子语义信息的名词,其词性权重可设置的最高,对于包含一些语义信息的动词和形容词,其词性权重可设置的相对高一些,而对于助词、介词等基本不包含语义信息的词性,可设置较低的词性权重,甚至词性权重可设为0。
具体实施时,所有种类的词性对应的词性权重的总和可限制为1。在一个可能示例中,名词的词性权重为0.5,动词的词性权重为0.3,形容词的词性权重为0.2,其它词性的词性权重为0。
上述实施方式中的词性权重设置方案仅为一个示例,实际应用中不限于上述的设置方案。
在另一种可能的实施方式中,可基于各种词性在语料库中出现的占比,确定词性和词性权重之间的对应关系。
具体地,可对语料库中的文本进行分词处理,并确定每个分词的词性;统计各种词性在语料库中的占比;基于各种词性的占比,确定各种词性对应的词性权重。其中,占比和词性权重正相关,即占比越高的词性,对应的词性权重越大,占比越低的词性,对应的词性权重越小。
在另一种可能的实施方式中,分别确定每种词性对应的检索词与输入文本的相似度,基于每种词性对应的相似度确定每种词性对应的词性权重,将每个检索词所属的词性对应的词性权重作为每个检索词的词性权重。其中,相似度越高,则对应的词性权重越大。
具体实施时,可基于word2vec等模型,将检索词和输入文本转换成向量,通过余弦相似度或杰卡德距离等算法,计算检索词的向量和输入文本的向量之间的相似度。
当有且仅有一个检索词属于某一词性时,直接计算该检索词和输入文本之间的相似度,作为这类词性对应的相似度;当输入文本中的多个检索词属于同一词性时,将这多个检索词组成一个短语,计算这个短语和输入文本之间的相似度,作为这类词性对应的相似度。
为此,可先按照检索词所属的词性,对检索词进行分类,并计算每种词性对应的检索词与输入文本的相似度;然后,对通过上述方式获得的所有词性的相似度进行归一化,将每种词性对应的归一化后的相似度作为该词性对应的词性权重;最后,将每个检索词所属的词性对应的词性权重,作为该检索词的词性权重。
在一种可能的实施方式中,参考图3,可通过如下方式构建语料库对应的词典:
S301、对语料库中的每个文本进行分词处理,获得每个文本对应的词语。
具体实施时,可采用现有的分词工具(如jieba)对语料库中的文本进行分词处理。进一步地,可在对文本进行分词处理时,去掉一些没有实际语义的词,如“的”、“啊”、“呀”等。
S302、针对每个文本对应的每个词语,基于该词语该文本中的词性,确定该词语在该文本中的词性权重。
具体实施时,基于预先设定的词性和词性权重之间的对应关系、该词语在其所属文本中的词性,确定该词语在该文本中的词性权重。其中,词性和词性权重之间的对应关系的确定方式已在之前的实施例中说明,不再赘述。
需要说明的是,同一词语在不同的文本中可能是不同的词性,如“对句子进行分词”中的“分词”是动词,“将句子的分词添加到集合中”中的“分词”是名词。
S303、针对每个文本对应的每个词语,基于该词语在语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分。
具体实施时,可基于如下公式确定语料库中的词语di与词语di所属的文本Dj之间的相关性得分:
其中,di为Dj中的第i个词语,IDF(di)表示di在语料库中的逆向文件频率,表示di在Dj中的词性权重,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示语料库中所有文本的平均文本长度,k1和b为预设的调节因子。
本申请实施例提供的基于词性的文本检索方法,不需要再额外引入外部向量,并且所有的后续检索工作都可以基于已有的语料库以及构建的词典进行,不需要再额外引入外部知识以及外部模型,有效保证了检索效果的提升,同时也保证了模型的复杂度。
本申请实施例提供的基于词性的文本检索方法,可应用于浏览器检索相似文本、人工智能对话中匹配最相似的语句等场景。可通过搜索引擎或者人机对话收集了大规模的语料,当用户输入一句文本后,可以在语料库找到类似的最相似的一条语句,帮助匹配到用户理想中的回复或者需要搜索的资料、文本。
如图4所示,基于与上述基于词性的文本检索方法相同的发明构思,本申请实施例还提供了一种基于词性的文本检索装置40,包括:
检索模块401,用于获取输入文本,从语料库中检索与所述输入文本相关的候选文本;
分词模块402,用于对所述输入文本进行分词处理,获得若干个检索词;
查询模块403,用于从基于所述语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,所述词典中包括所述语料库中的每个词语与每个词语所属文本之间的相关性得分;
相关度计算模块404,用于针对每个候选文本,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在所述输入文本中出现的次数确定的;
输出模块405,用于基于每个候选文本与所述输入文本的相关度,从候选文本中确定出所述输入文本对应的检索结果。
可选地,相关度计算模块404,具体用于:
基于如下公式获得第i个候选文本D'i与所述输入文本Q的相关度:
其中,Q被分成n个检索词,R(qj,D'i)表示第j个检索词qj与候选文本D'i的相关性得分,wj表示检索词qj在所述输入文本Q中出现的次数,表示基于检索词qj的词性确定的词性权重。
可选地,相关度计算模块404还用于通过如下方式确定每个检索词对应的词性权重:
基于预先设定的词性和词性权重之间的对应关系、以及每个检索词的词性,确定每个检索词对应的词性权重,其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关;或者
分别确定每种词性对应的检索词与所述输入文本的相似度,基于每种词性对应的相似度确定每种词性对应的词性权重,将每个检索词所属的词性对应的词性权重作为每个检索词的词性权重。
可选地,基于词性的文本检索装置40还包括词典构建模块,用于通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数以及该文本的文本长度,确定该词语与该文本之间的相关性得分。
可选地,基于词性的文本检索装置40还包括词典构建模块,用于通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语该文本中的词性,确定该词语在该文本中的词性权重;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分。
可选地,所述词典构建模块,具体用于基于如下公式确定所述语料库中的词语di与文本Dj之间的相关性得分:
其中,di为Dj中的第i个词语,IDF(di)表示di在所述语料库中的逆向文件频率,表示di在Dj中的词性权重,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子。
可选地,所述词典构建模块具体用于:
基于预先设定的词性和词性权重之间的对应关系、该词语在该文本中的词性,确定该词语在该文本中的词性权重;
其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关。
本申请实施例提的基于词性的文本检索装置与上述基于词性的文本检索方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述基于词性的文本检索方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为机器人内部的控制设备或控制系统,也可以是与智能设备通信的外部设备,如桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图5所示,该电子设备50可以包括处理器501和存储器502。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种基于词性的文本检索方法,其特征在于,包括:
获取输入文本,从语料库中检索与所述输入文本相关的候选文本;
对所述输入文本进行分词处理,获得若干个检索词;
从基于所述语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,所述词典中包括所述语料库中的每个词语与每个词语所属文本之间的相关性得分,通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数以及该文本的文本长度,确定该词语与该文本之间的相关性得分,具体通过如下公式确定词语di与文本Dj之间的相关性得分:
其中,Dj表示语料库中的第j个文本,di表示对Dj进行分词处理后获得的第i个词语,IDF(di)表示di的逆向文件频率,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子,文本长度是指文本包含的字符数量;
针对每个候选文本,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在所述输入文本中出现的次数确定的,具体包括:
基于如下公式获得第x个候选文本D′x与所述输入文本Q的相关度:
其中,Q被分成h个检索词,R(qg,D′x)表示第g个检索词qg与候选文本D′x的相关性得分,wg表示检索词qg在所述输入文本Q中出现的次数,/>表示基于检索词qg的词性确定的词性权重,通过如下方式确定每个检索词对应的词性权重:
基于预先设定的词性和词性权重之间的对应关系、以及每个检索词的词性,确定每个检索词对应的词性权重,其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关;或者
分别确定每种词性对应的检索词与所述输入文本的相似度,基于每种词性对应的相似度确定每种词性对应的词性权重,将每个检索词所属的词性对应的词性权重作为每个检索词的词性权重;
基于每个候选文本与所述输入文本的相关度,从候选文本中确定出所述输入文本对应的检索结果。
2.根据权利要求1所述的方法,其特征在于,通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语该文本中的词性,确定该词语在该文本中的词性权重;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分。
3.根据权利要求2所述的方法,其特征在于,所述基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数、该文本的文本长度以及该词语在该文本中的词性权重,确定该词语与该文本之间的相关性得分,具体包括:
基于如下公式确定所述语料库中的词语di与文本Dj之间的相关性得分:
其中,di为Dj中的第i个词语,IDF(di)表示di在所述语料库中的逆向文件频率,表示di在Dj中的词性权重,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子。
4.根据权利要求2所述的方法,其特征在于,所述基于该词语该文本中的词性,确定该词语在该文本中的词性权重,具体包括:
基于预先设定的词性和词性权重之间的对应关系、该词语在该文本中的词性,确定该词语在该文本中的词性权重;
其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关。
5.一种基于词性的文本检索装置,其特征在于,包括:
检索模块,用于获取输入文本,从语料库中检索与所述输入文本相关的候选文本;
分词模块,用于对所述输入文本进行分词处理,获得若干个检索词;
查询模块,用于从基于所述语料库构建的词典中获取每个检索词与每个候选文本的相关性得分,其中,所述词典中包括所述语料库中的每个词语与每个词语所属文本之间的相关性得分,通过如下方式构建所述词典:
对所述语料库中的每个文本进行分词处理,获得每个文本对应的词语;
针对每个文本对应的每个词语,基于该词语在所述语料库中的逆向文件频率、该词语在该文本中的出现次数以及该文本的文本长度,确定该词语与该文本之间的相关性得分,具体通过如下公式确定词语di与文本Dj之间的相关性得分:
其中,Dj表示语料库中的第j个文本,di表示对Dj进行分词处理后获得的第i个词语,IDF(di)表示di的逆向文件频率,fi表示di在Dj中的出现次数,/>表示Dj的文本长度,avgl表示所述语料库中所有文本的平均文本长度,k1和b为预设的调节因子,文本长度是指文本包含的字符数量;
相关度计算模块,用于针对每个候选文本,对所述若干个检索词与该候选文本的相关性得分进行加权求和,以获得该候选文本与所述输入文本的相关度,其中,每个检索词对应的权重是基于该检索词的词性和该检索词在所述输入文本中出现的次数确定的,具体包括:
基于如下公式获得第x个候选文本D′x与所述输入文本Q的相关度:
其中,Q被分成h个检索词,R(qg,D′x)表示第g个检索词qg与候选文本D′x的相关性得分,wg表示检索词qg在所述输入文本Q中出现的次数,/>表示基于检索词qg的词性确定的词性权重,通过如下方式确定每个检索词对应的词性权重:
基于预先设定的词性和词性权重之间的对应关系、以及每个检索词的词性,确定每个检索词对应的词性权重,其中,所述对应关系是基于各种词性在所述语料库中出现的占比确定的,占比和词性权重正相关;或者
分别确定每种词性对应的检索词与所述输入文本的相似度,基于每种词性对应的相似度确定每种词性对应的词性权重,将每个检索词所属的词性对应的词性权重作为每个检索词的词性权重;
输出模块,用于基于每个候选文本与所述输入文本的相关度,从候选文本中确定出所述输入文本对应的检索结果。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737521.5A CN113505196B (zh) | 2021-06-30 | 2021-06-30 | 基于词性的文本检索方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110737521.5A CN113505196B (zh) | 2021-06-30 | 2021-06-30 | 基于词性的文本检索方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113505196A CN113505196A (zh) | 2021-10-15 |
CN113505196B true CN113505196B (zh) | 2024-01-30 |
Family
ID=78009711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110737521.5A Active CN113505196B (zh) | 2021-06-30 | 2021-06-30 | 基于词性的文本检索方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113505196B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116010560B (zh) * | 2023-03-28 | 2023-06-09 | 青岛阿斯顿工程技术转移有限公司 | 一种国际技术转移数据服务系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137898A (ja) * | 1994-11-08 | 1996-05-31 | Nippon Telegr & Teleph Corp <Ntt> | 文書検索装置 |
CN102982153A (zh) * | 2012-11-29 | 2013-03-20 | 北京亿赞普网络技术有限公司 | 一种信息检索方法及其装置 |
CN105893533A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种文本匹配方法及装置 |
CN109284490A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109284502A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109783727A (zh) * | 2018-12-24 | 2019-05-21 | 东软集团股份有限公司 | 检索推荐方法、装置、计算机可读存储介质及电子设备 |
CN111914179A (zh) * | 2020-08-19 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 基于语义的模糊搜索方法和装置、存储介质及电子设备 |
CN112182145A (zh) * | 2019-07-04 | 2021-01-05 | 北京京东尚科信息技术有限公司 | 文本相似度确定方法、装置、设备和存储介质 |
CN112988969A (zh) * | 2021-03-09 | 2021-06-18 | 北京百度网讯科技有限公司 | 用于文本检索的方法、装置、设备以及存储介质 |
-
2021
- 2021-06-30 CN CN202110737521.5A patent/CN113505196B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08137898A (ja) * | 1994-11-08 | 1996-05-31 | Nippon Telegr & Teleph Corp <Ntt> | 文書検索装置 |
CN102982153A (zh) * | 2012-11-29 | 2013-03-20 | 北京亿赞普网络技术有限公司 | 一种信息检索方法及其装置 |
CN105893533A (zh) * | 2016-03-31 | 2016-08-24 | 北京奇艺世纪科技有限公司 | 一种文本匹配方法及装置 |
CN109284490A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109284502A (zh) * | 2018-09-13 | 2019-01-29 | 武汉斗鱼网络科技有限公司 | 一种文本相似度计算方法、装置、电子设备及存储介质 |
CN109783727A (zh) * | 2018-12-24 | 2019-05-21 | 东软集团股份有限公司 | 检索推荐方法、装置、计算机可读存储介质及电子设备 |
CN112182145A (zh) * | 2019-07-04 | 2021-01-05 | 北京京东尚科信息技术有限公司 | 文本相似度确定方法、装置、设备和存储介质 |
CN111914179A (zh) * | 2020-08-19 | 2020-11-10 | 腾讯科技(深圳)有限公司 | 基于语义的模糊搜索方法和装置、存储介质及电子设备 |
CN112988969A (zh) * | 2021-03-09 | 2021-06-18 | 北京百度网讯科技有限公司 | 用于文本检索的方法、装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于词性和关键词的短文本相似度计算方法;赵明月;计算机时代(第5期);第66-70页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113505196A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829104B (zh) | 基于语义相似度的伪相关反馈模型信息检索方法及系统 | |
US11017178B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
US9613024B1 (en) | System and methods for creating datasets representing words and objects | |
CN110442777B (zh) | 基于bert的伪相关反馈模型信息检索方法及系统 | |
WO2021189951A1 (zh) | 文本搜索方法、装置、计算机设备和存储介质 | |
WO2018049960A1 (zh) | 一种为文本信息匹配资源的方法及装置 | |
US8073877B2 (en) | Scalable semi-structured named entity detection | |
US8543565B2 (en) | System and method using a discriminative learning approach for question answering | |
CN109299280B (zh) | 短文本聚类分析方法、装置和终端设备 | |
US20130060769A1 (en) | System and method for identifying social media interactions | |
WO2007055821A2 (en) | Defining ontologies and word disambiguation | |
CN110162768B (zh) | 实体关系的获取方法、装置、计算机可读介质及电子设备 | |
CN112347758B (zh) | 文本摘要的生成方法、装置、终端设备及存储介质 | |
US20210374168A1 (en) | Semantic cluster formation in deep learning intelligent assistants | |
CN114880447A (zh) | 信息检索方法、装置、设备及存储介质 | |
CN112581327B (zh) | 基于知识图谱的法律推荐方法、装置和电子设备 | |
CN115794995A (zh) | 目标答案获取方法及相关装置、电子设备和存储介质 | |
WO2023033942A1 (en) | Efficient index lookup using language-agnostic vectors and context vectors | |
Sukumar et al. | Semantic based sentence ordering approach for multi-document summarization | |
Yusuf et al. | Query expansion method for quran search using semantic search and lucene ranking | |
CN116150306A (zh) | 问答机器人的训练方法、问答方法及装置 | |
Lin et al. | Enhanced BERT-based ranking models for spoken document retrieval | |
Köksal et al. | Improving automated Turkish text classification with learning‐based algorithms | |
CN113505196B (zh) | 基于词性的文本检索方法、装置、电子设备及存储介质 | |
CN109918661B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |