一种文本匹配方法、装置、计算机设备及存储介质与流程

文档序号:18755695发布日期:2019-09-24 22:18阅读:154来源:国知局
一种文本匹配方法、装置、计算机设备及存储介质与流程

本发明涉及自然语言处理领域,尤其涉及一种文本匹配方法、装置、计算机设备及存储介质。



背景技术:

随着互联网数据量的暴增,通过传统的检索技术满足用户精细化的信息需求变得越来越难。为了能够更好地理解用户输入的信息,计算机需要更多地理解复杂的自然语言。互联网中已有并且还在飞速增长的海量数据包含了丰富的知识,如何将这些知识加工好并且准确地匹配到相应的问题,是一个非常具有挑战性的任务。完成这个匹配过程,传统的信息检索会对用户输入的问题(通常为短文本)和所有候选集的相关性做排序。而问答系统是将用户输入的问题和一个现有的<问题,答案>候选集匹配,匹配的方式可以是先在问题库中查找与用户问题相似的问题,再确定出相似问题对应的答案。

如何在问题库中查找与用户问题相似的问题,也就是短文本的语义相似度问题,现有问答系统中有多种实现方式,例如:

传统文本相似度算法将句子表示成关键词集上的一个0-1向量,使用tf-idf等度量调节权重,代表性算法为bm25。近年来,随着深度学习的突破和快速推广,一类以词向量做单词表示,用lstm、注意力机制等技术框架为主体的相似度算法开始流行。另外一种算法是基于检索和用户点击反馈的逻辑,将相似度和用户的行为建立关联,从而确定相关性,代表性算法是dssm。

然而,现有问答系统的上述多种实现方式均存在着诸多缺陷,具体如下:

以bm25为代表的传统算法依赖于比较完美的数据集。该数据集可以代表全局的统计规律。当所解决的问题是存在特定领域问题时,搜集这样的数据集是比较困难的。这类算法依赖于一个相对较大的数据集,而且因为它是基于文档的算法,在短文本上的相似度上会大打折扣。基于深度学习的相似度算法在效果上有较大提高,但缺点也很明显,模型的迭代升级会导致结果的不一致性,同时可解释性大大降低,无法明确知道为什么匹配到这个结果而不是那个结果,当发现不合理情况时,可以调整的空间非常有限。

因此,如何提高短文本相似性匹配的准确率和可解释性,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种文本匹配方法、装置、计算机设备及存储介质,通过在语义编码的基础上实现文本匹配,能够提高短文本相似性匹配的准确率和可解释性。

本发明实施例提供的具体技术方案如下:

第一方面,本发明提供一种文本匹配方法,所述方法包括:

对用户输入文本进行处理,得到关键词组合和句式;

对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码,使用所述关键词组合编码和所述句式编码共同表征所述用户输入文本的语义;

将所述语义在预先存储的语义集合中进行匹配,其中,所述语义集合中包含与多个预设文本分别对应的预设语义;

若匹配成功,则将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本。

结合第一方面,在第一种可能的实现方式中,所述关键词组合的数量为多个,所述对用户输入文本进行处理,得到关键词组合和句式,包括:

对所述用户输入文本进行分词、过滤,获得多个词语;

按照自定义词典,从所述多个词语中提取出至少一个候选词语,并对所述多个词语中除所述至少一个候选词语之外剩余的词语按顺序拼接成所述句式;

确定所述至少一个候选词语各自所属的概念,并对所述至少一个候选词语以及所述至少一个候选词语各自所属的概念进行笛卡尔积运算,形成多个所述关键词组合。

结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码,包括:

根据预设方式将所述关键词组合中的各字符串进行转换,在转换得到的各字符串之间增加连接符并按照第一预设编码方式进行编码,得到所述关键词组合编码;

对所述句式的字符串按照第二预设编码方式进行编码,得到所述句式编码。

结合第一方面,在第三种可能的实现方式中,所述将所述语义在预先存储的语义集合中进行匹配,包括:

将所述语义在所述语义集合中进行精确匹配;

如果精确匹配不成功,则将所述语义在所述语义集合中进行模糊匹配。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,将所述语义在语义集合中进行精确匹配,包括:

在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相同的预设语义;

若存在,则确定精确匹配成功,否则,则确定精确匹配不成功。

结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,将所述语义在所述语义集合中进行模糊匹配,包括:

