首页> 中国专利> 近义词挖掘方法及相关设备

近义词挖掘方法及相关设备

摘要

本申请提供了一种近义词挖掘方法及相关设备,本申请提出直接对通用汉语词库中的原词语进行词向量相似度计算,快速、可靠且精准得到相应原词语的语义相似度较高的预设个数的第一候选近义词,并从预构建的初始近义词映射词典包含的多个近义词词组中,获取这些第一候选近义词直接和/或间接映射的第二候选近义词,实现对第一候选近义词的补充,经过过滤筛选后,得到相应原词语的完整且准确的目标候选近义词,从而保证据此构建的近义词映射词典的完整性和通用的,满足不同领域的近义词查询需求;且相对于用户针对各领域关键词语,人工挖掘补充相应的近义词的方法,极大提高了近义词挖掘效率和准确性,降低了人工成本。

著录项

  • 公开/公告号CN113822039A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN202110673132.0

  • 发明设计人 周辉阳;

    申请日2021-06-17

  • 分类号G06F40/194(20200101);G06F40/242(20200101);G06F40/247(20200101);G06F40/30(20200101);G06F16/31(20190101);G06F16/33(20190101);G06F16/335(20190101);

  • 代理机构44285 深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人夏欢

  • 地址 518000 广东省深圳市南山区高新区科技中一路腾讯大厦35层

  • 入库时间 2023-06-19 13:46:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-10-11

    实质审查的生效 IPC(主分类):G06F40/194 专利申请号:2021106731320 申请日:20210617

    实质审查的生效

说明书

技术领域

本申请涉及自然语言处理技术领域,具体涉及一种近义词挖掘方法及相关设备。

背景技术

人机交互是指用户与计算机系统之间使用某种对话语言,以一定的交互方式,为完成确定任务而发生的信息交换过程。以问答系统这种计算机系统为例进行应用说明,随着人工智能(Artificial Intelligence,AI)技术在问答系统中的应用,ES(ElasticSearch,一种搜索服务器)获得用户输入的问题后,可以采用深度匹配算法(如BM25算法),从数据库中搜索一批与该问题匹配的候选回复信息,再从中确定最匹配的候选回复信息作为最合理的答复反馈给用户,满足用户需求。

在实际应用中,由于自然语言表达多样性,可能无法搜索到与用户输入问题内容相匹配的候选回复信息,这种情况下,通常是由用户对输入的问题内容中的关键词语进行近义词替换,如“请问如何取消这个订单?”修改为“请问如何撤销这个订单?”、“请问如何解除这个订单?”等,再搜索与更新后的问题内容相匹配的候选回复信息。

但是,对于上述关键词语的近义词,通常是用户基于自身对本领域关键词语的近义词积累确定的,导致所确定的近义词数量有限,往往不完整,甚至会替换错误近义词,进而降低了回复信息查询效率和准确性。

发明内容

有鉴于此,本申请实施例提出了以下技术方案:

一方面,本申请提出了一种近义词挖掘方法,所述方法包括:

对汉语词库中不同领域的原词语进行词向量相似度计算,得到与相应原词语的语义相似度较高的预设个数的第一候选近义词;

调用预构建的初始近义词映射词典;所述初始近义词映射词典包括多个第一近义词词组;

从所述多个第一近义词词组中,获取与所述第一候选近义词存在映射关系的第二候选近义词;其中,所述映射关系包括直接映射关系和/或间接映射关系;

对所述第一候选近义词和所述第二候选近义词进行过滤筛选,得到所述汉语词库中相应原词语的目标候选近义词。

在一些实施例中,所述对汉语词库中不同领域的原词语进行词向量相似度计算,得到与相应原词语的语义相似度较高的预设个数的第一候选近义词,包括:

将所述汉语词库中不同领域的原词语输入词向量模型,输出所述不同领域的原词语的分布式词向量;其中,所述词向量模型是基于通用语料库包含的词向量训练语料的训练学习得到的;

对得到的所述分布式词向量进行词语语义相似度计算,得到相似度计算结果;

利用所述相似度计算结果,从所述汉语词库中,筛选与所述汉语词库中任一领域的原词语的词语语义相似度较高的预设个数的第一候选近义词。

在一些实施例中,所述对得到的所述分布式词向量进行词语语义相似度计算,得到相似度计算结果,利用所述相似度计算结果,从所述汉语词库中,筛选与所述汉语词库中任一领域的原词语的词语语义相似度较高的预设个数的第一候选近义词,包括:

利用得到的所述分布式词向量,构建k-d树;

按照最近邻搜索方式,对所述k-d树中各节点数据进行相似度搜索,得到与任一节点数据的词语语义相似度较高的预设个数的分布式词向量;

将所述预设个数的分布式词向量各自对应的所述汉语词库中的原词语确定为第一候选近义词。

在一些实施例中,所述从所述多个第一近义词词组中,获取与所述第一候选近义词存在映射关系的第二候选近义词,包括:

从所述多个第一近义词词组中,查询与各所述第一候选近义词存在直接映射关系的第一近义词;

从所述多个第一近义词词组中,查询与各所述第一近义词存在直接映射关系的第二近义词;

由所述第一近义词和/或所述第二近义词,组成与所述第一候选近义词存在映射关系的第二候选近义词。

在一些实施例中,所述初始近义词映射词典的构建方法包括:

从至少一个预设数据源,获取多个第二近义词词组;

对所述多个第二近义词词组进行融合处理,得到初始近义词映射词典。

