一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Word2Vector和TF-IDF的智能客服系统文本匹配方法与流程

2022-10-13 08:40:16 来源:中国专利 TAG:

一种基于word2vector和tf-idf的智能客服系统文本匹配方法
技术领域
1.本发明涉及智能问答服务技术领域,具体是一种基于word2vector和tf-idf的智能客服系统文本匹配方法。


背景技术:

2.随着信息技术的飞速发展,在客户服务领域越来越多的智能问答工具开始投入使用,这不仅节省了很多的人力成本,也为客户带来了更好更及时的服务。而现如今的智能客服大多是靠建立知识库问答对来运行,但由于中文语言的灵活性和多样性,客户提出的问题并不能对应知识库中的标准问题,因而就不能得到对应的回答。如何定位知识库中的标准问题是本发明技术方案想要解决的技术问题。


技术实现要素:

3.本发明的目的在于提供一种基于word2vector和tf-idf的智能客服系统文本匹配方法,以解决上述背景技术中提出的问题。
4.为实现上述目的,本发明提供如下技术方案:
5.一种基于word2vector和tf-idf的智能客服系统文本匹配方法,所述方法包括:
6.接收用户输入的问题,对所述问题进行分词,得到词汇组;
7.调用训练好的word2vector词向量模型依次计算所述词汇组中的各词汇的词向量;
8.在预设的tf-idf文件中查询各词汇的tf-idf值;
9.根据所述词向量和所述tf-idf值在预设的faq库中定位标准问题,读取并显示所述标准问题对应的答案。
10.作为本发明进一步的方案:所述调用训练好的word2vector词向量模型依次计算所述词汇组中的各词汇的词向量的步骤包括:
11.采用gensim库中的word2vector方法,选用skip-gram的方式训练word2vector词向量模型;
12.采用对数似然逻辑回归作为损失函数;
13.所述损失函数为:
[0014][0015]
其中,i表示一个样本,m为总样本数,y表示真实输出值,x为真是输入值,hθ(x_i)为预测值。最终训练的模型文件大小约为1g。
[0016]
作为本发明进一步的方案:所述tf-idf文件的生成步骤包括:
[0017]
读取预设的faq库中的问题,合并到同一文件;
[0018]
基于jieba算法对该文件进行分词,并统计每个词的词频;
[0019]
统计样本总数和每个词所在的样本数,根据预设的tf-idf公式计算每个词的tf-idf值,并一一存入txt文件中。
[0020]
作为本发明进一步的方案:所述根据所述词向量和所述tf-idf值在预设的faq库中定位标准问题,读取并显示所述标准问题对应的答案的步骤包括:
[0021]
依次读取词汇组中各词汇的词向量和tf-idf值,将所述词向量与所述tf-idf值相乘,得到加权词向量;
[0022]
累加词汇组中所述词汇的加权词向量,得到问题的句向量;
[0023]
基于所述句向量与faq库中每个标准问题的句向量进行比对,计算相似度;
[0024]
根据相似度对faq库中每个标准问题进行降序排列,读取并显示首个标准问题及其答案。
[0025]
作为本发明进一步的方案:所述调用训练好的word2vector词向量模型依次计算所述词汇组中的各词汇的词向量的步骤还包括:
[0026]
当词向量不存在时,根据预设的生成规则随机生成词向量。
[0027]
作为本发明进一步的方案:所述在预设的tf-idf文件中查询各词汇的tf-idf值的步骤包括:
[0028]
当某一词汇的tf-idf值不存在时,根据预设的数值对该词汇的tf-idf值进行赋值。
[0029]
与现有技术相比,本发明的有益效果是:本发明接收用户输入的问题,对问题进行分词、获取词向量、获取tf-idf值、计算加权词向量、计算句向量、相似度计算与排序、返回标准答案;有效改善了编辑距离匹配算法和bm25等算法缺乏语义理解的不足。
附图说明
[0030]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
[0031]
图1为基于word2vector和tf-idf的智能客服系统文本匹配方法的流程框图。
[0032]
图2为基于word2vector和tf-idf的智能客服系统文本匹配方法的第一子流程框图。
具体实施方式
[0033]
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0034]
图1为基于word2vector和tf-idf的智能客服系统文本匹配方法的流程框图,本发明实施例中,一种基于word2vector和tf-idf的智能客服系统文本匹配方法,所述方法包括:
[0035]
步骤s100:接收用户输入的问题,对所述问题进行分词,得到词汇组;
[0036]
步骤s200:调用训练好的word2vector词向量模型依次计算所述词汇组中的各词
汇的词向量;
[0037]
word2vector的出现便是为了处理单词之间的内在联系,举例来说,我们在学习语言的时候,比如英语,每一个具体的单词虽然对应一个中文的翻译,但即使是具有相同的中文翻译的英文单词在绝大多数情况下也并不能互换。怎样才算掌握了一个具体单词呢,知道了一般这个单词在什么语境下使用,才算了解了基本使用。
[0038]
word2vector算法的思想与之类似,即认为,具备相似语境下使用的单词在语义上也很相似。具体有两种算法模型:
[0039]
1、skip-gram模型;
[0040]
2、continuous bag of words(cbow)模型;
[0041]
这两种模型都可以作为word2vector算法实现,cbow模型在数据量小的情况下效果更好;skip-gram是通过具体的中心单词预测上下文的单词;而cbow则是通过中心单词附近的几个窗口单词预测中心单词,二者的逻辑刚好互逆。
[0042]
在代码实现层面,skip-gram更加简单,这两种算法模型都比较常见,其应用也比较多。
[0043]
步骤s300:在预设的tf-idf文件中查询各词汇的tf-idf值;
[0044]
tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
[0045]
tf-idf的主要思想是:如果某个词或短语在一篇文章中出现的频率tf高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。tf-idf实际上是:tf*idf,tf词频(term frequency),idf逆向文件频率(inverse document frequency)。
[0046]
步骤s400:根据所述词向量和所述tf-idf值在预设的faq库中定位标准问题,读取并显示所述标准问题对应的答案;
[0047]
faq是“常见问题解答”(英文frequently asked questions的缩写)。faq是企业、网站、组织、或者页面功能等设计者提供在线帮助的主要手段,通过事先设计好的一些可能的常问问答,发布在网页上为用户提供咨询服务,以便快速找到答案信息。
[0048]
进一步的,所述调用训练好的word2vector词向量模型依次计算所述词汇组中的各词汇的词向量的步骤包括:
[0049]
采用gensim库中的word2vector方法,选用skip-gram的方式训练word2vector词向量模型;
[0050]
所述gensim库,是在做自然语言处理时较为经常用到的一个工具库,主要用来以无监督的方式从原始的非结构化文本当中来学习到文本隐藏层的主题向量表达。
[0051]
主要包括tf-idf,lsa,lda,word2vec,doc2vec等多种模型;
[0052]
其中,训练word2vector词向量模型过程中的训练超参数如下表所示:
[0053]
表1超参数表
[0054][0055]
采用对数似然逻辑回归作为损失函数;
[0056]
所述损失函数为:
[0057][0058]
其中,i表示一个样本,m为总样本数,y表示真实输出值,x为真是输入值,hθ(x_i)为预测值。最终训练的模型文件大小约为1g。
[0059]
具体的,所述tf-idf文件的生成步骤包括:
[0060]
读取预设的faq库中的问题,合并到同一文件;
[0061]
基于jieba算法对该文件进行分词,并统计每个词的词频;
[0062]
统计样本总数和每个词所在的样本数,根据预设的tf-idf公式计算每个词的tf-idf值,并一一存入txt文件中;
[0063]
在本发明技术方案的一个实例中,从提前计算好的tf-idf文件中得到该词的tf-idf值,其中,faq库中标准问中不同词的tf-idf处理如下:
[0064]
首先需要将faq中所有标准问合并到一个文件中去,使用jieba进行分词,随后针对每个词来统计词频,同时统计出样本总数和每个词所在的样本数,根据tf-idf公式进行计算,生成每个词的tf-idf值,然后一一存入txt文件中。
[0065]
图2为基于word2vector和tf-idf的智能客服系统文本匹配方法的第一子流程框图,所述根据所述词向量和所述tf-idf值在预设的faq库中定位标准问题,读取并显示所述标准问题对应的答案的步骤包括步骤s401至步骤s404:
[0066]
步骤s401:依次读取词汇组中各词汇的词向量和tf-idf值,将所述词向量与所述tf-idf值相乘,得到加权词向量;
[0067]
步骤s402:累加词汇组中所述词汇的加权词向量,得到问题的句向量;
[0068]
步骤s403:基于所述句向量与faq库中每个标准问题的句向量进行比对,计算相似度;
[0069]
步骤s404:根据相似度对faq库中每个标准问题进行降序排列,读取并显示首个标准问题及其答案。
[0070]
步骤s401至步骤s404对词向量和tf-idf值的应用过程进行了具体的描述,首先,一个问题中每个词都有对应的词向量和tf-idf值,根据词向量和tf-idf值可以计算出各词的加权词向量;然后,统计该问题的所有词的加权词向量,可以得到一个关于问题的特征,就是所述句向量;最后,根据句向量在faq库查询标准问题。
[0071]
作为本发明技术方案的一个优选实施例,所述调用训练好的word2vector词向量模型依次计算所述词汇组中的各词汇的词向量的步骤还包括:
[0072]
当词向量不存在时,根据预设的生成规则随机生成词向量。
[0073]
作为本发明技术方案的一个优选实施例,所述在预设的tf-idf文件中查询各词汇的tf-idf值的步骤包括:
[0074]
当某一词汇的tf-idf值不存在时,根据预设的数值对该词汇的tf-idf值进行赋值;其中,预设的数值可以是0.5。
[0075]
所述基于word2vector和tf-idf的智能客服系统文本匹配方法所能实现的功能均由计算机设备完成,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述程序代码由所述一个或多个处理器加载并执行以实现所述基于word2vector和tf-idf的智能客服系统文本匹配方法的功能。
[0076]
处理器从存储器中逐条取出指令、分析指令,然后根据指令要求完成相应操作,产生一系列控制命令,使计算机各部分自动、连续并协调动作,成为一个有机的整体,实现程序的输入、数据的输入以及运算并输出结果,这一过程中产生的算术运算或逻辑运算均由运算器完成;所述存储器包括只读存储器(read-only memory,rom),所述只读存储器用于存储计算机程序,所述存储器外部设有保护装置。
[0077]
示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
[0078]
本领域技术人员可以理解,上述服务设备的描述仅仅是示例,并不构成对终端设备的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
[0079]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,上述处理器是上述终端设备的控制中心,利用各种接口和线路连接整个用户终端的各个部分。
[0080]
上述存储器可用于存储计算机程序和/或模块,上述处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如信息采集模板展示功能、产品信息发布功能等)等;
存储数据区可存储根据泊位状态显示系统的使用所创建的数据(比如不同产品种类对应的产品信息采集模板、不同产品提供方需要发布的产品信息等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0081]
终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例系统中的全部或部分模块/单元,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个系统实施例的功能。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0082]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0083]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献