在所述语义集合中,查找是否存在关键词组合编码与所述语义的关键词组合编码相匹配的预设语义,且所述预设语义的句式编码为空;

若存在所述预设语义,则确定模糊匹配成功;

若不存在所述预设语义,则在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相匹配的预设语义;

若存在,则确定模糊匹配成功,否则,则确定模糊匹配不成功。

结合第一方面的第三种至第五种的任意一种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:

所述方法还包括:

若模糊匹配不成功,则在所述语义集合中,查找是否存在句式编码与所述语义的句式编码相同的预设语义;

若存在所述预设语义,则获取所述预设语义的关键词组合编码对应的关键词组合;

判断获取到的关键词组合中的关键词与所述用户输入文本的关键词组合中的关键词是否存在蕴含关系;

若存在,则确定匹配成功,否则,则确定匹配不成功。

结合第一方面,在第七种可能的实现方式中,所述对用户输入文本进行处理,得到关键词组合和句式步骤之前,所述方法还包括:

所述对用户输入文本进行处理,得到关键词组合和句式步骤之前,所述方法还包括:

对所述预设文本进行处理,得到所述预设文本的关键词组合和句式;

对所述预设文本的关键词组合和句式进行编码,得到所述预设文本的关键词组合编码和句式编码,使用所述预设文本的关键词组合编码和句式编码表示所述预设文本的预设语义;

将所述预设语义保存至所述语义集合中,并保存所述预设文本与预设语义之间的对应关系。

第二方面,提供了一种文本匹配装置,所述装置包括:

处理模块,用于对用户输入文本进行处理,得到关键词组合和句式;

编码模块,用于对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码,使用所述关键词组合编码和所述句式编码共同表征所述用户输入文本的语义;

匹配模块,用于将所述语义在预先存储的语义集合中进行匹配,其中,所述语义集合中包含与多个预设文本分别对应的预设语义;

确定模块,用于若匹配成功,则将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本。

第三方面,提供了一种计算机设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面任意一种所述的方法。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面任意一种所述的方法。

本发明提供的文本匹配方法、装置、计算机设备及存储介质,通过对用户输入文本进行关键词组合和句式分离,并分别编码得到关键词组合编码和句式编码,使用关键词组合编码和句式编码共同表征用户输入文本的语义,以及将用户输入文本的语义在预先存储的语义集合中进行匹配,并将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本,由此可以提高问答系统中短文本相似性匹配的准确率和可解释性,同时通过采用全新的编码手段,能够实现语义匹配的灵活应用,并实现业务和自然语言处理技术完全分离,极大地降低维护成本。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本明实施例提供的方法的应用场景示意图;

图2示出了本发明实施例提供的一种文本匹配方法的流程图;

图3示出了图2中的步骤201的流程图;

图4示出了图2中的步骤202的流程图;

图5示出了图2中的步骤203的流程图;

图6示出了本发明实施例中的语义匹配的流程图;

图7示出了本发明实施例提供的一种文本匹配方法的流程图;

图8示出了本发明实施例提供的一种文本匹配装置的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,在本发明的描述中,除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

还应当理解,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

请参照图1所示,图1示出了本明实施例提供的方法的应用场景示意图,其中,终端102通过网络与服务器104进行通信,服务器104接收终端102发送的用户输入文本,并执行文本匹配方法,该文本匹配方法适用于问答系统中。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

请参照图2所示,图示出了本发明实施例提供的一种文本匹配方法的流程图,该方法可以在服务器上执行,该方法包括以下步骤:

步骤201、对用户输入文本进行处理,得到关键词组合和句式。

其中,所述关键词组合包含按顺序排列的至少一个关键词。

本实施例中,用户输入文本可以为用户在终端上输入的短文本,也可以是通过对用户在终端上输入的语音进行识别得到的文本,还可以是用户通过其他方式输入的文本。对用户输入文本进行解析为两部分:关键词组合和句式。所谓关键词,是指在特定领域不可缺少的核心词汇,包括术语、行为和涉及的主客体。关键词组合是指把关键词按照在文本中出现的顺序拼接成的一个数组。任何一句文本,除去所有关键词,剩余的文本合在一起叫做句式。例如:小王是一名工程师。在通用领域,“小王”是一个人,“工程师”是一个职业。关键词是一句话的核心,这个例句里面的关键词组合是[小王,工程师],“是一名”是句式。若仅有“小王,工程师”,也基本可以表达“是一名”的含义。这就是关键词之于句式的含义。