在一些实施例中,所述对所述第一候选近义词和所述第二候选近义词进行过滤筛选,得到所述汉语词库中相应原词语的目标候选近义词,包括:

对所述第一候选近义词和所述第二候选近义词进行去重处理;

获取去重处理后的所述第一候选近义词和所述第二候选近义词各自的候选词向量;

对所述汉语词库中相应原词语的词向量与各所述候选词向量进行相似度计算,得到该原词语与相应的所述第一候选近义词或所述第二候选近义词的词语语义相似度;

从去重处理后的所述第一候选近义词和所述第二候选近义词中,筛选所述词语语义相似度达到相似度阈值的候选近义词,确定为该原词语的目标候选近义词。

在一些实施例中,所述获取去重处理后的所述第一候选近义词和所述第二候选近义词各自的候选词向量,包括:

调用中文预训练语言模型;

将去重处理后的所述第一候选近义词和所述第二候选近义词输入所述中文预训练语言模型,得到相应候选近义词的候选词向量。

在一些实施例中,所述方法还包括:

利用得到的所述汉语词库中不同领域的原词语的所述目标候选近义词,构建目标近义词映射词典。

在一些实施例中,所述方法还包括:

获取用户输入的任一领域的待查询词语;

查询所述目标近义词映射词典中,与所述待查询词语存在直接映射关系的目标近义词;

利用所述目标近义词,执行针对所述待查询词语的预设操作。

在一些实施例中,所述利用所述目标近义词,执行针对所述待查询词语的预设操作,包括以下任一种实现方式:

将所述目标近义词推送至目标客户端进行展示;其中,所述目标客户端是指采集所述用户输入的任一领域的待查询词语的客户端;

若所述待查询词语是从用户输入的问题信息中提取的,将所述问题信息中的所述待查询词语替换为所述目标近义词,获取与得到更新问题信息匹配的回复信息,反馈至目标客户端输出。

又一方面,本申请还提出了一种近义词挖掘装置,所述装置包括:

词向量相似度计算模块,用于对汉语词库中不同领域的原词语进行词向量相似度计算,得到与相应原词语的语义相似度较高的预设个数的第一候选近义词;

词典调用模块,用于调用预构建的初始近义词映射词典;所述初始近义词映射词典包括多个第一近义词词组;

近义词补充处理模块,用于从所述多个第一近义词词组中,获取与所述第一候选近义词存在映射关系的第二候选近义词;其中,所述映射关系包括直接映射关系和/或间接映射关系;

过滤筛选模块,用于对所述第一候选近义词和所述第二候选近义词进行过滤筛选,得到所述汉语词库中相应原词语的目标候选近义词。

又一方面,本申请还提出了一种计算机设备,计算机设备包括:

通信接口;

存储器,用于存储实现如上述的近义词挖掘方法的程序;

处理器,用于加载并执行所述存储器存储的程序,实现如上述的近义词挖掘方法的各步骤。

又一方面,本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器调用执行,实现如上述的近义词挖掘方法。

由此可见,在本申请提出的近义词挖掘方法中,计算机设备将直接对通用汉语词库中的原词语进行词向量相似度计算,快速、可靠且精准得到相应原词语的语义相似度较高的预设个数的第一候选近义词,并从预构建的初始近义词映射词典包含的多个近义词词组中,获取这些第一候选近义词直接和/或间接映射的第二候选近义词,实现对第一候选近义词的补充,经过过滤筛选后,得到相应原词语的完整且准确的目标候选近义词,从而保证据此构建的近义词映射词典的完整性和通用的,满足不同领域的近义词查询需求;且相对于用户针对各领域关键词语,人工挖掘补充相应的近义词的方法,极大提高了近义词挖掘效率和准确性,降低了人工成本。

附图说明

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

图1为本申请提出的一种近义词挖掘方法的流程示意图;

图2为适用于本申请提出的近义词挖掘方法和装置的一种计算机设备实施例的硬件结构示意图;

图3为适用于本申请提出的近义词挖掘方法和装置的一可选应用场景的系统架构示意图;

图4为适用于本申请提出的近义词挖掘方法和装置的移动终端的一可选示例的硬件结构示意图;

图5为本申请提出的近义词挖掘方法的一可选示例的流程示意图;

图6为本申请提出的近义词挖掘方法的又一可选示例的流程示意图;

图7为本申请提出的近义词挖掘方法的又一可选示例的流程示意图;

图8为本申请提出的近义词挖掘方法应用于智能客服场景的示意图;

图9为本申请提出的近义词挖掘装置的一可选示例的结构示意图;

图10为本申请提出的近义词挖掘装置的又一可选示例的结构示意图。

具体实施方式

结合背景技术部分的描述内容可知,由于用户自身对不同领域的近义词积累有限,为了能够快速、准确获得本领域关键词语更多的近义词,提出利用搜索服务器从该领域的近义词映射字典中,搜索与用户输入的原词语存在直接映射关系的近义词,再推送至用户进行选择。其中,参照图1所示的近义词词典构建方法,在构建该近义词字典过程中,通常是先对某一领域的关键词语进行挖掘,再利用用户自身近义词组积累知识(如图1中的众包脑暴补充方式),或从如某度汉语近义词查询网页中(即图1所示的某度汉语补充方式),查询该领域的关键词语的近义词,据此构建该领域的近义词映射词典,这样,在后续查询该领域的近义词映射词典,对该领域的问题信息中的关键词语进行近义词替换,实现更加全面、准确的回复信息筛选。

