CN111368538A - 语音交互方法、系统、终端及计算机可读存储介质 - Google Patents
语音交互方法、系统、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111368538A CN111368538A CN202010134301.9A CN202010134301A CN111368538A CN 111368538 A CN111368538 A CN 111368538A CN 202010134301 A CN202010134301 A CN 202010134301A CN 111368538 A CN111368538 A CN 111368538A
- Authority
- CN
- China
- Prior art keywords
- word
- reply
- slot
- voice
- preset
- 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
- 230000003993 interaction Effects 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000013145 classification model Methods 0.000 claims abstract description 93
- 230000008451 emotion Effects 0.000 claims abstract description 74
- 230000007246 mechanism Effects 0.000 claims abstract description 36
- 239000013598 vector Substances 0.000 claims description 153
- 230000011218 segmentation Effects 0.000 claims description 48
- 230000015654 memory Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000001502 supplementing effect Effects 0.000 claims description 4
- 238000003058 natural language processing Methods 0.000 abstract description 4
- 230000002452 interceptive effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012706 support-vector machine Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 238000003066 decision tree Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010006 flight Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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/35—Clustering; Classification
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及自然语言处理技术领域,公开了一种语音交互方法、系统、终端及存储介质,方法包括:接收用户输入的语音信息;根据语音信息和预设的任务分类模型,判断语音信息是否属于任务类型;若是,则根据所述语音信息和所述语音信息所属任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;若否,则调用搜索引擎搜索问题的回复,并将搜索到的回复反馈至用户;当未搜索到问题的回复时,根据问题、预设的情感分类模型和预设的seq2seq模型,获得问题的回复,并将所述回复反馈至用户。本发明解决了现有语音交互系统只采用一种方式生成回复,导致回复的相关性或正确性低的问题。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种语音交互方法、系统、终端及计算机可读存储介质。
背景技术
随着自然语言处理技术的普及,语音交互是自然语言处理领域的一个重要方向,由此产生的聊天系统,可以对用户的生活或者工作等问题给出解答,为人们信息时代的生活提供便捷。目前传统的语音交互系统对于用户的输入的语音信息,只会单独采用一种方式进行回复。但用户输入的语音信息有可能是为了查询一些常识性知识、也有可能是为了查询一些非常识性的功能性信息,还有可能是仅仅是为了聊天,而只采用一种方式生成问题的回复,可能会是与用户输入问题不相关的回复或不正确的回复,导致用户体验度差。
发明内容
本发明的主要目的在于提出一种语音交互方法、语音交互系统、语音交互终端及计算机可读存储介质,旨在解决现有技术中语音交互系统只采用一种方式生成回复,导致回复的相关性或正确性低的技术问题。
为实现上述目的,本发明提供一种语音交互方法,所述语音交互方法包括步骤:
接收用户输入的语音信息;
根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;
若是,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
若否,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;
若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
可选地,所述根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型的步骤包括:
对所述语音信息进行分词和/或分字,获得词数据和/或字数据;
将所述词数据和/或所述字数据转换为对应的词向量和/或字向量;
将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型。
可选地,所述将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型的步骤包括:
将所述词向量和/或所述字向量输入预设的任务分类模型中,获得各任务类型对应的概率;
判断各任务类型对应的概率中的最大概率值是否大于等于预设阈值;
若是,则确定所述语音信息属于任务类型,并将最大概率值对应的任务类型作为所述语音信息所属的任务类型;
若否,则确定所述语音信息不属于任务类型。
可选地,所述根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户的步骤包括:
获取所述语音信息所属任务类型对应的词槽组合,其中所述词槽组合包括至少一个词槽,词槽包括槽值和槽属性;
将所述语音信息输入至预设的基于双向长短时记忆网络和条件随机场实体BiLSTM+CRF实体识别模型,获得至少一个第一槽值和对应的槽属性;
根据获得的第一槽值对应的槽属性,将获得第一槽值填充至所述词槽组合中对应的词槽;
判断所述词槽组合中是否存在未填充槽值的词槽;
若是,则从所述词槽组合中未填充槽值的各词槽中根据预设规则选择一个词槽作为待填充词槽;
根据词槽与问话的预设映射关系,将所述待填充词槽对应的问话反馈至用户;
接收用户根据所述待填充对应的问话输出的回答,并将所述回答输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个第二槽值和对应的槽属性;
根据获得的第二槽值对应的槽属性,将获得的第二槽值补充至所述词槽组合中对应的词槽,并返回执行所述判断所述词槽组合中是否存在未填充槽值的词槽的步骤,直至所述词槽组合中所有词槽都填充了槽值;
若否,则根据所述词槽组合中各词槽的槽值和槽属性,生成所述语音信息的回复,并将所述回复反馈至用户。
可选地,所述将所述语音信息或所述回答输入至预设的BiLSTM+CRF实体识别模型,获得至少一个槽值和对应的槽属性的步骤包括:
对所述语音信息或接收到用户输出的回答进行分字,获得字数据;
将所述字数据转换为字向量;
将所述字向量输入至模型中的正向长短时记忆网络LSTM层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列;
将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;
将完整的隐藏状态序列输入至全连接层,输出句子特征;
将句子特征输入至条件随机场CRF层中,输出最终标签序列;
根据最终标签序列,获得至少一个槽值和对应的槽属性。
可选地,所述根据所述语音信息和预设的情感分类模型获得情感向量的步骤包括:
对所述语音信息进行分词,获得词数据;
将所述词数据转换为词向量;
将所述词向量输入预设的情感分类模型中,输出情感向量。
可选地,所述根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户的步骤包括:
对所述语音信息进行分词和转换,获得词向量;
将所述词向量输入预设的Seq2seq模型的编码器中,输出一个句向量;
将所述句向量和所述情感向量作为当前时刻的输入参数,输入至预设的seq2seq模型解码器中,获得当前时刻解码器输出的序列;
将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列;
重复执行所述将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列步骤,直至解码器输出停止符;
根据每个时刻解码器输出的序列,生成所述语音信息的答复;
将所述回复反馈至用户。
此外,为实现上述目的,本发明提供一种语音交互系统,所述语音交互系统包括:
接收模块,用于接收用户输入的语音信息;
第一判断模块;用于根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;
第一回复模块,用于若所述语音信息属于任务类型,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
第二判断模块,用于若所述语音信息不属于任务类型,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;
第二回复模块,用于若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
获得模块,用于若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
第三回复模块,用于根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
此外,为实现上述目的,本发明还提供一种语音交互终端,所述语音交互终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的语音交互方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的语音交互方法的步骤。
本发明提出的一种语音交互方法、语音交互系统、语音交互终端及计算机可读存储介质,通过接收用户输入的语音信息;根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;若是,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;若否,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。从而在对用户输入的语音信息进行回复前,先对所述语音信息进行分析,判断所述语音信息所属的类型,即确定用户输入语音信息的意图,根据不同的意图采用不同的回复策略,生成回复,其回复内容更加符合用户的意图,与用户输入语音信息的相关性更高,并且设置不同的回复策略可以满足用户的不同需求。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明语音交互方法第一实施例的流程示意图;
图3为本发明语音交互方法第二实施例中步骤S20的细化流程示意图;
图4为本发明语音交互方法第四实施例中步骤S30的细化流程示意图;
图5为本发明语音交互方法第五实施例中步骤S60的细化流程示意图;
图6为本发明语音交互系统的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,图1为本发明各个实施例中所提供的语音交互终端的硬件结构示意图。所述语音交互终端包括通信模块01、存储器02及处理器03等部件。本领域技术人员可以理解,图1中所示出的语音交互终端还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,所述处理器03分别与所述存储器02和所述通信模块01连接,所述存储器02上存储有计算机程序,所述计算机程序同时被处理器03执行。
通信模块01,可通过网络与外部设备连接。通信模块01可以接收外部设备发出的数据,还可发送数据、指令及信息至所述外部设备,所述外部设备可以是IOT设备、其他语音交互终端、手机、平板电脑、笔记本电脑和台式电脑等电子设备。
存储器02,可用于存储软件程序以及各种数据。存储器02可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(判断语音信息是否属于任务类型)等;存储数据区可存储根据语音交互终端的使用所创建的数据或信息等。此外,存储器02可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器03,是语音交互终端的控制中心,利用各种接口和线路连接整个语音交互终端的各个部分,通过运行或执行存储在存储器02内的软件程序和/或模块,以及调用存储在存储器02内的数据,执行语音交互终端的各种功能和处理数据,从而对语音交互终端进行整体监控。处理器03可包括一个或多个处理单元;优选的,处理器03可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器03中。
尽管图1未示出,但上述语音交互终端还可以包括电路控制模块,电路控制模块用于与市电连接,实现电源控制,保证其他部件的正常工作。
本领域技术人员可以理解,图1中示出的语音交互终端结构并不构成对语音交互终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
根据上述硬件结构,提出本发明方法各个实施例。
参照图2,在本发明语音交互方法的第一实施例中,应用于任一语音交互终端,所述语音交互方法包括步骤:
步骤S10,接收用户输入的语音信息;
在本方案中,用户可以采用语音形式输入问题,也可以采用文本形式输入问题,当用户采用语音形式输入问题时,语音交互终端接收用户发送的语音后,会采用语音识别技术将用户发送的语音转换为文本形式。
步骤S20,根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;若是,则执行步骤S30;若否,则执行步骤S40;
在本方案中,当语音交互终端接收到用户输入的语音信息后,会将所述语音信息输入预设的任务分类模型中,输出结果,其结果分为两种结果,其中一种结果为所述语音信息所属的任务类型,并给出具体的任务类型,其中任务分类模型中的任务类型可以为机票查询预订、酒店房间预订、门票查询预订等,在此对任务分类模型中的各任务类型不作限定,例如当用户输入的语音信息是“查询去北京的机票”,将“查询去北京的机票”输入预设的任务分类模型中,会输出所述语音信息属于机票查询预订任务类型;另外一种结果为所述语音信息不属于任务分类模型中预设的各任务类型中的任何一种,例如当用户输入的语音信息是“中国有多少个省”,语音交互终端将“中国有多少个省”输入预设的任务分类模型中,该预设的任务分类模型将会输出所述语音信息不属于任务类型的结果,从而语音交互终端确定所述语音信息不属于任务类型。
需要说明的是,任务分类模型可以为基于朴素贝叶斯文本分类模型、基于K最近邻文本分类模型、基于支持向量机文本分类模型、基于决策树文本分类模型、基于卷积神经网络文本分类模型(textCNN)、基于循环神经网络文本分类模型(textRNN)或者基于融合注意力机制的神经网络文本分类模型。
步骤S30,根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
当语音交互终端通过预设的任务分类模型确定所述语音信息所属的任务类型后,语音交互终端会根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,与用户进行多轮对话,获得所述语音信息的回复,并将所述回复通过语音形式播放给用户,当然反馈的方式还可以通过语音交互终端的显示屏以文本形式显示、或者通过网络、邮件或短信发送至用户终端。通过多轮对话机制获得所述语音信息的回复的具体过程为:在每轮对话前,会通过多轮对话机制中嵌入的状态追踪模块跟踪已经获得的生成所述语音信息的回复所需的信息以及缺少的生成所述语音信息的回复的所需信息,接着通过多轮对话机制中嵌入的对话策略模块,根据生成所述语音信息的回复所缺少的信息生成问话,将问话反馈至用户,以使用户根据问话输入相应的回答,然后在每轮对话结束后通过多轮对话机制中嵌入的语言理解模块对用户的问话进行解析,获得生成所述语音信息的回复所需的信息,通过重复以上步骤进行多轮对话,直至获得生成所述语音信息的回复所需的所有信息时,会根据获得的所有信息,生成所述语音信息的回复,然后将所述回复反馈至用户。
例如,当用户输入的语音信息为“查询去北京的航班”,该问题的任务类型为机票查询,根据机票查询任务类型,可知生成所述语音信息所需的信息包括出发地、目的地、日期和时间段,通过多轮对话机制中嵌入的语言理解模块先对所述语音信息进行解析,获得目的地信息“北京”,通过多轮对话机制中嵌入的状态追踪模块,可知目前缺少的信息为出发地、日期和时间段,嵌入的对话策略模块会从缺少的信息中随机选择一个信息或根据各信息的预设权重选择权重值最大的信息作为下一轮对话的主题,并生成对应的问话,例如选择出发地,生成相应的问话“请问从哪里出发”,用户接收到所述问话后,会输入回答为“从深圳出发”,多轮对话机制会从“从深圳出发”,获得出发地信息“深圳”,并确定下一轮问话为“什么时候出发”,用户收到“什么时候出发”问话后,会输入回答为“10月20日,8-10点吧”,多轮对话机制会从“10月20日,8-10点吧”获得日期信息“10月20日”和时间段“8-10点”,此时多轮对话机制追踪已经全部获得生成“查询去北京的航班”问题的回复所需的信息,然后语音交互终端会根据这些信息,从预设的航班信息数据库中或通过调用专门的航班信息查询APP,获取满足这些条件的航班信息,并根据这些航班信息生成回复“10月20日8点-10点从深圳飞往北京的航班有CZ3151”,将回复通过语音播报形式或文本形式反馈给用户。
需要说明的是,多轮对话机制中嵌入的语言理解模块所采用的语言理解方法除了采用BiLSTM+CRF方法,还可以采用基于规则理解方法、基于生成式模型方法例如随机有限状态机和统计机翻译或动态贝叶斯网络、基于判别式模型方法例如CRF(conditionalrandom field algorithm,条件随机场)、SVM(Support Vector Machine,支持向量机)或MEMM(Maximum Entropy Markov Model,最大熵马尔科夫模型),或基于深度学习方法例如CNN(Convolutional Neural Network,卷积神经网络)和seq2seq等。
步骤S40,调用预设的搜索引擎,对所述语音信息的回复进行搜索;若搜索到所述语音信息的回复;
当语音交互终端通过预设的任务分类模型确定所述语音信息不属于任务类型后,会通过预设的接口调用对应的搜索引擎,通过该所述引擎预设的知识图谱对所述语音信息进行搜索,判断是否能搜索到所述语音信息的回复。
步骤S50,若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
当调用的搜索引擎在其知识图谱中搜索到所述语音信息的回复,会将所述回复通过语音形式播放、在语音交互终端的显示屏以文本形式显示、或者通过网络、邮件或短信发送至用户终端。例如,用户输入的语音信息为“中国首都是哪里”,通过调用预设的搜索引擎,在搜索引擎的知识图谱中搜索到所述语音信息的回复“北京”,然后将所述回复“北京”发送至用户。
步骤S60,若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
当调用的搜索引擎未搜索到所述语音信息的回复,则说明所述语音信息即不是属于任务型问题也不是属于常识性问题。语音交互终端先通过预设的情感分类模型对所述语音信息进行解析,获得所述语音信息对应的用户的情感信息,例如该情感信息可以为喜欢、讨厌、高兴、生气或其他。
步骤S70,根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
语音交互终端将所述语音信息和情感向量输入至预设的seq2seq模型中,获得所述语音信息的回复,并通过语音形式播放或在语音交互终端的显示屏以文本形式显示反馈给用户。由于相比常规的直接将所述语音信息输入seq2seq模型中获得所述语音信息的回复,本步骤除了将所述语音信息输入seq2seq模型中进行分析,还将用户输入所述语音信息时的情感信息输入seq2seq模型中进行分析,从而生成的所述语音信息的回复更符合目前用户情感。
本实施例通过接收用户输入的语音信息;根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;若是,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;若否,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。从而在对用户输入的语音信息进行回复前,先对所述语音信息进行分析,判断所述语音信息所属的类型,即确定用户输入问题的意图,根据不同的意图采用不同的回复策略,生成回复,其回复内容更加符合用户的意图,与用户输入的语音信息的相关性更高,并且设置不同的回复策略可以满足用户的不同需求。
进一步地,参照图3,根据本申请语音交互方法的第一实施例提出本申请语音交互方法的第二实施例,在本实施例中,步骤S20包括:
步骤S21,对所述语音信息进行分词和/或分字,获得词数据和/或字数据;
在本实施例中,语音交互终端在接收到用户输入的所述语音信息后,会先对所述语音信息进行文本预处理,通过对所述语音信息进行分词,获得词数据,又或者对所述语音信息进行分字,获得字数据;再或者既对所述语音信息进行分词又同时对所述语音信息进行分字,获得词数据和字数据。
对所述语音信息进行分词采用的方法可以为基于字符串匹配的分词方法、基于理解的分词方法或者基于统计的分词方法,具体对所述语音信息进行分词可以通过采用Python中的jieba模块或者SnowNLP模块对所述语音信息进行分词,获得词数据,也可以通过采用THULAC分词工具包或者NLPIR分词系统对所述语音信息进行分词,获得词数据。
步骤S22,将所述词数据和/或所述字数据转换为对应的词向量和/或字向量;
语音交互终端对所述语音信息进行分词和/或分字的文本预处理后,提取所述语音信息的文本特征,具体通过预设的词与词向量映射关系和预设的字与字向量映射关系,将获得的词数据和/或字数据转换为对应的词向量和/或字向量。
需要说明的是,在建立文所述任务本分类模型前,先通过采用分词工具或分词系统对训练文本数据进行分词以及进行分字,然后将所述词数据载入gensim库中的word2vec模块,将所述词数据转换成词向量,从而获得所述词与词向量之间的映射关系;将所述字数据也载入gensim库中的word2vec模块,将所述字数据也转换成字向量,获得所述字与字向量之间的映射关系。
步骤S23,将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型。
语音交互终端获得所述语音信息的文本特征词向量和/或字向量后,将所述词向量和/或所述字向量输入至预设的任务分类模型中,词向量在文本分类模型中的应用优于字向量,但是字向量能够通过字符层面表示文本语义,相比单独采用词向量或字向量输入至预设的任务分类模型获得分类结果,融合了所述词向量和字向量后输入任务分类模型中,可以有效的提高文本分类的准确度。
通过预设的任务分类模型对所述词向量和/或所述字向量进行分析,输出结果,其结果分为两种结果,其中一种结果为所述语音信息属于任务类型,并给出具体的任务类型,其中任务分类模型中的任务类型可以为机票查询预订、酒店房间预订、门票查询预订等,在此对任务分类模型中的各任务类型不作限定,例如当用户输入的语音信息是“查询去北京的机票”,将“查询去北京的机票”输入预设的任务分类模型中,会输出所述语音信息属于机票查询预订任务类型;另外一种结果为所述语音信息不属于任务分类模型中预设的任务类型,例如当用户输入的语音信息是“中国有多少个省”,语音交互终端将“中国有多少个省”输入预设的任务分类模型中,会输出所述语音信息不属于任一预设的任务类型,从而语音交互终端确定所述语音信息不属于任务类型。
需要说明的是,任务分类模型可以为基于朴素贝叶斯文本分类模型、基于K最近邻文本分类模型、基于支持向量机文本分类模型、基于决策树文本分类模型、基于卷积神经网络文本分类模型(textCNN)、基于循环神经网络文本分类模型(textRNN)或者基于融合注意力机制的神经网络文本分类模型。
本实施例通过训练好的任务分类模型,快速的对用户输入的语音信息进行了第一次分类,初步确认用户输入问题的意图是否为功能任务型,从而为后续采用何种对话策略提供了初步的方向。
进一步地,根据本申请语音交互方法的第二实施例提出本申请语音交互方法的第三实施例,在本实施例中,所述步骤S23包括:
步骤S231,将所述词向量和/或所述字向量输入预设的任务分类模型中,获得各任务类型对应的概率;
在本实施例中,将所述词向量和/或所述字向量输入预设的任务分类模型中,任务分类模型会自动进行分析,然后输出所述语音信息属于各任务类型的概率,所述语音信息属于的某一任务类型的概率越大说明所述语音信息属于该任务类型的可能性越大。
例如,预设任务分类模型为textCNN文本分类模型时,语音交互终端会将所述语音信息对应的词向量和/或字向量组成的向量矩阵输入至textCNN文本分类模型中的卷积层,使用至少一个卷积核进行卷积,输出对应的特征图;然后将卷积层输出的各特征图输入至池化层中进行池化,输出各特征图对应的最大特征值;再将池化层输出的各特征图对应的最大特征值输入全连接层的Softmax函数中,输出所述语音信息属于各任务类型的概率,各任务包括查天气、查航班、查火车票、订酒店、查公交线路等功能性任务。
步骤S232,判断各任务类型对应的概率中的最大概率值是否大于等于预设阈值;若是,则执行步骤S233;若否,则执行步骤S234;
步骤S233,确定所述语音信息属于各任务类型,并将最大概率值对应的任务类型作为所述语音信息所属的任务类型;
步骤S234,确定所述语音信息不属于各任务类型。
语音交互终端获得所述语音信息属于各任务类型的概率后,会通过预设一个阈值,判断所述语音信息属于各任务类型的概率中最大值是否大于等于该预设阈值,若大于等于该预设阈值,则确定所述语音信息属于任务类型,并将最大概率对应的任务类型作为所述语音信息所属的任务类型。若小于该预设阈值,则确定所述语音信息不属于任务类型问题。
本实施例是基于概率统计并结合预设的门限来判断用户输入的语音信息是否属于任务类型,以及属于何种任务类型,相比基于规则的分类进行判断,其判断的结果准确性更高。
进一步地,参照图4,根据本申请语音交互方法的第一实施例提出本申请语音交互方法的第四实施例,在本实施例中,所述步骤S30包括:
步骤S31,获取所述语音信息所属任务类型对应的词槽组合,其中所述词槽组合包括至少一个词槽,词槽包括槽值和槽属性;
在本实施例中,多轮对话机制中包括多个词槽组合,每个词槽组合对应一个任务类型,词槽组合包括至少一个词槽,词槽包括槽值和槽属性。语音交互终端根据预设的任务类型与词槽组合映射关系和所述语音信息所属任务类型,获得对应的词槽组合,例如当用户输入的语音信息“查询飞往北京的航班”经任务分类模型判定为所属任务类型为出行领域中的机票查询任务,根据任务类型与词槽组合映射关系,获得该任务类型对应的预设槽位组合由四个词槽组成,四个词槽的属性分别是出发地、目的地、出发日期和出发时间段,各词槽初始状态的槽值为空。
步骤S32,将所述语音信息输入至预设的基于双向长短时记忆网络和条件随机场实体BiLSTM+CRF实体识别模型,获得至少一个第一槽值和对应的槽属性;
语音交互终端获取词槽组合后,将所述语音信息输入至多轮对话机制中嵌入的语言理解模块即预设的BiLSTM+CRF实体识别模型中,获得至少一个第一槽值和对应的槽属性。例如当用户输入的语音信息为“查询去北京的航班”,通过多轮对话机制中嵌入的语言理解模块对所述语音信息进行解析,获得槽值为“北京”,其对应的槽属性为目的地。又例如当用户输入的语音信息为“查询深圳飞往北京的航班”,通过多轮对话机制中嵌入的语言理解模块对所述语音信息进行解析,获得了两个第一槽值分别为“北京”和“杭州”,其分别对应的槽属性为目的地和出发地。
将所述语音信息输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个第一槽值和对应的槽属性的具体过程为:
步骤S321,对所述语音信息进行分字,获得字数据;
步骤S322,将所述字数据转换为字向量;
步骤S323,将所述字向量输入至模型中的正向长短时记忆网络LSTM层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列;
步骤S324,将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;
步骤S325,将完整的隐藏状态序列输入至全连接层,输出句子特征;
步骤S326,将句子特征输入至条件随机场CRF层中,输出最终标签序列;
步骤S327,根据最终标签序列,获得至少一个槽值和对应的槽属性。
对用户输入的所述语音信息进行分字预处理,获得字数据,然后根据预先建立的字和字向量的映射关系,将所述字数据映射为n*t向量矩阵,其中n为句子的预设长度,即句子的预设字数量,t为字向量的维度。
需要说明的是,当用户输入的所述语音信息的字数不足预设长度时,则采用0进行补齐;当用户输入的文本字数超过预设长度时,则超过的截断,分为至少两个句子。
语音交互终端将获得n*t矩阵分别输入至正向LSTM(Long Short-Term Memory,长短期记忆网络)层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列,并将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;然后将完整的隐藏状态序列输入至全连接层,输出所述语音信息的句子特征P=(p1,p2,..,pn)∈Rn*K;最后将句子特征P输入至CRF层中,输出用户输入文本的最终标签序列,其中应用到的标签标注规则可以为IEBOS、IOBS或IOB2中一种;语音交互终端根据用户输入文本的最终标签序列,获得至少一个槽值和对应的槽属性。例如用户输入的所述语音信息为“查询飞往北京的航班”,训练好的BiLSTM+CRF实体识别模型采用的标注规则为IOBES,B表示词的开始字,I表示词的中间字,E表示词的结尾字,S表示单个字,O表示其他,用于标记无关字。将所述输入文本输入至训练好的BiLSTM+CRF实体识别模型中最终输出的最终标签序列为{查-O,询-O,飞-O,往-O,北-B-to_loc,京-E-to_loc,的-O,航-O,班-O};该最终标签序列中to loc代表目的地,语音交互终端从这个最终标签序列可以得到槽属性为目的地对应的槽值“北京”。
步骤S33,根据获得的第一槽值对应的槽属性,将获得第一槽值填充至所述词槽组合中对应的各词槽中;
语音交互终端根据获得的各槽值对应的槽属性,将各槽值填充到其槽属性对应的词槽中,例如“查询去北京的航班”对应的词槽组合包括槽属性分别为出发地、目的地、日期和时间段的4个词槽,此时语音交互终端获得一个第一槽值为北京,其对应的槽属性为目的地,会将其槽值填充至该词槽组合中槽属性为目的地的词槽中。
步骤S34,判断所述词槽组合中是否有词槽未填充槽值;若是,则执行步骤S35;若否,则执行步骤S39;
每次语音交互终端执行对词槽组合中的词槽填充槽值后,都会通过多轮对话机制中嵌入的状态追踪模块遍历所述词槽组合中所有词槽的槽值,从而判断所述词槽组合中所有词槽是否都存在槽值;若仍有词槽未填充则与用户进行多轮对话,若所有词槽都填充了槽值,则根据所述词槽组合中的各槽值和对应的槽属性,生成所述语音信息的回复。
步骤S35,从所述词槽组合中未填充槽值的各词槽中根据预设规则选择一个词槽作为待填充词槽;
若状态追踪模块遍历所述词槽组合中所有词槽的槽值后,发现所述词槽组合中仍有词槽未填充槽值,则语音交互终端通过多轮对话机制中嵌入的对话策略模块从未填充槽值的各词槽中随机选择一个词槽或根据各词槽预设的优先级选择优先级最高的词槽作为待填充词槽。例如所述词槽组合包括槽属性分别为出发地、目的地、日期和时间段的4个词槽,其中槽属性目的地的词槽已经被填充了槽值,其他3个词槽未填充槽值,并且根据预设的优先级,槽属性为出发地的优先级最高,对话策略模块会将出发地对应的词槽作为下一个待填充的词槽。
步骤S36,根据词槽与问话的预设映射关系,将所述待填充词槽对应的问话发送至用户;
对话策略模块已经选择了下一个待填充的词槽后,会根据预设的词槽与问话映射关系,从问话数据库中查询到所述待填充词槽对应的问话,并通过语音播放方式反馈至用户。
步骤S37,接收用户根据所述待填充对应的问话输出的回答,并将所述回答输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个第二槽值和对应的槽属性;
用户接收到所述问话后,会根据问话后输出对应的回答至语音交互终端以使用户根据所述问话输出对应的回答。例如选择的下一个待填充的词槽为槽属性出发地对应的词槽,从问话库中查询到出发地词槽对应的问话为“请问从哪里出发”,用户接收到所述问话后,会输入回答为“从深圳出发”。
语音交互终端接收到用户输出的回答后,会再次将所述回答输入至多轮对话机制中嵌入的语言理解模块即预设的BiLSTM+CRF实体识别模型中,获得至少一个槽值和对应的槽属性,例如,用户根据语音交互终端输出的问话“请问从哪里出发”,输出回答为“从深圳出发”,语音交互终端将所述回答“从深圳出发”至预设的BiLSTM+CRF实体识别模型中,获得槽值为“深圳”,其槽属性为“出发地”。
需要说明的是,将所述回答输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个槽值和对应的槽属性的具体过程与前述步骤S321-步骤S327相同,唯一不同就是,输入至预设的BiLSTM+CRF实体识别模型的为用户输出的回答。该过程在此不作重复叙述。
步骤S38,根据获得的第二槽值对应的槽属性,将获得的第二槽值补充至所述词槽组合中对应的词槽,并返回执行步骤S34,直至所述词槽组合中所有词槽都填充了槽值;
语音交互终端获得第二槽值后,会将获得的第二槽值补充至所述词槽组合中对应的词槽,并返回执行步骤S34,直至语音交互终端通过多轮对话机制中的状态追踪模块遍历所述词槽组合中所有词槽的槽值确定所有词槽都填充了词槽。
步骤S39,根据所述词槽组合中各词槽的槽值和槽属性,生成所述语音信息的回复,并将所述回复反馈至用户。
若语音交互终端通过多轮对话机制中的状态追踪模块遍历所述词槽组合中所有词槽的槽值后,确定所有词槽都填充了词槽,语音交互中会基于所述词槽组合中各词槽中对应的槽值和槽属性,生成所述语音信息的回复。例如所述语音信息“查询去北京的航班”对应的词槽组合中包括的4个词槽都填充了槽值,其槽值-槽属性分别对应为北京-目的地、深圳-出发地、10月20日-日期,8-10点-时间段,语音交互终端会根据这些槽值和槽属性,从预设的航班信息数据库中或通过调用专门的航班信息查询APP,获取满足这些条件的航班信息,并根据这些航班信息生成回复“10月20日8点-10点从深圳飞往北京的航班有CZ3151”,将回复通过语音播报形式或文本形式反馈给用户。
需要说明的是,多轮对话机制中嵌入的语言理解模块所采用的语言理解方法除了采用BiLSTM+CRF方法,还可以采用基于规则理解方法、基于生成式模型方法例如随机有限状态机和统计机翻译或动态贝叶斯网络、基于判别式模型方法例如CRF、SVM或MEMM,或者基于深度学习方法例如CNN或seq2seq等。
对于例如城市这种实体,可以先建立一个城市集合,采用关键词匹配法判断用户的输入中是否有城市的表达,从而识别出城市实体,但对于人名、机构名这种实体,存在无限种可能,无法一一列举出来,采用关键词匹配法进行识别,会出现某些实体被遗漏,而本实施例智能终端在多轮对话机制中采用BiLSTM+CRF实体识别模型进行实体识别,可以很好的识别出这些人名、机构,因此相比采用关键词匹配法识别实体,其准确性更高,适用范围更广。
进一步地,参照图5,根据本申请语音交互方法的第一实施例提出本申请语音交互方法的第五实施例,在本实施例中,所述步骤S60包括:
步骤S61,对所述语音信息进行分词,获得词数据;
在本实施例中,语音交互终端在接收到用户输入的所述语音信息后,会先对所述语音信息进行文本预处理,通过对所述语音信息进行分词,获得词数据。对所述语音信息进行分词采用的方法可以为基于字符串匹配的分词方法、基于理解的分词方法或者基于统计的分词方法,具体对所述语音信息进行分词可以通过采用Python中的jieba模块或者SnowNLP模块对所述语音信息进行分词,获得词数据,也可以通过采用THULAC分词工具包或者NLPIR分词系统对所述语音信息进行分词,获得词数据。
步骤S62,将所述词数据转换为词向量;
语音交互终端对所述语音信息进行分词的文本预处理后,提取所述语音信息的文本特征,具体通过预设的词与词向量映射关系,将获得的词数据转换为对应的词向量。
需要说明的是,在建立文所述任务本分类模型前,先通过采用分词工具或分词系统对训练文本数据进行分词,然后将所述词数据载入gensim库中的word2vec模块,将所述词数据转换成词向量,从而获得所述词与词向量之间的映射关系。
步骤S63,将所述词向量输入预设的情感分类模型中,输出情感向量。
语音交互终端获得所述语音信息的文本特征词向量和/或字向量后,将所述词向量和/或所述字向量输入至预设的情感分类模型中,通过预设的情感分类模型对所述词向量进行分析,输出所述语音信息对应的情感向量。例如采用textCNN的情感分类模型,语音交互终端将获得的词向量输入至textCNN的情感分类模型中,经过卷积层的卷积操作、池化层的池化操作和全连接层,最终由全连接层输出所述语音信息对应的情感向量。
需要说明的是,情感分类模型还可以为基于朴素贝叶斯文本分类模型、基于K最近邻文本分类模型、基于支持向量机文本分类模型、基于决策树文本分类模型、基于循环神经网络文本分类模型(textRNN)或者基于融合注意力机制的神经网络文本分类模型。
进一步地,根据本申请语音交互方法的第一实施例提出本申请语音交互方法的第六实施例,在本实施例中,所述步骤S70包括:
步骤S71,对所述语音信息进行分词和转换,获得词向量;
在本实施例中,语音交互终端在接收到用户输入的所述语音信息后,会先对所述语音信息进行文本预处理,通过对所述语音信息进行分词,获得词数据。对所述语音信息进行分词采用的方法可以为基于字符串匹配的分词方法、基于理解的分词方法或者基于统计的分词方法,具体对所述语音信息进行分词可以通过采用Python中的jieba模块或者SnowNLP模块对所述语音信息进行分词,获得词数据,也可以通过采用THULAC分词工具包或者NLPIR分词系统对所述语音信息进行分词,获得词数据。
语音交互终端对所述语音信息进行分词的文本预处理后,提取所述语音信息的文本特征,具体通过预设的词与词向量映射关系,将获得的词数据转换为对应的词向量。
需要说明的是,在建立文所述任务本分类模型前,先通过采用分词工具或分词系统对训练文本数据进行分词,然后将所述词数据载入gensim库中的word2vec模块,将所述词数据转换成词向量,从而获得所述词与词向量之间的映射关系。
步骤S72,将所述词向量输入预设的seq2seq模型的编码器中,输出一个句向量;
在本实例中,语音交互终端将获得的所述语音信息对应的词向量输入seq2seq模型中的编码器进行运算和编码,输出一个句向量,其中编码器可以由LSTM单元、RNN(Recurrent Neural Network,循环神经网络)单元或者GRU(gated recurrent unit,门控循环单元)单元构成。
步骤S73,将所述句向量和所述情感向量作为当前时刻的输入参数,输入至预设的seq2seq模型解码器中,获得当前时刻解码器输出的序列;
步骤S74,将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列;
步骤S75,重复执行步骤S73,直至解码器输出停止符;
步骤S76,根据每个时刻解码器输出的序列,生成所述语音信息的答复。
语音交互终端获得编码器输出的句向量后,将所述句向量和之前获得所述语音信息的情感向量作为seq2seq模型中解码器的当前时刻的输入参数,输入至解码器中进行运算和解码,输出当前时刻的序列,然后将当前时刻输出的序列即上一时刻的输出序列和所述情感向量作为解码器下一时刻的输入参数,输入至解码器中,输出下一时刻的序列,重复将上一时刻输出的序列和所述情感向量输入下一时刻的解码器中,输出下一时刻的序列的步骤,直至解码器输出停止符为止;语音交互终端最后根据解码器各个时刻输出的序列,生成所述语音信息最终的回复;
步骤S77,将所述回复反馈至用户。
最后语音交互终端会将所述回复通过语音形式播放或通过文本形式反馈给用户。当语音交互终端采用语音形式播放给用户前,还可以根据获得的情感向量,选择符合用户当前情感的语音播放的语气和语调,语音交互终端基于生成的回复内容和确定的播放语气和语调,采用确定的语气和语调播放所述回复给用户,从而采用语音形式播放反馈给用户时,除了其回复内容更符合用户情感,其语气和语调也更能符合用户情感,相比现有的语音交互终端只采用一种语气和语调进行播放报,用户体验度更高。
本实施例中语音交互终端由于在每个时刻向解码器输入参数时都将表示用户情感的情感向量添加进去,使得解码器每个时刻输出的序列都能尽可能的符合用户的情感,故最终根据每个时刻的输出序列生成的回复内容极大的贴近用户的情感。
参见图6,本发明还提供一种语音交互系统,包括:
接收模块10,用于接收用户输入的语音信息;
判断模块20;用于根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;
第一回复模块30,用于若所述语音信息属于任务类型,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
调用模块40,用于若所述语音信息不属于任务类型,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;
第二回复模块50,用于若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
获得模块60,用于若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
第三回复模块70,用于根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
进一步的,所述判断模块20包括:
第一分词子模块21,用于对所述语音信息进行分词和/或分字,获得词数据和/或字数据;
第一转换子模块22,用于将所述词数据和/或所述字数据转换为词向量和/或字向量;
第一判断子模块23,用于将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型。
进一步,所述第一判断子模块23包括:
第一输入单元231,用于将所述词向量和/或所述字向量输入预设的任务分类模型中,获得各任务类型对应的概率;
判断单元232,用于判断各任务类型对应的概率中的最大概率值是否大于等于预设阈值;
第一确定单元233,用于若是,则确定所述语音信息属于任务类型,并将最大概率值对应的任务类型作为所述语音信息所属的任务类型;
第二确定单元234,用于若否,则确定所述语音信息不属于任务类型。
进一步,所述第一回复模块30包括:
获取子模块31,用于获取所述语音信息所属的任务类型对应的词槽组合,其中所述词槽组合包括至少一个词槽,词槽包括槽值和槽属性;
第一输入子模块32,用于将所述语音信息输入至预设的基于双向长短时记忆网络和条件随机场BiLSTM+CRF实体识别模型,获得至少一个第一槽值和对应的槽属性;
填充子模块33,用于根据获得的第一槽值对应的槽属性,将获得第一槽值填充至所述词槽组合中对应的词槽;
第二判断子模块34,用于判断所述词槽组合中是否存在未填充槽值的词槽;
选择子模块35,用于若是,则从所述词槽组合中未填充槽值的各词槽中根据预设规则选择一个词槽作为待填充词槽;
第一反馈子模块36,用于根据词槽与问话的预设映射关系,将所述待填充词槽对应的问话反馈至用户;
第二输入子模块37,用于接收用户根据所述待填充对应的问话输出的回答,并将所述回答输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个第二槽值和对应的槽属性;
补充子模块38,用于根据获得的第二槽值对应的槽属性,将获得的第二槽值补充至所述词槽组合中对应的词槽,并调用第二判断子模块执行相应的操作,直至所述词槽组合中所有词槽都填充了槽值;
第一生成子模块39,用于若否,则根据所述词槽组合中各词槽的槽值和槽属性,生成所述语音信息的回复,并将所述回复反馈至用户。
进一步,所述第一输入子模块32包括:
第一分字单元321,用于对所述语音信息进行分字,获得字数据;
第一转换单元322,用于将所述字数据转换为字向量;
第二输入单元323,用于将所述字向量输入至模型中的正向长短时记忆网络LSTM层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列;
第一拼接单元324,用于将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;
第三输入单元325,用于将完整的隐藏状态序列输入至全连接层,输出句子特征;
第四输入单元326,用于将句子特征输入至条件随机场CRF层中,输出最终标签序列;
第一获取单元327,用于根据最终标签序列,获得至少一个槽值和对应的槽属性。
进一步,所述第二输入子模块37包括:
第二分字单元371,用于对接收到用户输出的回答进行分字,获得字数据;
第二转换单元372,用于将所述字数据转换为字向量;
第五输入单元373,用于将所述字向量输入至模型中的正向LSTM层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列;
第二拼接单元374,用于将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;
第六输入单元375,用于将完整的隐藏状态序列输入至全连接层,输出句子特征;
第七输入单元376,用于将句子特征输入至CRF层中,输出最终标签序列;
第二获取单元377,用于根据最终标签序列,获得至少一个槽值和对应的槽属性。
进一步,所述获得模块60包括:
第二分词子模块61,用于对所述语音信息进行分词,获得词数据;
第二转换子模块62,用于将所述词数据转换为词向量;
第三输入子模块63,用于将所述词向量输入预设的情感分类模型中,输出情感向量。
进一步,所述第三回复模块70包括:
获得子模块71,用于对所述语音信息进行分词和转换,获得词向量;
编码子模块72,用于将所述词向量输入预设的Seq2seq模型的编码器中,输出一个句向量;
第一解码子模块73,用于将所述句向量和所述情感向量作为当前时刻的输入参数,输入至预设的seq2seq模型解码器中,获得当前时刻解码器输出的序列;
第二解码子模块74,用于将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列;
重复子模块75,重复调用第二解码子模块执行相应操作,直至解码器输出停止符;
第二生成子模块76,用于根据每个时刻解码器输出的序列,生成所述语音信息的答复;
第二反馈子模块77,用于将所述回复反馈至用户。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图1的语音交互终端中的存储器02,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干信息用以使得服务器或电视执行本发明各个实施例所述的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种语音交互方法,其特征在于,所述方法包括步骤:
接收用户输入的语音信息;
根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;
若是,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
若否,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;
若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
2.根据权利要求1所述的语音交互方法,其特征在于,所述根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型的步骤包括:
对所述语音信息进行分词和/或分字,获得词数据和/或字数据;
将所述词数据和/或所述字数据转换为对应的词向量和/或字向量;
将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型。
3.根据权利要求2所述的语音交互方法,其特征在于,所述将所述词向量和/或所述字向量输入预设的任务分类模型中,判断所述语音信息是否属于任务类型的步骤包括:
将所述词向量和/或所述字向量输入预设的任务分类模型中,获得各任务类型对应的概率;
判断各任务类型对应的概率中的最大概率值是否大于等于预设阈值;
若是,则确定所述语音信息属于任务类型,并将最大概率值对应的任务类型作为所述语音信息所属的任务类型;
若否,则确定所述语音信息不属于任务类型。
4.根据权利要求1所述的语音交互方法,其特征在于,所述根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户的步骤包括:
获取所述语音信息所属任务类型对应的词槽组合,其中所述词槽组合包括至少一个词槽,词槽包括槽值和槽属性;
将所述语音信息输入至预设的基于双向长短时记忆网络和条件随机场实体BiLSTM+CRF实体识别模型,获得至少一个第一槽值和对应的槽属性;
根据获得的第一槽值对应的槽属性,将获得第一槽值填充至所述词槽组合中对应的词槽;
判断所述词槽组合中是否存在未填充槽值的词槽;
若是,则从所述词槽组合中未填充槽值的各词槽中根据预设规则选择一个词槽作为待填充词槽;
根据词槽与问话的预设映射关系,将所述待填充词槽对应的问话反馈至用户;
接收用户根据所述待填充对应的问话输出的回答,并将所述回答输入至预设的BiLSTM+CRF实体识别模型中,获得至少一个第二槽值和对应的槽属性;
根据获得的第二槽值对应的槽属性,将获得的第二槽值补充至所述词槽组合中对应的词槽,并返回执行所述判断所述词槽组合中是否存在未填充槽值的词槽的步骤,直至所述词槽组合中所有词槽都填充了槽值;
若否,则根据所述词槽组合中各词槽的槽值和槽属性,生成所述语音信息的回复,并将所述回复反馈至用户。
5.根据权利要求4所述的语音交互方法,其特征在于,所述将所述语音信息或所述回答输入至预设的BiLSTM+CRF实体识别模型,获得至少一个槽值和对应的槽属性的步骤包括:
对所述语音信息或接收到用户输出的回答进行分字,获得字数据;
将所述字数据转换为字向量;
将所述字向量输入至模型中的正向长短时记忆网络LSTM层和反向LSTM层中,获得对应的正向隐藏状态序列和反向隐藏状态序列;
将正向隐藏状态序列和反向隐藏状态序列拼接成完整的隐藏状态序列;
将完整的隐藏状态序列输入至全连接层,输出句子特征;
将句子特征输入至条件随机场CRF层中,输出最终标签序列;
根据最终标签序列,获得至少一个槽值和对应的槽属性。
6.根据权利要求1所述的语音交互方法,其特征在于,所述根据所述语音信息和预设的情感分类模型获得情感向量的步骤包括:
对所述语音信息进行分词,获得词数据;
将所述词数据转换为词向量;
将所述词向量输入预设的情感分类模型中,输出情感向量。
7.根据权利要求6所述的语音交互方法,其特征在于,所述根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户的步骤包括:
对所述语音信息进行分词和转换,获得词向量;
将所述词向量输入预设的Seq2seq模型的编码器中,输出一个句向量;
将所述句向量和所述情感向量作为当前时刻的输入参数,输入至预设的seq2seq模型解码器中,获得当前时刻解码器输出的序列;
将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列;
重复执行所述将上一时刻输出的序列和所述情感向量作为下一时刻的输入参数,输入至所述解码器中,获得下一时刻输出的序列步骤,直至解码器输出停止符;
根据每个时刻解码器输出的序列,生成所述语音信息的答复;
将所述回复反馈至用户。
8.一种语音交互系统,其特征在于,所述语音交互系统包括:
接收模块,用于接收用户输入的语音信息;
第一判断模块;用于根据所述语音信息和预设的任务分类模型,判断所述语音信息是否属于任务类型;
第一回复模块,用于若所述语音信息属于任务类型,则根据所述语音信息和所述语音信息所属的任务类型对应的预设多轮对话机制,获得所述语音信息的回复,并将所述回复反馈至用户;
第二判断模块,用于若所述语音信息不属于任务类型,则调用预设的搜索引擎,对所述语音信息的回复进行搜索;
第二回复模块,用于若搜索到所述语音信息的回复,则将搜索到的回复反馈至用户;
获得模块,用于若未搜索到所述语音信息的回复,则根据所述语音信息和预设的情感分类模型获得情感向量;
第三回复模块,用于根据所述语音信息、所述情感向量和预设的seq2seq模型,获得所述语音信息的回复,并将所述回复反馈至用户。
9.一种语音交互终端,其特征在于,所述语音交互终端包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的语音交互方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的语音交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134301.9A CN111368538B (zh) | 2020-02-29 | 2020-02-29 | 语音交互方法、系统、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010134301.9A CN111368538B (zh) | 2020-02-29 | 2020-02-29 | 语音交互方法、系统、终端及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111368538A true CN111368538A (zh) | 2020-07-03 |
CN111368538B CN111368538B (zh) | 2023-10-24 |
Family
ID=71210165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010134301.9A Active CN111368538B (zh) | 2020-02-29 | 2020-02-29 | 语音交互方法、系统、终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368538B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035608A (zh) * | 2020-08-20 | 2020-12-04 | 出门问问信息科技有限公司 | 一种多轮对话方法、装置以及计算机可读存储介质 |
CN112201277A (zh) * | 2020-09-29 | 2021-01-08 | 中国银行股份有限公司 | 语音应答的方法、装置、及设备及计算机可读存储介质 |
CN113139816A (zh) * | 2021-04-26 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
CN113326367A (zh) * | 2021-06-30 | 2021-08-31 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
CN113360614A (zh) * | 2021-05-31 | 2021-09-07 | 多益网络有限公司 | 生成式聊天机器人回复情感控制方法、装置、终端及介质 |
CN113420124A (zh) * | 2021-06-25 | 2021-09-21 | 上海适享文化传播有限公司 | 解决语音检索多条件下的冲突方法 |
CN113539261A (zh) * | 2021-06-30 | 2021-10-22 | 大众问问(北京)信息科技有限公司 | 人机语音交互方法、装置、计算机设备和存储介质 |
WO2022064288A1 (en) * | 2020-09-24 | 2022-03-31 | International Business Machines Corporation | Synchronizing a voice reply of a voice assistant with activities of a user |
CN114417891A (zh) * | 2022-01-22 | 2022-04-29 | 平安科技(深圳)有限公司 | 基于粗糙语义的回复语句确定方法、装置及电子设备 |
CN115440200A (zh) * | 2021-06-02 | 2022-12-06 | 上海擎感智能科技有限公司 | 车机系统的控制方法及控制系统 |
CN116521841A (zh) * | 2023-04-18 | 2023-08-01 | 百度在线网络技术(北京)有限公司 | 用于生成回复信息的方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665706A (zh) * | 2016-07-29 | 2018-02-06 | 科大讯飞股份有限公司 | 快速语音交互方法及系统 |
CN109992655A (zh) * | 2019-03-29 | 2019-07-09 | 深圳追一科技有限公司 | 智能客服方法、装置、设备和存储介质 |
WO2019153522A1 (zh) * | 2018-02-09 | 2019-08-15 | 卫盈联信息技术(深圳)有限公司 | 智能交互方法、电子装置及存储介质 |
CN110232190A (zh) * | 2019-06-14 | 2019-09-13 | 上海流利说信息技术有限公司 | 一种对话生成的方法、装置、存储介质及电子设备 |
-
2020
- 2020-02-29 CN CN202010134301.9A patent/CN111368538B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665706A (zh) * | 2016-07-29 | 2018-02-06 | 科大讯飞股份有限公司 | 快速语音交互方法及系统 |
WO2019153522A1 (zh) * | 2018-02-09 | 2019-08-15 | 卫盈联信息技术(深圳)有限公司 | 智能交互方法、电子装置及存储介质 |
CN109992655A (zh) * | 2019-03-29 | 2019-07-09 | 深圳追一科技有限公司 | 智能客服方法、装置、设备和存储介质 |
CN110232190A (zh) * | 2019-06-14 | 2019-09-13 | 上海流利说信息技术有限公司 | 一种对话生成的方法、装置、存储介质及电子设备 |
Non-Patent Citations (1)
Title |
---|
曹彬;王峰;李诗语;: "面向中医领域的智能聊天机器人系统设计", 电脑知识与技术, no. 12, pages 180 - 181 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035608A (zh) * | 2020-08-20 | 2020-12-04 | 出门问问信息科技有限公司 | 一种多轮对话方法、装置以及计算机可读存储介质 |
WO2022064288A1 (en) * | 2020-09-24 | 2022-03-31 | International Business Machines Corporation | Synchronizing a voice reply of a voice assistant with activities of a user |
US11735180B2 (en) | 2020-09-24 | 2023-08-22 | International Business Machines Corporation | Synchronizing a voice reply of a voice assistant with activities of a user |
GB2614852A (en) * | 2020-09-24 | 2023-07-19 | Ibm | Synchronizing a voice reply of a voice assistant with activities of a user |
CN112201277A (zh) * | 2020-09-29 | 2021-01-08 | 中国银行股份有限公司 | 语音应答的方法、装置、及设备及计算机可读存储介质 |
CN112201277B (zh) * | 2020-09-29 | 2024-03-22 | 中国银行股份有限公司 | 语音应答的方法、装置、及设备及计算机可读存储介质 |
CN113139816A (zh) * | 2021-04-26 | 2021-07-20 | 北京沃东天骏信息技术有限公司 | 信息处理方法、装置、电子设备和存储介质 |
CN113360614A (zh) * | 2021-05-31 | 2021-09-07 | 多益网络有限公司 | 生成式聊天机器人回复情感控制方法、装置、终端及介质 |
CN115440200A (zh) * | 2021-06-02 | 2022-12-06 | 上海擎感智能科技有限公司 | 车机系统的控制方法及控制系统 |
CN115440200B (zh) * | 2021-06-02 | 2024-03-12 | 上海擎感智能科技有限公司 | 车机系统的控制方法及控制系统 |
CN113420124A (zh) * | 2021-06-25 | 2021-09-21 | 上海适享文化传播有限公司 | 解决语音检索多条件下的冲突方法 |
CN113420124B (zh) * | 2021-06-25 | 2024-03-22 | 上海适享文化传播有限公司 | 解决语音检索多条件下的冲突方法 |
CN113326367B (zh) * | 2021-06-30 | 2023-06-16 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
CN113539261A (zh) * | 2021-06-30 | 2021-10-22 | 大众问问(北京)信息科技有限公司 | 人机语音交互方法、装置、计算机设备和存储介质 |
CN113326367A (zh) * | 2021-06-30 | 2021-08-31 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
CN114417891A (zh) * | 2022-01-22 | 2022-04-29 | 平安科技(深圳)有限公司 | 基于粗糙语义的回复语句确定方法、装置及电子设备 |
CN114417891B (zh) * | 2022-01-22 | 2023-05-09 | 平安科技(深圳)有限公司 | 基于粗糙语义的回复语句确定方法、装置及电子设备 |
CN116521841A (zh) * | 2023-04-18 | 2023-08-01 | 百度在线网络技术(北京)有限公司 | 用于生成回复信息的方法、装置、设备及介质 |
CN116521841B (zh) * | 2023-04-18 | 2024-05-14 | 百度在线网络技术(北京)有限公司 | 用于生成回复信息的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111368538B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368538B (zh) | 语音交互方法、系统、终端及计算机可读存储介质 | |
CN108345692B (zh) | 一种自动问答方法和系统 | |
US11449678B2 (en) | Deep learning based dialog method, apparatus, and device | |
CN108920622B (zh) | 一种意图识别的训练方法、训练装置和识别装置 | |
CN105095182B (zh) | 一种回复信息推荐方法及装置 | |
CN112100349A (zh) | 一种多轮对话方法、装置、电子设备及存储介质 | |
CN109726274B (zh) | 问题生成方法、装置及存储介质 | |
CN111753060A (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
CN111753551B (zh) | 基于词向量生成模型的信息生成方法和装置 | |
CN117056471A (zh) | 知识库构建方法及基于生成式大语言模型的问答对话方法和系统 | |
CN111241245B (zh) | 人机交互处理方法、装置及电子设备 | |
CN111680144A (zh) | 多轮对话语音交互的方法及系统、存储介质、电子设备 | |
CN111193657A (zh) | 聊天表情回复方法、装置及存储介质 | |
KR102580017B1 (ko) | 음성패킷 추천방법, 장치, 설비 및 저장매체 | |
CN112214585A (zh) | 回复消息生成方法、系统、计算机设备及存储介质 | |
CN116303558A (zh) | 查询语句生成方法、数据查询方法及生成模型训练方法 | |
CN111858875A (zh) | 智能交互方法、装置、设备及存储介质 | |
CN112835860B (zh) | 共享文档的处理方法、装置、设备及计算机可读存储介质 | |
CN116958738A (zh) | 图片识别模型的训练方法和装置、存储介质及电子设备 | |
CN112445902A (zh) | 一种多轮对话中用户意图的识别方法及相关设备 | |
CN114297352A (zh) | 对话状态追踪方法、装置、人机对话系统及作业机械 | |
CN114860869A (zh) | 一种意图泛化的可控制通用对话模型 | |
CN114036268A (zh) | 基于意图门的任务型多轮对话方法及系统 | |
CN111078848A (zh) | 一种用于对话机器人的输入提示方法及装置 | |
US11914635B2 (en) | Performing image search based on user input using neural networks |
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 |