CN112527988A - 自动回复生成方法、装置及智能设备 - Google Patents
自动回复生成方法、装置及智能设备 Download PDFInfo
- Publication number
- CN112527988A CN112527988A CN202011467635.4A CN202011467635A CN112527988A CN 112527988 A CN112527988 A CN 112527988A CN 202011467635 A CN202011467635 A CN 202011467635A CN 112527988 A CN112527988 A CN 112527988A
- Authority
- CN
- China
- Prior art keywords
- word frequency
- inverse word
- inverse
- frequency vector
- question
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000013598 vector Substances 0.000 claims abstract description 375
- 238000004590 computer program Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 abstract description 17
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于人工智能技术领域,提供了自动回复生成方法、装置及智能设备,包括:获取用户问题,确定所述用户问题所包含的词;获取所述词对应的逆词频,根据获取的所述逆词频得到第一逆词频向量;获取第二逆词频向量;获取所述第一逆词频向量的长度和所述第二逆词频向量的长度;根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;根据所述相似度的最大值生成所述用户问题的自动回复。通过上述方法,能够极大加快相似度的计算速度。
Description
技术领域
本申请属于人工智能技术领域,尤其涉及自动回复生成方法、装置、智能设备及计算机可读存储介质。
背景技术
目前,智能设备的智能化程度越来越高,有些智能设备还能够与用户进行一定程度的交流,例如,当用户向智能设备提出问题后,该智能设备通过对问题的识别后,能够自动对用户问题进行回复。
现有的自动回复生成方法中,当获取到用户提出的问题后,再计算该问题的词频向量,以及计算数据集中每条问答对的问题的词频向量,最后根据得到的两个词频向量分别计算用户提出的问题与数据集中每条问答对的问题的相似度,以根据得到的相似度确定自动回复。由于数据集中的问答对的数量较大,因此计算相似度的时长过长,从而导致自动回复的生成时间过长,进而难以对用户问题进行及时回复。
发明内容
本申请实施例提供了自动回复生成方法,能够实现对用户问题的及时回复问题。
第一方面,本申请实施例提供了一种自动回复生成方法,包括:
获取用户问题,确定所述用户问题所包含的词;
获取所述词对应的逆词频,根据获取的所述逆词频得到第一逆词频向量,所述第一逆词频向量为所述用户问题对应的逆词频向量;
获取第二逆词频向量,其中,一个所述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,所述第二逆词频向量在所述获取用户问题的步骤之前已确定;
获取所述第一逆词频向量的长度和所述第二逆词频向量的长度,其中,所述第二逆词频向量的长度在所述获取用户问题的步骤之前已确定;
根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;
根据所述相似度的最大值生成所述用户问题的自动回复。
第二方面,本申请实施例提供了一种自动回复生成装置,包括:
用户问题获取单元,用于获取用户问题,确定所述用户问题所包含的词;
第一逆词频向量确定单元,用于获取所述词对应的逆词频,根据获取的所述逆词频得到第一逆词频向量,所述第一逆词频向量为所述用户问题对应的逆词频向量;
第二逆词频向量获取单元,用于获取第二逆词频向量,其中,一个所述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,所述第二逆词频向量在所述获取用户问题的步骤之前已确定;
逆词频向量的长度获取单元,用于获取所述第一逆词频向量的长度和所述第二逆词频向量的长度,其中,所述第二逆词频向量的长度在所述获取用户问题的步骤之前已确定;
相似度的最大值确定单元,用于根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;
自动回复生成单元,用于根据所述相似度的最大值生成所述用户问题的自动回复。
第三方面,本申请实施例提供了一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在智能设备上运行时,使得智能设备执行上述第一方面所述的方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中,由于第二逆词频向量以及第二逆词频向量的长度均是在获取用户问题的步骤之前已确定,因此,在获取用户问题之后,可以直接使用第二逆词频向量和第二逆词频向量的长度计算用户问题与第二逆词频向量对应的问题的相似度,而由于数据集中的问答对的数量通常较多,也即,确定第二逆词频向量和确定第二逆词频向量的长度所需的时间较长,因此,节省了确定第二逆词频向量和确定第二逆词频向量的长度的时间后,能够极大加快相似度的计算速度。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例提供的一种自动回复生成方法的流程图;
图2是本申请一实施例提供的一种自动回复生成装置的结构示意图;
图3是本申请实施例三提供的智能设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
考虑到1、当用户问题是闲聊问题时,其是有无穷多种的可能的,数据集的问答对是无论如何都不可能覆盖的。2、数据集大概只有3w对,并且数据质量不是很好。3、网上的用于预训练的资源有限。上述三点决定了我们没办法做出完美匹配用户问题的问答对。
当获取到用户问题时,自动生成的回复的效果通常分为三种情况:
1)完美匹配:
问题:我觉得你不够智能。
回答:我会更加努力的学习,变得更加智能。
2)相关:
问题:我觉得你不够智能。
回答:智能是一种是智力和能力的总称,中国古代思想家一般把智与能看作是两个相对独立的概念。
3)不匹配:
问题:我觉得你不够智能。
回答:你好。
根据经验可知,完美匹配是很难做到的,不匹配是不可取的。而想方设法地去接近到完美匹配需要付出较大代价,性价比也不高。从性价比的角度看,我们的目标是做出一些相关的回复即可,且在保证生成的回复是相关回复的基础上,尽量减少内存消耗与运算时间。
实施例一:
现有的自动回复生成方法中,当接收到用户问题后,才开始根据预设的相似度计算公式逐个计算所需的数值,由于是在接收到用户问题后才开始计算每一项数值,在得到每一项数值后再进行相似度的计算,因此导致计算相似度的时长过长,从而导致自动回复的生成时间过长。为了解决上述技术问题,本申请实施例提供了一种自动回复生成方法,在该方法中,采用逆词频生成用于表示用户问题的逆词频向量-----第一逆词频向量、用于表示数据集中问答对的问题的逆词频向量-----第二逆词频向量,再根据第一逆词频向量的长度、第二逆词频向量的长度、第一逆词频向量以及不同问答对的问题所对应的第二逆词频向量,计算出用户问题与对应第二逆词频向量所对应的问题的相似度的最大值。
下面结合附图对本申请实施例提供的自动回复生成方法进行描述。
图1示出了本申请实施例提供的一种自动回复生成方法的流程图,该自动回复生成方法应用于各种智能设备,如应用于车载设备,智能机器人等,详述如下:
步骤S11,获取用户问题,确定上述用户问题所包含的词。
其中,用户问题可为语音数据或文字数据,若为语音数据,则该智能机器人通过麦克风等语音获取设备获取用户问题,若为文字数据,则该智能机器人通过键盘、鼠标等输入设备获取用户问题。
在本申请实施例中,若用户问题为“你好吗”,则该用户问题所包含的词为:“你”、“好”、“吗”。
在一些实施例中,智能机器人在检测到预设指令后,监测是否获取到用户问题。其中,预设指令可为用户发出特定语音后发出,如智能机器人检测到“小智”这一语音后,该智能机器人判定为检测到预设指令。该预设指令也可为该智能机器人的特定物理按键或该智能机器人安装的软件中的特定虚拟按键被按压后发出。
步骤S12,获取上述词对应的逆词频,根据获取的上述逆词频得到第一逆词频向量,上述第一逆词频向量为上述用户问题对应的逆词频向量。
本申请实施例中,一个词的词频是指该词频出现的频率,词频越大,其对应的逆词频越小。本实施例中,先确定出每个词的词频,再根据下式计算出每个词的逆词频:其中,idf_word表示该“word”的逆词频,frequency_word表示该“word”的词频。在计算出每个词的逆词频后,再根据用户问题中的逆词频确定对应的第一逆词频向量,例如,若用户问题“你好吗”中“你”、“好”、“吗”对应的逆词频分别为“0.1”、“0.2”、“0.3”,则第一逆词频向量为[0.1,0.2,0.3]。需要指出的是,第一逆词频向量和第二逆词频向量的维度与数据集中的词的数量相同,例如,若数据集中的词有4000个,那么第一逆词频向量的维度和第二逆词频向量的维度也均为4000。这里的数据集是指存储了多条问答对(比如是3万对)的数据集,每一条问答对由一个问题和对应的回复组成,当获取到用户问题后,将在上述的数据集中查找该用户问题对应的回复。
步骤S13,获取第二逆词频向量,其中,一个上述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,上述第二逆词频向量在上述获取用户问题的步骤之前已确定。
其中,第二逆词频向量为数据集中的问题所对应的逆词频向量,为了能够查找到与用户问题匹配的问题,可能需要获取数据集中各条问答对中的问题所对应的各条第二逆词频向量,当然,也可按照某种策略,获取从数据集中筛选出的部分问题所对应的多条第二逆词频向量。
在本申请实施例中,由于数据集中的问答对是预先确定的,也即,数据集中的每一条问题对应的逆词频可预先确定,进而也能够根据预先确定的逆词频确定对应的第二逆词频向量,因此,在获取用户问题后,无需获取数据集中每一条问答对中的问题的逆词频,也无需根据获取的逆词频生成对应的第二逆词频,从而节省了生成第二逆词频的时间。
步骤S14,获取上述第一逆词频向量的长度和上述第二逆词频向量的长度,其中,上述第二逆词频向量的长度在上述获取用户问题的步骤之前已确定。
本申请实施例中,若第一逆词频向量为VQ,那么第一逆词频向量的长度为若第i条问答对的问题对应的第二逆词频向量为VPi,那么该第二逆词频向量的长度为由于第二逆词频向量在获取用户问题之前已确定,因此,在获取用户问题之前先确定第二逆词频向量的长度,这样,在获取用户问题之后,不用再花费时间对第二逆词频向量的长度进行计算。
步骤S15,根据上述第一逆词频向量、至少二个上述第二逆词频向量、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
假设第二逆词频向量为2个,则根据第一逆词频向量、2个第二逆词频向量、第一逆词频向量的长度以及上述2个第二逆词频向量的长度,确定出用户问题与2个第二逆词频向量对应的问题的相似的最大值。
具体地,可根据下式计算用户问题与数据集中一条问答对的问题的相似度:
步骤S16,根据上述相似度的最大值生成上述用户问题的自动回复。
具体地,将该相似度的最大值与第一预设相似度值比较,若该相似度的最大值大于第一预设相似度值,则确定该相似度的最大值对应的问题,并将该问题对应的回复作为用户问题的自动回复,如根据可确定出具体的i,该i为数据集中的问题的唯一标识;若该相似度的最大值小于或等于第一预设相似度值,则将预设的安全回复作为用户问题的自动回复,其中,预设的安全回复可以为“对不起,我还在学习中”,或者为“你的问题太深奥,我还没学习到”等等。
本申请实施例中,由于第二逆词频向量以及第二逆词频向量的长度均是在获取用户问题的步骤之前已确定,因此,在获取用户问题之后,可以直接使用第二逆词频向量和第二逆词频向量的长度计算用户问题与第二逆词频向量对应的问题的相似度,而由于数据集中的问答对的数量通常较多,也即,确定第二逆词频向量和确定第二逆词频向量的长度所需的时间较长,因此,节省了确定第二逆词频向量和确定第二逆词频向量的长度的时间后,能够极大加快相似度的计算速度。例如,假设数据集有3万对问答对,且有4千个词汇,那么用户提问一个问题后,根据公式进行相似度计算,且第二逆词频向量以及第二逆词频向量的长度均是在获取用户问题的步骤之后才确定的运算量如表1所示,而采用本申请实施例提供的方法确定相似度的运算量如表2所示。
表1:
乘法 | 加法 | 除法 | 开根 |
4k*3*3w+3w | 4k*3*3w | 3w | 2*3w |
表2:
乘法 | 加法 | 除法 | 开根 |
4k*2*3w+3w | 4k*2*3w | 3w | 3w |
其中,上述表1和表2中的“k”和“w”分别表示单位“千”和单位“万”。
在一些实施例中,考虑到第一逆词频向量和第二逆词频向量都是稀疏向量(在数据集的词有4千个时,第一逆词频向量和第二逆词频向量的维数都为4千),但是只有用户问题或问答对中的问题中具有词的位置才有值,其余都为0,因此,可设置在进行向量乘法时,为0的都不参与乘法运算,这样,能进一步减少计算相似度时所需的运算量,此时,上述步骤S15,包括:
A1、确定上述第一逆词频向量中非0的数值,以及,分别确定至少二个上述第二逆词频向量中非0的数值,仅根据确定的上述非0的数值,分别计算上述第一逆词频向量与各个上述第二逆词频向量对应的数量积。其中,一个第一逆词频向量与一个第二逆词频向量进行点乘后得到一个数量积,由于第一逆词频向量是相同的,因此,只有当第二逆词频向量不同时,得到的数量积才会不同。
A2、根据各个上述数量积、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
其中,上述A1和A2中的数量积为第一逆词频向量和第二逆词频向量进行点乘后得到的数值。
在本申请实施例中,由于在进行数量积计算时,只设置第一逆词频向量中非0的数值和第二逆词频向量中非0的数值参与数量积中的乘法运算,因此,能够进一步减少计算相似度时所需的运算量。继续以上述表2所对应的例子为例,且假设对每个句子(用户问题和数据集中的问题)的词进行平均后,得到的平均值为8(即每个句子包含8个词),则采用上述A1和A2的计算方式后,所需的运算量如表3所示:
表3:
乘法 | 加法 | 除法 | 开根 |
8*2*3w+3w | 8*2*3w | 3w | 3w |
在一些实施例中,考虑到不同词的逆词频是全数据统计的,即可预先确定两个词(相同词和不同词对应)的逆词频的乘积,以在获取用户问题后,直接根据用户问题的词查找对应的乘积,从而减少在获取用户问题后为了得到对应的乘积所需的运算量,此时,上述步骤S15,包括:
B1、根据以下方式计算一个上述第一逆词频向量与一个上述第二逆词频向量的数量积:从预设的乘积对照表中查找出与逆词频对对应的乘积,其中,一个上述逆词频对由上述第一逆词频向量中的一个逆词频与上述第二逆词频向量中的一个逆词频组成,且上述逆词频对中的两个逆词频在其对应的逆词频向量中的位置相同,上述逆词频对对应的乘积为上述逆词频对中的两个逆词频的乘积,上述预设的乘积对照表用于存储不同逆词频对与乘积的对应关系。累加查找到的逆词频对对应的乘积,得到上述第一逆词频向量和上述第二逆词频向量的数量积。例如,假设第一逆词频向量为[0.1,0.2,0.3],第二逆词频向量为[0.4,0.5,0.6],那么0.1和0.4为一个逆词频对,0.2和0.5为另一个逆词频对,0.3和0.6也为一个逆词频对,上述3个逆词频对对应的乘积分别是0.04、0.1和0.18,对3个乘积进行累加:0.04+0.1+0.18=0.32,该0.32即为[0.1,0.2,0.3]和[0.4,0.5,0.6]的数量积。在预设的乘积对照表中,预先存储不同的逆词频对与乘积的对应关系,该预设的乘积对照表如表4所示。
表4:
B2、在分别根据上述第一逆词频向量和至少二个上述第二逆词频向量确定出各个数量积之后,分别根据上述各个数量积、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
需要指出的是,上述B1在计算第一逆词频向量和第二逆词频向量的数量积时,也可以结合A1执行,即只根据非0数值分别计算第一逆词频向量和至少二个第二逆词频向量的数量积。若B1结合A1进行相似度计算时,所需的运算量如表5所示。
表5:
乘法 | 加法 | 除法 | 开根 |
0 | 8*2*3w+3w | 3w | 3w |
在一些实施例中,考虑到在对用户问题进行匹配时,只需要找出包含用户问题的一个或多个词的语料即可,比如,假设数据集有3w条语料(问答对),用户问题是“你不够智能”,那么,对用户问题进行匹配是指在3w条语料中,找出包含“你”,“不”,“够”,“智能”中的一个或多个词的句子,为了能够快速从数据集中查找出与用户问题的一个或多个词匹配的句子,则在上述步骤S11之前,包括:
构建包括键值和值的词典,上述键值为词,上述值为索引列表,上述索引列表为上述数据集的问答对中包含上述词的各条问题的索引的列表。其中,每一个索引与一条问题对应,例如,假设用户问题为“你不够智能”,则构建的词典可为以下形式:
{“你”:【1,2,5,6,29994】,“好”:【100,1000,5000】,......,“智能”:【300,10000】},则包含“你”的问题的索引分别为“1”、“2”、“5”、“6”、“29994”。
在上述步骤S11之后,包括:
C1、从上述词典中分别查找与上述用户问题所包含的各个词所对应的索引列表。
C2、根据查找的索引列表,确定分别包含上述各个词的各条问题。由于一个索引与一个问题对应,因此,在确定一个索引后,能够根据该索引查找器对应的问题。
上述步骤S13,包括:
分别获取确定的各条问题对应的第二逆词频向量。
本申请实施例中,由于只获取确定的各条问题对应的第二逆词频向量,而确定的各条问题的数量必然少于数据集中的所有问题的数量,因此,上述获取的确定的各条问题对应的第二逆词频向量的数量必然少于数据集中所有问题对应的第二逆词频的向量,从而减少了后续参与运算的第二逆词频的数量,进而减少了计算相似度的运算量。
需要指出的是,上述C1和C2也可以结合上述的B1(或同时结合B1和A1)共同执行,例如,假设包含用户问题一个或多个词所对应的语料数量只有5k条,那么在同时结合B1和A1的基础上,计算相似度所需的运算量如表6所示。
表6:
乘法 | 加法 | 除法 | 开根 |
0 | 8*2*5k+5k | 5k | 5k |
在一些实施例中,由于用户问题可能包含一些常用而无太大意义的词,此时,可将这些无太大意义的词去掉,以减少需匹配的词。例如,“你”这种词就是无太大意义的词,此外,停用词在用户问题中所起的作用也不大,也可以去掉,即,在上述步骤S11之后,包括:
从确定的上述用户问题所包含的词中去除预设词。其中,预设词包括上述的无太大意义的词和停用词。在一些实施例中,无太大意义的词可通过逆词频确定,当一个词对应的逆词频越小,表明该词的意义越小。具体地,可将小于预设逆词频阈值的逆词频所对应的词判定为无意义的词。
上述步骤C1,包括:
从上述词典中分别查找与去除预设词的上述用户问题所包含的各个词所对应的索引列表。
例如,假设用户问题为“你不够智能”,“你”为预设词,那么去除“你”后的用户问题所包含的各个词变为“不”、“够”、“智能”,之后,从词典中只需要分别查找与“不”、“够”、“智能”所对应的索引列表,再根据查找到的索引列表中的各个索引确定对应的包含“不”、“够”或“智能”的语料。也即,由于不再需要查找“你”所对应的索引列表,从而减少了查找的时间,也减少了查找到的索引列表的数量,而由于第二逆词频向量的获取与索引列表中的索引有关(一个索引对应一个问题,一个问题与一个第二逆词频向量对应),因此,有效减少了需要获取的第二逆词频向量的数量,从而有效地减少了计算相似度时所需的运算量。
需要指出的是,上述去除预设词的步骤也可与上述的B1和/或A1共同执行,例如,假设与上述的B1和A1共同执行,且包含去除预设词的用户问题的语料只有300条,那么计算相似度的运算量如表7所示。
表7:
乘法 | 加法 | 除法 | 开根 |
0 | 8*2*300+300 | 300 | 300 |
D1、分别计算至少二个上述第二逆词频向量和上述第一逆词频向量对应的数量积。
需要指出的是,在分别计算不同的第二逆词频向量与第一逆词频向量的数量积时,可采用上述A1、B1、C1、C2和/或去除预设词的方式进行计算,也可直接获取数据集中的各个第二逆词频向量后,再分别跟第一逆词频向量进行计算。也即,这里的不同的第二逆词频向量的数量与采用哪一种数量积的计算方式有关。
D2、分别确定各个上述数量积与对应的上述第二逆词频向量的长度的比值。具体地,假设数量积1是由第二逆词频向量1与第一逆词频向量计算得到,那么在确定比值时,是将数量积1与第二逆词频向量1的长度作比得到,而不是将数量积1与第二逆词频向量2的长度作比得到。
D3、确定各个上述比值中的最大值与上述第一逆词频向量的长度的商,上述商为上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
本申请实施例中,由于只在确定出比值中的最大值后,第一逆词频向量的长度才参与运算,也即,减少了在确定出比值中的最大值之前所需参与的运算量。例如,若上述D1采用上述A1、B1、C1、C2和去除预设词的方式进行相似度的计算,那么计算相似度所需的运算量如表8所示。
表8:
乘法 | 加法 | 除法 | 开根 |
0 | 8*2*300+300 | 300 | 1 |
在一些实施例中,上述步骤S12,包括:
E1、获取上述词对应的逆词频。
E2、若上述词为第一预设词,则为上述词的逆词频增加预设的权重,得到的新的逆词频作为与上述词对应的逆词频。考虑到一句话的名词和动词是该句话的灵魂,因此,为名词和/或动词增加预设的权重,此时,第一预设词包括名词和动词。
E3、若上述词为第二预设词,则为上述词的逆词频减少预设的权重,得到的新的逆词频作为与上述词对应的逆词频。考虑到非名词的词,非动词的词在一句话中包含的含义较少,因此,为非名词的词和/或非动词的词减少预设的权重,此时,第二预设名词包括:非名词的词和非动词的词。
本申请实施例中,根据用户问题中的词对应的词性,为对应的词增加或减少预设的权重,通过这样操作,能够提高某些词的比重,从而有利于提高生成的自动回复的准确率。
在一些实施例中,考虑到一个数据集的问答对有限,因此,为了丰富回复语料,则将数据集中的问题也当成回复。即在判断出相似度的最大值小于或等于第一预设相似度值后,则将数据集中的“问题”和“回复”都当做“问题”,此时,数据集的问题相当于翻倍(例如,假设数据集的问题有3w,回复也有3w,将问题和回复都当做“问题”之后,相当于数据集的问题有6w),之后再重现执行上述步骤13(获取第二逆词频向量)~步骤15(根据上述第一逆词频向量、不同的上述第二逆词频向量、上述第一逆词频向量的长度以及不同的上述第二逆词频向量的长度,确定上述用户问题与上述不同的上述第二逆词频向量对应的问题的相似度的最大值),再判断得到的相似度的最大值是否大于第二预设相似度值,若是,则输出得到最大的相似度所对应的“问题”,该“问题”作为生成的自动回复。若得到的相似度的最大值小于或等于上述的第二预设相似度值,则将安全回复作为生成的自动回复。
在一些实施例中,考虑到将数据集的回复也作为问题之后会提高相似度值,因此,为了提高得到的自动回复的准确性,则设置第二预设相似度值大于第一预设相似度值,例如,设置第二预设相似度值为第一预设相似度值的2倍。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例二:
对应于上文实施例上述的自动回复生成方法,图2示出了本申请实施例提供的自动回复生成装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图2,该自动回复生成装置2应用于智能设备中,包括:用户问题获取单元21、第一逆词频向量确定单元22、第二逆词频向量获取单元23、逆词频向量的长度获取单元24、相似度的最大值确定单元25、自动回复生成单元26。其中:
用户问题获取单元21,用于获取用户问题,确定上述用户问题所包含的词;
第一逆词频向量确定单元22,用于获取上述词对应的逆词频,根据获取的上述逆词频得到第一逆词频向量,上述第一逆词频向量为上述用户问题对应的逆词频向量;
第二逆词频向量获取单元23,用于获取第二逆词频向量,其中,一个上述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,上述第二逆词频向量在上述获取用户问题的步骤之前已确定;
逆词频向量的长度获取单元24,用于获取上述第一逆词频向量的长度和上述第二逆词频向量的长度,其中,上述第二逆词频向量的长度在上述获取用户问题的步骤之前已确定;
相似度的最大值确定单元25,用于根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;
自动回复生成单元26,用于根据上述相似度的最大值生成上述用户问题的自动回复。
具体地,将该相似度的最大值与第一预设相似度值比较,若该相似度的最大值大于第一预设相似度值,则确定该相似度的最大值对应的问题,并将该问题对应的回复作为用户问题的自动回复,如根据可确定出具体的i,该i为数据集中的问题的唯一标识;若该相似度的最大值小于或等于第一预设相似度值,则将预设的安全回复作为用户问题的自动回复,其中,预设的安全回复可以为“对不起,我还在学习中”,或者为“你的问题太深奥,我还没学习到”等等。
本申请实施例中,由于第二逆词频向量以及第二逆词频向量的长度均是在获取用户问题的步骤之前已确定,因此,在获取用户问题之后,可以直接使用第二逆词频向量和第二逆词频向量的长度计算用户问题与第二逆词频向量对应的问题的相似度,而由于数据集中的问答对的数量通常较多,也即,确定第二逆词频向量和确定第二逆词频向量的长度所需的时间较长,因此,节省了确定第二逆词频向量和确定第二逆词频向量的长度的时间后,能够极大加快相似度的计算速度。
在一些实施例中,上述相似度的最大值确定单元25,包括:
第一数量积计算模块,用于确定上述第一逆词频向量中非0的数值,以及,分别确定至少二个上述第二逆词频向量中非0的数值,仅根据确定的上述非0的数值,分别计算上述第一逆词频向量与各个上述第二逆词频向量的不同的数量积;
第一相似度最大值确定模块,用于根据各个上述数量积、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
在一些实施例中,上述相似度的最大值确定单元25,包括:
第二数量积计算模块,用于根据以下方式计算一个上述第一逆词频向量与一个上述第二逆词频向量的数量积:从预设的乘积对照表中查找出与逆词频对对应的乘积,其中,一个上述逆词频对由上述第一逆词频向量中的一个逆词频与上述第二逆词频向量中的一个逆词频组成,且上述逆词频对中的两个逆词频在其对应的逆词频向量中的位置相同,上述逆词频对对应的乘积为上述逆词频对中的两个逆词频的乘积,上述预设的乘积对照表用于存储不同逆词频对与乘积的对应关系;累加查找到的逆词频对对应的乘积,得到上述第一逆词频向量和上述第二逆词频向量的数量积;
第二相似度最大值确定模块,用于在分别根据上述第一逆词频向量和至少二个上述第二逆词频向量确定出各个数量积之后,分别根据上述各个数量积、上述第一逆词频向量的长度以及与各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
在一些实施例中,该自动回复生成装置2,包括:
词典构建单元,用于在上述获取用户问题,确定上述用户问题所包含的词之前,构建包括键值和值的词典,上述键值为词,上述值为索引列表,上述索引列表为上述数据集的问答对中包含上述词的各条问题的索引的列表;
索引列表查找单元,用于在上述获取用户问题,确定上述用户问题所包含的词之后,从上述词典中分别查找与上述用户问题所包含的各个词所对应的索引列表;
问题确定单元,用于根据查找的索引列表,确定分别包含上述各个词的各条问题;
上述第二逆词频向量获取单元23,具体用于:
分别获取确定的各条问题对应的第二逆词频向量。
在一些实施例中,该自动回复生成装置2,包括:
预设词去除单元,用于在上述获取用户问题,确定上述用户问题所包含的词之后,从确定的上述用户问题所包含的词中去除预设词;
上述索引列表查找单元,具体用于:
从上述词典中分别查找与去除预设词的上述用户问题所包含的各个词所对应的索引列表。
在一些实施例中,上述相似度的最大值确定单元25,包括:
第三数量积计算模块,用于分别计算至少二个上述第二逆词频向量和上述第一逆词频向量对应的数量积;
比值确定模块,用于分别确定各个上述数量积与对应的上述第二逆词频向量的长度的比值;
第三相似度最大值确定模块,用于确定各个上述比值中的最大值与上述第一逆词频向量的长度的商,上述商为上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
在一些实施例中,上述第一逆词频向量确定单元22在获取上述词对应的逆词频时,具体用于:
获取上述词对应的逆词频,若上述词为第一预设词,则为上述词的逆词频增加预设的权重,得到的新的逆词频作为与上述词对应的逆词频,若上述词为第二预设词,则为上述词的逆词频减少预设的权重,得到的新的逆词频作为与上述词对应的逆词频。
在一些实施例中,考虑到一个数据集的问答对有限,因此,为了丰富回复语料,则将数据集中的问题也当成回复。即在自动回复生成单元26判断出相似度的最大值小于或等于第一预设相似度值后,则将数据集中的“问题”和“回复”都当做“问题”,此时,数据集的问题相当于翻倍,之后再重现执行上述第二逆词频向量获取单元23、逆词频向量的长度获取单元24、相似度的最大值确定单元25,再由自动回复生成单元26判断得到的相似度的最大值是否大于第二预设相似度值,若是,则输出得到最大的相似度所对应的“问题”,该“问题”作为生成的自动回复。若得到的相似度的最大值小于或等于上述的第二预设相似度值,则将安全回复作为生成的自动回复。
在一些实施例中,考虑到将数据集的回复也作为问题之后会提高相似度值,因此,为了提高得到的自动回复的准确性,则设置第二预设相似度值大于第一预设相似度值,例如,设置第二预设相似度值为第一预设相似度值的2倍。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
实施例三:
图3为本申请一实施例提供的智能设备的结构示意图,该智能设备可以为智能机器人。如图3所示,该实施例的智能设备3包括:至少一个处理器30(图3中仅示出一个处理器)、存储器31以及存储在上述存储器31中并可在上述至少一个处理器30上运行的计算机程序32,上述处理器30执行上述计算机程序32时实现上述任意各个方法实施例中的步骤:
获取用户问题,确定上述用户问题所包含的词;
获取上述词对应的逆词频,根据获取的上述逆词频得到第一逆词频向量,上述第一逆词频向量为上述用户问题对应的逆词频向量;
获取第二逆词频向量,其中,一个上述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,上述第二逆词频向量在上述获取用户问题的步骤之前已确定;
获取上述第一逆词频向量的长度和上述第二逆词频向量的长度,其中,上述第二逆词频向量的长度在上述获取用户问题的步骤之前已确定;
根据上述第一逆词频向量、至少二个上述第二逆词频向量、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值;
根据上述相似度的最大值生成上述用户问题的自动回复。
可选地,上述根据上述第一逆词频向量、至少二个上述第二逆词频向量、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值,包括:
确定上述第一逆词频向量中非0的数值,以及,分别确定至少二个上述第二逆词频向量中非0的数值,仅根据确定的上述非0的数值,分别计算上述第一逆词频向量与各个上述第二逆词频向量对应的数量积;
根据各个上述数量积、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
可选地,上述根据上述第一逆词频向量、至少二个上述第二逆词频向量、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值,包括:
根据以下方式计算一个上述第一逆词频向量与一个上述第二逆词频向量的数量积:从预设的乘积对照表中查找出与逆词频对对应的乘积,其中,一个上述逆词频对由上述第一逆词频向量中的一个逆词频与上述第二逆词频向量中的一个逆词频组成,且上述逆词频对中的两个逆词频在其对应的逆词频向量中的位置相同,上述逆词频对对应的乘积为上述逆词频对中的两个逆词频的乘积,上述预设的乘积对照表用于存储不同逆词频对与乘积的对应关系;累加查找到的逆词频对对应的乘积,得到上述第一逆词频向量和上述第二逆词频向量对应的数量积;
在分别根据上述第一逆词频向量和至少二个上述第二逆词频向量确定出各个数量积之后,分别根据上述各个数量积、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
可选地,在上述获取用户问题,确定上述用户问题所包含的词之前,包括:
构建包括键值和值的词典,上述键值为词,上述值为索引列表,上述索引列表为上述数据集的问答对中包含上述词的各条问题的索引的列表;
在上述获取用户问题,确定上述用户问题所包含的词之后,包括:
从上述词典中分别查找与上述用户问题所包含的各个词所对应的索引列表;
根据查找的索引列表,确定分别包含上述各个词的各条问题;
上述获取第二逆词频向量,包括:
分别获取确定的各条问题对应的第二逆词频向量。
可选地,在上述获取用户问题,确定上述用户问题所包含的词之后,包括:
从确定的上述用户问题所包含的词中去除预设词;
上述从上述词典中分别查找与上述用户问题所包含的各个词所对应的索引列表,包括:
从上述词典中分别查找与去除预设词的上述用户问题所包含的各个词所对应的索引列表。
可选地,上述根据上述第一逆词频向量、至少二个上述第二逆词频向量、上述第一逆词频向量的长度以及各个上述第二逆词频向量的长度,确定上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值,包括:
分别计算至少二个上述第二逆词频向量和上述第一逆词频向量对应的数量积;
分别确定各个上述数量积与对应的上述第二逆词频向量的长度的比值;
确定各个上述比值中的最大值与上述第一逆词频向量的长度的商,上述商为上述用户问题与各个上述第二逆词频向量对应的问题的相似度的最大值。
可选地,上述获取上述词对应的逆词频,包括:
获取上述词对应的逆词频;
若上述词为第一预设词,则为上述词的逆词频增加预设的权重,得到的新的逆词频作为与上述词对应的逆词频;
若上述词为第二预设词,则为上述词的逆词频减少预设的权重,得到的新的逆词频作为与上述词对应的逆词频。
上述智能设备3可以是桌上型计算机、笔记本、掌上电脑、车载设备、智能机器人等计算设备。该智能设备可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是智能设备3的举例,并不构成对智能设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),该处理器30还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器31在一些实施例中可以是所述智能设备3的内部存储单元,例如智能设备3的硬盘或内存。所述存储器31在另一些实施例中也可以是所述智能设备3的外部存储设备,例如所述智能设备3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器31还可以既包括所述智能设备3的内部存储单元也包括外部存储设备。所述存储器31用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少二个处理器、存储器以及存储在所述存储器中并可在所述至少二个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/智能设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种自动回复生成方法,其特征在于,包括:
获取用户问题,确定所述用户问题所包含的词;
获取所述词对应的逆词频,根据获取的所述逆词频得到第一逆词频向量,所述第一逆词频向量为所述用户问题对应的逆词频向量;
获取第二逆词频向量,其中,一个所述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,所述第二逆词频向量在所述获取用户问题的步骤之前已确定;
获取所述第一逆词频向量的长度和所述第二逆词频向量的长度,其中,所述第二逆词频向量的长度在所述获取用户问题的步骤之前已确定;
根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;
根据所述相似度的最大值生成所述用户问题的自动回复。
2.如权利要求1所述的自动回复生成方法,其特征在于,所述根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值,包括:
确定所述第一逆词频向量中非0的数值,以及,分别确定至少二个所述第二逆词频向量中非0的数值,仅根据确定的所述非0的数值,分别计算所述第一逆词频向量与各个所述第二逆词频向量对应的数量积;
根据各个所述数量积、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值。
3.如权利要求1所述的自动回复生成方法,其特征在于,所述根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值,包括:
根据以下方式计算一个所述第一逆词频向量与一个所述第二逆词频向量的数量积:从预设的乘积对照表中查找出与逆词频对对应的乘积,其中,一个所述逆词频对由所述第一逆词频向量中的一个逆词频与所述第二逆词频向量中的一个逆词频组成,且所述逆词频对中的两个逆词频在其对应的逆词频向量中的位置相同,所述逆词频对对应的乘积为所述逆词频对中的两个逆词频的乘积,所述预设的乘积对照表用于存储不同逆词频对与乘积的对应关系;累加查找到的逆词频对对应的乘积,得到所述第一逆词频向量和所述第二逆词频向量对应的数量积;
在分别根据所述第一逆词频向量和至少二个所述第二逆词频向量确定出各个数量积之后,分别根据所述各个数量积、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值。
4.如权利要求1所述的自动回复生成方法,其特征在于,在所述获取用户问题,确定所述用户问题所包含的词之前,包括:
构建包括键值和值的词典,所述键值为词,所述值为索引列表,所述索引列表为所述数据集的问答对中包含所述词的各条问题的索引的列表;
在所述获取用户问题,确定所述用户问题所包含的词之后,包括:
从所述词典中分别查找与所述用户问题所包含的各个词所对应的索引列表;
根据查找的索引列表,确定分别包含所述各个词的各条问题;
所述获取第二逆词频向量,包括:
分别获取确定的各条问题对应的第二逆词频向量。
5.如权利要求4所述的自动回复生成方法,其特征在于,在所述获取用户问题,确定所述用户问题所包含的词之后,包括:
从确定的所述用户问题所包含的词中去除预设词;
所述从所述词典中分别查找与所述用户问题所包含的各个词所对应的索引列表,包括:
从所述词典中分别查找与去除预设词的所述用户问题所包含的各个词所对应的索引列表。
6.如权利要求1或5任一项所述的自动回复生成方法,其特征在于,所述根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值,包括:
分别计算至少二个所述第二逆词频向量和所述第一逆词频向量对应的数量积;
分别确定各个所述数量积与对应的所述第二逆词频向量的长度的比值;
确定各个所述比值中的最大值与所述第一逆词频向量的长度的商,所述商为所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值。
7.如权利要求1或5任一项所述的自动回复生成方法,其特征在于,所述获取所述词对应的逆词频,包括:
获取所述词对应的逆词频;
若所述词为第一预设词,则为所述词的逆词频增加预设的权重,得到的新的逆词频作为与所述词对应的逆词频;
若所述词为第二预设词,则为所述词的逆词频减少预设的权重,得到的新的逆词频作为与所述词对应的逆词频。
8.一种自动回复生成装置,其特征在于,包括:
用户问题获取单元,用于获取用户问题,确定所述用户问题所包含的词;
第一逆词频向量确定单元,用于获取所述词对应的逆词频,根据获取的所述逆词频得到第一逆词频向量,所述第一逆词频向量为所述用户问题对应的逆词频向量;
第二逆词频向量获取单元,用于获取第二逆词频向量,其中,一个所述第二逆词频向量为数据集中的一条问答对的问题所对应的逆词频向量,所述第二逆词频向量在所述获取用户问题的步骤之前已确定;
逆词频向量的长度获取单元,用于获取所述第一逆词频向量的长度和所述第二逆词频向量的长度,其中,所述第二逆词频向量的长度在所述获取用户问题的步骤之前已确定;
相似度的最大值确定单元,用于根据所述第一逆词频向量、至少二个所述第二逆词频向量、所述第一逆词频向量的长度以及各个所述第二逆词频向量的长度,确定所述用户问题与各个所述第二逆词频向量对应的问题的相似度的最大值;
自动回复生成单元,用于根据所述相似度的最大值生成所述用户问题的自动回复。
9.一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011467635.4A CN112527988A (zh) | 2020-12-14 | 2020-12-14 | 自动回复生成方法、装置及智能设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011467635.4A CN112527988A (zh) | 2020-12-14 | 2020-12-14 | 自动回复生成方法、装置及智能设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112527988A true CN112527988A (zh) | 2021-03-19 |
Family
ID=75000483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011467635.4A Pending CN112527988A (zh) | 2020-12-14 | 2020-12-14 | 自动回复生成方法、装置及智能设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527988A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628825A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 文本信息相似度匹配方法、装置、计算机设备及存储介质 |
CN110019644A (zh) * | 2017-09-06 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 对话实现中的搜索方法、装置和计算机可读存储介质 |
CN110162611A (zh) * | 2019-04-23 | 2019-08-23 | 苏宁易购集团股份有限公司 | 一种智能客服应答方法及系统 |
CN111460401A (zh) * | 2020-05-20 | 2020-07-28 | 南京大学 | 结合软件制品过程信息和文本相似度的制品自动追踪方法 |
CN111626040A (zh) * | 2020-05-28 | 2020-09-04 | 数网金融有限公司 | 一种确定句子相似度的方法、相关设备及可读存储介质 |
CN111797214A (zh) * | 2020-06-24 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 基于faq数据库的问题筛选方法、装置、计算机设备及介质 |
CN111898380A (zh) * | 2020-08-17 | 2020-11-06 | 上海熙满网络科技有限公司 | 文本匹配方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-14 CN CN202011467635.4A patent/CN112527988A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019644A (zh) * | 2017-09-06 | 2019-07-16 | 腾讯科技(深圳)有限公司 | 对话实现中的搜索方法、装置和计算机可读存储介质 |
CN108628825A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 文本信息相似度匹配方法、装置、计算机设备及存储介质 |
CN110162611A (zh) * | 2019-04-23 | 2019-08-23 | 苏宁易购集团股份有限公司 | 一种智能客服应答方法及系统 |
CN111460401A (zh) * | 2020-05-20 | 2020-07-28 | 南京大学 | 结合软件制品过程信息和文本相似度的制品自动追踪方法 |
CN111626040A (zh) * | 2020-05-28 | 2020-09-04 | 数网金融有限公司 | 一种确定句子相似度的方法、相关设备及可读存储介质 |
CN111797214A (zh) * | 2020-06-24 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 基于faq数据库的问题筛选方法、装置、计算机设备及介质 |
CN111898380A (zh) * | 2020-08-17 | 2020-11-06 | 上海熙满网络科技有限公司 | 文本匹配方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107992543B (zh) | 问答交互方法和装置、计算机设备及计算机可读存储介质 | |
CN109299280B (zh) | 短文本聚类分析方法、装置和终端设备 | |
CN109101620B (zh) | 相似度计算方法、聚类方法、装置、存储介质及电子设备 | |
US20190332671A1 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
CN110019687B (zh) | 一种基于知识图谱的多意图识别系统、方法、设备及介质 | |
CN111259660A (zh) | 基于文本对的关键词抽取方法、装置、设备及存储介质 | |
CN111460170A (zh) | 一种词语识别方法、装置、终端设备及存储介质 | |
CN112632261A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN114186061A (zh) | 语句意图预测方法、装置、存储介质及计算机设备 | |
CN113836938A (zh) | 文本相似度的计算方法及装置、存储介质、电子装置 | |
CN115795061A (zh) | 一种基于词向量和依存句法的知识图谱构建方法及系统 | |
CN113190675A (zh) | 文本摘要生成方法、装置、计算机设备和存储介质 | |
CN109885831B (zh) | 关键术语抽取方法、装置、设备及计算机可读存储介质 | |
Downey et al. | Efficient methods for inferring large sparse topic hierarchies | |
CN113806486A (zh) | 长文本相似度的计算方法及装置、存储介质、电子装置 | |
CN111859974A (zh) | 一种结合知识图谱的语义消歧方法和装置、智能学习设备 | |
CN113590811A (zh) | 文本摘要生成方法、装置、电子设备及存储介质 | |
CN112527988A (zh) | 自动回复生成方法、装置及智能设备 | |
CN108415959B (zh) | 一种文本分类方法及装置 | |
CN115391551A (zh) | 事件检测方法及装置 | |
CN112989044B (zh) | 文本分类方法、装置、设备及存储介质 | |
CN112541069A (zh) | 一种结合关键词的文本匹配方法、系统、终端及存储介质 | |
CN111401070B (zh) | 词义相似度确定方法及装置、电子设备及存储介质 | |
Ganguly et al. | Deterministic k-set structure | |
CN112948545A (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 |