但是,这种人工挖掘近义词,以构建某领域的近义词映射词典的实现方法,挖掘效率比较低,需要人工编写近义词组映射关系的速度慢,且需要花费较高的编写和审核成本,根本无法满足产品迭代更新的需求。而且,基于这种近义词挖掘方法所能够构建的近义词词典,受限于所获得的某领域关键词语和人工补充近义词的经验,导致所构建的近义词映射字典的内容不够全面和准确,即仅适用于相应领域词语的近义词查询,从而降低了基于该近义词字典进行近义词搜索的搜索结果的精准度,进而影响了问答系统的查询准确性。

且由于不同领域的关键词语往往是不同的,对于成百上千甚至更多领域来说,每一个领域都需要本领域关键词挖掘、近义词人工补充,导致人工成本非常高,且处理周期较长,逐个挖掘各领域词语映射的近义词的方法费时费力,是不现实的,也无法保证所挖掘到的各领域词语映射的近义词的完整性和准确性。

为了进一步改善上述问题,本申请提出利用人工智能(ArtificialIntelligence,AI)技术来构建通用的近义词映射字典,不用再依赖有限领域的知识和语料,且整个构建过程可以利用深度学习/机器学习等算法实现,不用依赖人工经验,挖掘补充领域关键词语映射的近义词,极大提高了工作效率、准确性和全面性,进而保证基于近义词挖掘结果所构建的通用近义词映射字典应用到浏览器搜索、问答系统的问题修改检索的场景下,能够快速、精准且全面得到用户所需的搜索结果。

具体的,本申请提出借助通用各领域的汉语词库,对其进行词向量相似度计算,来获取汉语词库中各领域的原词语的语义相似度较高的第一候选近义词,即从汉语词库中筛选出词语语义相似度较高的topN个候选近义词,整个过程不需要人工挖掘补充,保证了所筛选的N个第一候选近义词的客观性、准确性。

其中,词向量也可以称为Word嵌入式,是自然语言处理(Nature Languageprocessing,NLP)中的一组语言建模和特征学习技术的统称,其中来自词汇表的单词或短语被映射到实数的向量。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。

为了进一步扩大补充所筛选出的N个第一候选近义词,本申请还提出借助基于从如词林、各搜索网站等多个数据源爬取的近义词词组,构建的初始近义词映射字典(其具体可以基于上文近义词挖掘方法构建)中,筛选与topN个候选近义词具有直接映射关系和/或间接映射关系的Y个近义词,作为这topN个候选近义词的补充,记为第二候选近义词。

之后,对得到topN+Y个候选近义词进行过滤筛选,如去重过滤等,得到汉语词库中相应原词语的目标候选近义词,用于推送至用户选择,或补充构建通用的近义词映射词典,或替换用户输入问题信息中的关键词语,以得到一个或多个新的问题信息,从数据库中筛选与新的问题信息相匹配的回复信息等,关于基于挖掘到的目标候选近义词所执行的后续操作,可以依据具体应用场景需求确定,本申请对此不做限制。

如上文描述可知,本申请是借助通用且全面的汉语词库,实现对其包含的任一领域的原词语的近义词挖掘,且整个实现过程是利用AI技术实现,而不是人工挖掘补充,保证了最终所得目标候选近义词的客观性、准确性及全面性,大大节省了人工成本,进而保证了基于汉语词库中的各词语,按照上述方式挖掘到的相应目标候选近义词,构建得到的近义词映射词典的通用性,不再局限于某一领域的近义词查询,使其能够适用于不同领域的问答查询,且保证查询结果精准度和全面性。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。且为了便于描述,附图中仅示出了与有关发明相关的部分,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合,也就是说,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,本申请中使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。以下术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。

另外,本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

参照图2,为实现本申请提供的近义词挖掘方法的一种计算机设备实施例的硬件结构示意图,该计算机设备可以是服务设备或具有一定数据处理能力的终端设备。其中,服务设备可以是一个独立的物理服务器,也可以是多个物理服务器集成的物理服务集群,也可以是基于云技术(Cloud technology)实现云计算的云服务器等。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。

上述终端设备可以包括但并不局限于智能手机、平板电脑、可穿戴设备、个人计算机(personal computer,PC)、上网本、个人数字助理(personal digital assistant,PDA)、智能手表、增强现实技术(Augmented Reality,AR)设备、虚拟现实(Virtual Reality,VR)设备、车载设备、智能音箱、机器人、台式计算机等。具体产品类型可以依据实际应用场景(如智能客服、智能医疗、车联网、自动驾驶、智慧交通、智能营销、智能家居等场景)的需求确定,本申请对不同场景所需产品类型不做限制。

需要说明,图2示出的计算机设备结构仅仅是一个示例,不应对本申请实施例计算机设备的功能和使用范围带来任何限制。如图2所示,该计算机设备可以包括:通信接口11、存储器12和处理器13;

实际应用中,通信接口11、存储器12和处理器13可以通过通信总线实现相互间的通信,且通信接口11、存储器12和处理器13及通信总线的数量可以为至少一个,关于这几部分的具体连接方式,及其与计算机设备其他组件的连接方式,可视情况而定,本申请在此不做详述。

通信接口11可以为通信模块的接口,如GSM模块、WIFI模块或其他无线/有线通信网络的通信接口,在本申请实际应用中,可以用于接收其他设备发送的数据,如用户输入的语料或词语、从第三方平台爬取的近义词词组等,还可以向其他设备发送所挖掘的目标候选近义词等,可视情况而定,本申请不做一一详述。另外,该通信接口11还可以包括如USB接口、串/并口等接口,用于实现计算机设备内部组成部件之间的数据交互,可以根据该计算机设备的产品类型确定,本申请不做一一详述。

