CN111708862B - 文本匹配方法、装置及电子设备 - Google Patents
文本匹配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111708862B CN111708862B CN202010492261.5A CN202010492261A CN111708862B CN 111708862 B CN111708862 B CN 111708862B CN 202010492261 A CN202010492261 A CN 202010492261A CN 111708862 B CN111708862 B CN 111708862B
- Authority
- CN
- China
- Prior art keywords
- text
- word set
- input
- combined
- target
- 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 56
- 230000009467 reduction Effects 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 description 56
- 238000004364 calculation method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 9
- 238000011946 reduction process Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005265 energy consumption Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 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/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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
技术领域
本申请涉及文本匹配技术领域,特别涉及一种文本匹配方法、装置及电子设备。
背景技术
自然语言理解的许多任务,例如信息检索、自动问答、机器翻译、对话***、复述问题等等,都可以抽象成文本匹配问题。
现有的文本匹配中,通常利用杰卡德相似系数进行文本匹配,杰卡德相似系数用于比较有限样本集之间的相似性与差异性,杰卡德相似系数值越大,样本相似度越高。在对话***中,一般设置有知识库,知识库中预先录入问题句子和对应的答案句子,在进行文本匹配时,将知识库中问题句子作为与用户的输入文本进行匹配的目标文本,从而根据输入文本与目标文本获取对应的杰卡德相似系数。在获取到的杰卡德相似系数达到预设的阈值时,对话***可以自动反馈给用户与该目标文本对应的答案句子。
然而在采用现有的基于杰卡德相似系数的文本匹配方法进行文本匹配时,发现若当输入文本中包含有过多与用户目的无关的词汇,会导致虽然输入文本中用于表示用户目的的词汇很精确,但输入文本与最相似的目标文本的杰卡德相似系数可能过低,导致无法准确匹配,从而降低了文本匹配的准确度。
发明内容
本申请的目的在于至少解决现有技术中存在的技术问题之一,提供一种文本匹配方法、装置、计算机可读存储介质以及电子设备,解决由于输入文本中包含过多与用户目的无关的词汇而造成文本匹配准确度降低的技术问题。
第一方面,本申请实施例提供一种文本匹配方法,包括:
获取终端的输入文本,根据所述输入文本生成第一词集;
将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为数据库中的任一文本;
对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
第二方面,本申请实施例提供一种文本匹配装置,包括:
数据获取模块,用于获取终端的输入文本,根据所述输入文本生成第一词集;
数据合并模块,用于将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为数据库中的任一文本;
数据处理模块,用于对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
数据检测模块,用于检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请第一方面实施例中任一项所述的文本匹配方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本申请第一方面实施例中任一项所述的文本匹配方法。
有益效果:上述的文本匹配方法、装置、电子设备及计算机可读存储介质,获取终端的输入文本,根据所述输入文本生成第一词集;将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;对所述组合词集进行降维处理,简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。通过对组合词集进行降维处理,减小了输入文本中包含有过多与用户目的无关的词汇而导致组合词集中与文本匹配目标无关信息量增加的程度,提高了与文本匹配目标相关信息的比重,从而提升了文本相似度分值,提升了文本匹配的准确度。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
下面结合附图和实施例对本申请进一步地说明;
图1为一个实施例中文本匹配方法的应用环境图。
图2为其中一个实施例中文本匹配方法的流程示意图。
图3为另一个实施例中文本匹配方法的流程示意图。
图4为又一个实施例中文本匹配方法的流程示意图。
图5为一个实施例中智能客服***的交互界面图。
图6为一个实施例中文本匹配装置的结构框图。
图7为另一个实施例中文本匹配装置的结构框图。
图8为一个实施例中计算机设备的结构框图。
具体实施方式
本部分将详细描述本申请的具体实施例,本申请之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本申请的每个技术特征和整体技术方案,但其不能理解为对本申请保护范围的限制。
图1为一个实施例中文本匹配方法的应用环境图。参照图1,该文本匹配方法应用于文本匹配***。该文本匹配***包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端110或移动终端110,移动终端110具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器120或者是多个服务器120组成的服务器120集群来实现。
图5为一个实施例中智能客服***的交互界面图。参照图5,本申请实施例提供的文本匹配方法可以用于多个领域的智能客服***中,其应用场景是用户通过终端110向智能客服***提供输入文本,智能客服***获取用户提供的输入文本后,应用本申请实施例提供的文本匹配方法将输入文本与智能客服***数据库中预存的多个文本进行文本相似度计算,将数据库中与输入文本的文本相似度分值达到阈值的文本作为匹配文本反馈给用户。或者将与该匹配文本对应的相关信息反馈给用户,例如匹配文本是数据库中预存的标准问题,而与该匹配文本对应的相关信息是该标准问题的答案文本,则将该答案文本反馈给用户。例如在购物领域的智能客服***中,用户输入文本是“我的衣服什么时候发货”,经过文本匹配方法获得的匹配文本为“发货时间”,与该匹配文本相关的信息是“下单二十四小时内发货”,则用户通过终端110接收到的答案文本就是“下单二十四小时内发货”。例如在游戏领域的智能客服***中,用户输入文本是“我想要给账号充值”,经过文本匹配方法获得的匹配文本为“游戏充值”,与该匹配文本相关的信息是“游戏充值可以通过打开充值菜单进行”,则用户通过终端110接收到的答案文本就是“游戏充值可以通过打开充值菜单进行”。
可以理解的是,本申请实施例提供的文本匹配方法不限于应用在购物领域和游戏领域的智能客服***中,还可以包括天气查询领域、医疗咨询领域、政务咨询领域、保险咨询领域等不同的领域,在所述技术领域普通技术人员所具备的知识范围内,本申请实施例提供的文本匹配方法可以根据本领域技术人员的具体业务需求应用在不同领域的智能客服***中。
下面,将通过几个具体的实施例对本申请实施例提供的文本匹配方法进行详细介绍和说明。
如图2所示,在一个实施例中,提供了一种文本匹配方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的终端110或服务器120。
参照图2,该文本匹配方法具体包括如下步骤:
步骤S202,获取终端110的输入文本,根据所述输入文本生成第一词集;
其中,终端110可以通过连接于终端110的外设设备获取用户的输入文本,外设设备包括键盘、手写板等。举例说明,用户通过与终端110连接的键盘输入需要进行匹配的输入文本。
服务器120通过无线网络或者有线网络与终端110进行通信,获取终端110的输入文本。服务器120在获取输入文本后,对输入文本进行分词并得到输入文本对应的第一词集。
需要说明的是,分词是指将一个连续的字符序列切分成多个单独的字符或者字符序列。具体地,计算机设备可采用预设的分词方式对输入文本进行分词处理,得到多个字符或者字符序列,从得到输入文本所对应的第一词集。其中,第一词集可以包括一个或者多于一个词,本实施例中,这些词被称为元素。预设的分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
步骤S204,将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为数据库中的任一文本;
可以理解的是,服务器120上安装有数据库,数据库中存储有大量的文本,本实施例中,服务器120每次从数据库中取出的任一文本被称为目标文本。
具体地,对目标文本进行分词生成第二词集的分词方式与对输入文本进行分词生成第一词集的分词方式相同,分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
需要说明的是,将第一词集和第二词集进行元素合并,合并的结果是生成组合词集,合并的过程中遇到第一词集和第二词集具有重复的元素时,则将重复的该元素进行剔除至只保留一个在组合词集中为止,因此生成的组合词集中不会有两个相同的元素。
举例说明,输入文本是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’}。此时,将输入文本和目标文本进行元素合并,生成的组合词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’}。
步骤S206,对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
需要说明的是,将第一词集与所述第二词集之间相同的元素生成特征词集,特征词集一定程度上表示第一词集和第二词集相似的程度。为了更精确地表述第一词集和第二词集之间的相似程度,还需要考虑第一词集和第二词集之间相同的元素在组合集合中的占比,这其实就是杰卡德相似系数的定义,杰卡德相似系数用于比较有限样本集之间的相似性与差异性。杰卡德相似系数值越大,样本相似度越高。
给定两个集合A,B,杰卡德相似系数定义为A与B交集的大小与A与B并集的大小的比值,杰卡德相似系数的定义如下:
举例说明,利用杰卡德相似系数计算,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’}。此时,|A∪B|=6,|A∩B|=2。则利用杰卡德相似系数计算得到的文本相似度分值J如下:
可以理解的是,用户输入的输入文本“我想要给游戏账号充值”,与目标文本“游戏充值”实质上是非常匹配的,即“游戏充值”正是用户输入文本的实际意图。但是利用传统的杰卡德相似系数计算文本相似度时,由于输入文本中存在过多与用户目的无关的词汇,例如{‘我’‘想要’‘给’‘账号’}等,造成虽然输入文本中用于表示用户目的的词汇很精确,但输入文本与最相似的目标文本的杰卡德相似系数可能过低,导致无法准确匹配。
为了解决上述问题,本申请的实施例中,在计算输入文本与所述目标文本的文本相似度分值时,对所述组合词集进行降维处理,简化所述组合词集的元素量,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值。
需要说明的是,对于组合词集进行降维处理就是对组合词集的元素数量进行简化的过程,其结果是使得组合词集的规模缩小,从而缩小组合词集对于文本相似度分值计算的影响。由于组合词集中存在过多与用户目的无关的词汇,而不同的词汇表达了词集在不同维度上的特征,因此通过对组合词集进行降维处理也相应缩小了组合词集中存在的噪声,提高了与文本匹配目标相关信息的比重,从而提升了文本相似度分值,提升了文本匹配的准确度。
具体地,缩小组合词集的规模,对应到文本相似度分值计算公式上,实质就是缩小了对应于组合词集的参数的值。
举例说明,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’};其中,对应于组合词集的参数|A∪B|=6,对应于特征词集的参数|A∩B|=2。
其中一个实施例中,对组合词集进行降维处理采用的具体手段是,将对应于组合词集的参数乘以小于1且大于0的系数,从而缩小该参数的值,本实施例中系数取0.5。当输入文本是A,目标文本是B时,文本相似度分值H的计算公式为:
另外一个实施例中,对组合词集进行降维处理采用的具体手段是,将对应于组合词集的参数进行开方,从而缩小该参数的值,本实施例中进行的开方为求平方根。当输入文本是A,目标文本是B时,文本相似度分值I的计算公式为:
可以理解的是,缩小对应于组合词集的参数不限于上述乘以系数或开方的手段,还包括本领域技术人员可以想到的其他手段。
步骤S208,检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
本实施例中,预设阈值取3/5,当输入文本与目标文本之间的文本相似度分值大于或等于3/5时,认为目标文本与输入文本相匹配,即认为该目标文本为用户输入文本的意图。
举例说明,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’};其中,对应于组合词集的参数|A∪B|=6,对应于特征词集的参数|A∩B|=2。
利用传统的杰卡德相似系数计算输入文本A和目标文本B的文本相似度分值J=1/3;由于过长的输入文本中携带的噪声降低了文本相似度分值,使得J<3/5,导致用户输入文本虽然与目标文本很近似但是却无法匹配。
本申请步骤S206的其中一个实施例中,在通过将对应于组合词集的参数乘以小于1且大于0的系数,从而缩小该参数的值,降低输入文本噪声之后得到的文本相似度分值H=2/3;H>3/5,降低了输入文本噪声对文本匹配的影响,可以准确匹配到符合用户意图的目标文本。
本申请步骤S206的其中一个实施例中,将对应于组合词集的参数进行开方,从而缩小该参数的值,降低输入文本噪声之后得到的文本相似度分值I=4/5;I>3/5,降低了输入文本噪声对文本匹配的影响,可以准确匹配到符合用户意图的目标文本。
因此,当输入文本中包含有过多与用户目的无关的词汇造成组合词集中引入过大噪声时,本申请实施例通过将对应于组成词集的参数进行降维处理,缩小该参数的值,从而降低了过长的输入文本带入该参数中的噪声,从而提高了文本匹配的准确率。
如图3所示,在另一个实施例中,提供了一种文本匹配方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的终端110或服务器120。
参照图3,该文本匹配方法具体包括如下步骤:
步骤S302,获取终端110的输入文本,根据所述输入文本生成第一词集;
其中,终端110可以通过连接于终端110的外设设备获取用户的输入文本,外设设备包括键盘、手写板等。举例说明,用户通过与终端110连接的键盘输入需要进行匹配的输入文本。
服务器120通过无线网络或者有线网络与终端110进行通信,获取终端110的输入文本。服务器120在获取输入文本后,对输入文本进行分词并得到输入文本对应的第一词集。
需要说明的是,分词是指将一个连续的字符序列切分成多个单独的字符或者字符序列。具体地,计算机设备可采用预设的分词方式对输入文本进行分词处理,得到多个字符或者字符序列,从得到输入文本所对应的第一词集。其中,第一词集可以包括一个或者多于一个词,本实施例中,这些词被称为元素。预设的分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
步骤S304,将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为数据库中的任一文本;
可以理解的是,服务器120上安装有数据库,数据库中存储有大量的文本,本实施例中,服务器120每次从数据库中取出的任一文本被称为目标文本。
具体地,对目标文本进行分词生成第二词集的分词方式与对输入文本进行分词生成第一词集的分词方式相同,分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
需要说明的是,将第一词集和第二词集进行元素合并,合并的结果是生成组合词集,合并的过程中遇到第一词集和第二词集具有重复的元素时,则将重复的该元素进行剔除至只保留一个在组合词集中为止,因此生成的组合词集中不会有两个相同的元素。
举例说明,输入文本是“你好,我很想知道当前游戏的版本是多少”,对输入文本分词生成的第一词集为{‘你好’‘我’‘很想’‘知道’‘当前’‘游戏’‘的’‘版本’‘是’‘多少’};目标文本是“游戏版本”,对目标文本进行分词生成的第二词集为{‘游戏’‘版本’}。此时,将输入文本和目标文本进行元素合并,生成的组合词集为{‘你好’‘我’‘很想’‘知道’‘当前’‘游戏’‘的’‘版本’‘是’‘多少’}。
步骤S306,对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,根据所述平均值简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
需要说明的是,将第一词集与所述第二词集之间相同的元素生成特征词集,特征词集一定程度上表示第一词集和第二词集相似的程度。为了更精确地表述第一词集和第二词集之间的相似程度,还需要考虑第一词集和第二词集之间相同的元素在组合集合中的占比,这其实就是杰卡德相似系数的定义,杰卡德相似系数用于比较有限样本集之间的相似性与差异性。杰卡德相似系数值越大,样本相似度越高。
给定两个集合C,D,杰卡德相似系数定义为C与D交集的大小与C与D并集的大小的比值,杰卡德相似系数的定义如下:
举例说明,利用杰卡德相似系数计算,输入文本是C,目标文本是D。输入文本C是“你好,我很想知道当前游戏的版本是多少”,对输入文本分词生成的第一词集为{‘你好’‘我’‘很想’‘知道’‘当前’‘游戏’‘的’‘版本’‘是’‘多少’};目标文本D是“游戏版本”,对目标文本进行分词生成的第二词集为{‘游戏’‘版本’}。此时,|C∪D|=10,|C∩D|=2。则利用杰卡德相似系数计算得到的文本相似度分值J如下:
可以理解的是,用户输入的输入文本“你好,我很想知道当前游戏的版本是多少”,与目标文本“游戏版本”实质上是非常匹配的,即“游戏版本”正是用户输入文本的实际意图。但是利用传统的杰卡德相似系数计算文本相似度时,由于输入文本中存在过多与用户目的无关的词汇,例如{‘你好’‘我’‘很想’‘知道’‘当前’‘的’‘是’‘多少’}等,造成虽然输入文本中用于表示用户目的的词汇很精确,但输入文本与最相似的目标文本的杰卡德相似系数可能过低,导致无法准确匹配。
需要说明的是,本申请实施所要解决的其中一个技术问题是,输入文本过长并且包含了过多与用户目的无关的词汇,从而导致依赖于输入文本而生成的组合词集对应到文本相似度分值计算公式中的参数变大,并且该参数变大对应到文本匹配的含义是引入了与目标文本无关的噪声,所以需要在计算文本相似度分值时将该噪声降低。
需要说明的是,本申请实施例所需要解决的另一个技术问题是:虽然将组合词集对应的参数缩小可以很大程度地降低输入文本中噪声对于文本相似度分值的影响,但是将组合词集对应的参数缩得太小,可能会导致“过度匹配”现象,即由于预设阈值一般都小于1,当组合词集对应的参数缩小程度过大,就可能导致输入文本与大多数目标文本的文本相似度分值超过1,从而判定大多数的目标文本与输入文本匹配,会造成无法准确匹配到符合用户意图的目标句子。
可以理解的是,为了解决上述问题,除了应该缩小组合词集对应的参数以降低噪声,同时该参数缩小的程度也需要引入一个标准以界定。本申请实施例采用的手段是对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值。对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,以简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值。
需要说明的是,对所述组合词集与所述第二词集进行均值运算,实质是对对应于组合词集的参数进行的降维处理,降维处理的目的是降低输入文本引入到组合词集中的噪声,本实施例中对于组合词集进行降维处理就是对组合词集进行简化的过程,本实施例中对组合词集进行降维处理与简化组合词集是相同的意思,其结果是使得组合词集的规模缩小,从而缩小组合词集的噪声对于文本相似度分值计算的影响。因此通过对组合词集进行降维处理也相应缩小了组合词集中存在的噪声,提高了与文本匹配目标相关信息的比重,从而提升了文本相似度分值,提升了文本匹配的准确度。
进一步的,通过均值运算对组合词集对应的参数进行降维处理获得组合词集的元素数量与所述第二词集的元素数量的平均值的手段,将第二词集对应的参数(即第二词集的元素数量)作为缩小组合词集对应参数(即组合词集的元素数量)的标准,由于由第一词集和第二词集生产的特征词集对应的参数(即特征词集的元素数量)小于第二词集对应的参数,因此可以保证文本相似度分值不会大于1,减少“过度匹配”现象。
需要说明的是,当同一输入文本与多个目标文本具有相同的特征词集时,即在特征词集确定的情况下,需要从多个目标文本中选择与输入文本最相似的作为匹配文本。通过在文本相似度分值计算公式中引入了第二词集对应的参数,实现在特征词集确定的情况下,从多个目标文本中选择出与输入文本最相似的文本作为匹配文本。
举例说明,用户的输入文本C是“你好,我很想知道当前游戏的版本是多少”,对应的第一词集{‘你好’‘我’‘很想’‘知道’‘当前’‘游戏’‘的’‘版本’‘是’‘多少’}。数据库中保存的文本包括目标文本D“游戏版本”以及目标文本E“历史游戏版本”,二者作为目标文本时对应的第二词集分别为{‘游戏’‘版本’}和{‘历史’‘游戏’‘版本’}。显然二者与输入文本C具有相同的特征词集,此时,将第二词集对应的参数引入到文本相似度分值计算公式中,用于选择与特征词集更相似的目标文本。例如输入文本C与目标文本D和目标文本E的特征词集均为{‘游戏’‘版本’},但是由于目标文本E的第二词集除了{‘游戏’‘版本’},还包括与{‘历史’}相关的信息,所以认为目标文本D与特征词集更相似。本申请实施例,将第二词集对应的参数引入到文本相似度分值计算公式中,可以选择与特征词集更相似的目标文本。
其中一个实施例中,均值运算为几何平均值运算,当输入文本是C,目标文本分别为D时,输入文本C与目标文本D的文本相似度分值H的计算公式为:
其中一个实施例中,均值运算为几何平均值运算,当输入文本是C,目标文本分别为E时,输入文本C与目标文本E的文本相似度分值I的计算公式为:
可以理解的是,本实施例中的均值运算采用几何平均值运算进行举例说明,但是均值运算还可以包括其他的形式,例如采用算术平均值运算实现均值运算等。
步骤S308,检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
本实施例中,预设阈值取3/10,当输入文本与目标文本之间的文本相似度分值大于或等于3/10时,认为目标文本与输入文本相匹配,即认为该目标文本为用户输入文本的意图。
举例说明,输入文本是C,其中一个目标文本是D,另外一个目标文本是E。输入文本C是“你好,我很想知道当前游戏的版本是多少”,对应的第一词集{‘你好’‘我’‘很想’‘知道’‘当前’‘游戏’‘的’‘版本’‘是’‘多少’}。目标文本D“游戏版本”以及目标文本E“历史游戏版本”,二者作为目标文本时对应的第二词集分别为{‘游戏’‘版本’}和{‘历史’‘游戏’‘版本’}。其中,C与D组合词集对应的参数|C∪D|=10,C与D特征词集对应的参数|C∩D|=2;C与E组合词集对应的参数|C∪E|=10,C与E特征词集对应的参数|C∩E|=2。
利用传统的杰卡德相似系数计算输入文本C和目标文本D的文本相似度分值J1=2/10;利用传统的杰卡德相似系数计算输入文本C和目标文本E的文本相似度分值J2=3/11;由于过长的输入文本中携带的噪声降低了文本相似度分值,使得J1和J2均小于3/10,导致用户输入文本虽然与目标文本很近似但是却无法匹配。
本申请步骤S306的其中一个实施例中,均值运算为几何平均值运算,当输入文本是C,目标文本分别为D时,输入文本C与目标文本D的文本相似度分值H=2/4.47;H>3/10,通过降低输入文本噪声之后,可以准确匹配到符合用户意图的目标文本。
本申请步骤S306的另一个实施例中,均值运算为几何平均值运算,当输入文本是C,目标文本分别为E时,输入文本C与目标文本E的文本相似度分值I=2/5.47;I>3/10,通过降低输入文本噪声之后,可以准确匹配到符合用户意图的目标文本。
进一步地,在其中一个实施例,在检测到所述文本相似度分值大于预设阈值后,检测所述文本相似度分值是否为相似度分值集中的最大值,并在检测到所述文本相似度分值为所述相似度分值集合中的最大值时,将所述目标文本作为所述输入文本的匹配文本;其中,所述相似度分值集由所述输入文本与所述数据库中各文本的相似度分值组成。
举例说明,需要对输入文本C进行文本匹配时,将数据库中的文本逐一取出与输入文本C进行文本相似度分值计算,并构建相似度分值集合。当某一个文本与输入文本C的文本相似度分值高于预设阈值3/10时,将该文本相似度分值加入到相似度分值集中,逐一计算完数据库中的所有文本。例如,本实施例中,相似度分值集包括目标文本D和目标文本E的文本相似度分值H和I。
需要说明的是,由于将第二词集对应的参数引入到文本相似度分值计算公式中,因此相似度分值集中最大值对应的目标文本为与特征词集最相似的目标文本。本实施例中,目标文本D与目标文本E均与输入文本C具有相同的特征词集,但是目标文本D与输入文本C的文本相似度分值大于目标文本E与输入文本C的文本相似度分值,因此目标文本D与特征词集最相似,选择目标文本D作为匹配文本,认为目标文本D最符合用户输入文本C的意图。
可以理解的是,设置相似度分值集将目标文本中的多个文本均与输入文本作文本相似度分值计算,最后再在符合预设阈值的多个目标文本中选择出文本相似度分值最高的文本作为最终的匹配文本,保证对数据库中的所有文本均进行比较后再择优选择最合适的目标文本,可以保证最合适的目标文本不会被漏掉,进一步提升了文本匹配的准确性。
如图4所示,在另一个实施例中,提供了一种文本匹配方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是上述图1中的终端110或服务器120。
参照图4,该文本匹配方法具体包括如下步骤:
步骤S402,获取终端110的输入文本,根据所述输入文本生成第一词集;
其中,终端110可以通过连接于终端110的外设设备获取用户的输入文本,外设设备包括键盘、手写板等。举例说明,用户通过与终端110连接的键盘输入需要进行匹配的输入文本。
服务器120通过无线网络或者有线网络与终端110进行通信,获取终端110的输入文本。服务器120在获取输入文本后,对输入文本进行分词并得到输入文本对应的第一词集。
需要说明的是,分词是指将一个连续的字符序列切分成多个单独的字符或者字符序列。具体地,计算机设备可采用预设的分词方式对输入文本进行分词处理,得到多个字符或者字符序列,从得到输入文本所对应的第一词集。其中,第一词集可以包括一个或者多于一个词,本实施例中,这些词被称为元素。预设的分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
步骤S404,对所述输入文本进行文本分类,确定所述输入文本在数据库中对应的文本类别;
需要说明的是,一个智能客服***可以同时涉及多个领域,例如游戏平台会同时销售与游戏角色有关的游戏角色的手办,因此该游戏平台的智能客服***可能同时涉及购物领域和游戏领域。此时将本申请实施例提供的文本匹配方法应用在该智能客服***中时,由于输入文本过长,一个输入文本中可能包含有两个领域的关键词,例如输入文本为“我购买的游戏角色何时发货”,此时用户的意思可能是其在购物平台购买的“游戏角色手办”何时发货,也有可能是其在游戏中购买的“游戏角色”何时发货。此时由于输入文本过长而带来了二义性问题,如果智能客服***不能够应对输入文本的二义性问题,而只给出其中一个意思对应的答案,会导致用户无法匹配到合适的目标文本,造成用户需要不断调整输入文本,增加用户交互成本,也增加了服务器120的能耗。
需要说明的是,数据库中的文本按照领域划分为多个文本类别,例如购物领域、游戏领域等。本申请实施例中对输入文本进行文本分类,通过文本分类来识别出输入文本可能具有的多个语义,从而保证不会漏掉不同语义对于的目标文本,将对应于多个语义的目标文本反馈给用户,减少用户交互成本和服务器120的能耗。
在其中一个实施例中,数据库中的每个文本按照领域都被划分为确定的文本类别,为了确定输入文本在数据库中对应的文本类别,数据库中的每个文本类别对应设置有类别集合,类别集合中的元素为代表该文本类别的标注文档。确定输入文本在数据库中对应的文本类别实际就是对输入文本进行文本分类,本实施例中采用KNN算法查找数据库的多个类别集合中与输入文本距离最接近的k篇相邻(相似或相同)标注文档,然后根据这K篇邻近文档的分类标注来输入文本的文本类别。
可以理解的是,为了提高文本分类的准确率,数据库的类别集合中的标注文档数量不会太少,如果每次对输入文本进行文本分类都与类别集合中的标注文档进行KNN运算,会增加服务器120的能耗。因此本实施例中,确定输入文本在数据库中对应的文本类别的方法为:将所述输入文本与预存的历史文本集进行文本匹配,获取所述历史文本集中与所述输入文本的相似度最高的历史文本;其中,所述历史文本通过获取所述终端110的历史输入记录生成;对所述输入文本进行文本分类,确定所述输入文本在数据库中对应的文本类别。一般地,考虑到每个终端110的用户一般涉及的领域和提问的内容变化都在一定范围内,不会变动太大,因此服务器120会记录每个终端110提供的输入文本以及相应输入文本对应的文本类别。在该终端110的用户再次与智能客服***进行对话时,服务器120首先会将输入文本与该终端110的历史文本集进行比较,通过计算输入文本与历史文本的杰卡德相似系数获取所述历史文本集中与所述输入文本的相似度最高的历史文本,再将与所述输入文本的相似度最高的历史文本对应于数据库中的文本类别作为输入文本的类别。由于历史文本集中的文本数量少于类别集合中的标注文档的数量,因此极大提高了文本分类的效率,减少了服务器120能耗。
另外一个实施例中,由于历史文本集中的每个历史文本的文本类别都已经得到标注,因此可以将所述输入文本与预存的历史文本集中的各历史文本进行KNN运算,确定所述输入文本的文本类别。由于历史文本集中的文本数量少于类别集合中的标注文档的数量,因此极大提高了文本分类的效率,减少了服务器120能。
步骤S406,提取在所述文本类别下的任一文本作为目标文本,将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;
可以理解的是,服务器120上安装有数据库,数据库中存储有大量的文本,本实施例中,服务器120每次从数据库中取出的任一文本被称为目标文本。
具体地,对目标文本进行分词生成第二词集的分词方式与对输入文本进行分词生成第一词集的分词方式相同,分词方式可以是基于字符匹配、基于语义理解或者基于统计的分词方式等。
需要说明的是,将第一词集和第二词集进行元素合并,合并的结果是生成组合词集,合并的过程中遇到第一词集和第二词集具有重复的元素时,则将重复的该元素进行剔除至只保留一个在组合词集中为止,因此生成的组合词集中不会有两个相同的元素。
举例说明,输入文本是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’}。此时,将输入文本和目标文本进行元素合并,生成的组合词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’}。
需要说明的是,数据库中的文本按照领域划分为多个文本类别,例如购物领域、游戏领域等。本申请实施例中对输入文本进行文本分类,通过文本分类来识别出输入文本可能具有的多个语义,从而保证不会漏掉不同语义对于的目标文本,将对应于多个语义的目标文本反馈给用户,减少用户交互成本和服务器120的能耗。
步骤S408,对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
需要说明的是,将第一词集与所述第二词集之间相同的元素生成特征词集,特征词集一定程度上表示第一词集和第二词集相似的程度。为了更精确地表述第一词集和第二词集之间的相似程度,还需要考虑第一词集和第二词集之间相同的元素在组合集合中的占比,这其实就是杰卡德相似系数的定义,杰卡德相似系数用于比较有限样本集之间的相似性与差异性。杰卡德相似系数值越大,样本相似度越高。
给定两个集合A,B,杰卡德相似系数定义为A与B交集的大小与A与B并集的大小的比值,杰卡德相似系数的定义如下:
举例说明,利用杰卡德相似系数计算,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’}。此时,|A∪B|=6,|A∩B|=2。则利用杰卡德相似系数计算得到的文本相似度分值J如下:
可以理解的是,用户输入的输入文本“我想要给游戏账号充值”,与目标文本“游戏充值”实质上是非常匹配的,即“游戏充值”正是用户输入文本的实际意图。但是利用传统的杰卡德相似系数计算文本相似度时,由于输入文本中存在过多与用户目的无关的词汇,例如{‘我’‘想要’‘给’‘账号’}等,造成虽然输入文本中用于表示用户目的的词汇很精确,但输入文本与最相似的目标文本的杰卡德相似系数可能过低,导致无法准确匹配。
为了解决上述问题,本申请的实施例中,在计算输入文本与所述目标文本的文本相似度分值时,对所述组合词集进行降维处理,简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值。
需要说明的是,对于组合词集进行降维处理就是对组合词集进行简化的过程,本实施例中对组合词集进行降维处理与简化组合词集是相同的意思,其结果是使得组合词集的规模缩小,从而缩小组合词集对于文本相似度分值计算的影响。由于组合词集中存在过多与用户目的无关的词汇,因此通过对组合词集进行降维处理也相应缩小了组合词集中存在的噪声,提高了与文本匹配目标相关信息的比重,从而提升了文本相似度分值,提升了文本匹配的准确度。
具体地,缩小组合词集的规模,对应到文本相似度分值计算公式上,实质就是缩小了对应于组合词集的参数的值。
举例说明,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’};其中,对应于组合词集的参数|A∪B|=6,对应于特征词集的参数|A∩B|=2。
其中一个实施例中,对组合词集进行降维处理采用的具体手段是,将对应于组合词集的参数乘以小于1且大于0的系数,从而缩小该参数的值,本实施例中系数取0.5。当输入文本是A,目标文本是B时,文本相似度分值H的计算公式为:
另外一个实施例中,对组合词集进行降维处理采用的具体手段是,将对应于组合词集的参数进行开方,从而缩小该参数的值,本实施例中进行的开方为求平方根。当输入文本是A,目标文本是B时,文本相似度分值I的计算公式为:
另外一个实施例中,对组合词集进行降维处理采用的具体手段是,对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,以简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值。本实施例中进行的均值运算为几何平均值运算。当输入文本是A,目标文本是B时,文本相似度分值K的计算公式为:
可以理解的是,缩小对应于组合词集的参数不限于上述乘以系数或开方的手段,还包括本领域技术人员可以想到的其他手段。
步骤S410,检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
本实施例中,预设阈值取3/5,当输入文本与目标文本之间的文本相似度分值大于或等于3/5时,认为目标文本与输入文本相匹配,即认为该目标文本为用户输入文本的意图。
举例说明,输入文本是A,目标文本是B。输入文本A是“我想要给游戏账号充值”,对输入文本分词生成的第一词集为{‘我’‘想要’‘给’‘游戏’‘账号’‘充值’};目标文本B是“游戏充值”,对目标文本进行分词生成的第二词集为{‘游戏’‘充值’};其中,对应于组合词集的参数|A∪B|=6,对应于特征词集的参数|A∩B|=2。
利用传统的杰卡德相似系数计算输入文本A和目标文本B的文本相似度分值J=1/3;由于过长的输入文本中携带的噪声降低了文本相似度分值,使得J<3/5,导致用户输入文本虽然与目标文本很近似但是却无法匹配。
本申请步骤S408的其中一个实施例中,在通过将对应于组合词集的参数乘以小于1且大于0的系数,从而缩小该参数的值,降低输入文本噪声之后得到的文本相似度分值H=2/3;H>3/5,降低了输入文本噪声对文本匹配的影响,可以准确匹配到符合用户意图的目标文本。
本申请步骤S408的其中一个实施例中,将对应于组合词集的参数进行开方,从而缩小该参数的值,降低输入文本噪声之后得到的文本相似度分值I=4/5;I>3/5,降低了输入文本噪声对文本匹配的影响,可以准确匹配到符合用户意图的目标文本。
本申请步骤S408的其中一个实施例中,对组合词集进行降维处理采用的具体手段是,对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,以简化所述组合词集,降低输入文本噪声之后得到的文本相似度分值K=2/3.46;K>3/5,降低了输入文本噪声对文本匹配的影响,可以准确匹配到符合用户意图的目标文本。
因此,当输入文本中包含有过多与用户目的无关的词汇造成组合词集中引入过大噪声时,本申请实施例通过将对应于组成词集的参数进行降维处理,缩小该参数的值,从而降低了过长的输入文本带入该参数中的噪声,从而提高了文本匹配的准确率。
如图6所示,在一个实施例中,提供了一种文本匹配装置600。参照图6,该文本匹配装置600包括:数据获取模块602、数据合并模块604、数据处理模块606和数据检测模块608。
数据获取模块602,用于获取终端110的输入文本,根据所述输入文本生成第一词集。
数据合并模块604,用于将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为数据库中的任一文本。
数据处理模块606,用于对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集。
数据检测模块608,用于检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
在一个实施例中,所述数据处理模块606具体用于:对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,根据所述平均值简化所述组合词集的元素数量;其中,所述均值运算包括几何平均值运算。
如图7所示,在一个实施例中,文本匹配装置600还包括数据分类模块603。数据分类模块603用于对所述输入文本进行文本分类,确定所述输入文本在所述数据库中对应的文本类别;提取在所述文本类别下的任一文本作为所述目标文本。
在一个实施例中,所述数据分类模块603还用于将所述输入文本与预存的历史文本集进行文本匹配,获取所述历史文本集中与所述输入文本的相似度最高的历史文本;其中,所述历史文本通过获取所述终端110的历史输入记录生成;根据所述历史文本在所述数据库中对应的文本类别,确实所述输入文本的文本类别。
在一个实施例中,所述数据分类模块603还用于将所述输入文本与预存的历史文本集中的各历史文本进行KNN运算,确定所述输入文本的文本类别。
上述文本匹配装置600,获取终端110的输入文本,根据所述输入文本生成第一词集;将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;对所述组合词集进行降维处理,简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。通过对组合词集进行降维处理,减小了输入文本中包含有过多与用户目的无关的词汇而导致组合词集中与文本匹配目标无关信息量增加的程度,提高了与文本匹配目标相关信息的比重,从而提升了文本相似度分值,提升了文本匹配的准确度。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图8所示,该计算机设备包括该计算机设备包括通过***总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作***,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现文本匹配方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文本匹配方法。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的文本匹配装置600可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该文本匹配装置的各个程序模块,比如,图6所示的数据获取模块602、数据合并模块604、数据处理模块606和数据检测模块608。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的文本匹配方法中的步骤。
例如,图8所示的计算机设备可以通过如图6所示的文本匹配装置中的数据获取模块602执行获取终端110的输入文本,根据所述输入文本生成第一词集的在步骤。通过数据合并模块604执行将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集的步骤。通过数据处理模块606执行对所述组合词集进行降维处理,简化所述组合词集,并根据第一词集与第二词集生成的特征词集在简化后的所述组合词集中的元素占比,获取所述输入文本与所述目标文本的文本相似度分值的步骤。通过数据检测模块608执行检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本的步骤。
在一个实施例中,提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时执行上述文本匹配方法的步骤。此处文本匹配方法的步骤可以是上述各个实施例的文本匹配方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述文本匹配方法的步骤。此处文本匹配方法的步骤可以是上述各个实施例的文本匹配方法中的步骤。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
Claims (4)
1.一种文本匹配方法,其特征在于,包括:
获取终端的输入文本,根据所述输入文本生成第一词集;
将所述输入文本与预存的历史文本集进行文本匹配,获取所述历史文本集中与所述输入文本的相似度最高的历史文本;其中,所述历史文本通过获取所述终端的历史输入记录生成,根据所述历史文本在数据库中对应的文本类别,确实所述输入文本的文本类别;
或,
将所述输入文本与预存的历史文本集中的各历史文本进行KNN运算,确定所述输入文本的文本类别;
提取在所述文本类别下的任一文本作为目标文本;
将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为所述输入文本在数据库中对应的文本类别下的任一文本;
对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;
所述对所述组合词集进行降维处理,简化所述组合词集的元素数量,包括:
对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,根据所述平均值简化所述组合词集的元素数量;其中,所述均值运算包括几何平均值运算;
检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
2.根据权利要求1所述的一种文本匹配方法,其特征在于,所述在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本,包括:
在检测到所述文本相似度分值大于预设阈值后,检测所述文本相似度分值是否为相似度分值集中的最大值,并在检测到所述文本相似度分值为所述相似度分值集合中的最大值时,将所述目标文本作为所述输入文本的匹配文本;其中,所述相似度分值集由所述输入文本与所述数据库中各文本的相似度分值组成。
3.一种文本匹配装置,其特征在于,包括:
数据获取模块,用于获取终端的输入文本,根据所述输入文本生成第一词集;
数据分类模块,用于将所述输入文本与预存的历史文本集进行文本匹配,获取所述历史文本集中与所述输入文本的相似度最高的历史文本;其中,所述历史文本通过获取所述终端的历史输入记录生成,根据所述历史文本在数据库中对应的文本类别,确实所述输入文本的文本类别;或,将所述输入文本与预存的历史文本集中的各历史文本进行KNN运算,确定所述输入文本的文本类别;提取在所述文本类别下的任一文本作为目标文本;
数据合并模块,用于将所述第一词集与根据目标文本生成的第二词集进行元素合并,生成组合词集;其中,所述目标文本为所述输入文本在数据库中对应的文本类别下的任一文本;
数据处理模块,用于对所述组合词集进行降维处理,简化所述组合词集的元素数量,并根据第一词集与第二词集生成的特征词集的元素量在简化后的所述组合词集的元素量中的占比,获取所述输入文本与所述目标文本的文本相似度分值;其中,所述特征词集为所述第一词集与所述第二词集之间相同的元素形成的词集;所述对所述组合词集进行降维处理,简化所述组合词集的元素数量,包括:对所述组合词集与所述第二词集进行均值运算,获取所述组合词集的元素数量与所述第二词集的元素数量的平均值,根据所述平均值简化所述组合词集的元素数量;其中,所述均值运算包括几何平均值运算;
数据检测模块,用于检测所述文本相似度分值是否大于预设阈值,并在检测到所述文本相似度分值大于预设阈值后,将所述目标文本作为所述输入文本的匹配文本。
4.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至2中任一项所述的文本匹配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010492261.5A CN111708862B (zh) | 2020-06-02 | 2020-06-02 | 文本匹配方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010492261.5A CN111708862B (zh) | 2020-06-02 | 2020-06-02 | 文本匹配方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708862A CN111708862A (zh) | 2020-09-25 |
CN111708862B true CN111708862B (zh) | 2024-03-15 |
Family
ID=72538590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010492261.5A Active CN111708862B (zh) | 2020-06-02 | 2020-06-02 | 文本匹配方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708862B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860846A (zh) * | 2021-01-19 | 2021-05-28 | 平安科技(深圳)有限公司 | 问题词汇的推荐方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207905A (zh) * | 2013-03-28 | 2013-07-17 | 大连理工大学 | 一种基于目标文本的计算文本相似度的方法 |
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答*** |
CN109635077A (zh) * | 2018-12-18 | 2019-04-16 | 武汉斗鱼网络科技有限公司 | 文本相似度的计算方法、装置、电子设备及存储介质 |
CN110502752A (zh) * | 2019-08-21 | 2019-11-26 | 北京一链数云科技有限公司 | 一种文本处理方法、装置、设备及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915327B (zh) * | 2014-03-14 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 一种文本信息的处理方法及装置 |
-
2020
- 2020-06-02 CN CN202010492261.5A patent/CN111708862B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207905A (zh) * | 2013-03-28 | 2013-07-17 | 大连理工大学 | 一种基于目标文本的计算文本相似度的方法 |
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答*** |
CN109635077A (zh) * | 2018-12-18 | 2019-04-16 | 武汉斗鱼网络科技有限公司 | 文本相似度的计算方法、装置、电子设备及存储介质 |
CN110502752A (zh) * | 2019-08-21 | 2019-11-26 | 北京一链数云科技有限公司 | 一种文本处理方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111708862A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210224286A1 (en) | Search result processing method and apparatus, and storage medium | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN111368043A (zh) | 基于人工智能的事件问答方法、装置、设备及存储介质 | |
CN109508458B (zh) | 法律实体的识别方法及装置 | |
JP2013541793A (ja) | マルチモード検索クエリー入力手法 | |
CN106708929B (zh) | 视频节目的搜索方法和装置 | |
US10699112B1 (en) | Identification of key segments in document images | |
CN112527972A (zh) | 基于深度学习的智能客服聊天机器人实现方法和*** | |
KR101472451B1 (ko) | 디지털 콘텐츠 관리 시스템 및 방법 | |
CN111400340B (zh) | 一种自然语言处理方法、装置、计算机设备和存储介质 | |
CN110909768B (zh) | 一种标注数据获取方法及装置 | |
CN106570196B (zh) | 视频节目的搜索方法和装置 | |
CN111708862B (zh) | 文本匹配方法、装置及电子设备 | |
CN111143515B (zh) | 文本匹配方法及装置 | |
CN110377721B (zh) | 自动问答方法、装置、存储介质及电子设备 | |
CN112487263A (zh) | 一种信息处理方法、***、设备及计算机可读存储介质 | |
CN111104422A (zh) | 一种数据推荐模型的训练方法、装置、设备及存储介质 | |
CN111708872B (zh) | 对话方法、装置及电子设备 | |
CN116186219A (zh) | 一种人机对话交互方法方法、***及存储介质 | |
CN112989040B (zh) | 一种对话文本标注方法、装置、电子设备及存储介质 | |
CN112905752A (zh) | 一种智能交互方法、装置、设备以及存储介质 | |
CN111708863B (zh) | 基于doc2vec的文本匹配方法、装置及电子设备 | |
CN112861974A (zh) | 文本分类方法、装置、电子设备及存储介质 | |
CN111708884A (zh) | 文本分类方法、装置及电子设备 | |
CN117931858B (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 |