CN113220848A - 用于人机交互的自动问答方法、装置和智能设备 - Google Patents
用于人机交互的自动问答方法、装置和智能设备 Download PDFInfo
- Publication number
- CN113220848A CN113220848A CN202010072266.2A CN202010072266A CN113220848A CN 113220848 A CN113220848 A CN 113220848A CN 202010072266 A CN202010072266 A CN 202010072266A CN 113220848 A CN113220848 A CN 113220848A
- Authority
- CN
- China
- Prior art keywords
- question
- questions
- interactive
- similarity
- object information
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000003993 interaction Effects 0.000 title claims description 85
- 230000002452 interceptive effect Effects 0.000 claims abstract description 123
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000012216 screening Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 abstract description 11
- 238000000605 extraction Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000004044 response Effects 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
- 238000013136 deep learning model Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013604 expression vector Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000003786 synthesis reaction 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
- 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
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请适用于人工智能领域,提供了一种用于人机交互的自动问答方法,所述方法对于接收到的用户的交互问题,获取交互问题所对应的对象信息,根据交互问题和对象信息,在问题的全量索引库中检索匹配的问题,然后再基于句子对模型计算交互问题与匹配的问题的相似度,根据计算的相似度确定交互问题所对应的答案。由于训练句子对模型的虚拟组中的问题不受对象信息的限制,不会造成模型混乱,并且基于问题与问题的相似性进行训练,通过深度学习网络进行建模,与手工提取特征的方式相比,能够更加充分利用词语的释义,有利于提高查找的答案的准确性。
Description
技术领域
本申请属于人工智能交互技术领域,尤其涉及一种用于人机交互的自动问答方法、装置和智能设备。
背景技术
问答系统(Question Answering System,QA System)是信息检索系统的一种高级形式,它通过问题与答案组的形式,使用朴素自然的语言回答用户所提出的问题。问答系统之所以发展的如此迅速,是因为现代社会人们对于知识获取的速度以及形式都有极大的改变。问答系统按照问题的维度,可以分为领域内与开放领域的问答系统;按照对话类型可以分为闲聊型、问答型和任务型。其中,问答型中的FAQ(英文全称为Frequently AskedQuestions,中文全称为经常问到的问题)形式是一种较为常见的信息检索形式。
目前的问答系统在寻找问题对应的答案时,通常采用基于深度学习的方式。比如对分词结果训练得到词语不同精度的向量,根据训练完的不同精度的向量,构建文本表示向量,根据所述文本表示向量计算用户问题与所有问题的余弦相似度,将相似问题输入问答匹配模型,将匹配得分最高的答案返回给用户。
但是,某些问题相同或相似,面对不同服务对象的答案也会不同,会造成学习模型混乱,导致模型的鲁棒性不够。并且,很多时候,答案是随着业务的改变而改变,答案与问题需要解耦,问题与答案之间的固定匹配方式,不能满足寻找变化的答案的要求。
发明内容
本申请实施例提供了一种用于人机交互的自动问答方法、装置及智能设备,可以解决问题相同或相似,但面对不同服务对象的答案不同时,造成学习模型混乱,模型的鲁棒性不够,且不能满足问题对应变化的答案的问题。
第一方面,本申请实施例提供了一种用于人机交互的自动问答方法,所述用于人机交互的自动问答方法包括:接收用户输入的交互问题;获取所述交互问题所包括的对象信息;基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案。
其中,所述交互问题的对象信息,可以为交互问题中直接包括的对象信息,也可以为交互问题中所隐藏的对象信息。比如,交互问题“华为mate20的处理器是什么”中,直接描述了对象信息为型号是“华为mate20”的智能手机。而对于交互问题“这个手机处理器是什么”中,在问题本身并没有描述对象信息,而根据接收所述交互问题的智能设备,可以获得所述对象信息。比如,接收所述交互问题的智能设备为型号是“荣耀8X”的智能手机。在一些具体实施方式中,所述对象信息可能还包括其它更为具体的信息。比如,交互问题为“这手机的内存是多少”,由于同一设备型号可能还包括不同的配置版本,因而,所述对象信息可能还包括更为具体的配置版本信息,比如可以为“荣耀8X-6G版”等。
在查找所述交互问题对象的答案时,可包括基于交互问题和对象信息的检索,以及基于句子对模型所计算的问题的相似度排序,得到与交互问题的匹配度较高的问题,然后根据所检索和排序得到的问题所对应的答案,作为所述交互问题的答案。
其中,基于交互问题和对象信息检索,可以从数量庞大的问题库中,检索得到预定数量的、与所述交互问题高相关的问题,在此基础上,通过对象信息对所检索的问题进行筛选,以及采用句子对模型所计算的交互问题与检索到的问题的相似度对问题进行排序,得到相似度更高、且问题信息一致的问题,通过句子对模型进行相似度计算,可以屏蔽不同对象信息对问题相似度的影响,不会造成模型的混乱,并且句子对模型是基于问题与问题之间的关系进行建模,能够适应问题与答案的变化特性,提高系统的鲁棒性。并且本申请基于问题的深度学习网络进行建模,有利于充分利用词语的释义,有利于更为准确的查找问题的答案。
在一种实现方式中,所述基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案的步骤包括:在预先构建的问题库中检索与所述交互问题和对象信息匹配的问题,根据检索到的两个或两个以上的问题分别与交互问题构成两个或两个以上的问题对;根据已训练的句子对模型计算所述问题对的相似度,根据所述相似度得到所述交互问题的答案,其中,所述句子对模型根据同一虚拟组之间的问题所构成的正样本数据,以及不同虚拟组的问题之间所构成的负样本数据训练得到,所述虚拟组包括两个或两个以上的相同或相似的问题。
在该实施方式中,联合交互问题和对象信息对问题库中的大量问题进行筛选,得到高相关度的预定数量的问题。比如,可以通过交互问题和对象信息对问题库进行筛选,得到K(比如,K可以为10)个高相关度的问题,然后进一步对所筛选的K个高相关度的问题,基于已训练的句子对模型进一步计算所筛选的问题和交互问题之间的相似度,并且所述句子对模型在训练时不受问题的对象信息影响(相似或相同的问题可以对应相同的对象信息,也可以对应不同的对象信息),可以更为准确的得到相似度更高的问题。并且与手工设定问题特征的方式相比,通过深度学习的方式建立句子对模型,有利于进一步提高所计算的问题与问题之间的相似度的准确性。
在一种实现方式中,所述基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案的步骤包括:在预先构建的问题库中检索与所述交互问题匹配的问题,根据检索到的两个或两个以上的问题分别与交互问题构成两个或两个以上的问题对;根据已训练的句子对模型计算所述问题对的相似度,根据所述相似度对所述问题对排序得到第一问题对序列,其中,所述句子对模型根据同一虚拟组之间的问题所构成的正样本数据,以及不同虚拟组的问题之间所构成的负样本数据训练得到,所述虚拟组包括两个或两个以上的相同或相似的问题;根据所述对象信息对所述第一问题对序列进行筛选,根据筛选后的问题确定所述交互问题的答案。
与上一种实现方式不同之处在于,在这种实现方式中,基于对象信息对问题进行筛选的步骤在句子对模型所计算的相似度排序之后,对排序后得到的第一问题对序列进行对象信息的筛选,即判断第一问题对序列中的问题对中的两个问题的对象信息进行比较,筛选掉对象信息不同的问题对,得到筛选后的第二问题对序列,在第二问题对序列中查找问题对中的两个问题的相似度最高的问题对,根据所查找的问题对中包括的检索得到问题所对应的答案,作为所述交互问题的答案。由于第一次筛选得到的问题可能存在与交互问题的对象信息不匹配的问题,可以在第一次筛选时获取与交互问题相似或相同的、数量大于预定数量的问题。
在一种实现方式中,在所述根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题的步骤之前,所述方法还包括:根据所获取的问题相同或相似的问题,生成虚拟组;标定所述虚拟组中的问题之间的相似度标签为正,标定所述虚拟组之间的问题的相似度标签为负;将所获取的问题输入到预设的句子对模型,计算得到任意两个问题之间的标签,比较所计算的标签和标定的标签之间的差异,根据所述差异调整所述句子对模型的参数,直到所述差异符合预设条件,得到已训练的句子对模型。
在该实现方式中,句子对模型的训练过程中,先构建虚拟组,将相似或相同的问题划分为同一虚拟组(问题相似可以理解为问题的相似度大于预定值),并且,同一虚拟组中的问题,可以对应不同的对象信息,也可以对应相同的对象信息,或者同一虚拟组中的问题,可以对应不同的答案,也可以对应相同的答案。将同一虚拟组中的问题之间的标签设定为正,不同虚拟组之间的问题的标签设定为负,对所述句子对模型进行训练,将所计算的标签与标定的标签进行比较,根据比较结果调整句子对模型的参数,直到所计算的相似度与标定的标签之间的差异符合预设的要求,得到已训练的句子对模型。由于句子对模型的句子的相似度不受对象信息的限制,因而能够更为准确的计算问题之间的相似度。
在具体的实现方式中,所述对象信息可以包括接收所述交互问题的泛终端属性信息,所述接收所述交互问题的泛终端属性信息可以包括泛终端的设备编号、泛终端的系统名称、泛终端的硬件信息和泛终端的时间属性信息中的一种或者多种。当然,不必局限于此,还可以包括使用所述泛终端的、用户许可或允许的用户信息等。根据不同的交互问题,可以获取不同的对象信息。可以建立交互问题类型与对象信息类型的对应关系,根据所接收的交互问题相应的确定对象信息,从而能够更为准确的查找到问题所对应的答案。
第二方面,本申请实施例提供了一种句子对模型训练方法,所述句子对模型训练方法包括:获取样本数据,所述样本数据包括多个问题;将问题的相似度大于预定值的问题划分为同一虚拟组,并标定同一虚拟组中的问题之间的标签为正,不同虚拟组中的问题之间的标签为负;将虚拟组中的问题输入到预设的句子对模型,输出两个问题的标签,将所输出的标签与标定的标签进行比较,得到两者的差异,根据所述差异调整句子对模型的参数,直到两者的差异符合预设条件,得到训练后的句子对模型。基于所训练的句子对模型,可用于对象信息和交互问题所筛选得到的问题与交互问题的相似度计算,可减少对象信息对问题相似度计算的影响,不会造成模型混乱,并且基于深度学习的句子对模型,是基于问题与问题之间的关系建模,而非问题与答案之间的关系建模,有利于增加模型的鲁棒性,并且利用深度学习模型提取特征,充分利用词语的释义,和手工提取特征的方式相比,有利于提高问题相似度计算的准确度,从而有利于查找到更为准确的答案。
第三方面,本申请实施例提供了一种智能设备,所述用于人机交互的自动问答装置包括:交互问题接收单元,用于接收用户输入的交互问题;对象信息获取单元,用于获取所述交互问题所包括的对象信息;问题筛选单元,用于基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案。
第四方面,本申请实施例提供了一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的用于人机交互的自动问答方法,或如上述的句子对模型训练方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的用于人机交互的自动问答方法,或如上述的句子对模型训练方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种用于人机交互的自动问答方法所适用于的手机的结构示意图;
图2是本申请一实施例提供的一种用于人机交互的自动问答方法的所适用于的软件架构示意图;
图3是本申请一实施例提供的一种用于人机交互的自动问答方法的交互场景示意图;
图4为本申请实施例提供的一种虚拟组划分示意图;
图5是本申请另一实施例提供的一种用于人机交互的自动问题方法的处理流程示意图;
图6是本申请一实施例提供的一种问题处理流程示意图;
图7是本申请另一实施例提供的用于人机交互的自动问答方法的处理流程示意图;
图8是本申请实施例提供的又一问题处理流程示例图;
图9是本申请实施例提供的一种用于人机交互的自动问答装置的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的用于人机交互的自动问答方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等智能设备上,本申请实施例对智能设备的具体类型不作任何限制。
例如,所述智能设备可以是WLAN中的站点(STAION,ST),可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,SIP)电话、无线本地环路(WirelessLocal Loop,WLL)站、个人数字处理(Personal Digital Assistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、车联网终端、电脑、膝上型计算机、手持式通信设备、手持式计算设备、卫星无线设备、无线调制解调器卡、电视机顶盒(set top box,STB)、用户驻地设备(customer premise equipment,CPE)和/或用于在无线系统上进行通信的其它设备以及下一代通信系统,例如,5G网络中的移动终端或者未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)网络中的移动终端等。
作为示例而非限定,当所述智能设备为可穿戴设备时,该可穿戴设备还可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,如智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
以所述智能设备为手机为例。图1示出的是与本申请实施例提供的手机的部分结构的框图。参考图1,手机包括:射频(Radio Frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,WiFi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
手机100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机100还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机100还可以包括摄像头。可选地,摄像头在手机100的上的位置可以为前置的,也可以为后置的,本申请实施例对此不作限定。
可选地,手机100可以包括单摄像头、双摄像头或三摄像头等,本申请实施例对此不作限定。
例如,手机100可以包括三摄像头,其中,一个为主摄像头、一个为广角摄像头、一个为长焦摄像头。
可选地,当手机100包括多个摄像头时,这多个摄像头可以全部前置,或者全部后置,或者一部分前置、另一部分后置,本申请实施例对此不作限定。
另外,尽管未示出,手机100还可以包括蓝牙模块等,在此不再赘述。
图2是本申请实施例的手机100的软件结构示意图。以手机100操作系统为Android系统为例,在一些实施例中,将Android系统分为四层,分别为应用程序层、应用程序框架层(framework,FWK)、系统层以及硬件抽象层,层与层之间通过软件接口通信。
如图2所示,所述应用程序层可以一系列应用程序包,应用程序包可以包括短信息,日历,相机,视频,导航,图库,通话等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数,例如用于接收应用程序框架层所发送的事件的函数。
如图2所示,应用程序框架层可以包括窗口管理器、资源管理器以及通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
应用程序框架层还可以包括:
视图系统,所述视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供手机100的通信功能。例如通话状态的管理(包括接通,挂断等)。
系统层可以包括多个功能模块。例如:传感器服务模块,物理状态识别模块,三维图形处理库(例如:OpenGL ES)等。
传感器服务模块,用于对硬件层各类传感器上传的传感器数据进行监测,确定手机100的物理状态;
物理状态识别模块,用于对用户手势、人脸等进行分析和识别;
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
系统层还可以包括:
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
硬件抽象层是硬件和软件之间的层。硬件抽象层可以包括显示驱动,摄像头驱动,传感器驱动等,用于驱动硬件层的相关硬件,如显示屏、摄像头、传感器等。
以下实施例可以在具有上述硬件结构/软件结构的手机100上实现。以下实施例将以手机100为例,对本申请实施例提供的用于人机交互的自动问答方法进行说明。
图3示出了本申请提供的用于人机交互的自动问答方法的交互场景示意图,本申请所述的人机交互的自动问题方法,可以应用于FAQ(经常问到的问题)场景,如图3所示,所述交互场景示意图中包括机器人管理模块BotManager、对话服务模块Dialog Service、文本代理模块TP Agent、问答引擎模块QA engine、消息队列模块DMQ和问答库。
其中,所述机器人管理模块BotManager可以包括客户端模块和服务端模块,管理员可以通过预先设定的管理员账号在所述客户端登录,并将账号信息发送至服务端模块,服务端模块验证所登录的账号后,可接收所登录的管理员对问答库的数据的更新。
所述对话服务模块Dialog Service可用于接收用户输入的问题,将问题转发至文本代理模块TP Agent进行文本处理,并将查找到的问题对应的答案显示给用户。
所述问答引擎QA engine可用于监测问答库中的数据是否更新,并且在问答库的数据发生更新时,可通过离线或在线更新的方式,加载所更新的问答库,并根据用户所需要查找的交互问题,在更新的问答库中检索对象信息相同的类似问题,以及根据预先训练的句子对模型,计算所检索的类似问题与交互问题的相似度,根据所计算的相似度确定问题对应的答案。
本申请所述用于人机交互的自动问答方法,可应用于所述问答引擎QA engine,所述问答引擎可与文本代理模块TP Agent、消息队列模块DMQ、机器人管理模块BotManager、问答库之间进行交互。其中,问答库是问答引擎模块QA Engine的数据来源,所述问答引擎模块QA Engine从所述问答库获取需要筛选、分析的问题库。
如图3所示,当管理员通过所述机器人管理模块BotManger登录后,可以配置问题组,包括修改问答库中的数据,包括对问答库中的数据进行修改、删除或增加新的问答等操作。比如,可以在问答库中增加新的问答,并标定所增加的问答所对应的对象信息,将所修改的问答组存储至问答库。比如,所增加的问答组可以为“芯片是什么型号”,对应的答案为“芯片为麒麟980”,所对应的对象信息为“华为MATE20”。
在问答库更新所增加的问答后,发送消息给消息队列模块DMQ,由消息队列模块DMQ将更新的消息传递给问答引擎模块QA Engine。此时,问答引擎模块QA Engine可以离线进行初始化加载,将更新的消息加载至问答引擎模块QA Engine。
当接收到用户User提出的交互问题时,智能设备会可以将泛终端的设备信息,或者还可以包括使用所述泛终端的、用户许可或允许的用户信息等对象信息,发送给对话服务模块Dialog Service进行分析处理,并经由文本代理模块TP Agent分发到问答引擎模块QA Engine,问答引擎模块QA Engine从问答库中搜索与用户提出的问题相似的问题,或者可以包括搜索与用户提出的问题、问题的对象信息相同的问题,并将这些问题返回给问答引擎模块QA Engine,问答引擎模块QA Engine使用预先通过标定具有相同或相似问题的虚拟组训练的句子对模型计算与交互问题最相似的问答组编号,问答库根据所述问答组编号,从问答库中选择对应的答案返回给问答引擎模块QA Engine,然后逐层传递消息,直至将答案告知给用户。
其中,上述的机器人管理模块BotManager、对话服务模块Dialog Service、文本代理模块TP Agent、问答引擎QA engine、消息队列模块DMQ和问答库可以为终端或服务器中的应用程序。在一种实现方式中,所述机器人管理模块BotManager、对话服务模块DialogService、文本代理模块TP Agent、问答引擎QA engine、消息队列模块DMQ可以为终端中的应用程序,问答库可以为服务器中的数据库应用程序。
在图3所示实施场景的基础上,可以更为准确的查找人机交互的问题的答案,具体实现可以包括训练阶段和预测阶段,下面对这两阶段分别进行介绍。
1、训练阶段:
在介绍本申请所述句子对模型的训练方法之前,可以简单的了解一下目前的问答系统中所采用的基于深度学习的问答方法的解决方案。目前通常是利用现有问答库中的词语和句子的表征相似度,以及深度学习构建的问题与答案的相似度,通过这两者的结合来判定问题对应的答案。
然而,基于问题与答案的相似度所构建的深度学习模型,在使用时会受到问题随着业务场景的改变而改变的情况的限制。比如图4所示,对于问题“芯片是什么型号”,针对不同的业务情况下,答案可能会发生变化。图4中,当接收问题的终端的型号为“MATE20”的智能手机时,所对应的答案为“麒麟980”,当接收问题的终端的型号为“荣耀8”时,所对应的答案变换为“麒麟950”。因此,在某一业务情况下所构建的模型不具有普遍适用性,而且简单的构建问题与答案的深度学习网络,也会容易造成模型学习的混乱。
在构建本申请的学习网络模型时,先对如下名词进行定义:
问题组:问题组可以包括两个或两个以上的问题,并且所包括的问题中,问题相同或相似,问题对应的对象信息相同或相似,并且问题的答案相同或相似。
对象信息:对象信息可以包括与问题相关的对象的属性信息。对于自动问答系统,对象信息可以为接收问题的智能设备,比如泛终端的硬件属性信息、泛终端的设备编号、泛终端的系统名称、泛终端的时间属性中的一种或者多种。比如,对于问题“芯片是什么型号”,其包括的对象信息为接收问题的智能设备的硬件信息等。在一些应用场景下,所述对象信息还可以还包括提出问题的用户的相关信息,比如,对于问题“我的行程”,则对应的对象信息可以为提出问题的用户的属性信息,包括用户的日程安排信息等。
虚拟组:站在问题组的角度,可以包括两个或两个以上的问题组,并且问题组之间的问题相同或相似、不同问题组的对象信息不同且答案不同。站在问题的角度,虚拟组可以根据问题的相似度,包括两个或两个以上的、相似度超过预定值的问题。对于同一问题组中的任意两个问题,可以标定这两个问题之间的标签为正,对于不属于同一问题组中的两个问题,可以标定这两个问题之间的标签为负。比如图4所示,对于虚拟组A中包括两个问题组,编号分别为A1和A2,对于同一问题组中的两个问题,分别为“芯片是什么型号”,以及“这个处理器是什么”,对于同一问题组中的问题的答案相同,对于同一虚拟组中的不同问题组中的问题的答案不同。比如,对于问题组A1,所对应的对象信息为华为mate20,而问题组A2所对应的对象信息为荣耀8。因此,同一虚拟组中所包括的问题组,可以为问题相同或相似、对象信息不同(具体可以为服务对象相同)、答案不同的问题组。同样,对于虚拟组B,包括编号分别为B1和B2的两个问题组,问题组B1的问题包括“这手机是什么系统的?”,以及“手机系统版本号是多少?”,问题组B2的问题包括“手机啥系统?”,以及“这手机系统是哪个版本?”。
句子对模型:本申请中用于计算问题与问题的相似度的深度学习网络模型。训练该模型所采用的样本数据可以包括两个或两个以上的虚拟组。对于虚拟组中的问题,以及虚拟组之间的问题,可以根据预先设定的标定规则,标定问题之间的标签。即可以标定同一虚拟组中的任意两个问题之间的标签为正,标定不同虚拟组之间的问题的标签为负。标签的正负数值的大小可以根据实际需要设定。
问题相同或相似:对于问题相同,可以为用于比较的两个问题的文字内容完全相同。对于问题相似,可以为问题实质相同,表达形式上的句式不同,或者采用相近似的词语表示。可以预先设定相近似的词语以及相近似的表述方式,来确定两个问题是否相似。
训练所述句子对模型的过程可以如图5所示,包括样本数据获取阶段、虚拟组划分阶段和句子对模型训练阶段,其中:
样本数据获取阶段中,可以获取大量的问题答案数据。所获取的问题答案数据中,可以包括相同问题、具有不同对象信息,比如图4中具有不同服务对象而导致答案不同的问题。所获取的样本数据包括问题和问题的答案、问题的对象信息,以便于根据问题、问题的答案以及问题的对象信息,对问题作进一步标定处理。
虚拟组划分阶段,可以根据所获取的问题的相似度、问题答案、问题的对象信息,将问题相同或相似、问题的答案以及问题的对象信息相同的问题划分至同一问题组。比如,图4中问题组A1中,同一问题组的问题相似,且问题的对象信息和答案相同。
根据所划分的问题组,进一步根据问题组的问题、问题组的对象信息、问题组的答案,将具有相同或相似问题,且对象信息不同以及答案不同的问题组划分为同一个虚拟组。对于虚拟组中的任意两个问题的标签,可以标定同一虚拟组中的任意两个问题之间的标签为正。对于不同虚拟组之间的任意两个问题,可以标定不同虚拟组中的任意两个问题之间的标签为负。
如图4所示,对于虚拟组A,其中的任意两个问题,比如“针对华为mate20”的问题“芯片是什么型号?”,与“针对荣耀8”的问题“手机处理器是什么?”,两者之间的标签为正。而对于虚拟组A和虚拟组B之间的任意两个问题,比如,“针对华为mate20”的问题“芯片是什么型号?”,与“针对荣耀8”的问题“手机啥系统?”,两者之间的标签为负。
句子对模型训练阶段,在获取到已标定的样本数据后,可以将样本数据中的任意两个问题输入到参数预先初始化的句子对模型,根据初始化的参数计算得到两个问题之间的相似度。所述句子对模型可以为卷积神经网络模型。根据所计算的两个问题的标签,与标定的两个问题的标签进行比较,确定两者的相似度差异,如果所述差异不符合预设的要求,则根据所述差异对所述句子对模型的参数进行优化,直到根据所述句子对模型所计算的样本数据中的任意两个问题的相似度,与所标定的相似度的差异符合预设的要求。
由此可见,训练阶段可用于调整和优化句子对模型中的参数,使得句子对模型能够计算任意两个问题的相似度,但所计算的问题的相似度不会受到问题的对象信息的限制,即在训练过程中所使用的样本数据中包括对象信息不同的问题的相似度的计算。
由于对于同一问题,随着业务的改变而发生变化。当业务发生改变时,答案与问题需要解耦,在这种情况下,由于训练句子对模型所使用的样本数据包括具有不同对象信息的相同或相似问题的训练,因此,不需要更新模型,即可有效的适应不同业务情况的问题相似度计算的需求。
其中,所述训练阶段所得到的句子对模型,可以用于后续的用于人机交互的问答方法中计算问题的相似度。并且在计算相似度时,只需要调用预先所训练好的句子对模型即可。
2、预测阶段:
预测阶段包括两部分,分别为检索筛选阶段、打分排序阶段。
如图5所示,检索筛选阶段可以包括:
2.1接收用户输入的交互问题;
用户输入的交互问题的形式,可以包括多种样式。比如,可以在采集状态下,通过语音传感器采集用户的语音信息,解析所采集的语音信息,得到用户输入的交互问题的文字内容。或者,也可以为用户通过触摸输入等输入方式,在交互问题采集页面中输入的交互问题的文字内容。
在接收到用户输入的交互问题后,可以根据预先设定的问题与对象信息的对应关系,获取所述交互问题所对应的对象信息。比如,对于问题“手机啥系统”所对应的对象信息可以为接收所述交互问题的智能设备的硬件信息,可将所述对象信息和所述交互问题一起存储和用于本地搜索,或上传至用于搜索的服务器。
2.2全量索引库构建,将问题的对象信息特征加入到搜索引擎中,构建包括对象信息的全量索引库。
对于由大量问题所构成的索引库中,为每个问题添加对象信息的特征,使得索引库中的问题包括问题所对应的对象信息,建立问题及对象信息与问题组编号的对应关系。比如,对于全量索引库中的问题“芯片是什么型号”,添加对应的对象信息包括“华为mate20”,使得问题的内容更加全面。
2.3加载全量索引库。
在智能设备或服务器加载所述全量索引库,可用于根据用户输入的问题,以及问题所对应的对象信息,分别进行检索筛选,得到与用户输入的交互问题相似的问题,或者得到与用户输入的交互问题的对象信息相同的问题,或者得到与用户输入的交互问题相似,且与交互问题的对象信息匹配的问题。
值得注意的是,所述全量索引库的加载或初始化,可以在检索设备开机完成,或者在接收到第一个交互问题时触发所述倒是索引库的加载或初始化。
2.4交互问题搜索
根据所接收的用户输入的交互问题,以及所述交互问题所对应的对象信息,在所述全量索引库中查找与其匹配的问题,使得检索得到的问题与所述交互问题相同或相似,并且检索得到的问题的对象信息,与交互问题的对象信息相同。
如图6所示,接收到用户输入的交互问题为:“芯片是什么型号?”,根据预先设定的交互问题与对象信息的对应关系,获得所述交互问题所对应的对象信息为接收所述交互问题的设备的型号,比如交互问题所对应的对象信息为“华为mate20”。
根据所接收的交互问题,以及交互问题所对应的对象信息,从两个维度在全量索引库中搜索与交互问题和对象信息匹配的问题。可以在搜索的问题中,选择对象信息相同,且与交互问题的相似度较高的K个问题,用于2.5中的打分排序。
打分排序阶段:
2.5句子对模型打分
根据训练阶段所训练完成的句子对模型,调用该句子对模型用于对检索筛选后的问题与交互问题的相似度得分。
2.6问题排序
根据所述句子对模型所计算的交互问题与检索筛选的问题的相似度得分,对所检索筛选的问题进行排序,得到与交互问题的相似度最高的问题所对应的答案,作为所述交互问题的答案。
图6所示,接收到交互问题后,根据交互问题获取交互问题对应的对象信息,比如交互问题为“芯片是什么型号?”,获取对应的对象信息为“华为mate20”。根据所述对象信息和所述交互问题,检索筛选得到预定个数的问题,比如K个问题,包括如“手机处理器是什么?”、“我使用的手机的CPU”、“手机处理器型号”等,可以将所述交互问题与K个问题构成K个问题对,将所述K个问题对输入到已训练的句子对模型中,输出所输入的问题对所对应的相似度得分,根据所述相似度得分,可以对所述问题对进行排序,得到相似度得分最高的问题对,获取该问题对中属于全量索引库中的问题所对应的答案,作为所述交互问题的答案。比如,所获取的K个问题中,内容为“手机处理器是什么?”,且对象信息为“华为mate20”的问题,与交互问题“芯片是什么型号?”的相似度的得分最高,则查找该问题所对应的答案作为所述交互问题的答案。
由于本申请将服务对象不同,但问题相同或相似的问题组划分为同一虚拟组,基于虚拟组训练深度学习的句子对模型,屏蔽了问题的对象信息这一特征对模型的影响,不会造成模型的混乱。
并且,训练所述句子对模型所采用的样本数据,是基于问题与问题之间的关系,与问题是否对应相同答案无关,因而能够有效的增加句子对模型的鲁棒性,使得句子对模型可以有效的适应问题与答案发生变化的业务情形的问题相似度计算。
另外,句子对模型不再是单纯的利用手工提取特征进行建模,而是基于深度学习网络对句子进行建模,利用深度学习模型提取特征,有利于充分利用词语的释义,能够使得所计算的相似度得分更为准确。
在另一种实现方式中,如图7所示,用于人机交互的自动问答方法可以包括训练阶段和预测阶段,其中,所述训练阶段与图5所示的人机交互的自动问答方法基本相同。
在预测阶段,如图7所示,预测阶段包括检索阶段、打分排序阶段、筛选阶段,其中,检索阶段包括:
3.1接收用户输入的交互问题;
用户输入的交互问题的形式,可以包括多种样式。比如,可以在采集状态下,通过语音传感器采集用户的语音信息,解析所采集的语音信息,得到用户输入的交互问题的文字内容。或者,也可以为用户通过触摸输入等输入方式,在交互问题采集页面中输入的交互问题的文字内容。
在接收到用户输入的交互问题后,可以根据预先设定的问题与对象信息的对应关系,获取所述交互问题所对应的对象信息。比如,对于问题“手机啥系统”所对应的对象信息可以为接收所述交互问题的智能设备的硬件信息,可将所述对象信息和所述交互问题一起存储和用于本地搜索,或上传至用于搜索的服务器。
3.2问题索引库构建,根据所采集的问题构建问题索引库。
对于由大量问题所构成的索引库中,可以不需要为每个问题添加对象信息或答案的特征,从而能够大大的减小问题索引库的构建工作量,降低问题索引库的构建成本。比如,对于问题索引库中的问题“芯片是什么型号”,可以通过问题索引库建立问题与问题组编号的索引关系。
3.3加载问题索引库。
在智能设备或服务器加载所述问题索引库,可用于根据用户输入的问题,进行检索筛选,得到与用户输入的交互问题相似的问题。
值得注意的是,所述问题索引库的加载或初始化,可以在检索设备开机完成,或者在接收到第一个交互问题时触发所述倒是索引库的加载或初始化。
3.4交互问题搜索
根据所接收的用户输入的交互问题,在所述问题索引库中查找与其匹配的问题,使得检索得到的问题与所述交互问题相同或相似的问题。
如图8所示,接收到用户输入的交互问题为:“芯片是什么型号?”,根据所接收的交互问题,从问题索引库中搜索与交互问题匹配的问题。可以在搜索的问题中,选择与交互问题的相似度较高的M个问题,用于3.5中的打分排序。
打分排序阶段:
3.5句子对模型打分
将筛选后的两个或两个以上的问题,分别与交互问题组合成两个或两个以上的问题对。将所组合的问题对作为已训练完成的句子对模型的输入,调用该句子对模型计算所输入的问题对的相似度得分。
3.6问题排序
根据所述句子对模型所计算的交互问题与检索筛选的问题所构成的问题对的相似度得分,对所检索筛选的问题对进行排序,得到第一问题对序列。
3.7对象信息筛选
对于所得到的第一问题对序列中除交互问题之外的问题,可能存在部分问题的对象信息与交互问题的对象信息不同,为了获得准确的答案,可以根据预设的问题与对象信息的对应关系,获取所述交互问题所对应的对象信息,以及获取所检索到的问题所对应的对象信息,根据所获取的交互问题的对象信息以及检索得到的问题的对象信息,对所述第一问题对序列进行筛选,过滤掉对象信息不匹配的问题对,然后在过滤得到的第二问题对序列中,选择相似度最高的问题对,根据选择的问题对中包括的检索到的问题所对应的答案,作为所述交互问题的答案。
比如,图8所示,根据交互问题“芯片是什么型号?”,在问题索引库中筛选得到预定个数的问题,比如M个问题后,可以将所述交互问题与M个问题构成M个问题对,将所述M个问题对输入到已训练的句子对模型中,输出所输入的问题对所对应的相似度得分,根据所述相似度得分,可以对所述问题对进行排序,得到包括M个问题对的第一问题对序列。根据交互问题所对应的对象信息,对所述第一问题对进行筛选,过滤掉与所述对象信息不匹配的问题,得到N(N小于或等于M)个问题对,并可根据句子对模型所计算的相似度得分,对N个问题对进行排序得到第二问题对序列,选择相似度得分最高的问题对中的检索问题所对应的答案,作为所述交互问题的答案。比如,所获取的N个问题中,包括“手机处理器强不强?”、“手机处理器是什么?”等问题,其中,“手机处理器是什么?”与交互问题“芯片是什么型号?”的相似度的得分最高,则查找该问题所对应的答案,即“麒麟980”作为所述交互问题的答案。
图7所示的用于人机交互的自动问答方法,可以有效的解决因问题相同或相似,但对象信息不同,导致答案不同而造成模型混乱无法判断的问题,并且在增加对象信息时,如果新增加的对象信息能划分到已存在的虚拟组,则不需要再行训练模型,极大的节约了模型优化的时间和成本。与图5所示的用于人机交互的自动问答方法不同之处在于,将对象信息的筛选设置在句子对模型打分排序之后,通过对排序后的问题进行筛选的方式,获得所需要的问题对应的答案。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的用于人机交互的自动问答方法,图9示出了本申请实施例提供的一种用于人机交互的自动问答装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图9,该装置包括:
交互问题接收单元901,用于接收用户输入的交互问题;
对象信息获取单元902,用于获取所述交互问题所包括的对象信息;
问题筛选单元903,用于基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在智能设备上运行时,使得智能设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种用于人机交互的自动问答方法,其特征在于,所述用于人机交互的自动问答方法包括:
接收用户输入的交互问题;
获取所述交互问题所包括的对象信息;
基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案。
2.根据权利要求1所述的用于人机交互的自动问答方法,其特征在于,所述基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案的步骤包括:
在预先构建的问题库中检索与所述交互问题和对象信息匹配的问题,根据检索到的两个或两个以上的问题分别与交互问题构成两个或两个以上的问题对;
根据已训练的句子对模型计算所述问题对的相似度,根据所述相似度得到所述交互问题的答案,其中,所述句子对模型根据同一虚拟组之间的问题所构成的正样本数据,以及不同虚拟组的问题之间所构成的负样本数据训练得到,所述虚拟组包括两个或两个以上的相同或相似的问题。
3.根据权利要求1所述的用于人机交互的自动问答方法,其特征在于,所述基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案的步骤包括:
在预先构建的问题库中检索与所述交互问题匹配的问题,根据检索到的两个或两个以上的问题分别与交互问题构成两个或两个以上的问题对;
根据已训练的句子对模型计算所述问题对的相似度,根据所述相似度对所述问题对排序得到第一问题对序列,其中,所述句子对模型根据同一虚拟组之间的问题所构成的正样本数据,以及不同虚拟组的问题之间所构成的负样本数据训练得到,所述虚拟组包括两个或两个以上的相同或相似的问题;
根据所述对象信息对所述第一问题对序列进行筛选,根据筛选后的问题确定所述交互问题的答案。
4.根据权利要求1所述的用于人机交互的自动问答方法,其特征在于,在所述根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题的步骤之前,所述方法还包括:
根据所获取的问题相同或相似的问题,生成虚拟组;
标定所述虚拟组中的问题之间的相似度标签为正,标定所述虚拟组之间的问题的相似度标签为负;
将所获取的问题输入到预设的句子对模型,计算得到任意两个问题之间的标签,比较所计算的标签和标定的标签之间差异,根据所述差异调整所述句子对模型的参数,直到所述差异符合预设条件,得到已训练的句子对模型。
5.根据权利要求1-4任一项所述的用于人机交互的自动问答方法,其特征在于,所述对象信息包括接收所述交互问题的泛终端属性信息。
6.根据权利要求5所述的用于人机交互的自动问答方法,其特征在于,所述接收所述交互问题的泛终端属性信息包括泛终端的设备编号、泛终端的系统名称、泛终端的硬件信息和泛终端的时间属性信息中的一种或者多种。
7.根据权利要求4所述的用于人机交互的自动问答方法,其特征在于,所述虚拟组中的问题包括两个或两个以上的问题组,同一虚拟组中的所有问题组的问题相同或相似,不同问题组的对象信息不同且答案不同,同一问题组包括对象信息相同、问题相同或相似且答案相同的两个或两个以上的问题。
8.一种句子对模型训练方法,其特征在于,所述句子对模型训练方法包括:
获取样本数据,所述样本数据包括多个问题;
将问题的相似度大于预定值的问题划分为同一虚拟组,并标定同一虚拟组中的问题之间的标签为正,不同虚拟组中的问题之间的标签为负;
将虚拟组中的问题输入到预设的句子对模型,输出两个问题的标签,将所输出的标签与标定的标签进行比较,计算两者之间的差异,根据所述差异调整所述句子对模型的参数,直到差异满足预设条件,得到训练后的句子对模型。
9.一种用于人机交互的自动问答装置,其特征在于,所述用于人机交互的自动问答装置包括:
交互问题接收单元,用于接收用户输入的交互问题;
对象信息获取单元,用于获取所述交互问题所包括的对象信息;
问题筛选单元,用于基于交互问题和对象信息对问题库中的问题进行筛选,以及根据句子的相似度所预先训练的句子对模型查找与交互问题相似度较高的问题,得到所述交互问题所对应的答案。
10.一种智能设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的用于人机交互的自动问答方法,或如权利要求8所述的句子对模型训练方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的用于人机交互的自动问答方法,或如权利要求8所述的句子对模型训练方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072266.2A CN113220848B (zh) | 2020-01-21 | 2020-01-21 | 用于人机交互的自动问答方法、装置和智能设备 |
PCT/CN2020/124152 WO2021147421A1 (zh) | 2020-01-21 | 2020-10-27 | 用于人机交互的自动问答方法、装置和智能设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072266.2A CN113220848B (zh) | 2020-01-21 | 2020-01-21 | 用于人机交互的自动问答方法、装置和智能设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220848A true CN113220848A (zh) | 2021-08-06 |
CN113220848B CN113220848B (zh) | 2024-07-26 |
Family
ID=76991978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072266.2A Active CN113220848B (zh) | 2020-01-21 | 2020-01-21 | 用于人机交互的自动问答方法、装置和智能设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113220848B (zh) |
WO (1) | WO2021147421A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210354712A1 (en) * | 2020-05-18 | 2021-11-18 | Toyota Jidosha Kabushiki Kaisha | Agent control device, agent control method, and recording medium |
CN114154808A (zh) * | 2021-11-11 | 2022-03-08 | 联想(北京)有限公司 | 一种信息处理方法和信息处理装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281942A (zh) * | 2021-12-17 | 2022-04-05 | 科大讯飞股份有限公司 | 问答处理方法、相关设备及可读存储介质 |
CN115017284A (zh) * | 2022-06-01 | 2022-09-06 | 阿里巴巴(中国)有限公司 | 问答库构建方法、评分方法、电子设备和存储介质 |
CN114862527A (zh) * | 2022-06-17 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 对象推荐方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609101A (zh) * | 2017-09-11 | 2018-01-19 | 远光软件股份有限公司 | 智能交互方法、设备及存储介质 |
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
CN109271506A (zh) * | 2018-11-29 | 2019-01-25 | 武汉大学 | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636456B (zh) * | 2015-02-03 | 2018-01-23 | 大连理工大学 | 一种基于词向量的问题路由方法 |
CN107729493A (zh) * | 2017-09-29 | 2018-02-23 | 北京创鑫旅程网络技术有限公司 | 旅行知识图谱的构建方法、装置及旅行问答方法、装置 |
-
2020
- 2020-01-21 CN CN202010072266.2A patent/CN113220848B/zh active Active
- 2020-10-27 WO PCT/CN2020/124152 patent/WO2021147421A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399169A (zh) * | 2017-02-06 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 基于问答系统的对话处理方法、装置和系统及移动设备 |
CN107609101A (zh) * | 2017-09-11 | 2018-01-19 | 远光软件股份有限公司 | 智能交互方法、设备及存储介质 |
CN109271506A (zh) * | 2018-11-29 | 2019-01-25 | 武汉大学 | 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210354712A1 (en) * | 2020-05-18 | 2021-11-18 | Toyota Jidosha Kabushiki Kaisha | Agent control device, agent control method, and recording medium |
US11726741B2 (en) * | 2020-05-18 | 2023-08-15 | Toyota Jidosha Kabushiki Kaisha | Agent control device, agent control method, and recording medium |
CN114154808A (zh) * | 2021-11-11 | 2022-03-08 | 联想(北京)有限公司 | 一种信息处理方法和信息处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113220848B (zh) | 2024-07-26 |
WO2021147421A1 (zh) | 2021-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113220848B (zh) | 用于人机交互的自动问答方法、装置和智能设备 | |
US10664157B2 (en) | Image search query predictions by a keyboard | |
CN110704661B (zh) | 一种图像分类方法和装置 | |
US20220353225A1 (en) | Method for searching for chat information and electronic device | |
CN111177180A (zh) | 一种数据查询方法、装置以及电子设备 | |
CN110795007B (zh) | 一种获取截图信息的方法及装置 | |
CN111339737B (zh) | 实体链接方法、装置、设备及存储介质 | |
WO2021120875A1 (zh) | 搜索方法、装置、终端设备及存储介质 | |
CN111597804B (zh) | 一种实体识别模型训练的方法以及相关装置 | |
CN112989148A (zh) | 纠错词排序方法、装置、终端设备和存储介质 | |
CN112685578B (zh) | 一种多媒体信息内容提供方法及装置 | |
CN115022098B (zh) | 人工智能安全靶场内容推荐方法、装置及存储介质 | |
CN112560540A (zh) | 一种美妆穿搭推荐方法及装置 | |
CN117540205A (zh) | 模型训练方法、相关装置及存储介质 | |
CN111553163A (zh) | 文本相关度的确定方法、装置、存储介质及电子设备 | |
CN111241815A (zh) | 文本增量方法、装置及终端设备 | |
CN110619879A (zh) | 一种语音识别的方法及装置 | |
CN112307198B (zh) | 一种单文本的摘要确定方法和相关装置 | |
CN111178055B (zh) | 语料识别方法、装置、终端设备和介质 | |
CN110866114A (zh) | 对象行为的识别方法、装置及终端设备 | |
US20240038223A1 (en) | Speech recognition method and apparatus | |
CN113569043A (zh) | 一种文本类别确定方法和相关装置 | |
CN113190774A (zh) | 一种对象显示方法、装置、电子设备及存储介质 | |
CN113360796A (zh) | 数据排序方法及装置、数据排序模型训练方法及装置 | |
CN110263347A (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 |