存储器12可以用于存储实现本申请实施例提出的近义词挖掘方法的程序;处理器13可以用于加载并执行存储器12存储的程序,实现本申请实施例提出的近义词挖掘方法的各步骤,具体实现过程可以参照但并不局限于下文实施例的描述内容。

在本申请实施例中,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。处理器13,可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件等。本申请对计算机设备中存储器12和处理器13的具体类型不做限制,可视情况而定。

在一些实施例中,若上述计算机设备为服务设备,如图3所示的适用于本申请提出的近义词挖掘方法的一可选应用场景的系统架构示意图,该系统可以包括安装有客户端的终端设备21,以及支持客户端实现近义词挖掘的服务设备22,用户可以在客户端的查询页面,输入待查询词语或问题信息等,终端设备检测到用户输入信息后,发送至服务设备,服务设备可以按照本申请提出的近义词挖掘方法,获得待查询词语(用户直接输入的,或从输入的问题信息中提取得到的)的目标后续近义词,反馈至客户端展示,供用户选择替换待查询词语。

其中,在如智能客服场景下,服务设备也可以直接将获得目标候选近义词替换待挖掘原词语,得到新问题信息后,召回相匹配的回复信息反馈至客户端输出。需要说明,在不同场景下,服务设备基于用户输入信息,所反馈的信息内容可能不同,本申请在此不做一一列举。

应该理解的是,图2所示的计算机设备的结构并不构成对本申请实施例中计算机设备的限定,在实际应用中,计算机设备可以包括比图2所示的更多或更少的部件,或者组合某些部件,本申请在此不做一一列举。

在一些实施例中,若上述计算机设备为具有一定数据处理能力的终端设备,或者是对于与上述服务设备进行数据通信,实现本申请提出的近义词挖掘方法的终端设备,如图4所示,其也可以包括通信接口、存储器和处理器,此外,根据产品类型的不同,还可以包括图像采集器、显示屏、拾音器、麦克风、传感器模组、电源管理模组、天线等至少一个输入组件、输出组件等,可视情况而定,本申请在此不做详述。

在实际应用中,如本申请所公开的近义词挖掘方法或装置,其中所挖掘到的汉语词库中各原词语映射的目标候选近义词,可以存储至区块链上,具体可以将得到的通用的近义词词组转换成预设映射格式,构成通用的目标近义词映射词典后,将该通用的目标近义词映射词典存储至区块链上,以供后续实现不同领域词语的近义词快速、精准查询。在一些实施例中,如上述服务设备可以是区块链上的一节点,本申请对该区块链的分布式结构不做详述。

下面将结合上文计算机设备实施例的描述,对本申请提出的近义词挖掘方法进行解释,参照图5所示的本申请提出的近义词挖掘方法的一可选示例的流程示意图,该方法可以适用于上述计算机设备,关于该计算机设备的产品类型,可以依据具体应用场景需求确定,本申请对该产品类型不做限制。如图5所示,该方法可以包括但并不局限于以下步骤:

步骤S11,调用汉语词库;

步骤S12,对该汉语词库中不同领域的原词语进行词向量相似度计算,得到与相应原词语的语义相似度较高的预设个数的第一候选近义词;

本申请提出的近义词挖掘方法适用于任一领域的关键词语的近义词挖掘,结合上文对本申请技术构思的相关描述,为了保证所挖掘近义词的客观性和全面性,提高挖掘效率,解决人工挖掘补充近义词所存在的各种问题,本申请提出基于词向量相似度计算方式,对包含各领域词语的汉语词库进行词语语义相似度计算,筛选该汉语词库中各领域的原词语的候选近义词。也就是说,本申请提出利用词向量来更好度量不同汉语词库中词语之间的语义相似性,以便据此实现语义相似词语的聚类。

其中,汉语词库包含的不同领域的原词语,可以是由若干字符组成,如一个字符、两个字符、三个字符或四个字符等,本申请对该原词语包含的字符数量不做限制,可视情况而定。

关于各词语的词向量,本申请可以利用人工智能技术中的自然语言处理(NLP)技术,具体可以根据需要选择文本处理、语义理解、机器翻译、机器人问答、知识图谱等至少技术,获取各词语的词向量。根据场景需要,本申请还可以结合如人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等机器学习技术实现,如构建词向量模型,来获取各词语的词向量即语义空间向量,具体实现过程本申请实施例在此不做详述。

具体的,本申请利用python自带的gensim工具包,执行预设一行命令,调用海量通用词向量训练语料,训练初始词向量模型,得到符合训练约束条件的词向量模型,用于生成不同领域的任一词语的词向量。本申请对词向量模型的训练实现方法不做限制,可视情况而定。

本申请获取汉语词库中各词语的词向量,即语义空间向量之后,可以采用如余弦相似度、欧式距离等相似度计算方法,实现向量相似度计算,以便依据相似度计算结果,筛选出汉语词库中相应原词语的语义相似度较高的预设个数的词语,为相应原词语的候选近义词,为了方便描述本申请将此时筛选出的候选近义词记为第一候选近义词。需要说明,本申请对预设个数的数值,以及步骤S12的具体相似度计算方法均不做限制,均可视情况而定。