本实施例中,为了提高语义表达的泛化能力,对于抽取的关键词,还可以用一个更概括的概念来代替它。比如上面的例子中,“小王”可以概括为人名。那么对于不同的人名某某,“某某是一名工程师”就具有相同的语义。当然是否要这样抽象,取决于真实的业务场景。如果对不同的关键词需要有相同的回答,而且这些关键词属于同一概念,那么就可以抽象。

步骤202、对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码,使用所述关键词组合编码和所述句式编码共同表征所述用户输入文本的语义。

本实施例中,可以对关键词组合的各个关键词采用各种常见编码方式进行编码转换,并按各个关键词在用户输入文本中的位置顺序进行拼接得到关键词组合编码;可以对用户输入文本的句式采用各种常见编码方式进行编码转换,得到句式编码。其中,常见编码方式例如utf8、unicode、url、base64、md5等。

在得到用户输入文本的关键词组合编码和句式编码后,使用关键词组合编码和句式编码共同表征用户输入文本的语义。

步骤203、将所述语义在预先存储的语义集合中进行匹配,其中,所述语义集合中包含与多个预设文本分别对应的预设语义。

本实施例中,语义集合中包含与多个预设文本分别对应的预设语义,预设语义由对应的预设文本的关键词编码和句式编码进行表示。通过将用户输入文本的语义在预先存储的语义集合中进行匹配,从而可以在全量短文本中确定出与用户输入文本语义上最相似文本。匹配过程可以采用从精确匹配到模糊匹配的分层降级策略。

步骤204、若匹配成功,则将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本。

本实施例中,若在语义集合中成功匹配到预设语义,则匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本,并输出该预设文本。

若在语义集合中未成功匹配到预设语义,则输出用于指示匹配失败的消息。

本发明实施例提供一种文本匹配方法,该方法通过对用户输入文本进行关键词组合和句式分离,并分别编码得到关键词组合编码和句式编码,使用关键词组合编码和句式编码共同表征用户输入文本的语义,以及将用户输入文本的语义在预先存储的语义集合中进行匹配,并将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本,由此可以提高问答系统中短文本相似性匹配的准确率和可解释性,同时通过采用全新的编码手段,能够实现语义匹配的灵活应用,并实现了业务和自然语言处理技术完全分离,极大地降低维护成本。

在一个优选实施例中,如图3所示,所述关键词组合的数量为多个,所述步骤201中对用户输入文本进行处理,得到关键词组合和句式的实现过程可以包括如下步骤:

301:对所述用户输入文本进行分词、过滤,获得多个词语。

具体地,使用中文分词工具对用户输入文本进行分词,得到分词列表,对分词列表中的各个词语按照其词性进行过滤,滤除不需要的词语。

其中,中文分词工具可以采用结巴分词,对分词获得分词列表中的各词语进行词性分析,词性具体包括:名词、动词、形容词、数词、量词、代词、副词、介词、连词、助词、语气词、拟声词和叹词等。

语气词、叹词、拟声词等对语义的影响在问答场景下几乎可以忽略,所以先在分词列表中删除这类词汇。对分词列表中的各词语按照其词性进行过滤,滤除不需要的词语。

此外,对分词列表进行过滤还包括错别字纠正、分词、同义词替换、标点符号移除、停用词移除等处理。

302:按照自定义词典,从所述多个词语中提取出至少一个候选词语,并对所述多个词语中除所述至少一个候选词语之外剩余的词语按顺序拼接成所述句式。

具体地,使用自定义的领域词典从所述多个词语中来提取至少一个候选词语。对所述多个词语中除所述至少一个候选词语之外剩余的词汇按顺序组成句式。其中,对于保险问答场景而言,领域词典可以是保险领域词典。

303:确定所述至少一个候选词语各自所属的概念,并对所述至少一个候选词语以及所述至少一个候选词语各自所属的概念进行笛卡尔积运算,形成多个所述关键词组合。

本实施例中,对每一个候选词语分别抽象成概念,得到每一个候选词语所属的概念。每个关键词可能属于0到n个概念,n为自然数。例如,保险领域内,概念可以为保险产品、保险公司、疾病等。

在得到候选词语所属的概念后,使用笛卡尔积运算枚举所有可能的组合,每个组合都构成一个候选的关键词组合。

