CN113468894A - 对话交互方法及装置、电子设备和计算机可读存储介质 - Google Patents
对话交互方法及装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113468894A CN113468894A CN202110852357.2A CN202110852357A CN113468894A CN 113468894 A CN113468894 A CN 113468894A CN 202110852357 A CN202110852357 A CN 202110852357A CN 113468894 A CN113468894 A CN 113468894A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- content
- question
- determining
- conversation
- 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 94
- 230000003993 interaction Effects 0.000 title claims abstract description 73
- 238000012795 verification Methods 0.000 claims abstract description 108
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000001667 episodic effect Effects 0.000 claims abstract description 18
- 238000003780 insertion Methods 0.000 claims abstract description 11
- 230000037431 insertion Effects 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 35
- 238000013145 classification model Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 15
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 7
- 238000003058 natural language processing Methods 0.000 abstract description 2
- LEHOTFFKMJEONL-UHFFFAOYSA-N Uric Acid Chemical compound N1C(=O)NC(=O)C2=C1NC(=O)N2 LEHOTFFKMJEONL-UHFFFAOYSA-N 0.000 description 35
- 201000005569 Gout Diseases 0.000 description 32
- TVWHNULVHGKJHS-UHFFFAOYSA-N Uric acid Natural products N1C(=O)NC(=O)C2NC(=O)NC21 TVWHNULVHGKJHS-UHFFFAOYSA-N 0.000 description 29
- 229940116269 uric acid Drugs 0.000 description 29
- 235000005686 eating Nutrition 0.000 description 22
- 230000008569 process Effects 0.000 description 17
- 241000238557 Decapoda Species 0.000 description 12
- 230000035935 pregnancy Effects 0.000 description 12
- 235000013601 eggs Nutrition 0.000 description 11
- 235000013336 milk Nutrition 0.000 description 9
- 239000008267 milk Substances 0.000 description 9
- 210000004080 milk Anatomy 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 201000001431 Hyperuricemia Diseases 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000008094 contradictory effect Effects 0.000 description 6
- 239000013078 crystal Substances 0.000 description 6
- 230000008021 deposition Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 5
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 4
- 210000003754 fetus Anatomy 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009423 ventilation Methods 0.000 description 3
- 206010012735 Diarrhoea Diseases 0.000 description 2
- 241000590419 Polygonia interrogationis Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003340 mental effect Effects 0.000 description 2
- 235000016709 nutrition Nutrition 0.000 description 2
- 230000035764 nutrition Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 206010001557 Albinism Diseases 0.000 description 1
- 241000272525 Anas platyrhynchos Species 0.000 description 1
- OYPRJOBELJOOCE-UHFFFAOYSA-N Calcium Chemical compound [Ca] OYPRJOBELJOOCE-UHFFFAOYSA-N 0.000 description 1
- 206010006956 Calcium deficiency Diseases 0.000 description 1
- 241000221785 Erysiphales Species 0.000 description 1
- 206010020710 Hyperphagia Diseases 0.000 description 1
- 235000000564 Lucuma nervosa Nutrition 0.000 description 1
- 244000182264 Lucuma nervosa Species 0.000 description 1
- 208000007101 Muscle Cramp Diseases 0.000 description 1
- QGKAVFXNTADNHB-UHFFFAOYSA-N [Mg].[K].[Ca] Chemical compound [Mg].[K].[Ca] QGKAVFXNTADNHB-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000011575 calcium Substances 0.000 description 1
- 229910052791 calcium Inorganic materials 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 235000020186 condensed milk Nutrition 0.000 description 1
- 235000020247 cow milk Nutrition 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 206010013023 diphtheria Diseases 0.000 description 1
- 238000009342 intercropping Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 235000021018 plums Nutrition 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 235000020254 sheep milk Nutrition 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开是关于一种对话交互方法及装置、电子设备以及计算机可读存储介质,涉及自然语言处理技术领域,可以应用于智能对话机器人主动插话为用户提供知识的场景。该方法包括:响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;对待确定信息进行知识验证操作,得到知识验证结果;根据得到的知识验证结果确定与所述对话内容对应的插话内容;确定插话时机,基于插话时机在当前会话中返回插话内容,以进行对话交互。本公开可以在多人聊天中根据对话内容进行知识查询和验证操作,确定出与对话内容对应的相关知识,并通过主动插话方式进行对话交互。
Description
技术领域
本公开涉及自然语言处理技术领域,具体而言,涉及一种对话交互方法、对话交互装置、电子设备以及计算机可读存储介质。
背景技术
人机对话,是人工智能领域的一个子方向,通俗的讲就是让人可以通过人类的语言(即自然语言)与计算机进行交互。目前,查询、聊天机器人越来越流行,为人们提供了越来越多的帮助,例如,人们可以通过聊天机器人进行各种互动操作,包括查天气、设闹钟、问知识、听笑话等。它们基本都是通过特定词语唤醒的,例如“小爱同学”或者“小度小度”等。但是人们在讨论遇到困惑的时候,却常常忘记让聊天机器人帮忙查询。特别是老年人,对新事物接受能力弱,脑力也逐渐下降,更不容易想起来通过聊天机器人寻求帮助。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种对话交互方法、对话交互装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服现有的聊天机器人只能通过固定的唤醒词唤醒、无法通过主动插话为用户提供知识的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的第一方面,提供一种对话交互方法,包括:响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;对待确定信息进行知识验证操作,得到知识验证结果;根据得到的知识验证结果确定与所述对话内容对应的插话内容;确定插话时机,基于插话时机在当前会话中返回插话内容,以进行对话交互。
根据本公开的第二方面,提供一种对话交互装置,包括:信息确定模块,用于响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;知识验证模块,用于对待确定信息进行知识验证操作,得到知识验证结果;插话内容确定模块,用于根据得到的知识验证结果确定与对话内容对应的插话内容;对话交互模块,用于确定插话时机,基于插话时机在当前对话中返回插话内容,以进行对话交互。
在本公开的一种示例性实施方案中,信息确定模块包括信息确定单元,用于确定当前对话的内容态度;内容态度包括确定态度和非确定态度;如果内容态度确定为非确定态度且第一对话内容为问题内容,则根据第一对话内容确定待解答问题;如果第一对话内容为观点内容,则根据第一对话内容确定待验证知识;如果内容态度确定为确定态度且第一对话内容为问题内容,则根据第一对话内容与第二对话内容确定待验证知识。
在本公开的一种示例性实施方案中,信息确定单元包括态度确定子单元,用于获取预先设定的文本分类规则或预先构建的文本分类模型,根据文本分类规则或文本分类模型确定内容态度;以及确定目标文本特征,根据目标文本特征对对话内容进行内容分类处理,得到对话内容的内容分类结果;内容分类结果包括疑问句;当内容分类结果为疑问句时,确定当前对话对应的回答响应时间;确定回答响应时间与响应时间阈值的时间对比结果,根据时间对比结果确定内容态度;以及确定当前对话包含的问题实体类型与答案实体类型,并确定问题实体类型与答案实体类型的类型匹配结果,根据类型匹配结果确定内容态度。
在本公开的一种示例性实施方案中,对话交互模块还包括问题知识确定模块,用于确定与待解答问题对应的目标参考问题;根据目标参考问题从知识库中确定与待解答问题对应的第一目标参考知识;确定与待解答问题对应的目标参考问题,包括:获取知识库中包含的多个参考问题,分别计算待解答问题与各参考问题之间的问题相似度;根据问题相似度从多个参考问题中确定与待解答问题对应的目标参考问题;以及获取问题分类模型;问题分类模型基于多个训练问题以及各训练问题对应的相似问题训练得到;将待解答问题输入至问题分类模型,由问题分类模型确定与待解答问题对应的目标参考问题。
在本公开的一种示例性实施方案中,知识验证模块包括知识验证单元,用于对对话内容进行知识抽取处理,确定对话内容包含的待验证知识;获取预先构建的包括多个参考知识的知识库;知识库的类型包括问题答案对类型、纯文本类型、知识图谱类型中的一种或多种;基于知识库确定与待验证知识对应的第二目标参考知识;根据第二目标参考知识对待验证知识进行知识验证操作,得到知识验证结果。
在本公开的一种示例性实施方案中,对话交互装置还包括参考知识确定模块,用于获取候选对话内容中包含的问题答案对;问题答案对包括候选参考问题以及与候选参考问题对应的候选参考答案;如果问题答案对的知识形式为包含问答二元组,对候选参考答案进行句子分割处理,得到多个答案子句;计算各答案子句与候选参考问题之间的问答相似度,根据具有最大问题相似度的答案子句确定参考知识;以及如果问题答案对的知识形式为不包含问答二元组,则确定问题答案对是否包含疑问词;如果问题答案对包含疑问词,则根据包含疑问词的问题答案对确定参考知识;如果问题答案对不包含疑问词,则根据候选参考答案确定问题答案对对应的参考知识。
在本公开的一种示例性实施方案中,知识验证单元包括参考知识确定子单元,用于确定待验证知识与多个参考知识之间的知识相似度,根据知识相似度从多个参考知识中确定与待验证知识对应的第二目标参考知识。
在本公开的一种示例性实施方案中,知识验证单元还包括第一验证子单元,用于获取待验证知识与第二目标参考知识之间的第一相似度;如果第一相似度高于相似度阈值,则分别确定待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案;判断待验证答案与参考答案是否一致;如果待验证答案与参考答案不一致,则将知识验证结果确定为不通过。
在本公开的一种示例性实施方案中,知识验证单元还包括第二验证子单元,用于对待验证知识进行信息抽取处理,得到对应的待验证三元组;待验证三元组包括待验证实体;根据第二目标参考知识确定与待验证三元组对应的参考三元组;参考三元组包括参考实体;确定待验证实体与参考实体是否一致;如果待验证实体与参考实体不一致,则将知识验证结果确定为不一致。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据上述任意一项所述的对话交互方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的对话交互方法。
本公开提供的技术方案可以包括以下有益效果:
本公开的示例性实施例中的对话交互方法,响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;对待确定信息进行知识验证操作,得到知识验证结果;根据得到的知识验证结果确定与所述对话内容对应的插话内容;确定插话时机,基于插话时机在当前会话中返回插话内容,以进行对话交互。本公开的对话交互方法,一方面,可以根据当前对话的对话内容确定是否进行插话交互,无需用户通过特定的唤醒词触发交互响应。另一方面,通过对当前对话的对话内容进行知识验证操作,可以为用户提供与对话内容对应的相关知识。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的示例性实施方式的对话交互方法的流程图;
图2示意性示出了根据本公开的示例性实施方式的第一场景下进行对话交互方法的流程图;
图3示意性示出了根据本公开的示例性实施方式的第二场景下进行对话交互方法的流程图;
图4示意性示出了根据本公开的示例性实施方式的第三场景下进行对话交互方法的流程图;
图5示意性示出了根据本公开的示例性实施方式的第四场景下进行对话交互方法的流程图;
图6示意性示出了根据本公开的示例性实施方式的第五场景下进行对话交互方法的流程图;
图7示意性示出了根据本公开的示例性实施方式的基于问题答案对的知识库进行知识验证操作的流程图;
图8示意性示出了根据本公开的示例性实施方式的基于知识图谱的知识库进行知识验证操作的流程图;
图9示意性示出了根据本公开的示例性实施方式的对话交互装置的方框图;
图10示意性示出了根据本公开一示例性实施例的电子设备的框图;
图11示意性示出了根据本公开一示例性实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
目前,查询、聊天机器人越来越流行,为人们提供了越来越多的帮助,例如,人们可以通过聊天机器人进行各种互动操作,包括查天气、设闹钟、问知识、听笑话等。它们基本都是通过特定词语唤醒的,例如“小爱同学”或者“小度小度”等。但是人们在讨论遇到困惑的时候,却常常忘记让聊天机器人帮忙查询。特别是老年人,对新事物接受能力弱,脑力也逐渐下降,更不容易想起来通过聊天机器人寻求帮助。
基于此,在本示例实施例中,首先提供了一种对话交互方法,可以利用服务器来实现本公开的对话交互方法,也可以利用终端设备来实现本公开所述的方法,其中,本公开中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigital Assistant,PDA)、可穿戴设备、智能手环、智能聊天机器人等移动终端,以及诸如台式计算机等固定终端。图1示意性示出了根据本公开的一些实施例的对话交互方法流程的示意图。参考图1,该对话交互方法可以包括以下步骤:
步骤S110,响应于监测到当前对话,获取当前对话的对话内容,并确定对话内容对应的待确定信息。
在本公开的一些示例性实施方式中,当前对话可以是多个用户进行交流所产生的对话。当前对话还可以是同一个用户在自问自答时产生的对话。对话内容可以是当前对话中包含的相关内容。待确定信息可以是等待进行准确性验证的信息,例如,待确定信息可以包括待验证知识与待解答问题。根据待解答问题可以进行查询知识库操作,根据待验证知识可以进行验证知识库操作。
智能聊天机器人可以随时处于监测状态,当用户在进行对话时,智能聊天机器人可以监测到用户的当前对话。当监测到当前对话时,可以获取当前会话的对话内容。例如,在一对老夫妻在讨论体检结果的对话场景中,对话内容为:“丈夫:体检报告上说我的尿酸偏高呀!妻子:那要小心了,听说尿酸高会导致痛风”,则可以在对话内容中确定待确定信息,例如,当前对话的对话内容对应的待确定信息可以是“尿酸高会导致通风”。又例如,当前对话的对话内容为“用户甲:怀孕适合吃螃蟹吗?用户乙:怀孕应该不能吃螃蟹吧!”,该当前对话的待确定信息为“怀孕不适合吃螃蟹”。
步骤S120,对待确定信息进行知识验证操作,得到知识验证结果。
在本公开的一些示例性实施方式中,知识验证操作可以是将待确定信息与知识库中存储的知识进行对比验证,以确定待确定信息是否正确的验证操作。知识验证结果可以是对待确定信息进行知识验证操作后得到的结果。
在确定出待确定信息后,可以根据待确定信息去查询知识库,例如,当待确定信息为待解答问题时,可以根据待查询问题在知识库中进行知识查询操作,从知识库中确定与待查询问题对应的标准问题,将该标准问题的答案作为知识验证结果。又例如,如果待确定信息为待验证知识,则根据待验证知识在知识库中进行知识验证操作,如果知识库中存在待确定信息对应的知识,则将待确定信息与知识库中的知识进行对比,得到知识验证结果。例如,待确定信息为“尿酸高会导致通风”,将该待确定信息去知识库中查询,与知识库中的知识进行对比,得到的知识验证结果为待确定信息与知识库中的知识不一致。又例如,将待确定信息“怀孕不适合吃螃蟹”与知识库中的知识进行对比,与该验证信息对应的知识为“怀孕不适合吃螃蟹。螃蟹偏寒,孕妇食用过多容易腹泻,对胎儿不利”,知识验证结果为该待确定信息与知识库中的知识一致。
步骤S130,根据得到的知识验证结果确定与对话内容对应的插话内容。
在本公开的一些示例性实施方式中,插话内容可以是根据当前对话的对话内容反馈的相关知识与待确定信息对应的知识。
在得到知识验证结果后,当知识验证结果为未通过时,可以确定对应的插话内容。例如,待确定信息“尿酸高会导致通风”的知识验证结果为不通过,为了让用户获取正确的知识,可以确定出插话内容为“尿酸高不一定导致痛风,但高尿酸是痛风的前提,严重者才可能会导致痛风”。对于待确定信息“怀孕不适合吃螃蟹”,由于待验证结果为待确定信息与知识库中的知识一致,因此,可以确定插话内容为空。
步骤S140,确定插话时机,基于插话时机在当前会话中返回插话内容,以进行对话交互。
在本公开的一些示例性实施方式中,对话交互可以是针对当前对话进行反馈的交互过程。
在确定插话内容后,可以确定对应的插话时机并在插话时机返回插话内容,进行当前对话的对话交互。插话时机可以是向用户反馈插话内容的时间点,例如,可以将插话时机确定为从知识库中确定出待确定信息的相关知识时对应的时间点,还可以确定为确定出插话内容之后并间隔预设时间段的时间点,也可以确定为确定出插话内容后,等待用户说完多轮对话中的一轮对话所对应的时间点。例如,智能聊天机器人可以在确定出插话内容“尿酸高不一定导致痛风,但高尿酸是痛风的前提,严重者才可能会导致痛风”后,立即返回插话内容,以进行对话交互。
根据本示例实施例中的对话交互方法,一方面,可以根据当前对话的对话内容确定是否进行插话交互,无需用户通过特定的唤醒词触发交互响应。另一方面,通过对当前对话的对话内容进行知识验证操作,可以为用户提供与对话内容对应的相关知识。
下面,将对本示例实施例中的对话交互方法进行进一步的说明。
在本公开的一种示例性实施方案中,确定当前对话的内容态度;内容态度包括确定态度和非确定态度;如果内容态度确定为非确定态度且第一对话内容为问题内容,则根据第一对话内容确定待解答问题;如果第一对话内容为观点内容,则根据第一对话内容确定待验证知识;如果内容态度确定为确定态度且第一对话内容为问题内容,则根据第一对话内容与第二对话内容确定待验证知识。
其中,第一对话内容可以是第一用户在当前对话中表达的相关内容。第二对话内容可以是第二用户在当前对话中表达的相关内容。内容态度可以是用户在进行当前对话时,当前对话的对话内容中所包含的相关态度。内容态度可以包括确定态度和非确定态度。确定态度可以是多个用户针对某一问题持有相同观点的态度,例如,确定态度可以是根据同意、赞同、确定等相关内容确定出的态度。非确定态度可以是用户针对某一问题持有不同观点或不确定观点的态度。例如,非确定态度可以是根据不同意、不确定、不知道等观点确定出的态度。待解答问题可以当前对话的对话内容中包含的问题。待验证知识可以是对话内容中包含的等待验证准确性的相关知识。
在监测到当前对话时,可以响应于监测到的当前对话的对话内容,根据对话内容确定出当前对话的内容态度。如果内容态度为非确定态度,且第一对话内容为问题内容,即第一用户在当前对话中表达了相关问题,则根据第一对话内容确定待解答问题,将第一用户在当前对话中表达的相关问题作为待解答问题。
在问答场景1中,用户1与用户2之间的对话如下:
用户1:“尿酸高会导致痛风吗?”(问句)
用户2:“...”(延迟回答,不确定的一种)
用户2:“不知道”(不知道)
用户2:“不太清楚”,“也许不会吧”,“我猜不会”(不确定)
参考图2,图2示意性示出了根据本公开的示例性实施方式的第一场景下进行对话交互方法的流程图。在步骤S210中,用户1提出了问句。在步骤S220中,用户2做出不确定/不知道的响应。由于用户1在询问相关问题时,用户2给出了不知道和不确定的回答,因此,可以将问答场景1中的内容态度确定为非确定态度,并将用户1询问的问题“尿酸高会导致痛风吗?”确定为待解答问题,以对待解答问题等待进一步验证。
如果第一对话内容为观点内容,则根据第一对话内容确定待验证知识。当第一对话内容为观点内容时,无论第二对话内容的回答是确定态度还是非确定态度,均可以将第一对话内容中的观点内容作为待验证知识。
下述示例当第一对话内容为观点内容,且第二对话内容的的回答是非确定态度的对话场景中,根据第一对话内容确定待验证知识的过程。例如,在问答场景2中,用户1与用户2之间的对话如下:
用户1:“尿酸高会导致痛风”(确定),或者“听说尿酸高会导致痛风”“高尿酸似乎会引起痛风”(不确定)
用户2:“...”(延迟回答)
用户2:“我不知道”(不知道)
用户2:“不太清楚”(不确定)
用户2:“是吗”(反问,不确定的一种)
用户2:“我觉得不会”“不会吧”“不见得”“我不同意你的说法”(不同意)
参考图3,图3示意性示出了根据本公开的示例性实施方式的第二场景下进行对话交互方法的流程图。在图3中的对话中,在步骤S310中,用户1表达了自己的观点。在步骤S321以及步骤S322中,用户2针对该观点给出了不同意、不知道/不确定的回答,因此,可以将问答场景2中的内容态度确定为非确定态度,并根据用户1在第一对话内容的观点内容作为待验证观点。
还例如,在问答场景3中,根据当前对话的对话内容难以判断用户的话中是否有观点时,可以采用下述方案确定对话内容的内容态度。参考图4,图4示意性示出了根据本公开的示例性实施方式的第三场景下进行对话交互方法的流程图。在步骤S411或步骤S412中,当用户2给出不同意、不知道/不确定的回答时,可以先从“不确定、不知道”或者“不同意”入手。在步骤S420中,当这一步确定的时候,找出上一句(另一个人所说的,也就是用户1的句子,可能是一句或一段话),确定出待验证观点。
在问答场景2和问答场景3中,用户1表达了一个观点(也许确定也许不确定),用户2表达了不知道/不确定/不同意的态度,则可以将内容态度确定为非确定态度。由于对话内容对应非确定态度,可以根据用户之间的对话确定出对应的待验证知识“尿酸高会导致痛风”将该待验证知识作为待验证信息,以等待进一步验证。
如果内容态度为确定态度,则根据对话内容确定待验证知识,将待验证知识作为待确定信息。以下述问答场景为例进行说明。
在问答场景4中,用户1说了个观点,用户2表示同意,具体如下:
用户1:“尿酸高会导致痛风”
用户2:“是的”、“说得对”、“我同意”(同意)
参考图5,图5示意性示出了根据本公开的示例性实施方式的第五场景下进行对话交互方法的流程图。在步骤S510中,用户1表达一个观点,在步骤S520中,用户2给出了肯定回答(即同意),则确定出当前对话的内容态度为确定态度。此时,可以将“尿酸高会导致痛风”作为待验证知识。
如果内容态度确定为确定态度且第一对话内容为问题内容,则根据第一对话内容与第二对话内容确定待验证知识。
在问答场景5中,用户1与用户2之间的对话内容如下:
用户1:“尿酸高会导致痛风吗”用户2:“会的”
参考图6,图6示意性示出了根据本公开的示例性实施方式的第四场景下进行对话交互方法的流程图。在步骤S610中,用户1询问相关问题,在步骤S620中,用户2给出了该问题的对应回答,即用户2给出了肯定回答,即当前对话的内容态度为确定态度。此时,可以从第一对话内容与第二对话内容抽取待验证该知识,将“尿酸高会导致痛风”作为待验证知识。
在本公开的一种示例性实施方案中,获取预先设定的文本分类规则或预先构建的文本分类模型,根据文本分类规则或文本分类模型确定内容态度;以及确定目标文本特征,根据目标文本特征对对话内容进行内容分类处理,得到对话内容的内容分类结果;内容分类结果包括疑问句;当内容分类结果为疑问句时,确定当前对话对应的回答响应时间;确定回答响应时间与响应时间阈值的时间对比结果,根据时间对比结果确定内容态度;以及确定当前对话包含的问题实体类型与答案实体类型,并确定问题实体类型与答案实体类型的类型匹配结果,根据类型匹配结果确定内容态度。
其中,文本分类规则可以是用于对用户的确定回答或非确定回答进行分类所定义的规则。文本分类模型可以是用于对对话内容进行文本分类所采用的模型。目标文本特征可以是当前对话的对话内容为疑问句所对应的文本特征。例如,目标文本特征可以包括对话内容的结尾的问号,还可以包括对话内容中的包含“为什么”“哪个”等疑问词。内容分类处理可以是针对对话内容进行的分类处理操作。内容分类结果可以是判断对话内容是否为非确定态度的分类结果。回答响应时间可以是当前对话中一个用户回应另一个用户时所间隔的时间。响应时间阈值可以是预先设定的时间阈值,例如,响应时间阈值可以确定为1秒、2秒、3秒等。时间对比结果可以是将回答响应时间与响应时间阈值进行对比之后得到的结果。问题实体类型可以是问题中的疑问词对应的实体类型。答案实体类型可以是对话内容中答案对应的实体类型。类型匹配结果可以是问题实体类型与答案实体类型是否匹配的结果。
在获取到当前对话的对话内容后,可以根据预先定义的文本分类规则对对话内容进行文本分类处理,以确定对话内容对应的内容态度。举例而言,文本分类规则可以是根据包含“我不知道”、“不是吧”、“不太清楚”等表示非确定态度(不知道/不确定/不一致/不同意等)的文本内容以及包含“也许吧”、“可能吧”、“应该吧”等表示确定态度的文本内容定义的。根据定义的文本分类规则可以对当前对话的对话内容进行文本分类,确定对话内容中包含的内容态度。
另外,在在获取到当前对话的对话内容后,可以将对话内容输入至文本分类模型中,由文本分类模型输出内容态度属于确定态度和非确定态度的态度概率值,根据输出的态度概率值,可以确定对话内容对应的内容态度。例如,当输出的非确定态度对应的态度概率值为98.56%,输出的确定态度对应的态度概率值为1.44%,则可以将当前对话的内容态度确定为非确定态度。
在获取到对话内容,可以先对对话内容进行问句判断,判断对话内容是否包含问句,具体的,内容分类处理可以使用规则或者文本分类的方法。文本分类可以使用基于符号学习的方法,如朴素贝叶斯、支持向量机(Support Vector Machine,SVM)等;或者联结主义的方法,如神经网络或者深度神经网络。根据目标文本特征对对话内容进行对着或文本分类处理,判断对话内容的结尾是否有问号,句子中是否有疑问词等。如果对话内容中包含问号或疑问词等目标文本特征,则可以认为对话内容中包含疑问句。
在确定出对话内容中包含疑问句时,可以判断针对该疑问句是否有对应的非确定态度,即进行非确定态度的判断,如果对话内容中包含不知道、不确定、不同意等态度,则将内容态度确定为非确定态度;如果对话内容中包含同意的判断,则将内容态度确定为确定态度。另外,可以确定针对对话内容中相关问题的回答响应时间,延迟回答可以根据回答响应时间判断,例如用正态分布(μ,σ)模拟回答响应时间,此时,可以将响应时间阈值确定为μ+3σ,将回答响应时间大于等于μ+3σ的回答响应判断为延迟回答,将具有延迟回答的对话的内容态度确定为非确定态度。
由于当前对话可以是多个用户之间进行对话,有时对话内容中存在所提出问题的回答,可以判断不同用户之间的问题与答案中包含的实体类别是否相互对应。如果问题实体类型与答案实体类型的类型对比结果为两者不一致,则可以将当前对话的内容态度确定为非确定态度。例如,当用户1提出问题,且用户2做出回应时,可以判断用户1的问句中的实体类别与和用户2的答案类别是否相互对应。如果两者不对应,将该对话的内容态度确定为非确定态度。
具体的,可以通过下述步骤进行:首先,当对话内容中包含疑问词时,则抽取对话内容中的疑问词;如果对话内容中不存在疑问词,则可以是将对话内容中的疑问句确定为是否类问题。其次,对对话内容进行分词和命名实体识别。如果疑问句有疑问词,则利用对应规则进行匹配,表1示出了部分疑问词的对应的实体类型。
表1
疑问词 | 实体类型 |
谁,哪一位 | 人名 |
哪里,哪儿 | 地名 |
多久,多长时间,几天 | 时间类词 |
... | ... |
如表1所示,如果用户1提问“李白的家乡是哪里”,用户2说“碎叶”,对对话内容进行实体类型识别知道“碎叶”是地名,所以“碎叶”是对“李白的家乡是哪里”的回答。如果用户2说“我没听说过李白”,因为没有地名,不能判断这是回答。
对于是否类问题,可以通过下述规则进行判断,如表2所示。
表2
问题 | 回答 |
...会...吗 | 会,不会 |
...能...吗 | 能,不能 |
...能不能... | 能,不能 |
继续参考图2,在问答场景1中,用户1与用户2的对话内容的内容态度为非确定态度,且用户1对应的第一对话内容为问题内容,可以从该对话的对话内容中确定待解答问题。根据待解答问题确定对应的第一目标参考知识的处理过程可以通过查询知识库进行,即执行图2中的步骤S230,查询知识库。查询知识库的具体过程如下:
在本公开的一种示例性实施方案中,确定与待解答问题对应的目标参考问题;根据目标参考问题从知识库中确定与待解答问题对应的第一目标参考知识;确定与待解答问题对应的目标参考问题,包括:获取知识库中包含的多个参考问题,分别计算待解答问题与各参考问题之间的问题相似度;根据问题相似度从多个参考问题中确定与待解答问题对应的目标参考问题;以及获取问题分类模型;问题分类模型基于多个训练问题以及各训练问题对应的相似问题训练得到;将待解答问题输入至问题分类模型,由问题分类模型确定与待解答问题对应的目标参考问题。
其中,待解答问题可以是当前对话的对话内容中用户所提出的问题。目标参考问题可以是知识库中所包含的与待解答问题对应的标准问题。知识库可以是存储参考知识的数据库,知识库可以有多种形式,常用的可以包括问题答案对类型、纯文本类型或者知识图谱类型等;其中,问题答案对类型可以由常见问题回答(Frequently Asked Questions、FAQ)组成,问题答案对类型的知识库中存储的内容包含参考问题和参考知识两部分。第一目标参考知识可以是从知识库中确定出的与待解答问题对应的目标参考知识。参考问题可以是知识库中所包含的标准问题。问题相似度可以是待解答问题与参考问题之间的相似度。问题分类模型可以是用于确定与待解答问题对应的参考问题所采用的模型。训练问题可以是作为训练样本的问题。相似问题可以是与训练问题之间的相似度达到预设阈值的问题。
从对话内容中确定出待解答问题后,可以根据待解答问题在知识库中进行查询操作,从知识库中确定出与待解答问题对应的目标参考问题,并根据目标参考问题确定与待解答问题对应的第一目标参考知识。对于不同形式的知识库可以采用不同的查询方式。例如,对于FAQ形式的知识库,本质是确定待解答问题与知识库中哪一个参考问题是相同的,或者都不相同。在本公开中,可以采用相似度计算或分类两种方式确定与待解答问题对应的目标参考问题。具体如下:
在确定待解答问题对应的目标参考问题时,可以计算待解答问题与知识库中多个参考问题之间的问题相似度,包括:1)用编辑距离等基于字的方法,2)基于同义词林等词相似度字典,3)用BERT等方法将句子编码为向量,然后计算向量的相似度(余弦相似度等)。在确定出待解答问题与知识库中多个参考问题之间的问题相似度后,可以将具有最大问题相似度的参考问题作为与待解答问题对应的目标参考问题。
另外,还可以采用分类确定待解答问题对应的目标参考问题。具体的,可以采用人工方法或算法对每一个训练问题(Query)生成对应的相似问题,然后根据多个训练问题以及各训练问题对应的相似问题构成一类,再采用分类方法,如SVM模型或者深度学习方法BERT模型进行模型训练,得到问题分类模型。在得到问题分类模型后,可以将待解答问题输入至问题分类模型中,由问题分类模型在线上对用户的问题用学习到的模型进行分类,得到与待解答问题对应的目标参考问题。由于知识库中包含目标参考问题以及与目标参考问题对应的第一目标参考知识,在确定出目标参考问题后,可以从知识库中获取对应的第一目标参考知识。
采用上述两种方式确定出对话内容在知识库中对应的Query之后,将这个Query的答案告知用户即可。以上过程中为了提高效率,还可以使用索引。
对于纯文本形式的知识库,可以用阅读理解技术,针对问题,找出纯文本中的答案部分,告知用户。对于知识图谱形式可以采用基于知识图谱的问答(Knowledge BaseQuestion Answering,KBQA)技术解决。
继续参考图2,在根据目标参考问题查询知识库操作后,确定查询结果,在步骤S240中,确定知识库中是否存在与目标参考问题对应的答案,即如果知识库中存在目标参考问题对应的答案,即存在第一目标参考知识,则在步骤S250中,将该答案作为插话内容,在当前对话中确定插话时机,择机插话以进行对话交互。
继续参考图3,在问答场景2中,当第一对话内容为观点内容,且第二对话内容的回答是非确定态度时,可以根据第一对话内容确定待验证知识。在确定出待验证知识后,可以根据待验证知识进行验证知识库操作,即执行图3中的步骤S330,验证知识库。
另外,在图3中,如果在步骤S310中,用户1提出观点;在步骤S322中,用户2表示不同意用户1的观点,则可以认为用户1与用户2产生分歧,执行步骤S330,验证知识库,从知识库中确定对应的参考答案,无需执行步骤S340,并直接在步骤S350中,根据确定出的参考答案进行择机插话。
在本公开的一种示例性实施方案中,对对话内容进行知识抽取处理,确定对话内容包含的待验证知识;获取预先构建的包括多个参考知识的知识库;知识库的类型包括问题答案对类型、纯文本类型、知识图谱类型中的一种或多种;基于知识库确定与待验证知识对应的第二目标参考知识;根据第二目标参考知识对待验证知识进行知识验证操作,得到知识验证结果。
其中,知识抽取处理可以是提取对话内容中包含的待验证知识的过程。参考知识可以是知识库中预先存储的知识。第二目标参考知识可以是与待验证知识之间的相似度超过一定相似度阈值的目标参考知识。
对于问答场景2,根据对话内容确定待验证知识的过程可以通过下述步骤进行:当获取到对话内容后,可以对对话内容进行知识抽取处理,得到对话内容中包含与知识库相关的待验证知识。具体的,可以通过下述两种方式进行:
(1)明确判断是否有观点。1)通过规则判断;2)结合句法分析和规则判断,例如主语、谓语、宾语齐全的句子,可以是待验证知识,如“李白的家乡是碎叶”;3)采用知识图谱中的信息抽取方法如果抽取到三元组,则认为对话内容中包含待验证知识。
(2)不能明确判断是否有观点,但是可以判断或许有观点。这里可以使用索引技术,事先将知识建立索引,例如FAQ的Query或者知识图谱中的三元组可以建立基于字符或者向量的索引,线上对用户的句子在索引中进行检索,如果找到相关知识,则判断为或许有待验证知识。例如,可以通过设定相似度阈值,通过相似度筛选确定对话内容中是否包含待验证知识。
在问答场景3中,当确定出对话内容的内容态度为非确定态度,即用户2表达了不知道/不确定/不同意的态度,但无法明确第一用户的第一对话内容是否明确包含观点时,可以采用上述第二种确定待验证知识的方式从当前对话的对话内容中确定待验证知识。
继续参考图3,在问答场景2中,在确定出待验证知识后,可以执行步骤S330,验证知识库,验证知识库操作可以通过下述步骤进行:在确定出待验证知识后,可以获取预先构建的知识库,知识库中可以包括多个参考知识,并且,知识库可以有多种不同形式,例如,知识库可以包括问题答案对类型、纯文本类型、知识图谱类型。(1)问题答案对类型的知识库可以是FAQ形式,包含问题(Query)和答案(Answer)两个部分。例如,Query为“尿酸高就会导致痛风吗?”;Answer可以为“尿酸高不一定导致痛风,但高尿酸是痛风的前提,严重者才可能会导致痛风。”(2)纯文本类型的知识库,参考知识可以采用纯文本形式存储,一段或几段话例如“尿酸高不一定导致痛风,但高尿酸是痛风的前提,严重者才可能会导致痛风”。(3)知识图谱类型的知识库,一般是三元组形式,具体有两种:一是(实体,属性,属性值)形式,例如(高尿酸,后果,尿酸盐结晶沉积)。其中“高尿酸”是实体,“后果”是属性,“尿酸盐结晶沉积”是属性值。二是(头实体,关系,尾实体)的形式,例如三元组(鲁迅,国籍,中国),鲁迅是头实体,国籍是关系,中国是尾实体。
在确定出待验证知识后,可以从知识库中确定与该待验证知识对应的第二目标参考知识,根据第二目标参考知识对待验证知识进行知识验证操作,确定待验证知识与第二目标参考知识是否一致,得到对应的知识验证结果。继续参考图3,对于问答场景2,在步骤S340中,如果知识与观点不一致,即,待验证知识与第二目标参考知识不一致,则将第二目标参考知识作为插话内容,并执行步骤S350中,在对应的插话时机插话,进行对话交互。
同理,参考图4,对于问答场景3,在步骤S430中,验证知识库;在步骤S440中,如果知识与观点不一致,则在步骤S450中,进行择机插话。其中,问答场景3的验证知识库等后续处理步骤与问答场景2相同。即,验证知识库的操作步骤与图3中步骤S330的验证知识库操作相同,判断知识与观点是否一致以及择机插话的步骤分别与图3中的步骤S340与步骤S350相同,本公开对此不再进行赘述。
进一步地,对于问答场景4,参考图5,在根据对话内容确定出待验证知识后,可以执行步骤S530中,验证知识库。根据确定出的待验证知识执行验证知识库操作。在步骤S540中,如果知识与观点不一致,则在步骤S550中,进行择机插话。其中,问答场景4的验证知识库,确定知识与观点知识是否一致,择机插话等后续处理步骤同样与问答场景2中的处理过程相同,本公开对此不再进行赘述。
在本公开的一种示例性实施方案中,获取候选对话内容中包含的问题答案对;问题答案对包括候选参考问题以及与候选参考问题对应的候选参考答案;如果问题答案对的知识形式为包含问答二元组,对候选参考答案进行句子分割处理,得到多个答案子句;计算各答案子句与候选参考问题之间的问答相似度,根据具有最大问题相似度的答案子句确定参考知识;以及如果问题答案对的知识形式为不包含问答二元组,则确定问题答案对是否包含疑问词;如果问题答案对包含疑问词,则根据包含疑问词的问题答案对确定参考知识;如果问题答案对不包含疑问词,则根据候选参考答案确定问题答案对对应的参考知识。
其中,问题答案对可以是由问题以及问题对应的答案组成。知识形式可以是问题答案对的表达形式,例如知识形式可以包括问答二元组形式,还可以包括文本形式或其他形式。候选参考问题可以是问题答案中对应的问题。候选参考答案可以是问题答案对中与候选参考问题对应的答案。问答二元组可以是由问题和答案作为两个属性生成的二元组,问答二元组的形式可以是(问题,答案)的形式。句子分割处理可以是对待验证答案中的句子按照句子分隔符,如“,”、“、”、“;”等对句子进行分割处理的过程。答案子句可以是对待验证答案的句子进行句子分割处理后得到的多个分句。问答相似度可以是答案子句与待验证问题之间的相似度。
对于候选对话内容包含FAQ类型的问题答案对,可以先对Query/Answer形式的知识转换为(问题,答案)形式的问答二元组知识。具体的,可以对Query/Answer进行精简,将多余的内容去掉,例如,可以将答案中的分析内容去掉,以便未来和用户的句子做匹配。在生成问答二元组时,首先将候选参考答案answer分割为多个答案子句,例如,可以按照逗号、句号、问号等标点符号进行分割,或者使用其它规则或机器学习方法对参考答案进行分割,得到多个答案子句。
在得到多个目标答案子句后,可以计算候选参考问题与各答案子句之间的相似度,在计算相似度时,可以采用编辑距离等基于字的方法;还可以采用基于同义词林等词相似度字典进行相似度计算;也可以采用基于转换器的双向编码器表示(BidirectionalEncoder Representations from Transformers,BERT)等方法将句子编码为向量,然后计算向量的相似度。将具有最大问答相似度与相似度阈值进行对比,如果最大问答相似度大于相似度阈值,则根据具有最大问答相似度的答案子句确定待验证知识,例如,可以取这个子句作为整条知识。具体处理过程可以参考下述示例。
示例1:Query:怀孕适合吃什么?
Answer:因为牛奶、鸡蛋等食物富含营养,对孕妇和胎儿有利,怀孕适合吃鸡蛋、牛奶等。
将answer按照逗号与句号分为“因为牛奶、鸡蛋等食物富含营养”、“对孕妇和胎儿有利”以及“怀孕适合吃鸡蛋、牛奶等”3个子句后,分别和Query计算相似度,最后一个答案子句与待验证问题具有最大问答相似度,并且最大问答相似度在相似度阈值之上,因此,可以将“怀孕适合吃鸡蛋、牛奶等”作为整条知识。
示例2:Query:怀孕适合吃螃蟹么?
Answer:怀孕不适合吃螃蟹。螃蟹偏寒,孕妇食用过多容易腹泻,对胎儿不利。
按照逗号/句号将待验证答案分为4个子句后,可以分别和Query计算相似度,第一个答案子句“怀孕不适合吃螃蟹”与候选参考问题之间具有最大问答相似度,且最大问答相似度大于相似度阈值,因此,可以将“怀孕不适合吃螃蟹”作为整条知识。
如果问题答案对的知识形式为不包括问答二元组,则判断问题答案对是否包含疑问词。Query大致分为两种,具体参考表3,一种含有疑问词例如“什么,为什么,哪里,谁,多久”等,表3中前4行均为包含疑问词的情况。另一种没有疑问词,通常是问“可不可以、能不能”这种是否性问题,表3中后2行为不包括疑问词的情形)。
表3
对有疑问词的Query,可以去掉疑问词,取剩下的部分,在整条知识中找到可以和它最大匹配的部分,作为二元组知识的候选参考问题,剩下的部分作为待验证答案。具体来说,可以从整条知识的头部或者从尾部开始,向另一个方向找一个片段,这个片段和Query(去掉疑问词的部分)的相同字/词最多且编辑距离最小,取这个片段作为候选参考问题。例如对“为什么刚起床腿就抽筋”这个Query,整条知识是“刚起床腿抽筋的主要原因是缺钙”,部分计算如下:
表4
其中,“刚起床腿抽筋”(倒数第二行)这个片段是相同字最多(有6个相同字)且编辑距离最小(距离为1)的片段。取这个片段为知识的问题部分,剩下的“的主要原因是缺钙”作为知识的答案部分(“的”字可以在后续用下面提到的停用词表方式去掉)。
对没有疑问词的Query,检查句子是否含有否定形式,如果是,则答案是“否定”,否则答案是“肯定”。否定形式通常包括否定副词,例如“不、没”等;否定动词,例如“没有”;或者具有否定意义的形容词、动词等,例如“不宜”等。
对以上两种有疑问词和没疑问词知识形式,可以分别称为知识形式一和知识形式二。如果上述条件不满足,则answer的第一句经常是简短回答。对知识形式一(有疑问词的Query,下表前4行),去掉疑问词,取剩下的部分作为问题,取answer的第一句作为回答。对知识形式二(没有疑问词的Query,下表后2行),取Query为问题,检查answer的第一句是否含有否定形式,如果是,则答案是“否定”,否则答案是“肯定”。
表5
针对对话内容,可以根据停用词表去掉一些不重要的字/词,例如去掉对话内容中的助词“的”、语气词“么、吗”等。
除了上述从候选对话内容中抽取知识二元组的知识抽取方式,还可以用机器学习方式,例如采用序列标注方法,如条件随机场(conditional random fields,简称CRF)模型;BiLstm模型+CRF模型的组合,其中,BiLstm模型可以是前向长短期记忆网络(LSTM,LongShort-Term Memory)与后向LSTM模型的组合;BERT模型+CRF模型等,从Query/Answer中抽取二元组知识的问题和答案,或者用文本生成方法从Query/Answer生成(问题,答案)二元组。
继续参考图6,同样可以采用上述知识抽取的方式确定当前对话内容的待验证知识,在确定出待验证知识后,执行步骤S630,验证知识库。即根据待验证知识查询知识库。在步骤S640中,如果知识库中的第二目标参考知识与待验证知识不一致,则在步骤S650中,将知识库中的第二目标参考知识作为插话内容,在当前对话中确定插话时机,并择机插话,进行对话交互。
在本公开的一种示例性实施方案中,基于知识库确定与待验证知识对应的第二目标参考知识的过程可以通过下述步骤进行:确定待验证知识与多个参考知识之间的知识相似度,根据知识相似度从多个参考知识中确定与待验证知识对应的第二目标参考知识。
其中,知识相似度可以是待验证知识与参考知识之间的相似度。第二目标参考知识可以是从知识库中确定出的与待验证知识之间的知识相似度达到一定知识相似度阈值的参考知识。
在确定出待验证知识后,可以根据待验证知识查询知识库,对于不同形式的知识库可以采用不同的查询方式。对于FAQ形式的知识库,本质是确定待验证知识与知识库中哪一个参考知识是相同的,如,对话内容中用户提出的观点中所包含的待验证知识和FAQ中哪一个参考问题的参考知识是相同的,或者都不相同。
在确定待验证知识对应的相似知识时,可以采用相似度计算的方式,相似度计算方法与计算待解答问题与各参考问题之间的相似度的方法相同,包括:1)用编辑距离等基于字的方法,2)基于同义词林等词相似度字典,3)用BERT等方法将句子编码为向量,然后计算向量的相似度(余弦相似度等)。可以将具有最大知识相似度的参考知识作为与待验证知识对应的第二目标参考知识。
在本公开的一种示例性实施方案中,根据第二目标参考知识对待验证知识进行知识验证操作,以得到知识验证结果的过程可以通过下述步骤进行:获取待验证知识与第二目标参考知识之间的第一相似度;如果第一相似度高于相似度阈值,则分别确定待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案;判断待验证答案与参考答案是否一致;如果待验证答案与参考答案不一致,则将知识验证结果确定为不通过。
其中,第一相似度可以是待验证知识与第二参考知识之间的相似度。相似度阈值可以是预先设定的参考数值。待验证答案可以是待验证知识中答案部分包含的实体。参考答案可以是参考知识中答案部分包含的实体。
在根据对话内容确定出待验证知识后,可以将待验证知识与知识库中的每一条知识进行匹配,如果判断为矛盾,则知识验证结果为不通过,并根据对话内容确定出插话内容,根据插话内容进行对话交互。整体思路是先计算待验证知识与参考知识之间的整体相似度,再确定待验证知识中答案部分的匹配情况。即,先从知识库中确定出与待验证知识具有最大知识相似度的第二目标参考知识,再确定待验证知识与第二目标参考知识中答案部分的匹配情况。
如果仅计算待验证知识与参考知识之间的整体相似度,答案部分只是有很小不同,整体意思却完全不同,而整体相似度可能还是很高的,因此,如果只根据整体相似度判断容易引起误识。例如,待验证知识“张白写了床前明月光”和参考知识(李白,写了床前明月光)只差一个姓,待验证知识“孕妇适合吃螃蟹”和参考知识“孕妇不适合吃螃蟹”只差一个“不”,一般的相似度算法得分在这两对句子上分数都很高,但是这两句的含义却截然不同,所以必须在考察整体相似度的基础上再强调答案部分的严格匹配。
参考图7,图7示意性示出了根据本公开的示例性实施方式的基于问题答案对的知识库进行知识验证操作的流程图。根据图7,可以根据事先准备的一个或多个问题答案对710构建二元组知识库720。在步骤S710中,可以将对话内容中用户说的话进行分句处理,以进行知识抽取处理,确定出待验证知识。在步骤S720中,在根据对话内容确定出待验证知识后,可以计算待验证知识与知识库中参考知识的相似度,确定出与待验证知识对应的第二目标参考知识。
在步骤S730中,判断第一相似度是否高于相似度阈值,如果第一相似度高于相似度阈值,则继续执行步骤S740中,计算答案是否矛盾。分别确定待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案,并判断待验证答案与参考答案是否矛盾。在步骤S750中,如果待验证答案与参考答案矛盾(不一致)。在步骤S760中,如果两个答案矛盾,则可以插话。如果待验证答案与参考答案矛盾,则需要确定当前对话对应的插话内容。例如,可以将第二目标参考知识作为插话内容。在步骤S770中,如果待验证答案与参考答案不矛盾,则不能插话。
具体的,在判断待验证知识和参考知识的整体含义相近时,对于知识形式一,计算用户句子和问题/答案合并的语句的相似度,例如对知识:(怀孕适合吃,鸡蛋、牛奶等),问题/答案合并的语句就是“怀孕适合吃鸡蛋、牛奶等”。对知识形式二,计算用户句子和知识的问题部分的相似度即可。例如(怀孕适合吃螃蟹,否定),只需计算用户句子和“怀孕适合吃螃蟹”的相似度即可。如果相似度在阈值之上,则判定为整体含义相近,例如“孕妇可以多吃鸡蛋、肉类”和(怀孕适合吃,鸡蛋、牛奶等)相近,“怀孕可以多吃螃蟹”和(怀孕适合吃螃蟹,否定)相近,或者“张白写了床前明月光”和(李白,写了床前明月光)相近。
在计算出待验证知识与第二目标参考知识之间的第一相似度后,如果第一相似度大于相似度阈值时,可以分别确定待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案,并确定待验证答案与参考答案是否一致。
对于知识形式一的参考知识,对待验证知识的答案部分进行命名实体识别,实体识别可以包括人名、地名、机构名、时间、数字等。如果待验证知识有命名实体,则它必须发生在用户句子中,即对用户句子也做命名实体识别。如果没有发生,则认为待验证答案与参考答案不一致,确定知识验证结果为不通过。例如“(写了床前明月光,李白)”的答案部分是“李白”,属于人名,则这个词必须作为一个整体出现在用户句子中,如果用户句子是“张白写了床前明月光”,则知识验证结果为不通过。这里命名实体可以使用相似字典,例如“北京大学”等于“北大”,或者“半年”等于“六个月”等。
对于不是命名实体的部分,可以在分词的基础上查询语义字典,确定每个词的语义类,事先定义一些重要的语义类,在知识的答案部分的这些语义类的词必须也发生在用户句子中,如果没有发生,则知识验证结果为不通过。
例如,可以使用同义词林作为语义字典,部分语义字典如下:
Br12A10牛奶羊奶炼乳酸牛奶
Bl05B03鸡蛋果儿
Bl05B04鸭蛋鸭子儿
Dd10A03钙钾镁
定义一些重要的语义类例如Br12A10,Bl05B03,Dd10A03,或者它们的上层语义类Br12A,Bl05B,Dd10A,Br12,Bl05,Dd10,Br,Bl,Dd,B,D等。
那么对用户说的“怀孕适合吃鸡蛋”,发现知识答案部分中的“牛奶”没有发生在句子中,则待验证答案与参考答案不一致,则将知识验证结果确定为不通过,可以进一步确定插话内容。
对于知识形式二,在判断待验证知识和参考知识是否一致时,可以检查用户句子中是否含有否定形式。如果和知识的答案部分不一致,则知识验证结果为不通过。在以上过程中为了提高效率可以使用索引。另外,除了上述方法,也可以将上述问题转为一个文本分类问题:预先训练一个文本分类模型,对用户说的每一句话(或者每一段话),判断和Query/Answer是符合、不一致还是未知,当不一致时可以进一步确定插话内容。
在本公开的一种示例性实施方案中,根据第二目标参考知识对待验证知识进行知识验证操作,以得到知识验证结果的过程可以通过下述步骤进行:对待验证知识进行信息抽取处理,得到对应的待验证三元组;待验证三元组包括待验证实体;根据第二目标参考知识确定与待验证三元组对应的参考三元组;参考三元组包括参考实体;确定待验证实体与参考实体是否一致;如果待验证实体与参考实体不一致,则将知识验证结果确定为不一致。
其中,三元组可以是知识的一种表达形式。待验证三元组可以是从待验证知识中抽取出的三元组。待验证实体可以是待验证知识的答案部分包含的实体。参考三元组可以是从知识库中确定出的与待验证三元组进行相似度对比的三元组。参考实体可以是参考三元组的答案部分包含的实体。
参考图8,图8示意性示出了根据本公开的示例性实施方式的基于知识图谱的知识库进行知识验证操作的流程图。在步骤S810中,将对话内容中的一个用户说的话进行分句处理。在步骤S820中,根据经过分句处理后的句子抽取三元组。举例而言,对话内容的句子为“你不知道吧,尿酸高会导致痛风啊”,将对话内容中的句子进行分句处理,得到两个子句:“你不知道吧”和“尿酸高会导致痛风啊”,对每个子句用信息抽取的方式抽取三元组。在步骤S830中,确定是否抽取出三元组。第一句“你不知道吧”无法抽取出三元组。第二句“尿酸高会导致痛风啊”抽出三元组:(高尿酸,后果,痛风)。信息抽取一般用规则或者机器学习方法,通常包含实体识别、关系识别、属性值识别等步骤。实体识别是将句子中的“尿酸高”对应到知识库中的实体“高尿酸,关系识别将句子中的“会导致”对应到属性“后果”,属性值识别把“痛风”归到属性值。
另外,还可以根据两个用户的对话内容,从两个用户对话的句子中抽取出三元组。例如,用户1:苏轼是哪朝人?用户2:唐朝,则可以从这两个句子中抽取出三元组:(苏轼,年代,唐朝)。具体抽取过程可以是:从用户1的问句中分布抽取头实体(苏轼)和关系(年代),从用户2的句子中抽取尾实体(唐朝)。
如果根据对话内容没有抽取出来三元组,则认为对话内容不是观点句,则停止。在步骤S840中,如果抽取出了三元组,说明是观点句,将抽取出的三元组作为待验证三元组,在知识图谱中查询这个三元组是否存在。具体方法是查询包含(实体,属性,*)或者(头实体,关系,*)的知识是否存在。在这里是查找形如(高尿酸,后果,*)的知识是否存在。如果不存在,则说明知识库中没有相关知识,不能判断为矛盾。在步骤S850中,如果存在,查看属性值/尾实体部分与观点三元组的属性值/尾实体是否相同(或者包含),如果两者不一致,则可以确定插话内容,进行插话交互。在步骤S860中,如果判断两者一致,则不能插话。
这里可以参考FAQ部分判断用户句子是否与知识的答案部分矛盾中的知识形式一的方法:先检查命名实体是否包含,再检查重要语义类是否包含,如果都没有,则计算语义相似度。这个例子中,从知识库中查询到(高尿酸,后果,尿酸盐结晶沉积)这条知识,发现属性值部分分别是“痛风”和“尿酸盐结晶沉积”,如果事先定义了重要语义类Dl01A80:
Dl01A80#痛风白粉病白喉白化病
则因为“痛风”并没有在“尿酸盐结晶沉积”中发生,判断为不一致,则可以插话,例如“高尿酸的后果是尿酸盐结晶沉积,不会导致痛风”。
需要说明的是,对纯文本形式的待验证知识,不能直接验证知识库,由于纯文本内容较多,难以判断知识点,因此,可以借鉴知识图谱的方式,事先用信息抽取的方式从纯文本中抽取三元组,形成知识图谱三元组。然后转为用知识图谱的方式验证。
综上所述,响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;对待确定信息进行知识验证操作,得到知识验证结果;根据得到的知识验证结果确定与所述对话内容对应的插话内容;确定插话时机,基于插话时机在当前会话中返回插话内容,以进行对话交互。本公开的对话交互方法,一方面,可以根据当前对话的对话内容确定是否进行插话交互,无需用户通过特定的唤醒词触发交互响应。另一方面,通过分析对话内容的内容态度,可以对内容态度为非确定态度的对话内容中包含的内容进行验证,以得到包含对应知识的插话内容,并根据插话内容进行对话交互。又一方面,通过对当前对话的对话内容进行知识验证操作,可以为用户提供与对话内容对应的相关知识。
需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种对话交互装置。参考图9,该对话交互装置可以包括:信息确定模块910、知识验证模块920、插话内容确定模块930以及对话交互模块940。
具体的,信息确定模块910,用于响应于监测到当前对话的对话内容,确定对话内容对应的待确定信息;知识验证模块920,用于对待确定信息进行知识验证操作,得到知识验证结果;插话内容确定模块930,用于根据得到的知识验证结果确定与对话内容对应的插话内容;对话交互模块940,用于确定插话时机,基于插话时机在当前对话中返回插话内容,以进行对话交互。
在本公开的一种示例性实施方案中,信息确定模块包括信息确定单元,用于确定当前对话的内容态度;内容态度包括确定态度和非确定态度;如果内容态度确定为非确定态度且第一对话内容为问题内容,则根据第一对话内容确定待解答问题;如果第一对话内容为观点内容,则根据第一对话内容确定待验证知识;如果内容态度确定为确定态度且第一对话内容为问题内容,则根据第一对话内容与第二对话内容确定待验证知识。
在本公开的一种示例性实施方案中,信息确定单元包括态度确定子单元,用于获取预先设定的文本分类规则或预先构建的文本分类模型,根据文本分类规则或文本分类模型确定内容态度;以及确定目标文本特征,根据目标文本特征对对话内容进行内容分类处理,得到对话内容的内容分类结果;内容分类结果包括疑问句;当内容分类结果为疑问句时,确定当前对话对应的回答响应时间;确定回答响应时间与响应时间阈值的时间对比结果,根据时间对比结果确定内容态度;以及确定当前对话包含的问题实体类型与答案实体类型,并确定问题实体类型与答案实体类型的类型匹配结果,根据类型匹配结果确定内容态度。
在本公开的一种示例性实施方案中,对话交互模块还包括问题知识确定模块,用于确定与待解答问题对应的目标参考问题;根据目标参考问题从知识库中确定与待解答问题对应的第一目标参考知识;确定与待解答问题对应的目标参考问题,包括:获取知识库中包含的多个参考问题,分别计算待解答问题与各参考问题之间的问题相似度;根据问题相似度从多个参考问题中确定与待解答问题对应的目标参考问题;以及获取问题分类模型;问题分类模型基于多个训练问题以及各训练问题对应的相似问题训练得到;将待解答问题输入至问题分类模型,由问题分类模型确定与待解答问题对应的目标参考问题。
在本公开的一种示例性实施方案中,知识验证模块包括知识验证单元,用于对对话内容进行知识抽取处理,确定对话内容包含的待验证知识;获取预先构建的包括多个参考知识的知识库;知识库的类型包括问题答案对类型、纯文本类型、知识图谱类型中的一种或多种;基于知识库确定与待验证知识对应的第二目标参考知识;根据第二目标参考知识对待验证知识进行知识验证操作,得到知识验证结果。
在本公开的一种示例性实施方案中,对话交互装置还包括参考知识确定模块,用于获取候选对话内容中包含的问题答案对;问题答案对包括候选参考问题以及与候选参考问题对应的候选参考答案;如果问题答案对的知识形式为包含问答二元组,对候选参考答案进行句子分割处理,得到多个答案子句;计算各答案子句与候选参考问题之间的问答相似度,根据具有最大问题相似度的答案子句确定参考知识;以及如果问题答案对的知识形式为不包含问答二元组,则确定问题答案对是否包含疑问词;如果问题答案对包含疑问词,则根据包含疑问词的问题答案对确定参考知识;如果问题答案对不包含疑问词,则根据候选参考答案确定问题答案对对应的参考知识。
在本公开的一种示例性实施方案中,知识验证单元包括参考知识确定子单元,用于确定待验证知识与多个参考知识之间的知识相似度,根据知识相似度从多个参考知识中确定与待验证知识对应的第二目标参考知识。
在本公开的一种示例性实施方案中,知识验证单元还包括第一验证子单元,用于获取待验证知识与第二目标参考知识之间的第一相似度;如果第一相似度高于相似度阈值,则分别确定待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案;判断待验证答案与参考答案是否一致;如果待验证答案与参考答案不一致,则将知识验证结果确定为不通过。
在本公开的一种示例性实施方案中,知识验证单元还包括第二验证子单元,用于对待验证知识进行信息抽取处理,得到对应的待验证三元组;待验证三元组包括待验证实体;根据第二目标参考知识确定与待验证三元组对应的参考三元组;参考三元组包括参考实体;确定待验证实体与参考实体是否一致;如果待验证实体与参考实体不一致,则将知识验证结果确定为不一致。
上述中各对话交互装置的虚拟模块的具体细节已经在对应的对话交互方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了对话交互装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图10来描述根据本发明的这种实施例的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030、显示单元1040。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1070(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图11所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (12)
1.一种对话交互方法,其特征在于,包括:
响应于监测到当前对话的对话内容,确定所述对话内容对应的待确定信息;
对所述待确定信息进行知识验证操作,得到知识验证结果;
根据得到的知识验证结果确定与所述对话内容对应的插话内容;
确定插话时机,基于所述插话时机在当前会话中返回所述插话内容,以进行对话交互。
2.根据权利要求1所述的方法,其特征在于,所述当前对话的对话内容包括第一对话内容与第二对话内容,所述待确定信息包括待验证知识与待查询问题,所述确定所述对话内容对应的待确定信息,包括:
确定所述当前对话的内容态度;所述内容态度包括确定态度和非确定态度;
如果所述内容态度确定为非确定态度且所述第一对话内容为问题内容,则根据所述第一对话内容确定待解答问题;
如果所述第一对话内容为观点内容,则根据所述第一对话内容确定待验证知识;
如果所述内容态度确定为确定态度且所述第一对话内容为问题内容,则根据所述第一对话内容与所述第二对话内容确定待验证知识。
3.根据权利要求2所述的方法,其特征在于,所述确定所述当前对话的内容态度,包括:
获取预先设定的文本分类规则或预先构建的文本分类模型,根据所述文本分类规则或所述文本分类模型确定所述内容态度;以及
确定目标文本特征,根据所述目标文本特征对所述对话内容进行内容分类处理,得到内容分类结果;所述内容分类结果包括疑问句;
当所述内容分类结果为所述疑问句时,确定所述当前对话对应的回答响应时间;
确定所述回答响应时间与响应时间阈值的时间对比结果,根据所述时间对比结果确定所述内容态度;以及
确定所述当前对话包含的问题实体类型与答案实体类型,并确定所述问题实体类型与所述答案实体类型的类型匹配结果,根据所述类型匹配结果确定所述内容态度。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定与所述待解答问题对应的目标参考问题;
根据所述目标参考问题从所述知识库中确定与所述待解答问题对应的第一目标参考知识;
所述确定与所述待解答问题对应的目标参考问题,包括:
获取所述知识库中包含的多个参考问题,分别计算所述待解答问题与各所述参考问题之间的问题相似度;
根据所述问题相似度从多个所述参考问题中确定与所述待解答问题对应的目标参考问题;以及
获取问题分类模型;所述问题分类模型基于多个训练问题以及各所述训练问题对应的相似问题训练得到;
将所述待解答问题输入至所述问题分类模型,由所述问题分类模型确定与所述待解答问题对应的目标参考问题。
5.根据权利要求1所述的方法,其特征在于,所述待确定信息为待验证知识,所述对所述待确定信息进行知识验证操作,得到知识验证结果,包括:
对所述对话内容进行知识抽取处理,确定所述对话内容包含的待验证知识;
获取预先构建的包括多个参考知识的知识库;所述知识库的类型包括问题答案对类型、纯文本类型、知识图谱类型中的一种或多种;
基于所述知识库确定与所述待验证知识对应的第二目标参考知识;
根据所述第二目标参考知识对所述待验证知识进行知识验证操作,得到所述知识验证结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取候选对话内容中包含的问题答案对;所述问题答案对包括候选参考问题以及与所述候选参考问题对应的候选参考答案;
如果所述问题答案对的知识形式为包含问答二元组,对所述候选参考答案进行句子分割处理,得到多个答案子句;
计算各所述答案子句与所述候选参考问题之间的问答相似度,根据具有最大问题相似度的答案子句确定参考知识;以及
如果所述问题答案对的知识形式为不包含问答二元组,则确定所述问题答案对是否包含疑问词;
如果所述问题答案对包含所述疑问词,则根据包含所述疑问词的问题答案对确定参考知识;
如果所述问题答案对不包含所述疑问词,则根据所述候选参考答案确定所述问题答案对对应的参考知识。
7.根据权利要求5所述的方法,其特征在于,所述基于所述知识库确定与所述待验证知识对应的第二目标参考知识,包括:
确定所述待验证知识与多个所述参考知识之间的知识相似度;
根据所述知识相似度从多个所述参考知识中确定与所述待验证知识对应的第二目标参考知识。
8.根据权利要求5所述的方法,其特征在于,所述根据所述第二目标参考知识对所述待验证知识进行知识验证操作,得到所述知识验证结果,包括:
获取所述待验证知识与所述第二目标参考知识之间的第一相似度;
如果所述第一相似度高于相似度阈值,则分别确定所述待验证知识对应的待验证答案,以及第二目标参考知识对应的参考答案;
判断所述待验证答案与所述参考答案是否一致;
如果所述待验证答案与所述参考答案不一致,则将所述知识验证结果确定为不通过。
9.根据权利要求5所述的方法,其特征在于,所述根据所述第二目标参考知识对所述待验证知识进行知识验证操作,得到所述知识验证结果,包括:
对所述待验证知识进行信息抽取处理,得到对应的待验证三元组;所述待验证三元组包括待验证实体;
根据所述第二目标参考知识确定与所述待验证三元组对应的参考三元组;所述参考三元组包括参考实体;
确定所述待验证实体与所述参考实体是否一致;
如果所述待验证实体与所述参考实体不一致,则将所述知识验证结果确定为不一致。
10.一种对话交互装置,其特征在于,包括:
信息确定模块,用于响应于监测到当前对话的对话内容,确定所述对话内容对应的待确定信息;
知识验证模块,用于对所述待确定信息进行知识验证操作,得到知识验证结果;
插话内容确定模块,用于根据得到的知识验证结果确定与所述对话内容对应的插话内容;
对话交互模块,用于确定插话时机,基于所述插话时机在所述当前对话中返回所述插话内容,以进行对话交互。
11.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现根据权利要求1至9中任一项所述的对话交互方法。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至9中任一项所述的对话交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110852357.2A CN113468894B (zh) | 2021-07-27 | 2021-07-27 | 对话交互方法及装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110852357.2A CN113468894B (zh) | 2021-07-27 | 2021-07-27 | 对话交互方法及装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468894A true CN113468894A (zh) | 2021-10-01 |
CN113468894B CN113468894B (zh) | 2024-03-22 |
Family
ID=77882786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110852357.2A Active CN113468894B (zh) | 2021-07-27 | 2021-07-27 | 对话交互方法及装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468894B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114461749A (zh) * | 2022-02-15 | 2022-05-10 | 北京百度网讯科技有限公司 | 对话内容的数据处理方法、装置、电子设备和介质 |
US20230030870A1 (en) * | 2021-07-30 | 2023-02-02 | Intuit Inc. | Utterance intent detection |
CN115982352A (zh) * | 2022-12-12 | 2023-04-18 | 北京百度网讯科技有限公司 | 文本分类方法、装置以及设备 |
CN117857599A (zh) * | 2024-01-09 | 2024-04-09 | 北京安真医疗科技有限公司 | 一种基于物联网的数字人对话智能管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140335499A1 (en) * | 2001-05-07 | 2014-11-13 | Frank R. Miele | Method and apparatus for evaluating educational performance |
CN107506372A (zh) * | 2017-07-11 | 2017-12-22 | 哈尔滨工业大学深圳研究生院 | 一种机器人客服在混合类型会话下的自动会话切换方法 |
CN109284363A (zh) * | 2018-12-03 | 2019-01-29 | 北京羽扇智信息科技有限公司 | 一种问答方法、装置、电子设备及存储介质 |
CN110335595A (zh) * | 2019-06-06 | 2019-10-15 | 平安科技(深圳)有限公司 | 基于语音识别的插问对话方法、装置及存储介质 |
-
2021
- 2021-07-27 CN CN202110852357.2A patent/CN113468894B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140335499A1 (en) * | 2001-05-07 | 2014-11-13 | Frank R. Miele | Method and apparatus for evaluating educational performance |
CN107506372A (zh) * | 2017-07-11 | 2017-12-22 | 哈尔滨工业大学深圳研究生院 | 一种机器人客服在混合类型会话下的自动会话切换方法 |
CN109284363A (zh) * | 2018-12-03 | 2019-01-29 | 北京羽扇智信息科技有限公司 | 一种问答方法、装置、电子设备及存储介质 |
CN110335595A (zh) * | 2019-06-06 | 2019-10-15 | 平安科技(深圳)有限公司 | 基于语音识别的插问对话方法、装置及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230030870A1 (en) * | 2021-07-30 | 2023-02-02 | Intuit Inc. | Utterance intent detection |
CN114461749A (zh) * | 2022-02-15 | 2022-05-10 | 北京百度网讯科技有限公司 | 对话内容的数据处理方法、装置、电子设备和介质 |
CN114461749B (zh) * | 2022-02-15 | 2023-04-07 | 北京百度网讯科技有限公司 | 对话内容的数据处理方法、装置、电子设备和介质 |
CN115982352A (zh) * | 2022-12-12 | 2023-04-18 | 北京百度网讯科技有限公司 | 文本分类方法、装置以及设备 |
CN115982352B (zh) * | 2022-12-12 | 2024-04-02 | 北京百度网讯科技有限公司 | 文本分类方法、装置以及设备 |
CN117857599A (zh) * | 2024-01-09 | 2024-04-09 | 北京安真医疗科技有限公司 | 一种基于物联网的数字人对话智能管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113468894B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096570B (zh) | 一种应用于智能客服机器人的意图识别方法及装置 | |
US10402501B2 (en) | Multi-lingual virtual personal assistant | |
US11693894B2 (en) | Conversation oriented machine-user interaction | |
CN113468894B (zh) | 对话交互方法及装置、电子设备和计算机可读存储介质 | |
CN108170749B (zh) | 基于人工智能的对话方法、装置及计算机可读介质 | |
US11908477B2 (en) | Automatic extraction of conversation highlights | |
CN110223134B (zh) | 基于语音识别的产品推荐方法及相关设备 | |
CN114416943B (zh) | 对话模型的训练方法、装置、电子设备及存储介质 | |
CN114625855A (zh) | 用于生成对话信息的方法及装置、设备和介质 | |
CN110019691A (zh) | 会话消息处理方法和装置 | |
CN112686051A (zh) | 语义识别模型训练方法、识别方法、电子设备、存储介质 | |
CN114818665B (zh) | 一种基于bert+bilstm+crf与xgboost模型的多意图识别方法和系统 | |
CN115714030A (zh) | 一种基于疼痛感知和主动交互的医疗问答系统及方法 | |
CN111444321A (zh) | 问答方法、装置、电子设备和存储介质 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN117272977A (zh) | 人物描写语句的识别方法、装置、电子设备及存储介质 | |
CN117688145A (zh) | 用于问答交互的方法、装置和智能设备 | |
CN114417869A (zh) | 实体识别方法、装置、电子设备及计算机可读存储介质 | |
CN113743126B (zh) | 一种基于用户情绪的智能交互方法和装置 | |
CN116978367A (zh) | 语音识别方法、装置、电子设备和存储介质 | |
CN111090769A (zh) | 一种歌曲推荐的方法、装置、设备和计算机存储介质 | |
CN115408500A (zh) | 问答一致性的评估方法、装置、电子设备及介质 | |
CN112905752A (zh) | 一种智能交互方法、装置、设备以及存储介质 | |
CN112309580A (zh) | 疾病类型的确定方法、装置、电子设备及存储介质 | |
CN110647627B (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 |