在一些实施例中,为了提高第一候选近义词的筛选效率,相对于对原词语的词向量,与汉语词库中其他词语的词向量进行相似度全量计算的方式,本申请实施例可以获取汉语词库的分布式词向量,采用k-d树(k-dimensional树,一种分割k维数据空间的数据结构,用于多维空间关键数据的搜索,如范围搜索和最近邻搜索等)算法,实现预设个数的第一候选近义词的快速召回,具体实现过程可以结合k-d树算法的运算原理确定,本申请实施例在此不做详述。需要说明,对于第一候选近义词的词向量快速召回算法,并不局限于k-d树算法。

步骤S13,调用预构建的初始近义词映射词典;该初始近义词映射词典包括多个第一近义词词组;

本申请实施例中,可以从至少一个预设数据源,如词林、wordnet(一种基于认知语言学的词典)、某度汉语网站等数据源,获取相应预设数据源包含的多个近义词词组(为了方便描述,这些近义词词组记为第一近义词词组,可以理解的是,在每一个第一近义词词组中可以包括与某一词语具有直接映射关系的一个或多个近义词,且不同第一近义词词组包含的词语数量可能不同),之后,可以按照预设的数据融合策略,对获取的多个第一近义词词组进行融合处理,得到初始近义词映射词典。可见,该初始近义词映射词典包括来自至少是一个预设数据源的近义词词组,本申请对近义词词组的具体表示方式本申请不做限制。

示例性的,以从两个数据源获取其包含的第一近义词词组为例,由数字表示爬取到的不同词语,若从数据源A获取到的第一近义词词组可以表示为:{“1”:[“11”,”111”],…},即数据源A中与词语“1”存在直接映射关系的近义词包括词语“11”和词语“111”;从数据源B获取到的第一近义词词组可以表示为:{“1”:[“12”,”13”],…},即数据源B中与词语“1”存在直接映射关系的近义词包括词语“12”和词语“13”,之后,可以将相同原词语(如“1”)直接映射的近义词融合起来,得到的初始近义词映射词典可以表示为:{“1”:[“11”,“111”,“12”,“13”],…}。其中,对于更多的数据源、更多的原词语的不同数据源的近义词词组融化处理过程类似,本申请不做一一详述,且对于映射词典包含的近义词词组内容的表示方式,包括但并不局限于上文描述的方式。

基于上文描述的初始近义词映射词典的构建方法,可以理解该初始近义词映射词典包含的数据量往往不是很丰富,很多词语并未包含在该初始近义词映射词典中,且词语直接映射的近义词可能不完整,也不支持新的热门词语的近义词查询。所以,本申请在查询原词语的近义词时,并不是直接基于该初始近义词映射词典查询。但可以利用该初始近义词映射词典包含的各近义词词组,来补充所筛选到的待挖掘原词语的候选近义词。

步骤S14,从这多个第一近义词词组中,获取与第一候选近义词存在映射关系的第二候选近义词;

继上文描述,按照上述方式从汉语词库中筛选出第一候选近义词之后,进一步从初始近义词映射词典中,查询与各第一候选近义词存在直接和/或间接映射关系的近义词,如上文所示的初始近义词映射词典的内容表示方式中,每一个第一候选近义词后面中括号内直接映射的第一近义词;每一个第一近义词后面括号内直接映射的第二近义词,即相应第一候选近义词间接映射的近义词,由查询到的第一近义词和/或第二近义词,组成与第一候选近义词存在映射关系的第二候选近义词,实现对第一候选近义词的近义词挖掘补充。

由此可见,上文描述的映射关系可以包括直接映射关系和/或间接映射关系。该直接映射关系是指对应两个词语为直接近义词词组,如初始近义词映射词典{“1”:[“11”,“111”,”12”,“13”],…“12”:[“121”,“122”,“1”],…}中,词语“1”与词语“11”之间的映射关系;间接映射关系可以指相应两个词语在近义词词典中不是直接近义词,这两个词语之间的近义词关系是由其他词语分别与这两个词语之间的近义词关系传递确定的,如词语“1”与词语“12”之间存在直接映射关系,词语“12”与词语“121”之间存在直接映射关系,那么,可以说词语“1”与词语“121”之间存在间接直接映射关系,即词语“1”与词语“121”之间的关系,是由词语“12”传输的间接近义词关系。

应该理解,根据实际近义词筛选需求的变化,本申请还可以按照上述方式筛选三阶近义词等,具有更长的近义词关系的传递路径的候选近义词,并不局限于上文描述的第二候选近义词,实现过程类似,本申请不做详述。

步骤S15,对第一候选近义词和第二候选近义词进行过滤筛选,得到汉语词库中相应原词语的目标候选近义词;

步骤S16,利用得到的汉语词库中不同领域的原词语的目标候选近义词,构建目标近义词映射词典。

按照上文描述的近义词挖掘方法,得到的预设个数的第一候选近义词,和一定个数的第二候选近义词后,由于这些候选近义词并不是从一个数据源中筛选得到的,来自相同或不同数据源的不同近义词词组中,可能包含具有映射关系的相同词语,分别以其中的不同词语为原词语,查询到的近义词可能会出现重复词语,也可能存在一些质量较差的候选近义词,本申请提出先对筛选出的第一候选近义词和第二候选近义词再过滤筛选一遍,以剔除重复词语、质量较差词语、不合理词语等,将剩余词语作为目标候选近义词。

之后,可以将确定的汉语词库中相应原词语的目标候选近义词,可以补充到近义词映射词典中,以提高近义词映射词典的全面性,或直接由整个汉语词库包含的各原词语的目标候选近义词,与该汉语词库,构建具有通用性的目标近义词映射词典,不再局限于适用于某一领域的近义词挖掘及查询,保证了基于该目标近义词映射词典所查询到的某一词语映射的目标候选近义词的准确性、完整性,更好地满足应用需求;且由于整个近义词挖掘过程,不需要人工挖掘补充,而是利用人工智能技术自动实现,提高了近义词挖掘效率和精准度。