示例性地,关键词组合为[a,b]。a所属概念为a1、a2,b所属概念为b1、b2。那么使用笛卡尔积运算,得到的关键词组合有九组,包括:[a,b]、[a1,b]、[a2,b]、[a,b1]、[a1,b1]、[a2,b1]、[a,b2]、[a1,b2]、[a2,b2]。

在一个优选实施例中,如图4所示,上述步骤202中对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码的实现过程可以包括如下步骤:

401:根据预设方式将所述关键词组合中的各字符串进行转换,在转换得到的各字符串之间增加连接符并按照第一预设编码方式进行编码,得到所述关键词组合编码。

具体地,对关键词组合中的字符串x,按如下预设方式进行转换:

如果x是一个概念(即,词槽),那么在x前面加2,表示为“2x”;

如果x是一个候选词语(即,普通词汇),那么在x前面加1,表示为“1x”;

在按预设方式对关键词组合的各字符串进行转换后,对关键词组合中的各组成元素对应的字符串之间增加连接符,其中,连接符可以以“_”或“-”等进行表示,这样通过对转换得到的各字符串之间增加连接符,关键词组合即对应一个唯一字符串。例如,关键词组合[a,b2]对应的唯一字符串为“1a_2b2”。

其中,第一预设编码方式可以为md5编码、utf8、unicode、url或base64。以md5编码作为优选。

本发明实施例中,通过根据预设方式将关键词组合中的各字符串进行转换,在转换得到的各字符串之间增加连接符并按照第一预设编码方式进行编码,得到关键词组合编码,如此可以无需再依次对每个候选词语或其对应的概念做一一比对,由此可以极大提高关键词组合的匹配效率。

402:对所述句式的字符串按照第二预设编码方式进行编码,得到所述句式编码。

其中,第二预设编码方式可以是与第一预设编码方式相同或不同的编码方式,第二预设编码方式可以为md5编码、utf8、unicode、url或base64。以md5编码作为优选。

在一个优选实施例中,如图5所示,上述步骤203中将所述语义在预先存储的语义集合中进行匹配的实现过程可以包括如下步骤:

501:将所述语义在所述语义集合中进行精确匹配。

具体地,在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相同的预设语义;若存在,则确定精确匹配成功,否则,则确定精确匹配不成功。

本实施例中,用户输入文本的语义的关键词组合编码与预设语义的关键词编码相同,且该语义的句式编码与该预设语义的句式编码也相同,则可以确定精确匹配成功。

502:如果精确匹配不成功,则将所述语义在所述语义集合中进行模糊匹配。

具体地,该过程可以包括:

在所述语义集合中,查找是否存在关键词组合编码与所述语义的关键词组合编码相匹配的预设语义,且所述预设语义的句式编码为空;

若存在所述预设语义,则确定模糊匹配成功;

若不存在所述预设语义,则在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相匹配的预设语义;

若存在,则确定模糊匹配成功,否则,则确定模糊匹配不成功。

本实施例中,通常一个文本的绝大部分语义蕴含在关键词组合中。影响关键词组合匹配的因素有关键词的数量、关键词的顺序以及关键词在语义上的关联。如果两个文本的关键词均大于一数量阈值(该数量阈值可以根据需要进行设置,如设置为2)且内容和顺序完全相同,可以认为关键词组合是匹配的。于本实施例中,可以通过对语义的关键词组合编码中的各个关键词编码与预设语义的关键词组合编码中的各个关键词编码进行比对,若二者相同的关键词编码的数量超过阈值,且相同的关键词编码在各自的关键词组合编码的位置顺序一致,则确定语义的关键词组合编码与预设语义的关键词组合编码相匹配。

本实施例中,在语义集合中,若存在关键词组合编码与所述语义的关键词组合编码相匹配的预设语义,且所述预设语义的句式编码为空,则模糊匹配结果成功。此类情况多用于名词解释、概念对比等场景。

本实施例中,在语义集合的各预设语义中,可以通过计算句式编码之间的相似度确定出相匹配的句式编码,计算相似度的算法可以使用编辑距离等度量,也可以用深度学习进行编码后比较向量间的距离。

其中,将所述语义在预先存储的语义集合中进行匹配进一步还包括:

若模糊匹配不成功,则在所述语义集合中,查找是否存在句式编码与所述语义的句式编码相同的预设语义;若存在所述预设语义,则获取所述预设语义的关键词组合编码对应的关键词组合;判断获取到的关键词组合中的关键词与所述用户输入文本的关键词组合中的关键词是否存在蕴含关系,若存在,则确定匹配成功,否则,则确定匹配不成功。