参照图6,为本申请提出的近义词挖掘方法的又一可选示例的流程示意图,本实施例可以是对上文实施例描述的近义词挖掘方法的一可选细化和扩展实现方法,但并不局限于本申请实施例描述的实现方法,如图6所示,该方法可以包括但并不局限于以下步骤:

步骤S21,调用汉语词库;

步骤S22,将汉语词库中不同领域的原词语输入词向量模型,输出不同领域的原词语的分布式词向量;

本申请实施例中,该词向量模型可以是基于通用语料库包含的词向量训练语料(如海量通用词向量训练语料)训练得到的,通常情况下,这多个词向量训练语料可以包括汉语词库中某一个或多个词语,从而保证基于该词向量模型,获得汉语词库中词语的词向量的精准度和可靠性。

需要说明,本申请对上述词向量模型的具体训练实现方法不做限制,可视情况而定。在一些实施例中,可以将获取的海量的词向量训练语料作为样本数据,输入初始word2vec模型进行训练学习,直至满足预设训练约束条件(如训练次数达到预设次数、收敛、损失值小于损失阈值等,本申请对该预设训练约束条件的内容不做限制),将最终训练得到的word2vec模型确定为词向量模型。由于该词向量模型是基于通用语料进行训练得到的,保证其能够用于生成各领域词语的词向量。

其中,word2vec结构的词向量模型的训练实现过程,可以依据word2vec模型的工作原理确定,本申请在此不做详述。在实际应用中,可以在计算机设备中安装gensim,即Python NLP的库,之后,可以利用gensim工具实现word2vec模型的训练,具体训练实现过程不做详述。

在又一些实施例中,本申请还可以利用初始BERT(Bidirectional EncoderRepresentations from Transformer)模型等,对海量词向量训练语料进行训练学习,构建词向量模型,并不局限于上文描述的word2vec模型,可视情况而定。其中,该BERT模型是利用大规模无标注训练语料进行模型训练,获得文本包含丰富语义信息的Representation,即文本的语义表达,也可以称为语义向量表达,之后,将该语义向量表达在特定的NLP任务中进行微调,最终得到适用于NLP任务的模型,即用于生成任一领域词语的词向量的模型。

结合上文实施例对词向量相似度计算的相关部分的描述,为了提高相似度计算效率,本申请实施例提出采用词向量快速召回算法,来获取汉语词库包含的大量词语的词向量,以便能够从中快速筛选与汉语词库中相应原词语的词向量的词语语义相似度较高的候选近义词,如本申请实施例可以采用k-d树算法实现词向量快速召回。因此,本申请在获取汉语词库中各词语的词向量时,可以利用词向量模型获取整个汉语词库的分布式词向量,其考虑到汉语词库中各词语之间的语义结构特性,以便后续据此快速筛选出词语语义相似度较高的候选近义词,关于分布式向量的具体生成过程本申请不做限制。

步骤S23,对得到的分布式词向量进行词语语义相似度计算,得到相似度计算结果;

步骤S24,利用相似度计算结果,从汉语词库中,筛选与该汉语词库中任一领域的原词语的词语语义相似度较高的预设个数的第一候选近义词;

继上文描述,在对汉语词库进行词向量快速筛选的实现方法中,以利用k-d树算法这种实现方法为例进行说明,具体可以利用词向量模型输出的汉语词库的分布式词向量,构建k-d树;再按照最近邻搜索方式,对k-d树中的各节点数据进行相似度搜索,得到与任一节点数据的词语语义相似度较高的预设个数的分布式词向量,以将预设个数的分布式词向量各自对应汉语词库中的原词语确定为第一候选近义词。详细实现过程可以结合k-d树算法的工作原理确定,本申请在此不做详述。

步骤S25,从多个第一近义词词组中,查询与各第一候选近义词存在直接映射关系的第一近义词;

步骤S26,从多个第一近义词词组中,查询与各第一近义词存在直接映射关系的第二近义词;

步骤S27,由第一近义词和第二近义词构成第二候选近义词;

结合上文实施例相应部分的描述,本申请可以利用近义词词组之间的近义词关系传递性,从包含来自不同数据源的多个近义词词组的初始近义词映射词典中,查询各第一候选近义词的直接映射关系的第一近义词,间接映射关系的第二近义词,组成待挖掘原词语的第二候选近义词,具体实现过程本实施例不再赘述。

步骤S28,对第一候选近义词和第二候选近义词进行去重处理;

步骤S29,获取去重处理后的第一候选近义词和第二候选近义词各自的候选词向量;

在本申请提出的一些实施例中,本申请可以调用中文预训练语言模型,来获取各候选近义词的词向量,即将去重处理后的第一候选近义词和第二候选近义词输入中文预训练语言模型,得到相应候选近义词的候选词向量。

其中,中文预训练语言模型可以是中文robert_wwm_extra预训练语言模型,由于该模型是采用更多更全面的数据进行预训练得到的,且采用了wwm(全词掩码)等更加科学的训练方式,保证由此模型生成的词向量更加的客观和有用。但中文预训练语言模型并不局限于robert预训练语言模型,也可以是bert预训练语言模型等,本申请对中文预训练语言模型的模型结构及其训练实现方法不做限制,可视情况而定。