本实施例中,蕴含关系是指在一个关键词包含另外一个关键词的含义。例如“中国”蕴含“国家”。关键词蕴含的实现方式可以包括但不限于知识图谱的方式。

为了便于理解本发明的将所述语义在预先存储的语义集合中进行匹配这一过程,以下通过具体示例进行说明。

如图6所示,图6示出了本发明实施例中的语义匹配的流程图,假如用户输入文本的关键词组合编码表示为ki,用户输入文本的句式编码表示为fi,用户输入文本的语义可以表示为si=<ki,fi>,语义集合表示为s。首先执行精确匹配:如果si=<ki,fi>在语义集合s中,那么关键词组合、句式完全匹配,匹配完成,返回si。当精确匹配不成功时,则执行模糊匹配:如果语义集合s中,包含一个句式为空的语义sj,且sj的关键词组合为ki,那么二者语义匹配,返回匹配语义sj=<ki,空>,通常这种情况多用于名词解释、概念对比等场景。如果语义集合s中,符合<ki,f>的语义很多,那么可以从所有符合条件的f中找出与fi最相似的句式编码,在选取到最相近的句式fj时,返回匹配语义sk=<ki,fj>。当模糊匹配不成功时,则执行句式匹配,关键词蕴含:对于关键词组合k1=<w1,w2,...>和k2=<v1,v2,...>,如果对于任意i,都有wi=vi或者wi->vi,那么k1->k2。如果s中存在<kj,fi>满足kj->ki,那么匹配成功,返回匹配语义sl=<kj,fi>,如果s中不存在<kj,fi>满足kj->ki,则匹配失败,结束。

在一个优选实施例中,如图7所示,该文本匹配方法除了包括图1中描述的步骤之外,在步骤201之前,还包括步骤701至步骤703,为了描述简洁起见,省略了图2中描述的步骤,其中:

步骤701、对预设文本进行处理,得到预设文本的关键词组合和句式。

其中,预设文本包含在问题库的全量短文本中。

具体地,该步骤的实现过程可以包括:

针对问题库中的每一预设文本,执行如下操作:

对所述预设文本进行分词、过滤,获得所述预设文本的多个词语;

按照自定义词典,从所述预设文本的多个词语中提取出至少一个关键词,根据提取到的至少一个关键词,形成所述预设文本的关键词组合;以及

对所述预设文本的多个词语中除提取到的所述至少一个关键词之外剩余的词语按顺序拼接成所述预设文本的句式。

需要说明的是,预设文本的关键词组合的数量仅为一个。

步骤702、对所述预设文本的关键词组合和句式进行编码,得到所述预设文本的关键词组合编码和句式编码,使用所述预设文本的关键词组合编码和句式编码表示所述预设文本的预设语义。

具体地,对所述预设文本的关键词组合进行编码,得到所述预设文本的关键词组合编码,包括:

根据预设方式将所述预设文本的关键词组合中的各字符串进行转换,在转换得到的各字符串之间增加连接符并按照第一预设编码方式进行编码,得到所述预设文本的关键词组合编码。

其中,对预设文本的关键词组合中的字符串x,按如下预设方式进行转换:

如果x是一个概念(即,词槽),那么在x前面加2,表示为“2x”;

如果x是一个候选词语(即,普通词汇),那么在x前面加1,表示为“1x”;

在按预设方式对关键词组合的各字符串进行转换后,对关键词组合中的各组成元素对应的字符串之间增加连接符,其中,连接符可以以“_”或“-”等进行表示,这样通过对转换得到的各字符串之间增加连接符,关键词组合即对应一个唯一字符串。例如,关键词组合[a,b2]对应的唯一字符串为“1a_2b2”。

其中,第一预设编码方式可以为md5编码、utf8、unicode、url或base64。以md5编码作为优选。

具体地,对所述预设文本的关键词组合进行编码,得到所述预设文本的句式编码,包括:

对所述句式的字符串按照第二预设编码方式进行编码,得到所述句式编码。

其中,第二预设编码方式可以是与第一预设编码方式相同或不同的编码方式,第二预设编码方式可以为md5编码、utf8、unicode、url或base64。以md5编码作为优选。

步骤703、将所述预设语义保存至所述语义集合中,并保存所述预设文本与预设语义之间的对应关系。