步骤S210,对汉语词库中相应原词语的词向量与各候选词向量进行相似度计算,得到该原词语与相应的第一候选近义词或第二候选近义词的词语语义相似度;

本申请实施例可以采用余弦相似度、欧式距离等相似度计算方式,实现步骤S210的相似度计算,得到待挖掘原词语与筛选出的各候选近义词的词语语义相似度,具体计算过程本申请不做详述。

步骤S211,从去重处理后的第一候选近义词和第二候选近义词中,筛选词语语义相似度达到相似度阈值的候选近义词,确定为该原词语的目标候选近义词;

本申请实施例对上述相似度阈值的数值大小不做限制,可视情况而定,如0.85等,通常情况下,应用场景对相似度筛选的要求越严格,所配置的相似度阈值可以越大。且上述计算得到的语义相似度越大,表明相应两个词语为近义词的概率越高,或者是两个词语所表示的语义越相近。

步骤S212,利用得到的汉语词库中不同领域的原词语的目标候选近义词,构建目标近义词映射词典。

由于本申请实施例是对通用的汉语词库中各词语,按照上述方式挖掘其映射的目标候选近义词,即本申请提出的近义词挖掘方法适用于不同领域词语的近义词挖掘,之后,由汉语词库中各词语与挖掘到的相应目标候选近义词的映射关系,所构成的近义词映射词典是通用的,即适用于不同领域词语的近义词查询,且保证了所查询的近义词完整、可靠。

参照图7,为本申请提出的近义词挖掘方法的又一可选示例的流程示意图,本实施例主要描述如何利用构建的具有通用性的目标近义词映射词典,实现不同领域的待查询词语的近义词查询,即近义词查询应用场景下的近义词挖掘方法,如图7所示,该方法可以包括:

步骤S31,获取用户输入的任一领域的待查询词语;

本申请实施例中,按照上述方式构建通用各领域的目标近义词映射词典后,为了满足不同领域的关键词语(即待查询词语)的近义词查询,本申请可以配置能够调用该目标近义词映射词典的服务接口,在需要查询某一词语的近义词的情况下,可以直接调用该服务接口,以实现近义词查询。

示例性的,在终端设备的某客户端(如浏览器等)输出信息查询界面中,用户可以在该信息查询界面的查询输入框中,输入待查询词语(如任一领域的关键词语),点击“获取近义词”功能按钮,以使客户端获取用户输入的待查询词语,生成包含该待查询词语的近义词查询请求,发送至服务设备,以使服务设备解析近义词查询请求,得到用户输入的待查询词语,但并不局限于本实施例描述的待查询词语的获取方式。

可以理解的是,在上述计算机设备为具有一定数据处理能力和存储空间的终端设备的情况下,终端设备中的客户端可以响应于对信息查询界面的查询输入框的输入操作,获得待查询词语。

步骤S32,查询目标近义词映射词典中,与待查询词语存在直接映射关系的目标近义词;

如上文分析,本申请构建的目标近义词映射词典是通用的,对于任一领域的待查询词语,需要查询其近义词的场景下,可以直接对该目标近义词映射词典,得到与待查询词语存在直接映射关系的目标近义词。具体的,对于目标近义词映射词典包含的各近义词词组,若采用{A:[……],B:[……],C:[……],……}这种映射模式存储,即每一个词语(如词语A、词语B和词语C等)与其后面中括号内的词语构成一个近义词词组,这一个词语记为原词语,其括号内的词语可以记为近义词。

这样,可以将获取的待查询词语与目标近义词映射词典中,各近义词词组中的原词语进行比较,确定该待查询词语所在的近义词词组,即待查询词语为原词语的一个近义词词组,从而将该近义词词组的中括号内的近义词确定为待查询词语的目标近义词,之后,利用查询到的目标近义词,执行针对待查询词语的预设操作,具体操作内容可视情况而定。

步骤S33,将查询到的目标近义词推送至目标客户端进行展示。

其中,目标客户端是指采集用户输入的任一领域的待查询词语的客户端,本申请对目标近义词的具体展示方式不做限制,可视情况而定。如在一些实施例中,对于查询到的目标近义词,可以呈现在目标客户端输出的查询输入框,供用户从中选择所需的目标近义词,从而使得目标客户端响应于对呈现的目标近义词的选择操作,由选择的目标近义词替换待查询词语。

在又一些实施例中,如采用问答系统的智能客服场景,如图8所示的客服场景示意图,用户输入问题信息,客户端将该问题信息发送至服务设备,由服务设备提取该问题信息包含的关键词语,之后,可以将该关键词语作为上述待查询词语,按照上述方式查询到该关键词语的各目标近义词,再将该问题信息中的相应关键词语,替换为任一目标近义词,得到相应的更新问题信息,再从数据库中,获取与更新问题信息、原问题信息相匹配的回复信息,将获取的各回复信息反馈至客户端输出。

基于上文描述的目标近义词映射词典的构建过程,使得不同领域的智能客户都可以调用该目标近义词映射词典,以满足各领域的各问题信息的关键词替换,保证所筛选出的回复信息的完整性、准确性,相对于人工在线替换关键词,极大提高了回复信息筛选效率。

参照图9,为本申请提出的近义词挖掘装置的一可选示例的结构示意图,该装置可以适用于如上文描述的计算机设备,但并不限制计算机设备的产品类型,如图9所示,该装置可以包括:

词向量相似度计算模块31,用于对汉语词库中不同领域的原词语进行词向量相似度计算,得到与相应原词语的语义相似度较高的预设个数的第一候选近义词;

词典调用模块32,用于调用预构建的初始近义词映射词典;所述初始近义词映射词典包括多个第一近义词词组;

可选的,为了构建初始近义词映射词典,上述装置还以包括:

第二近义词词组获取模块,用于从至少一个预设数据源,获取多个第二近义词词组;

初始近义词映射词典构建模块,用于对所述多个第二近义词词组进行融合处理,得到初始近义词映射词典。

近义词补充处理模块33,用于从所述多个第一近义词词组中,获取与所述第一候选近义词存在映射关系的第二候选近义词;其中,所述映射关系包括直接映射关系和/或间接映射关系;

过滤筛选模块34,用于对所述第一候选近义词和所述第二候选近义词进行过滤筛选,得到所述汉语词库中相应原词语的目标候选近义词。

在一些实施例中,如图10所示,上述词向量相似度计算模块31可以包括:

词向量生成单元311,用于将所述汉语词库中不同领域的原词语输入词向量模型,输出所述不同领域的原词语的分布式词向量。

其中,所述词向量模型是基于通用语料库包含的词向量训练语料的训练学习得到的,可见,该装置还可以词向量模型训练模块,用于基于通用语料库包含的词向量训练语料进行训练学习,得到词向量模型,具体训练实现过程本申请不做限制。

语义相似度计算单元312,用于对得到的所述分布式词向量进行词语语义相似度计算,得到相似度计算结果;

第一筛选单元313,用于利用所述相似度计算结果,从所述汉语词库中,筛选与所述汉语词库中任一领域的原词语的词语语义相似度较高的预设个数的第一候选近义词。

在一种可能的实现方式中,上述语义相似度计算单元312和第一筛选单元313可以包括:

k-d树构建单元,用于利用得到的所述分布式词向量,构建k-d树;

分布式词向量生成单元,用于按照最近邻搜索方式,对所述k-d树中各节点数据进行相似度搜索,得到与任一节点数据的词语语义相似度较高的预设个数的分布式词向量;

第一候选近义词确定单元,用于将所述预设个数的分布式词向量各自对应的所述汉语词库中的原词语确定为第一候选近义词。

在又一些实施例中,如图10所示,上述近义词补充处理模块33可以包括:

第一近义词查询单元331,用于从所述多个第一近义词词组中,查询与各所述第一候选近义词存在直接映射关系的第一近义词;

第二近义词查询单元332,用于从所述多个第一近义词词组中,查询与各所述第一近义词存在直接映射关系的第二近义词;

第二候选近义词确定单元333,用于由所述第一近义词和/或所述第二近义词,组成与所述第一候选近义词存在映射关系的第二候选近义词。

在又一些实施例中,如图10所示,上述过滤筛选模块34可以包括:

去重单元341,用于对所述第一候选近义词和所述第二候选近义词进行去重处理;

候选词向量获取单元342,用于获取去重处理后的所述第一候选近义词和所述第二候选近义词各自的候选词向量;

在一种可能的实现方式中,该候选词向量获取单元342可以包括:

中文预训练语言模型调用单元,用于调用中文预训练语言模型;

候选词向量生成单元,用于将去重处理后的所述第一候选近义词和所述第二候选近义词输入所述中文预训练语言模型,得到相应候选近义词的候选词向量。

词语语义相似度计算单元343,用于对所述汉语词库中相应原词语的词向量与各所述候选词向量进行相似度计算,得到该原词语与相应的所述第一候选近义词或所述第二候选近义词的词语语义相似度;

目标后续近义词确定单元344,用于从去重处理后的所述第一候选近义词和所述第二候选近义词中,筛选所述词语语义相似度达到相似度阈值的候选近义词,确定为该原词语的目标候选近义词。

基于上文各实施例的描述,如图10所示,本申请提出的近义词挖掘装置还可以包括:

目标近义词映射词典构建模块35,用于利用得到的所述汉语词库中不同领域的原词语的所述目标候选近义词,构建目标近义词映射词典。

在又一些实施例中,该装置还可以包括:

待查询词语获取模块,用于获取用户输入的任一领域的待查询词语;

目标近义词查询模块,用于查询所述目标近义词映射词典中,与所述待查询词语存在直接映射关系的目标近义词;

操作执行模块,用于利用所述目标近义词,执行针对所述待查询词语的预设操作。

可选的,该操作执行模块可以包括:

第一推送单元,用于将所述目标近义词推送至目标客户端进行展示;其中,所述目标客户端是指采集所述用户输入的任一领域的待查询词语的客户端;

或者,该操作执行模块也可以包括

词语替换单元,用于在待查询词语是从用户输入的问题信息中提取的情况下,将所述问题信息中的所述待查询词语替换为所述目标近义词;

回复信息获取单元,用于获取与得到更新问题信息匹配的回复信息,反馈至目标客户端输出。

需要说明的是,关于上述各装置实施例中的各种模块、单元等,均可以作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块,以实现相应的功能,关于各程序模块及其组合所实现的功能,以及达到的技术效果,可以参照上述方法实施例相应部分的描述,本实施例不再赘述。

本申请还提供了一种计算机可读存储介质,其上可以存储计算机程序,该计算机程序可以被处理器调用并加载,以实现上述实施例描述的近义词挖掘方法的各个步骤。

本申请还提出了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述近义词挖掘方法方面或近义词挖掘装置方面的各种可选实现方式中所提供方法,具体实现过程可以参照上述相应实施例的描述,不做赘述。

需要说明,本说明书中各个实施例采用递进或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、计算机设备、系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的核心思想或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号