本发明实施例中,通过将预设文本的关键词组合和句式分别编码,得到关键词组合编码和句式编码,并共同表示预设文本的语义,由此能够极大地减少数据存储空间,并提高后续文本检索匹配的效率。

作为对上述实施例中的文本匹配方法的实现,本发明实施例还提供一种文本匹配装置,如图8所示,该装置包括:

处理模块81,用于对用户输入文本进行处理,得到关键词组合和句式;

编码模块82,用于对所述关键词组合和所述句式进行编码,得到关键词组合编码和句式编码,使用所述关键词组合编码和所述句式编码共同表征所述用户输入文本的语义;

匹配模块83,用于将所述语义在预先存储的语义集合中进行匹配,其中,所述语义集合中包含与多个预设文本分别对应的预设语义;

确定模块84,用于若匹配成功,则将匹配成功的预设语义对应的预设文本确定为所述用户输入文本的匹配文本。

在一个优选实施例中,所述关键词组合的数量为多个,所述处理模块81具体用于:

对所述用户输入文本进行分词、过滤,获得多个词语;

按照自定义词典,从所述多个词语中提取出至少一个候选词语,并对所述多个词语中除所述至少一个候选词语之外剩余的词语按顺序拼接成所述句式;

确定所述至少一个候选词语各自所属的概念,并对所述至少一个候选词语以及所述至少一个候选词语各自所属的概念进行笛卡尔积运算,形成多个所述关键词组合。

在一个优选实施例中,所述编码模块82具体用于:

根据预设方式将所述关键词组合中的各字符串进行转换,在转换得到的各字符串之间增加连接符并按照第一预设编码方式进行编码,得到所述关键词组合编码;

对所述句式的字符串按照第二预设编码方式进行编码,得到所述句式编码。

在一个优选实施例中,所述匹配模块83包括:

第一匹配单元831,用于将所述语义在所述语义集合中进行精确匹配;

第二匹配单元832,用于如果精确匹配不成功,则将所述语义在所述语义集合中进行模糊匹配。

在一个优选实施例中,所述第一匹配单元831具体用于:

在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相同的预设语义;

若存在,则确定精确匹配成功,否则,则确定精确匹配不成功。

在一个优选实施例中,所述第二匹配单元832具体用于:

在所述语义集合中,查找是否存在关键词组合编码与所述语义的关键词组合编码相匹配的预设语义,且所述预设语义的句式编码为空;

若存在所述预设语义,则确定精确匹配成功;

若不存在所述预设语义,则在所述语义集合中,查找是否存在关键词组合编码、句式编码与所述语义的关键词组合编码、句式编码分别相匹配的预设语义;

若存在,则确定模糊匹配成功,否则,则确定模糊匹配不成功。

在一个优选实施例中,所述匹配模块83还包括第三匹配单元833,所述第三匹配单元833具体用于:

若模糊匹配不成功,则在所述语义集合中,查找是否存在句式编码与所述语义的句式编码相同的预设语义;

若存在所述预设语义,则获取所述预设语义的关键词组合编码对应的关键词组合;

判断获取到的关键词组合中的关键词与所述用户输入文本的关键词组合中的关键词是否存在蕴含关系;

若存在,则确定匹配成功,否则,则确定匹配不成功。

在一个优选实施例中,所述处理模块81,还用于对所述预设文本进行处理,得到所述预设文本的关键词组合和句式;

所述编码模块82,还用于对所述预设文本的关键词组合和句式进行编码,得到所述预设文本的关键词组合编码和句式编码,使用所述预设文本的关键词组合编码和句式编码表示所述预设文本的预设语义;

所述装置还包括存储模块85;

所述存储模块85,用于将所述预设语义保存至所述语义集合中,并保存所述预设文本与预设语义之间的对应关系。

本实施例提供的文本匹配装置,与本发明实施例所提供的文本匹配方法属于同一发明构思,可执行本发明任意实施例所提供的文本匹配方法,具备执行文本匹配方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的文本匹配方法,此处不再加以赘述。

此外,本发明另一实施例还提供了一种计算机设备,包括:

一个或者多个处理器;

存储器;

存储在存储器中的程序,当被一个或者多个处理器执行时,程序使处理器执行如上述实施例所述的文本匹配方法的步骤。

此外,本发明另一实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被处理器执行时,使得处理器执行如上述实施例所述的文本匹配方法的步骤。

本领域内的技术人员应明白,本发明实施例中的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例中是参照根据本发明实施例中实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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