CN110503947A - 对话***、包括其的车辆和对话处理方法 - Google Patents
对话***、包括其的车辆和对话处理方法 Download PDFInfo
- Publication number
- CN110503947A CN110503947A CN201811496791.6A CN201811496791A CN110503947A CN 110503947 A CN110503947 A CN 110503947A CN 201811496791 A CN201811496791 A CN 201811496791A CN 110503947 A CN110503947 A CN 110503947A
- Authority
- CN
- China
- Prior art keywords
- language
- information
- movement
- parameter
- vehicle
- 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 description 133
- 230000008569 process Effects 0.000 title claims description 67
- 230000033001 locomotion Effects 0.000 claims abstract description 352
- 230000009471 action Effects 0.000 claims abstract description 229
- 230000004044 response Effects 0.000 claims abstract description 165
- 239000000284 extract Substances 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 32
- 230000000875 corresponding effect Effects 0.000 description 119
- 238000004891 communication Methods 0.000 description 79
- 239000007789 gas Substances 0.000 description 57
- 230000007787 long-term memory Effects 0.000 description 52
- 238000004378 air conditioning Methods 0.000 description 42
- 230000015654 memory Effects 0.000 description 42
- 239000000446 fuel Substances 0.000 description 30
- 238000004458 analytical method Methods 0.000 description 28
- 238000000605 extraction Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 17
- 238000007689 inspection Methods 0.000 description 16
- 206010041349 Somnolence Diseases 0.000 description 12
- 238000010438 heat treatment Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 230000007774 longterm Effects 0.000 description 9
- 239000003502 gasoline Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 230000002688 persistence Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 206010019233 Headaches Diseases 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 231100000869 headache Toxicity 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000013019 agitation Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000036651 mood Effects 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- 208000002193 Pain Diseases 0.000 description 1
- 230000018199 S phase Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007791 dehumidification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002283 diesel fuel Substances 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003195 fascia Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000001257 hydrogen Substances 0.000 description 1
- 229910052739 hydrogen Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 235000012149 noodles Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000010257 thawing Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Navigation (AREA)
Abstract
一种用于车辆的对话***可以包括:存储装置,其被配置为存储语境信息,该语境信息包括指示车辆状态的车辆状态信息和与车辆的行驶环境相关的行驶环境信息中的至少一者;输入处理器,其被配置为从用户获取话语并在识别出话语包括用户状态信息时提取与话语相对应的动作;对话管理器,其被配置为获取条件确定参数的参数值,该条件确定参数用于确定对应于话语的动作是否可从存储装置执行,以基于条件确定参数的参数值确定待执行的动作,并且获取用于从存储装置执行所确定的动作的动作参数的参数值;以及结果处理器,其被配置为使用所获取的动作参数的参数值来生成用于执行所确定的动作的响应。
Description
技术领域
所公开的发明涉及通过与用户的对话识别用户的意图来提供用户所需的信息或服务的对话***、包括该对话***的车辆以及对话处理方法。
背景技术
用于车辆的传统音频-视频导航(AVN)设备可向用户提供视觉信息或接收用户输入。然而,AVN设备相对较小的屏幕和输入可能造成用户使用AVN设备不便。特别而言,用户在驾驶时将手从方向盘上移开或从道路看向AVN设备时,会出现危险驾驶状况。
因此,当在车辆中实现对话***时,需要以更方便和更安全的方式提供服务,使得对话***能够通过与用户对话来识别用户的意图,并提供用户所需的信息或服务。
发明内容
发明要解决的技术问题
本发明的一方面提供一种对话***、包括该对话***的车辆以及对话处理方法,该对话***在车辆的行驶环境下基于与用户的对话和车辆状态信息、行驶环境信息、用户信息等的各种信息准确地识别用户的意图,由此能够提供符合用户的实际意图的服务或用户最需要的服务。
本发明的另一方面提供一种能够通过除用户的直接控制话语之外的间接话语根据用户的意图执行车辆控制的车辆,以及对话处理方法。
本发明的另外方面将在下面的描述中部分阐述,部分将从所述描述中显而易见或者可以通过实施本发明来了解。
用于解决技术问题的技术方案
根据本发明的实施例,用于车辆的对话***可以包括:存储装置,其被配置为存储语境信息,该语境信息包括指示车辆状态的车辆状态信息和与车辆的行驶环境相关的行驶环境信息中的至少一者;输入处理器,其被配置为从用户获取话语并在识别出话语包括用户状态信息时提取与话语相对应的动作;对话管理器,其被配置为从存储装置获取用于确定对应于话语的动作是否可执行的条件确定参数的参数值,以基于条件确定参数的参数值确定待执行的动作,并且获取用于从存储装置执行所确定的动作的动作参数的参数值;以及结果处理器,其被配置为使用所获取的动作参数的参数值来生成用于执行所确定的动作的响应。
存储装置可以存储与多个动作中的每个动作相关的语境信息,并且输入处理器可以从存储装置获取与对应于话语的动作相关的语境信息的信息值,并将该信息值发送到对话管理器。
当与对应于话语的动作相关的语境信息的信息值未存储在存储装置中时,输入处理器可以请求与来自车辆的话语相对应的语境信息的信息值。
对话管理器可以将条件确定参数的参数值或动作参数的参数值设置为等于从输入处理器发送的语境信息的信息值。
存储装置可以存储关系动作之间的关系。
对话管理器可以从存储装置获取与对应于话语的动作相关的至少一个动作。
对话管理器可以确定对应于话语的动作与至少一个相关动作之间的优先级。
对话管理器可以从存储装置获取用于确定相关动作是否可执行的条件确定参数的参数值,并且基于所获取的条件确定参数的参数值来确定是否可执行至少一个相关动作。
对话管理器可以将待执行的动作确定为可执行并且在对应于话语的动作和至少一个相关动作之间具有最高优先级的动作。
当输入处理器不能提取对应于话语的动作时,对话管理器可以基于车辆状态信息和行驶环境信息中的至少一者来估算与话语相对应的动作。
存储装置可以存储关系动作之间的关系,并且对话管理器可以从存储装置获取与估算动作相关的至少一个动作。
对话***还可以包括被配置为与外部服务器通信的通信器。当对话管理器不能从存储装置获取条件确定参数的参数值或动作参数的参数值时,对话管理器可以从外部服务器请求参数值。
结果处理器可以生成用于执行所确定的动作的对话响应和用于控制车辆的操作的命令。
对话***还可以包括:通信器,其被配置为从车辆和连接到车辆的移动装置中的至少一者接收语境信息的信息值,并将响应发送到车辆或移动装置。
输入处理器可以基于用户的用户信息提取与话语相对应的动作。
此外,根据本发明的实施例,用于车辆的对话处理方法可以包括:在存储装置中存储包括指示车辆状态的车辆状态信息和与车辆的行驶环境相关的行驶环境信息中的至少一者的语境信息;从用户那里获取话语;当识别出话语包括用户状态信息时,提取对应于该话语的动作;从存储装置获取条件确定参数的参数值,该条件确定参数用于确定对应于该话语的动作是否可执行;基于条件确定参数的参数值确定待执行的动作;从存储装置获取用于执行所确定的动作的动作参数的参数值;并且使用所获取的动作参数的参数值生成用于执行所确定的动作的响应。
对话处理方法还可以包括:将与多个动作中的每个动作相关的语境信息存储在存储装置中;从存储装置中获取与对应于该话语的动作相关的语境信息的信息值;并将信息值发送给对话管理器。
对话处理方法还可以包括:当与对应于话语的动作相关的语境信息的信息值没有存储在存储装置中时,请求与来自车辆的话语相对应的语境信息的信息值;将条件确定参数的参数值或动作参数的参数值设置为等于从输入处理器发送的语境信息的信息值。
对话处理方法还可以包括:在存储装置中存储关系动作之间的关系;从存储装置获取与对应于话语的动作相关的至少一个动作;确定对应于话语的动作与所述至少一个相关动作之间的优先级。
对话处理方法还可以包括:从存储装置获取用于确定相关动作是否可执行的条件确定参数的参数值;并且基于所获取的条件确定参数的参数值来确定至少一个相关动作是否可执行。
对话处理方法还可以包括将待执行的动作确定为可执行并且在对应于话语的动作和至少一个相关动作之间具有最高优先级的动作。
对话处理方法还可以包括:当输入处理器不能提取对应于话语的动作时,基于车辆状态信息和行驶环境信息中的至少一者来估算与话语相对应的动作。
对话处理方法还可以包括:生成用于执行所确定的动作的对话响应和用于控制车辆的操作的命令。
对话处理方法还可以包括:从车辆和连接到车辆的移动装置中的至少一者接收语境信息的信息值;并将响应发送到车辆或移动装置。
对话处理方法还可以包括:接收用户的用户信息;基于用户信息提取与用户话语相对应的动作。
此外,根据本发明的实施例,具有对话***的车辆可以包括:存储装置,其被配置为存储语境信息,该语境信息包括指示车辆状态的车辆状态信息和与车辆的行驶环境相关的行驶环境信息中的至少一者;输入处理器,其被配置为从用户获取话语并在识别出话语包括用户状态信息时提取与话语相对应的动作;对话管理器,其被配置为从存储装置获取用于确定对应于话语的动作是否可执行的条件确定参数的参数值,以基于条件确定参数的参数值确定待执行的动作,并且获取用于从存储装置执行所确定的动作的动作参数的参数值;以及结果处理器,其被配置为使用所获取的动作参数的参数值来生成用于执行所确定的动作的响应。
存储装置可以存储与多个动作中的每个动作相关的语境信息,并且输入处理器可以从存储装置获取与对应于话语的动作相关的语境信息的信息值,并将该信息值发送到对话管理器。
对话管理器可以将条件确定参数的参数值或动作参数的参数值设置为等于从输入处理器发送的语境信息的信息值。
存储装置可以存储关系动作之间的关系,并且对话管理器可以从存储装置获取与对应于话语的动作相关的至少一个动作。
对话管理器可以确定对应于话语的动作与至少一个相关动作之间的优先级。
对话管理器可以从存储装置获取用于确定相关动作是否可执行的条件确定参数的参数值,并且基于所获取的条件确定参数的参数值来确定是否可执行至少一个相关动作。
输入处理器可以基于用户的用户信息提取与话语相对应的动作。
发明的效果
依据一个方面所涉及的对话***、包括该对话***的车辆以及对话处理方法,在车辆的行驶环境下基于与用户的对话和车辆状态信息、行驶环境信息、用户信息等的各种信息准确地识别用户的意图,由此能够提供符合用户的实际意图的服务或用户最需要的服务。
依据另一个方面所涉及的对话***、包括该对话***的车辆以及对话处理方法,能够通过除用户的直接控制话语之外的间接话语根据用户的意图执行车辆控制。
附图说明
结合附图,从以下实施例的描述中,本发明的这些和/或其他方面将变得显而易见并且更容易理解,其中,附图中:
图1为根据一个实施例的对话***的控制框图。
图2为示出车辆内部的结构的视图。
图3至图5为示出可能在对话***和驾驶员之间交换的对话的示例的视图。
图6和图7为示意性地示出对话***和车辆的组件之间的连接关系的控制框图。
图8和图9为示意性地示出对话***的组件和车辆的组件之间的连接关系的控制框图。
图10为示出在车辆中设置对话***的车辆单独方式的控制框图。
图11和图12为示出车辆网关方式的控制框图,其中在远程服务器中提供对话***,并且车辆用作将用户连接到对话***的网关。
图13为示出在车辆网关方式中车辆能够执行输入处理和输出处理的一部分的情况的控制框图。
图14为示出远程对话***服务器和车辆均能够执行对话处理的混合方式的控制框图。
图15和图16为示出连接到车辆的移动装置将用户连接到远程对话***服务器的移动网关方式的控制框图。
图17为示出在移动装置中设置对话***的移动单独方式的控制框图。
图18、图19A和图19B为详细示出对话***的配置中的输入处理器的配置的控制框图。
图20A和图20B为示出存储在语境理解表中的信息的示例的视图。
图21为详细示出对话管理器的配置的控制框图。
图22为示出存储在关系动作DB中的信息的示例的视图。
图23为示出存储在动作执行条件DB中的信息的示例的视图。
图24为示出存储在动作参数DB中的信息的示例的视图。
图25为示出存储在模糊解析信息DB中的信息的示例的表格。
图26A和图26B为为示出由于模糊解算器通过参考模糊解析信息DB来解决模糊性并提取动作而执行车辆控制的各种示例的表格。
图27为详细示出结果处理器的配置的控制框图。
图28至图40为示出当用户输入与路线引导相关的话语时对话***处理输入、管理对话并输出结果的具体示例的视图。
图41为示出根据实施例的在对话处理方法中处理用户输入的方法的流程图。
图42为示出根据实施例的在对话处理方法中利用输入处理器的输出来管理对话的方法的流程图。
图43为示出根据实施例的用于在对话处理方法中生成与对话管理的结果相对应的响应的结果处理方法的流程图。
应当理解,上述附图不一定按比例绘制,其呈现了说明本发明的基本原理的各种优选特征的略微简化的表示。本发明的具体设计特征,包括例如具体的尺寸、取向、位置和形状将部分地由特定预期的应用和使用环境来确定。
附图标记说明
100:对话***
110:输入处理器
120:对话管理器
130:结果处理器
200:车辆
210:语音输入装置
220:除了语音之外的信息输入装置
230:对话输出装置
280:通信装置
具体实施方式
在下文中,将参考附图详细描述本发明的实施例。本领域技术人员应当认识到,可以在不脱离本发明的精神或范围的情况下以各种不同方式修改所描述的实施例。在以下描述中,相同的附图标记在整个说明书中指代相同的元件。
众所周知的功能或结构没有详细描述,因为它们会以不必要的细节模糊一个或多个示例性实施例。诸如“部”、“模块”、“部件”和“块”的术语可以实施为硬件或软件,依据实施例,多个“部”、“模块”、“部件”和“块”可以实施为单个组件,或单个“部”、“模块”、“部件”和“块”可以包括多个组件。
贯穿整个说明书,当记载一个元件与另一个元件“连接”时,不仅包括直接连接,还包括间接连接,间接连接包括经由无线通信网连接。
此外,当记载某部分“包括”或“包含”某组件时,除非存在与其相反的特定描述,否则该部分还可包括其他组件、不排除其他组件。
应当理解,尽管本文可以使用术语第一、第二、第三等来描述各种元件,但是这些元件可以不受这些术语的限制。这些术语仅用于区分一个元件和另一个元件。
如本文所用,除非上下文另有明确的例外,否则单数的表述“一”、“一个”和“该”旨在也包括复数的表述。
识别码用于方便描述,但并不旨在说明每个步骤的顺序。除非语境另有明确指示,否则每个步骤可以以与所示顺序不同的顺序实现。
应当理解,本文使用的术语“车辆”或“车辆的”或其他类似术语包括一般的机动车辆,例如包括运动型多功能车(SUV)、公共汽车的乘用车、卡车、各种商用车辆,包括各种船舶的水运工具、飞机等,并且包括混合动力车辆、电动车辆、插电式混合动力电动车辆、氢动力车辆和其他替代燃料车辆(例如,来自石油以外的资源的燃料)。如本文所提到的,混合动力车辆为具有两个或更多动力源的车辆,例如汽油动力车辆和电动车辆。
另外,应当理解,以下方法或其方面中的一者或多者可以由至少一个控制器执行。术语“控制器”可以指的是包括存储器和处理器的硬件装置。存储器被配置成存储程序指令,并且处理器被具体编程为执行程序指令以执行下面进一步描述的一个或多个过程。如本文所述,控制单元可以控制单元、模块、组件、装置等的操作。此外,应当理解,下面的方法可以由包括控制器结合一个或多个其他组件的装置执行,如本领域普通技术人员应理解的。
此外,本发明的控制器可以实施为包含由处理器执行的可执行程序指令的非暂时性计算机可读介质。计算机可读介质的示例包括但不限于ROM、RAM、压缩光盘(CD)-ROM、磁带、软盘、闪存驱动器、智能卡和光学数据存储装置。计算机可读记录介质还可以分布在整个计算机网络中,使得程序指令以分布式方式存储和执行,例如通过远程信息处理服务器或控制器区域网络(CAN)。
现在将详细参考本发明的实施例,其示例在附图中示出。
根据一个实施例的对话***为通过使用用户的语音和除语音之外的另一输入来识别用户的意图并且提供符合用户意图的服务或用户所需的服务的装置,对话***可以通过输出***话语来执行与用户的对话,该***话语为用于提供服务或者清楚地识别用户意图的一种手段。
在该实施例中,提供给用户的服务可以包括根据用户的需要或用于符合用户的意图而执行的所有类型的操作,其中,所有类型的操作可以包括提供信息、控制车辆、执行音频/视频/导航功能并从外部服务器提供内容。
另外,根据一个实施例的对话***提供专用于车辆环境的对话处理技术,以便在特殊环境即车辆中精确地识别用户的意图。
用于连接对话***与用户的网关可以为车辆或连接到车辆的移动装置。如下所述,对话***可以设置在车辆中或车辆外部的远程服务器中,以便通过与车辆或连接到车辆的移动装置的通信来发送或接收数据。
另外,对话***中的一些组件可以设置在车辆中,并且还有一些组件可以设置在远程服务器中,从而车辆和远程服务器可以执行对话***的一部分操作。
图1为根据一个实施例的对话***的控制框图。
参考图1,根据一个实施例的对话***100包括:输入处理器110,其处理包括用户的语音和除用户语音之外的输入的用户输入或者包括与车辆有关的信息或与用户有关的信息的输入;对话管理器120,使用输入处理器110的处理结果识别用户的意图,并确定与用户的意图或车辆状态相对应的动作;结果处理器130,根据对话管理器120的输出结果提供特定服务或输出***话语以用于继续对话;以及存储装置140,其存储用于稍后描述的操作的各种信息。
输入处理器110可以接收两种输入,诸如用户语音和除语音之外的输入。除了语音之外的输入可以包括通过识别用户的手势或输入装置的操作输入的用户的除语音之外的输入、指示车辆状态的车辆状态信息、与车辆的行驶信息相关的行驶环境信息以及指示用户的状态的用户信息等。另外,除了上述信息之外,可以将任何与用户和车辆有关的信息输入到输入处理器110,只要该信息用于识别用户的意图或用于向用户提供服务即可。用户可以包括驾驶员和乘客。
输入处理器110通过识别用户的语音将用户的语音转换为文本类型的话语,并通过将自然语言理解技术(Natural Language Understanding)应用于用户话语来识别用户的意图。
另外,输入处理器110收集用户语音之外的与车辆状态有关或与车辆的行驶环境有关的信息,然后使用所收集的信息来理解语境。
输入处理器110将通过自然语言理解技术获得的用户意图以及与语境相关的信息发送到对话管理器120。
对话管理器120基于从输入处理器110发送的与用户的意图和语境相关的信息等来确定与用户的意图或当前语境相对应的动作,并管理执行相应动作所需的参数。
在该实施例中,动作可以表示用于提供特定服务而执行的各种动作,并且可以预先确定动作的种类。根据需要,提供服务可以对应于执行动作。
例如,可以在域/动作推断规则DB 141(参考图19A)中预定义诸如路线引导、车辆状态检查和加油站推荐的动作,并且可以根据存储的推理规则提取对应于用户的话语的动作,即用户想要的动作。另外,可以预定义与车辆中发生的事件相关的动作,然后将其存储在关系动作DB 146b中(参考图21)。
动作的种类没有限制。如果对话***100允许经由车辆200或移动装置400执行动作,并且该动作被预定义并且其推理规则或与其他动作/事件的关系被存储,则该动作可以成为上述提到的动作。
对话管理器120将与所确定的动作有关的信息发送到结果处理器130。
结果处理器130生成并输出执行所发送的动作所需的对话响应和命令。对话响应可以以文本、图像或音频类型输出,当输出命令时,可以执行与输出命令相对应的诸如车辆控制和外部内容提供的服务。
存储装置140存储用于对话处理和服务提供的各种信息。例如,存储装置140可以预存储与用于自然语言理解的域、动作、语音行为和实体名称有关的信息,也可以存储用于从输入信息理解语境的语境理解表,还可以预存储由设置在车辆中的传感器检测的数据、与用户有关的信息以及动作所需的信息。稍后将描述存储在存储装置140中的信息的描述。
如上所述,对话***100提供专用于车辆环境的对话处理技术。对话***100的全部或一些组件可以包含在车辆中。对话***100可以设置在远程服务器中,并且车辆可以仅充当对话***100和用户之间的网关。在任一种情况下,对话***100都可以经由车辆或连接到车辆的移动装置连接到用户。
图2为示出车辆内部的结构的视图。
参考图2,被配置为显示包括音频功能、视频功能、导航功能和呼叫功能的车辆控制所需的屏幕的显示器231、以及被配置为接收用户的控制命令的输入按钮221可以设置在与车辆200内部的仪表板201的中心部分相对应的中心托板(center fascia)203中。
另外,为了用户的操作方便,可以在方向盘207中也设置输入按钮,并且可以在设置在驾驶员座位254a和副驾驶座位254b之间的中心控制台区域202中设置用作输入按钮的旋转飞梭(jog shuttle)225。
包括显示器231、输入按钮221和整体上控制各种功能的处理器的模块可以对应于音频视频导航(AVN,Audio Video Navigation)终端或头部单元(head unit)。
显示器231可以由各种显示装置中的任何一种,例如,液晶显示器(LCD,LiquidCrystal Display)、发光二极管(LED,Light Emitting Diode)、等离子显示面板(PDP,Plasma Display Panel)、有机发光二极管(OLED,Organic Light Emitting Diode)和阴极射线管(CRT,Cathode Ray Tube)来实现。
如图2所示,输入按钮221可以在与显示器231相邻的区域上以硬键类型提供。另选地,当通过触摸屏实现显示器231时,显示器231可以执行输入按钮221的功能。
车辆200可以经由语音输入装置210接收作为语音的用户命令。语音输入装置210可以包括麦克风,该麦克风被配置为接收声音然后将声音转换为电信号。
如图2所示,为了有效语音输入,语音输入装置210可以安装到顶板205,但是车辆200的实施例不限于此,语音输入装置210也可以安装到仪表板201上或方向盘207。另外,语音输入装置210可以安装到任何位置,只要该位置适合于接收用户的语音即可。
在车辆200的内部,可以提供扬声器232,其被配置为与用户进行对话或被配置为输出提供用户期望的服务所需的声音。例如,扬声器232可以设置在驾驶员座位门253a和副驾驶座位门253b的内侧。
扬声器232可以输出用于导航路线引导的语音、包含在音频/视频内容中的声音或语音、用于提供用户期望的信息或服务的语音、以及作为对用户的话语的响应而生成的***话语等。
根据一个实施例的对话***100通过使用适合于车辆环境的对话处理技术来提供最适合于用户生活方式的服务,并且对话***100可以使用诸如联网汽车(connectedcar)、物联网(IoT)和人工智能(AI)的技术来实现新服务。
当应用适合于车辆环境的对话处理技术,诸如根据一个实施例的对话***100时,可以在驾驶员直接驾驶的状况下容易地识别并响应关键语境(context)。可以通过对影响驾驶的参数诸如汽油短缺和困倦驾驶施加权重来提供服务,或者可以基于在大多数情况下车辆移动到目的地的条件容易地获得行驶时间、目的地信息等用于提供服务所需的信息。
另外,可以容易地实现识别驾驶员的意图并提供功能的智能服务。这是因为在驾驶员直接驾驶情况下优先考虑实时信息和动作。例如,当驾驶员在驾驶时搜索加油站时,可以将其解释为驾驶员将去加油站的意图。然而,当驾驶员在不是车辆的地方搜索加油站时,除了驾驶员将要去加油站的意图外,可以将其解释为另一个意图,诸如位置信息查询、电话号码查询和价格查询。
此外,尽管车辆具有有限的空间,但是其中可能发生各种情况。例如,驾驶员可以在各种情况下利用对话***100,例如,驾驶诸如租车之类的具有不熟悉界面的车辆、使用代驾服务、诸如洗车之类的车辆管理情况、婴儿在车上的情况、以及访问特定目的地的情况等。
另外,在车辆检查阶段、准备出发阶段、行驶阶段和停车阶段等构成车辆行驶以及行驶的前后阶段的每个阶段中也可能发生各种服务和对话情况。具体地,驾驶员可以在各种情况下利用对话***100,例如,驾驶员不知道车辆问题的应对方案情况,车辆与各种外部装置相关联的情况,检查驾驶习惯的情况,例如燃料经济性,以及使用安全支持功能的情况,例如智能巡航控制,导航操作情况,困倦驾驶情况,每天沿同一路线反复行驶的情况,以及检查该地方是否可停车的情况等。
图3至图5为示出可能在对话***和驾驶员之间交换的对话的示例的视图。
参考图3,当驾驶员输入用于询问当前剩余汽油量的话语(U1:现在剩了多少汽油?)时,对话***100可以输出提供与当前剩余汽油相关的信息的话语(S1:可以用剩余的汽油行驶43km)。
驾驶员可以输入要求向就近加油站接收路线引导的话语(U2:让我知道就近加油站),并且对话***100可以输出提供与当前位置最近的加油站有关的信息的话语(S2:就近加油站有A-Oil Seong-rim加油站、B-oil Jang-dae加油站和C-oil Pacific加油站)。
驾驶员可另外输入询问汽油价格的话语(U3:哪里最便宜?),并且对话***100可输出提供与燃料类型的价格相关的信息的话语(S3:汽油价格最低的为B oil Jang-dae加油站,每升1,294韩元,而柴油价格最低的为A oil Seong-rim加油站,每升985韩元)。
驾驶员可以输入要求向B oil Jang-dae加油站(U4)引导的话语,并且对话***100可以输出指示开始向由驾驶员选择的加油站引导的话语(S4:开始向B oil Jang-dae加油站的路线)。
也就是说,可以通过与对话***100的对话,将驾驶员引导到以最低价格销售当前车辆的燃料类型的就近加油站。
同时,当在如图3所示的示例中选择加油站时,对话***100可以省略一些问题并直接提供信息,因此可以减少对话的步骤和时间。
例如,对话***100可以预先识别出当前车辆的燃料类型为汽油,并且驾驶员选择加油站的标准为价格。可以从车辆获取与车辆的燃料类型有关的信息,并且可以从驾驶员预先输入驾驶员选择加油站的标准,或者通过学习驾驶员对话历史或加油站选择历史来获取驾驶员选择加油站的标准。该信息可以预存储在对话***100的存储装置140中。
在这种情况下,如图4所示,对话***100可以主动输出提供与燃料价格有关的信息的话语,特别是提供与作为当前车辆的燃料类型的汽油价格有关的信息的话语(S2+S3=S3'),而无需输入驾驶员请求关于燃料价格的信息的话语(U3),即省略了U3。
驾驶员可以省略用于请求关于燃料价格的信息的话语(U3),并且可以形成对话***100的响应,使得引导就近加油站的话语(S2)和引导燃料价格的话语(S3)作为单一响应被整合,以减少对话的步骤和时间。
另外,对话***100可以基于驾驶员询问当前剩余汽油量的事实,自己识别出驾驶员的意图是正在搜索加油站。
在这种情况下,如图5所示,尽管驾驶员没有输入询问就近加油站的话语(U2),即省略了U2,但是对话***100可以主动输出提供与燃料价格有关的信息的话语(S2+S3=S3”)。
另外,在从当前位置的最近的加油站和提供最低燃料价格的加油站为相同的加油站的状态下,提供与燃料价格相关的信息的话语(S3”)可以包括用于询问是否要引导到相应的加油站的问题。因此,用户可以通过简单地输入同意对话***100的问题的话语(U4':是)来请求到相应的加油站的路线引导,而无需输入用于要求引导到某个加油站的特定话语。
如上所述,对话***100可以基于预先获得的信息,通过考虑用户未发出的内容来识别用户的真实意图并主动提供与该意图相对应的信息。因此,可以减少用于提供用户期望的服务的对话步骤和时间。
图6和图7为示意性地示出对话***和车辆的组件之间的连接关系的控制框图。
参考图6,用户对对话***100的语音输入可以经由设置在车辆200中的语音输入装置210来输入。如图2中所示,语音输入装置210可以包括设置在车辆200内部的麦克风。
用户输入中除语音之外的输入可以为通过除语音之外的信息输入装置220的输入。除语音之外的信息输入装置220可以包括用于通过用户的操作接收命令的输入按钮221和223以及旋转飞梭225。
另外,除语音之外的信息输入装置220可包括拍摄用户的摄像头。通过由摄像头成像的图像,可以识别用作命令输入的一种手段的用户的手势、表情或视线方向。另选地,可以通过摄像头成像的图像来识别用户的状态(困倦状态等)。
可以经由车辆控制器240将与车辆相关的信息输入到对话***100中。与车辆相关的信息可以包括由设置在车辆200中的各种传感器获取的车辆状态信息或周围环境信息,以及最初存储在车辆200中的信息,例如车辆的燃料类型。
对话***100可以使用经由语音输入装置210的用户语音输入、经由除语音之外的信息输入装置220的除了用户的语音之外的输入以及经由车辆控制器240的各种输入来识别用户的意图和语境。对话***100输出响应以执行与用户意图相对应的动作。
对话输出装置230为被配置为以视觉、听觉或触觉方式向讲话者提供输出的装置。对话输出装置230可以包括设置在车辆200中的显示器231和扬声器232。显示器231和扬声器232可以以视觉或听觉方式输出对用户的话语的响应、关于用户的问题或用户请求的信息。另外,可以通过在方向盘207中安装振动器来输出振动。
此外,根据来自对话***100的响应输出,车辆控制器240可以控制车辆200以执行与用户的意图或当前情况相对应的动作。
同时,除了由设置在车辆200中的传感器获取的信息之外,车辆200还可以经由通信装置280收集从外部内容服务器300或外部装置获取的信息,例如,行驶环境信息和用户信息,诸如交通状况、天气、温度、乘客信息和驾驶员个人信息,然后车辆200可以将这些信息发送到对话***100。
根据本发明的实施例,对话***100可以通过分析用户话语来定义动作。另外,对话***100可以确定用户的话语是用于控制车辆的直接控制话语还是状态话语。为了识别话语类型,对话***100可以利用上文和后面描述的语素分析。例如,当用户说出“手要冻了”时,对话***100可以将用户的话语识别为状态话语,因为不存在与用户的话语相对应的车辆的直接控制操作,并且对话***100可以获取对应于用户话语的动作。
同时,根据本发明的实施例,除语音之外的信息输入装置220可以包括生物信号测量装置。具体地,生物信号测量装置可以包括医疗传感器。医疗传感器可以实现为直接获取用户的生物信息的传感器,但也可以实现为间接类型,诸如设置在方向盘上的压力传感器。
对话***100可以基于从除语音之外的信息输入装置220接收到的用户的用户信息来获取与用户的话语相对应的动作。例如,当基于从除语音之外的信息输入装置220接收到的用户的用户信息识别出用户的体温低于预定温度时,尽管用户说出“手要冻了”,但是对话***100可以操作车辆的空调,但以弱空气量操作空调。
如图7所示,由设置在车辆200中的传感器获取的信息,例如,剩余燃料量、降雨量、降雨速度、周围障碍物信息、速度、发动机温度、轮胎压力、当前位置,可以经由内部信号控制器241输入到对话***100。
经由车辆到万物(V2X,Vehicle to Everything)通信从外部获取的行驶环境信息可以经由外部信号控制器242输入到对话***100。V2X表示车辆通过在行驶时与道路基础设施和其他车辆进行通信来交换并共享各种有用信息,例如,交通状况。
V2X通信可以包括车辆到基础设施(V2I:Vehicle-to-Infrastructure,以下称为V2I)通信、车辆到车辆(V2V:Vehicle-to-Vehicle)通信和车辆到移动装置(V2N:Vehicle-to-Nomadic devices)通信。因此,通过使用V2X通信,可以通过在车辆之间直接执行的通信或与安装在道路上的基础设施的通信来发送和接收诸如关于前方的交通信息或另一车辆的接近或与另一车辆发生碰撞的风险等信息,从而可以向驾驶员通知该信息。
因此,经由外部信号控制器242输入到对话***100的行驶环境信息可包括关于前方的交通信息、相邻车辆的接近信息、与另一车辆的碰撞警告、实时交通状况、意外状况和交通流量控制状态。
尽管未在附图中示出,但是经由V2X获得的信号也可以经由通信装置280输入到车辆200。
车辆控制器240可以包括:存储器,用于执行上述操作和稍后描述的操作的程序存储在该存储器中;以及用于执行存储的程序的处理器。可以提供至少一个存储器和一个处理器,并且当提供多个存储器和处理器时,它们可以集成在一个芯片上或物理上分开。
另外,内部信号控制器241和外部信号控制器242可以由相同的处理器实现,或者由单独的处理器实现。
图8和图9为示意性地示出对话***的组件和车辆的组件之间的连接关系的控制框图。
参考图8,从语音输入装置210发送的用户语音可以输入到设置在输入处理器110中的语音输入处理器111,除了语音之外的信息输入装置220发送的用户语音之外的输入可以被输入到设置在输入处理器110中的语境信息处理器112。
语境信息处理器112基于车辆状态信息、行驶环境信息和用户信息等来识别语境。对话***100可以通过识别语境来精确地识别用户的意图或有效地找出用户所需的服务。
来自结果处理器130的响应输出可以输入到对话输出装置230或车辆控制器240,以允许车辆200提供用户所需的服务。另外,可以将响应发送到外部内容服务器300以请求所需的服务。
从车辆控制器240发送的车辆状态信息、行驶环境信息和用户信息可以存储在存储装置140中。
参考图9,存储装置140可以包括长期存储器143和短期存储器144。存储在存储装置140中的数据可以根据数据的重要性和持久性以及设计者的意图被分类为短期存储器和长期存储器。
短期存储器144可以存储先前执行的对话。先前的对话可以为在距当前时间的参考时间内执行的对话。另选地,所述对话可以连续存储,直到用户和对话***100之间的话语内容的容量达到参考值为止。
例如,当用户说出“让我知道江南站附近的餐馆”的内容时,对话***100可以通过外部内容服务器300搜索江南站附近的餐馆,然后向用户提供与搜索到的在江南站附近的餐馆有关的信息。作为提供信息的示例,对话***100可以在显示器231上显示餐馆的列表,并且当用户说出“第一”时,可以在短期存储器144中存储与餐馆的请求和餐馆的选择相关的对话内容。
另选地,不仅存储整个对话内容,而且还可以存储包含在对话内容中的特定信息。例如,可以在短期存储器144或者长期存储器143中将餐馆列表的第一餐馆存储为用户选择的餐馆。
当用户在关于江南站附近的餐馆的对话之后向对话***100询问“天气如何?”时,对话***100可以从存储在短期存储器144的对话中假设用户的兴趣位置为江南站,然后输出响应“江南站正在下雨”。
接下来,当用户说出“推荐餐馆菜单”时,对话***100可以从存储在短期存储器中的对话中假设“所述餐馆”表示江南站附近的餐馆,并通过从外部内容服务器300提供的服务获取与相应餐馆的推荐菜单相关的信息。因此,对话***100可以输出响应“面条为该餐馆中的最佳菜单”。
长期存储器143可以根据数据存在的持久性来存储数据。例如,长期存储器143可以确定能保证数据(诸如亲属和朋友的电话号码以及感兴趣的位置(POI)信息,例如家庭或公司,以及某些参数的用户偏好)的持久性,并且然后将所述数据存储在所述长期存储器中。相反,当确定不保证数据的持久性时,可以将所述数据存储在短期存储器144中。
例如,用户的当前位置可以为临时数据并因此存储在短期存储器144中,并且用户对餐馆的偏好可以为稍后可用的持久数据并且因此存储在长期存储器143中。
当用户说出“这里有没有餐馆?”时,对话***100可以从短期存储器144中识别出用户的当前位置并且从长期存储器143中指出用户喜欢中餐馆。因此,对话***100可以通过使用外部内容来推荐当前位置周围的用户最喜欢的中餐馆的列表。
另外,对话***100可以使用存储在长期存储器143和短期存储器144中的数据主动地向用户提供服务和信息。
例如,与用户住宅相关的信息可以存储在长期存储器143中。对话***100可以从外部内容服务器300获取与用户住宅有关的信息,然后提供指示“由于公寓的清洁而预计在这个周五停水”的信息。
另外,与车辆电池状态有关的信息可以存储在短期存储器144中。对话***100可以分析存储在短期存储器144中的车辆电池状态,然后提供指示“电池处于不良状态。在冬天之前修好它”的信息。
图10为示出在车辆中设置对话***的车辆单独方式的控制框图。
如图10所示,根据车辆单独方式,具有输入处理器110、对话管理器120、结果处理器130和存储装置140的对话***100可以包含在车辆200中。
当对话***100包含在车辆200中时,车辆200可以自己处理与用户的对话并提供用户所需的服务。然而,可以从外部内容服务器300获得对话处理和服务提供所需的信息。
由车辆检测器260检测到的车辆状态信息或行驶环境信息,例如,剩余燃料量、降雨量、降雨速度、周围障碍物信息、轮胎压力、当前位置、发动机温度、速度可以经由车辆控制器240输入到对话***100。
另外,根据来自对话***100的响应输出,车辆控制器240可以控制设置在车辆200中的空调装置251、窗户252、车门253、座位254或AVN 255。
例如,当对话***100确定用户的意图或用户所需的服务是降低车辆200内的温度然后生成并输出相应的命令时,车辆控制器240可以通过控制空调251来降低车辆200内的温度。
再例如,当对话***100确定用户的意图或用户所需的服务是升高驾驶员的座位窗户252a并生成和输出相应的命令时,车辆控制器240可通过控制窗户252来升高驾驶员座位窗户252a。
再例如,当对话***100确定用户的意图或用户所需的服务是将路线引导到某个目的地并生成和输出相应的命令时,车辆控制器240可以通过控制AVN 255来执行路线引导。根据需要,通信装置280可以从外部内容服务器300获取地图数据和POI信息等,然后使用该信息进行服务提供。
图11和图12为示出车辆网关方式的控制框图,其中在远程服务器中提供对话***,并且车辆用作将用户连接到对话***的网关。
如图11所示,根据车辆网关方式,可以在车辆200的外部提供远程对话***服务器1,并且与远程对话***服务器1经由通信装置280连接的对话***客户端270可以设置在车辆200中。通信装置280用作用于连接车辆200和远程对话***服务器1的网关。
对话***客户端270可以用作连接到输入/输出装置的接口,并执行收集以及发送和接收数据。
当设置在车辆200中的语音输入装置210和除语音之外的信息输入装置220接收到用户的输入并将用户输入发送到对话***客户端270时,对话***客户端270可以经由通信装置280将输入数据发送到远程对话***服务器1。
车辆控制器240还可以将由车辆检测器260检测到的数据发送到对话***客户端270,并且对话***客户端270可以经由通信装置280将由车辆检测器260检测到的数据发送到远程对话***服务器1。
由于在远程对话***服务器1中设置了上述对话***100,因此输入数据处理、基于输入数据处理的结果的对话处理、基于对话处理的结果的结果处理均可以由远程对话***服务器1执行。
另外,远程对话***服务器1可以从外部内容服务器300获取输入数据处理、对话管理或结果处理所需的信息或内容。
根据从远程对话***服务器1发送的响应,车辆200也可以从外部内容服务器300获取用户所需的服务的信息或内容。
参考图12,通信装置280可以包括被配置为与外部装置通信的至少一个通信模块,例如,通信装置280可以包括短程通信模块281、有线通信模块282和无线通信模块283。
短程通信模块281可以包括各种短程通信模块(例如,蓝牙模块、红外通信模块、射频识别(RFID,Radio Frequency Identification)通信模块、无线局域网(WLAN,WirelessLocal Access Network)通信模块、NFC通信模块和ZigBee通信模块),该短程通信模块被配置为在近距离使用无线通信网来发送和接收信号。
有线通信模块282可以包括各种有线通信模块,例如,局域网(LAN,Local AreaNetwork)模块、广域网(WAN,Wide Area Network)模块或增值网络(VAN,Value AddedNetwork)模块,以及各种线缆通信模块,例如,通用串行总线(USB,Universal SerialBus)、高清多媒体接口(HDMI,High Definition Multimedia Interface)、数字视频接口(DVI,Digital Visual Interface)、推荐标准232(RS-232,recommended standard232)、电力线通信或普通老式电话服务(POTS,plan old telephone service)。
无线通信模块283可以包括支持各种无线通信方法的无线通信模块,例如,Wifi模块、无线宽带(Wireless broadband)模块、全球移动通信***(GSM,Global System forMobile Communication)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、通用移动通信***(UMTS,Universal Mobile Telecommunications System)、时分多址(TDMA,Time DivisionMultiple Access)、长期演进(LTE,Long Term Evolution)、4G和5G。
另外,通信装置280还可以包括用于车辆200中的电子装置之间的通信的内部通信模块(未示出)。车辆200的内部通信协议可以使用控制器区域网络(CAN,Controller AreaNetwork)、本地互连网络(LIN,Local Interconnection Network)、FlexRay和以太网(Ethernet)等。
对话***100可以经由无线通信模块283向外部内容服务器300或远程对话***服务器1发送数据和从外部内容服务器300或远程对话***服务器1接收数据。另外,对话***100可以使用无线通信模块283执行V2X通信。另外,通过使用短程通信模块281或有线通信模块282,对话***100可以向连接到车辆200的移动装置发送数据和从其接收数据。
图13为示出在车辆网关方式中车辆能够执行输入处理和输出处理的一部分的情况的控制框图。
如上所述,车辆200的对话***客户端270可以仅收集并发送和接收数据,但是当如图13所示,输入处理器271、结果处理器273和存储装置274包含在对话***客户端270中时,在车辆200中也可以处理从用户或车辆输入的数据或者执行与确定用户需要的服务提供相关的处理。也就是说,输入处理器110和结果处理器130的操作不仅可以由远程对话***服务器1执行,还可以由车辆200执行。
在这种情况下,对话***客户端270可以执行上述的输入处理器110的全部或一些操作。对话***客户端270可以执行上述的结果处理器130的全部或一些操作。
可以考虑要处理的数据的容量和数据处理速度等来确定远程对话***服务器1和对话***客户端270之间的任务分担。
图14为示出远程对话***服务器和车辆均能够执行对话处理的混合方式的控制框图。
如图14所示,根据混合方式,由于输入处理器110、对话管理器120、结果处理器130和存储装置140设置在远程对话***服务器1中,因此远程对话***服务器1可以执行对话处理,并且由于在车辆200中设置了具有输入处理器291、对话管理器292、结果处理器293和存储装置294的终端对话***290,因此车辆200也可以执行对话处理。
然而,设置在车辆200中的处理器和存储器与设置在远程对话***服务器1中的处理器或存储器之间在容量或性能方面可能存在差异。因此,当终端对话***290能够通过处理所有输入数据并管理对话来输出结果时,终端对话***290可以执行整个处理。否则,可以向远程对话***服务器1请求处理。
在执行对话处理之前,终端对话***290可以基于输入数据类型确定是否可以执行对话处理,并且终端对话***290可以基于确定的结果直接执行处理或向远程对话***服务器1请求处理。
另外,当在终端对话***290执行对话处理期间发生终端对话***290不能执行的处理的事件时,终端对话***290可以向远程对话***服务器1请求处理,同时将其自己处理的结果发送到远程对话***服务器1。
例如,当需要高性能计算能力或长期数据处理时,远程对话***服务器1可以执行对话处理,并且当需要实时处理时,终端对话***290可以执行对话处理。例如,当发生需要立即处理的情况并因此需要在同步之前处理数据时,可以设置成终端对话***290首先处理数据。
另外,当车辆中存在未登记的讲话者并且因此需要用户确认时,远程对话***服务器1可以处理该对话。
此外,当终端对话***290在不能经由通信装置280与远程对话***服务器1连接的状态下不能自己完成对话处理时,可以经由对话输出装置230通知用户不能执行对话处理。
存储在终端对话***290中的数据和存储在远程对话***服务器1中的数据可以根据数据类型或数据容量之类的基准来确定。例如,在由于个人识别而具有侵犯隐私的风险的数据的情况下,所述数据可以存储在终端对话***290的存储装置294中。另外,可以将大量数据存储在远程对话***服务器1的存储装置140中,并且可以将少量数据存储在终端对话***290的存储装置294中。另选地,可以将少量数据存储在远程对话***服务器1的存储装置140和终端对话***290的存储装置294中。
图15和图16为示出连接到车辆的移动装置将用户连接到远程对话***服务器的移动网关方式的控制框图。
如图15所示,根据移动网关方式,移动装置400可以从车辆200接收车辆状态信息和行驶环境信息,并将用户输入和车辆状态信息发送到远程对话***服务器1。也就是说,移动装置400可以充当将用户连接到远程对话***服务器1或将车辆200连接到远程对话***服务器1的网关。
移动装置400可以表示为便携式的并且能够通过与外部服务器和车辆通信向外部服务器和车辆发送数据和从外部服务器和车辆接收数据的电子装置,其中,移动装置400可以包括智能电话、智能手表、智能眼镜、PDA和平板计算机。
移动装置400可以包括接收用户语音的语音输入装置410,接收除用户语音之外的输入的除了语音输入装置410之外的输入装置420,以视觉、听觉或触觉方式输出响应的输出装置430,通过通信向远程对话***服务器1和车辆200发送数据和从远程对话***服务器1和车辆200接收数据的通信装置480、以及从车辆200和用户收集输入数据并经由通信装置480将数据发送到远程对话***服务器1的对话***客户端470。
语音输入装置410可以包括麦克风,其接收声音、将声音转换为电信号并输出电信号。
除语音输入装置410之外的输入装置420可以包括设置在移动装置400中的输入按钮、触摸屏或摄像头。
输出装置430可以包括设置在移动装置400中的显示器、扬声器或振动器。
设置在移动装置400中的语音输入装置410、除了语音输入装置410之外的输入装置420和输出装置430可以用作用户的输入和输出接口。另外,设置在车辆200中的语音输入装置210、除语音之外的信息输入装置220、对话输出装置230可以用作用户的输入和输出接口。
当车辆200将由车辆检测器260检测到的数据和用户输入发送到移动装置400时,移动装置400的对话***客户端470可以将数据和用户输入发送到远程对话***服务器1。
另外,对话***客户端470可以将从远程对话***服务器1发送的响应或命令发送到车辆200。当对话***客户端470将设置在车辆200中的对话输出装置230用作用户的输入和输出接口时,可以经由对话输出装置230输出对用户的话语的响应。当对话***客户端470使用设置在移动装置400中的输出装置430时,可以经由输出装置430输出对用户的话语的响应。
用于车辆控制的命令可以被发送到车辆200,并且车辆控制器240可以执行与所发送的命令相对应的控制,从而提供用户所需的服务。
另一方面,对话***客户端470可以收集输入数据并将输入数据发送到远程对话***服务器1。对话***客户端470还可以执行对话***100的输入处理器110和结果处理器130的全部或一些功能。
参考图16,移动装置400的通信装置480可以包括被配置为与外部装置通信的至少一个通信模块。例如,通信装置480可以包括短程通信模块481、有线通信模块482和无线通信模块483。
短程通信模块481可以包括各种短程通信模块(例如,蓝牙模块、红外通信模块、射频识别(RFID,Radio Frequency Identification)通信模块、无线局域网(WLAN,WirelessLocal Access Network)通信模块、NFC通信模块和ZigBee通信模块)中的至少一者,该短程通信模块被配置为在近距离使用无线通信网来发送和接收信号。
有线通信模块482可以包括各种有线通信模块,例如,局域网(LAN,Local AreaNetwork)模块、广域网(WAN,Wide Area Network)模块或增值网络(VAN,Value AddedNetwork)模块,以及各种线缆通信模块,例如,通用串行总线(USB,Universal SerialBus)、高清多媒体接口(HDMI,High Definition Multimedia Interface)、数字视频接口(DVI,Digital Visual Interface)、推荐标准232(RS-232,recommended standard232)、电力线通信或普通老式电话服务(POTS,plain old telephone service)中的至少一者。
无线通信模块483可以包括支持各种无线通信方法的无线通信模块中的至少一者,例如,Wifi模块、无线宽带(Wireless broadband)模块、全球移动通信***(GSM,GlobalSystem for Mobile Communication)、码分多址(CDMA,Code Division MultipleAccess)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、通用移动通信***(UMTS,Universal Mobile Telecommunications System)、时分多址(TDMA,TimeDivision Multiple Access)、长期演进(LTE,Long Term Evolution)、4G和5G。
例如,移动装置400可以经由短程通信模块481或有线通信模块482连接到车辆200,并且移动装置400可以经由无线通信模块483连接到远程对话***服务器1或外部内容服务器300。
图17为示出在移动装置中设置对话***的移动单独方式的控制框图。
如图17所示,根据移动单独方式,可以在移动装置400中设置对话***100。
因此,不必为了对话处理而连接到远程对话***服务器1,移动装置400就可以自己处理与用户的对话并且提供用户所需的服务。不过,移动装置400可以从外部内容服务器300获取用于对话处理和服务提供的信息。
将详细描述对话***100的每个组件的详细配置和详细操作。根据稍后描述的实施例,为了便于说明,假设对话***100设置在车辆200中。
图18、图19A和图19B为详细示出对话***的配置中的输入处理器的配置的控制框图。
参考图18,输入处理器110可以包括处理语音输入的语音输入处理器111和处理语境信息的语境信息处理器112。
通过语音输入装置210输入的用户语音可以被发送到语音输入处理器111,以及通过除了语音之外的信息输入装置220输入的用户语音之外的输入可以被发送到语境信息处理器112。
车辆控制器240可以将车辆状态信息、行驶环境信息和用户信息发送到语境信息处理器112。可以从外部内容服务器300或连接到车辆200的移动装置400提供行驶环境信息和用户信息。
除语音之外的输入均可以包含在语境信息中。也就是说,语境信息可以包括车辆状态信息、行驶环境信息、用户信息。
车辆状态信息可以包括指示车辆状态并且由设置在车辆200中的传感器获取的信息,以及与车辆相关并且存储在车辆中的信息,例如车辆的燃料类型。
行驶环境信息可以为由设置在车辆200中的传感器获取的信息。行驶环境信息可包括由前置摄像头、后置摄像头或立体摄像头获取的图像信息,由传感器(例如雷达、激光雷达、超声波传感器)获取的障碍物信息,以及由雨水传感器获取的与降雨量有关的信息和雨速信息等。
另外,行驶环境信息还可以包括经由V2X获取的交通状态信息、交通灯信息以及相邻车辆接近或相邻车辆碰撞风险信息。
用户信息可以包括由设置在车辆中的摄像头或生物识别读取器测量的与用户状态有关的信息、由用户使用设置在车辆中的输入装置直接输入的与该用户有关的信息、存储在外部内容服务器300中的与用户相关的信息、以及存储在连接到车辆的移动装置400中的信息等。
语音输入处理器111可以包括:语音识别器111a,其通过识别输入的用户的语音输出文本类型的话语;自然语言理解部分111b,其通过将自然语言理解技术(NaturalLanguage Understanding)应用于用户的话语来识别话语中包含的用户的意图;以及对话输入管理器111c,其将对自然语言理解的结果和语境信息发送到对话管理器120。
语音识别器111a可以包括语音识别引擎(speech recognition engine),并且语音识别引擎可以通过将语音识别算法应用于输入语音来识别用户说出的语音并生成识别结果。
此时,由于输入语音被转换为用于语音识别的更有用的形式,因此语音识别器111a可以通过从语音信号中检测起点和终点来检测包括在语音中的实际语音部分。这称为终点检测(EPD,End Point Detection)。
并且,语音识别器111a可以通过应用特征向量提取技术,例如倒谱(Cepstrum)、线性预测系数(LPC,Linear Predictive Coefficient)、梅尔频率倒谱系数(MFCC,MelFrequency Cepstral Coefficient)或滤波器组能量(filter bank energy),从检测到的部分获取输入语音的特征向量。
而且,语音识别器111a可以通过将提取的特征向量与训练的参考图案(pattern)进行比较来获取识别结果。为此,语音识别器111a可以使用建模并比较语音的信号特征的声学模型(Acoustic Model),以及建模与识别词汇对应的单词或音节等的语言顺序关系的语言模型(Language Model)。为此,存储装置140可以存储声学模型和语言模型DB。
声学模型可以被分类为将识别对象设置为特征向量模型并且将特征向量模型与语音信号的特征向量进行比较的直接比较方法,以及统计处理识别对象的特征向量的统计方法。
直接比较方法是将诸如作为识别对象的单词或音素的单元设置到特征向量模型,并将接收到的语音与特征向量模型进行比较以确定它们之间的相似性。直接比较方法的代表性示例为向量量化(Vector Quantization)。向量量化是将接收到的语音信号的特征向量映射到作为参考模型的码本(codebook),以将映射的结果编码为代表值,并对代表值彼此进行比较。
统计模型方法是将识别对象的单元配置为状态序列(State Sequence)并使用状态序列之间的关系。每个状态序列可以配置有多个节点(node)。使用状态序列之间的关系的方法可以分类为动态时间扭曲(DTW,Dynamic Time Warping)、隐马尔可夫模型(HMM,Hidden Markov Model)和使用神经网络的方法等。
DTW为一种考虑到即使同一个人说出相同的发音,信号的长度也随时间变化的语音的动态特征,通过与参考模型进行比较来补偿时间轴上的差异的方法。HMM为一种将语音假设为具有状态转移概率和每个状态中的节点(输出符号)的观察概率的马尔可夫处理,然后基于学习数据估算状态转移概率和节点的观察概率并从估算的模型计算生成接收到的语音的概率的识别方法。
同时,通过将构成语言的单元之间的顺序关系应用于通过语音识别获取的单元,对单词、音节等的语言顺序关系建模的语言模型可以减少声学模糊和识别错误。语言模型可以包括统计语言模型和基于有限状态自动机(FSA,Finite State Automata)的模型。统计语言模型使用单词的链概率,诸如Unigram、Bigram和Trigram。
语音识别器111a可以使用上述方法中的任何一种方法来进行语音识别。例如,语音识别器111a可以使用应用HMM的声学模型,或者声学模型与语音模型组合的N最佳搜索方法。N最佳搜索方法可以通过使用声学模型和语言模型选择N个或更少识别结果候选项,然后重新评价识别结果候选项的排名来改进识别性能。
语音识别器111a可以计算置信度值(confidence value)以确保识别结果的可靠性。置信度值为表示语音识别结果有多可靠的标准。例如,可以对于作为识别结果的音素或单词将置信度值定义为从不同音素或单词发出相应音素或单词的概率的相对值。因此,置信度值可以表示为0到1之间或0到100之间的值。
当置信度值大于预定阈值(threshold)时,语音识别器111a可以输出识别结果以允许执行与识别结果相对应的操作。当置信度值等于或小于阈值时,语音识别器111a可以拒绝(rejection)识别结果。
作为语音识别器111a的识别结果的文本形式的话语可以输入到自然语言理解部分111b。
自然语言理解部分111b可以通过应用自然语言理解技术来识别包括在话语语言中的用户话语的意图。因此,用户可以通过自然对话(Dialogue)输入控制命令,并且对话***100还可以经由对话引起控制命令的输入并提供用户所需的服务。
首先,自然语言理解部分111b可以对呈文本形式的话语执行语素分析。语素为含义的最小单位,并表示不能再细分的最小语义元素。因此,语素分析为自然语言理解的第一步,并将输入字符串转换为语素字符串。
自然语言理解部分111b可以基于语素分析结果从话语中获取域。所述域可用于识别用户话语语言的主题,指示各种主题(例如路线引导、天气搜索、交通搜索、日程管理、燃料管理和空调控制等)的域可以存储为数据库。
自然语言理解部分111b可以从话语中识别实体名称。实体名称可以为专有名词,例如,人名、地名、组织名称、时间、日期和货币,并且实体名称识别可以被配置为识别句子中的实体名称并确定所识别的实体名称的类型。自然语言理解部分111b可以使用实体名称识别从句子中获取重要关键词并识别句子的含义。
自然语言理解部分111b可以分析包含在话语中的语音行为。语音行为分析可以被配置为识别用户话语的意图,例如,用户是否询问问题,用户是否进行请求,用户是否响应或用户是否简单地表达情绪。
自然语言理解部分111b提取与用户的话语的意图相对应的动作。自然语言理解部分111b可以基于与话语对应的域、实体名称和语音行为等的信息来识别用户的话语的意图,并提取与所述话语相对应的动作。所述动作可以由对象(object)和运算符(operator)定义。
另外,自然语言理解部分111b可以获取与动作执行有关的参数。与动作执行相关的参数可以为动作执行直接需要的有效参数,或者为用于提取有效参数的无效参数。
例如,当用户的话语为“让我们去首尔站”时,自然语言理解部分111b可以获取作为与话语对应的域的“导航”,以及作为动作的“路线引导”,其中,语音行为对应于“请求”。
实体名称“首尔站”可以对应于与动作执行相关的[参数:目的地],但是可能需要该站的特定出口号或GPS信息来实际地经由导航***来引导路线。在这种情况下,由自然语言理解部分111b提取的[参数:目的地:首尔站]可以为用于在多个首尔站POI中搜索用户实际期望的“首尔站”的候选参数。
另外,自然语言理解部分111b可以获取被配置为表达单词之间或句子之间的关系的工具,例如,解析树(Parse-tree)。
作为自然语言理解部分111b的处理结果的语素分析结果、域信息、动作信息、语音行为信息、提取的参数信息、实体名称信息和解析树可以被发送到对话输入管理器111c。
语境信息处理器112可包括:语境信息收集器112a,从除语音之外的信息输入装置220和车辆控制器240收集信息;语境信息收集管理器112b,管理语境信息的收集;以及语境理解部分112c,基于自然语言理解的结果和收集的语境信息理解语境。
输入处理器110可以包括:存储器,用于执行上述操作和稍后描述的操作的程序存储在该存储器中;以及用于执行存储的程序的处理器。可以提供至少一个存储器和一个处理器,并且当提供多个存储器和处理器时,它们可以集成在一个芯片上或物理上分开。
另外,包含在输入处理器110中的语音输入处理器111和语境信息处理器112可以由相同的处理器或单独的处理器实现。
在下文中,将参考图19A和图19B详细描述输入处理器110的组件使用存储在存储装置140中的信息处理输入数据的方法。
参考图19A,自然语言理解部分111b可以使用域/动作推断规则DB 141进行域提取、实体识别、语音行为分析和动作提取。
在域/动作推断规则DB 141中,可以存储域提取规则、语音行为分析规则、实体名称转换规则、动作提取规则等。
诸如除语音之外的用户输入、车辆状态信息、行驶环境信息和用户信息的其他信息可以被输入到语境信息收集器112a,然后存储在语境信息DB 142、长期存储器143或短期存储器144中。
例如,由车辆检测器260检测到的原始数据(raw data)可以按传感器类型和传感器值分类,然后存储在语境信息DB 142中。
在短期存储器144和长期存储器143中,可以存储对用户有意义的数据,可以包括当前用户状态、用户的偏好和取向或用于确定用户的偏好和取向的数据。
如上所述,确保持久性并因此可长期使用的信息可以存储在长期存储器143中,可以包括用户的电话簿、日程安排、偏好、学历、性格、工作以及家庭成员有关的信息等。
不能确保持久性或具有不确定性并因此在短期内可用的信息可以存储在短期存储器144中,可以包括当前和先前位置、今天日程安排、先前对话内容、对话参与者、环境、域和驾驶员状态等。根据数据类型,可以在语境信息DB 142、短期存储器144和长期存储器143中的至少两个存储装置中重复存储数据。
另外,在存储在短期存储器144中的信息中,可以将确定为确保持久性的数据发送到长期存储器143。
另外,可以使用存储在短期存储器144或语境信息DB 142中的信息来获取要存储在长期存储器143中的信息。例如,可以通过分析存储特定持续时间的目的地信息或对话内容来获取用户的偏好,并且可以将获取的用户的偏好存储在长期存储器143中。
通过使用存储在短期存储器144或语境信息DB 142中的信息获得要存储在长期存储器143中的信息,可以在对话***100中执行或者在另外的外部***中执行。
在前一种情况下,可以在结果处理器130的存储器管理器135中执行。在这种情况下,在存储在短期存储器144或语境信息DB 142中的数据中获取有意义信息或持久信息(例如,用户的偏好或取向)时所使用的数据可以以日志文件类型存储在长期存储器143中。
存储器管理器135可以通过分析存储超过特定持续时间的数据来获取持久数据,并且将所述数据重新输入长期存储器143中。在长期存储器143中,存储持久数据的位置可以与以日志文件类型存储的数据所存储的位置不同。
另外,存储器管理器135可以确定存储在短期存储器144中的数据中的持久数据,并将确定的数据移动并存储到长期存储器143中。
根据本发明的实施例,当用户说出“手要冻了”时,语音识别器可以识别出语音,并且自然语言理解部分可以确定用户话语不是直接对应于车辆的控制的话语,而是状态话语。
对话输入管理器111c可以基于用户话语识别出用户的意图和语境,并通过综合考虑先前的对话、事件、域、和对话任务来提取动作。
同时,在执行话语时,用户可以调节空调的温度和量并通过使用设置在车辆中的温度传感器获取与车辆相关的天气信息。设置在对话***中的语境信息收集器112a和语境信息收集管理器112b可以获取用户的除语音之外的输入。
例如,对于用户话语“手要冻了”被识别为状态话语并执行了减小空调的量的控制的情况,识别出用户话语“手要冻了”是由空调量被设置为高或期望温度被设置为低引起的。因此,当用户话语被识别为状态话语后,提取对应于用户话语的动作,并且可以执行控制以减小空调的量并升高空调的期望温度。
如图19B所示,当在附加外部***中使用存储在短期存储器144或语境信息DB 142中的信息获得要存储在长期存储器143中的信息时,可以使用具有通信器810、存储装置820和控制器830的数据管理***800。
通信器810可以接收存储在语境信息DB 142或短期存储器144中的数据。存储的所有数据可以被发送到通信器810,或者可以选择用于获取有意义信息或持久信息(例如用户的偏好或取向)时所使用的数据,然后将其发送。接收到的数据可以存储在存储装置820中。
控制器830可以通过分析所存储的数据来获取持久数据,然后经由通信器810将获取的数据发送到对话***100。发送的数据可以存储在对话***100的长期存储器143中。
另外,对话输入管理器111c可以通过将自然语言理解部分111b的输出结果发送到语境理解部分112c来获取与动作执行有关的语境信息。
语境理解部分112c可以通过参考语境理解表145中的按照动作存储的语境信息来确定哪个语境信息与对应于用户的话语的意图的动作执行相关。
图20A和图20B为示出存储在语境理解表中的信息的示例的视图。
参考图20A的示例,可以根据每个动作将与动作执行相关的语境信息和语境信息的类型存储在语境理解表145中。
例如,当动作为路线引导时,可能需要当前位置作为语境信息,并且语境信息的类型可以为GPS信息。当动作为车辆状态检查时,可能需要行驶距离作为语境信息,并且语境信息的类型可以为整数。当动作为加油站推荐时,可能需要剩余燃料量和耗尽距离(DTE,Distance To Empty)作为语境信息,并且语境信息的类型可以为整数。
当与对应于用户话语的意图的动作执行相关的语境信息预存储在语境信息DB142、长期存储器143或短期存储器144中时,语境理解部分112c可以从语境信息DB 142、长期存储器143或短期存储器144获取相应的信息,并将相应的信息发送到对话输入管理器111c。
当与对应于用户话语的意图的动作执行相关的语境信息未存储在语境信息DB142,长期存储器143或短期存储器144中时,语境理解部分112c可以请求语境信息收集管理器112b所需的信息。语境信息收集管理器112b可以允许语境信息收集器112a收集所需信息。
语境信息收集器112a可以周期性地收集数据或仅在特定事件发生时收集数据。另外,语境信息收集器112a可以周期性地收集数据,然后在特定事件发生时另外收集数据。此外,当从语境信息收集管理器112b接收数据收集请求时,语境信息收集器112a可以收集数据。
语境信息收集器112a可以收集所需信息,然后将信息存储在语境信息DB 142或短期存储器144中。语境信息收集器112a可以将确认信号发送到语境信息收集管理器112b。
语境信息收集管理器112b可以将确认信号发送到语境理解部分112c,并且语境理解部分112c可以从语境信息DB 142、长期存储器143或短期存储器144中获取所需信息,然后将所需信息发送到对话输入管理器111c。
具体地,当与用户的话语的意图相对应的动作为路线引导时,语境理解部分112c可以搜索语境理解表145并且识别出与路线引导相关的语境信息为当前位置。
当当前位置预存储在短期存储器144中时,语境理解部分112c可以获取当前位置并将当前位置发送到对话输入管理器111c。
当当前位置未存储在短期存储器144中时,语境理解部分112c可以向语境信息收集管理器112b请求当前位置,并且语境信息收集管理器112b可以允许语境信息收集器112a从车辆控制器240获取当前位置。
语境信息收集器112a可以获取当前位置,然后将当前位置存储在短期存储器144中。语境信息收集器112a可以将确认信号发送到语境信息收集管理器112b。语境信息收集管理器112b可以将确认信号发送到语境理解部分112c,并且语境理解部分112c可以从短期存储器144中获取当前位置信息,然后将该信息发送到对话输入管理器111c。
对话输入管理器111c可以将自然语言理解部分111b的输出和语境理解部分112c的输出发送到对话管理器120,并且对话输入管理器111c可以设法防止重复输入被输入到对话管理器120。此时,自然语言理解部分111b的输出和语境理解部分112c的输出可以组合为一个输出然后发送到对话管理器120或者可以各自独立地发送到对话管理器120。
另一方面,当语境信息收集管理器112b确定由于语境信息收集器112a所收集的数据满足预定条件而发生某个事件时,语境信息收集管理器112b可以将动作触发信号发送到语境理解部分112c。
语境理解部分112c可以搜索语境理解表145以用于搜索与相应事件有关的语境信息,并且当搜索到的语境信息未存储在语境理解表145中时,语境理解部分112c可以再次向语境信息收集管理器112b发送语境信息请求信号。
如图20B所示,可以根据每个事件将与所述事件相关的语境信息和语境信息的类型存储在语境理解表145中。
例如,当所生成的事件为发动机温度警告时,可以将整数形式的发动机温度存储为与所述事件相关的语境信息。当所生成的事件为驾驶员困倦驾驶检测时,可以将整数形式的驾驶员困倦驾驶状态存储为与所述事件相关的语境信息。当所生成的事件为轮胎气压不足时,可以将整数形式的轮胎气压存储为与所述事件相关的语境信息。当所生成的事件为燃料警告时,可以将整数形式的耗尽距离(DTE)存储为与所述事件相关的语境信息。当所生成的事件为传感器错误时,可以将文本形式的传感器名称存储为与所述事件相关的语境信息。再例如,当驾驶员在车辆中感觉到冷时,可以存储与车辆内部和外部相关的语境信息。
语境信息收集管理器112b可以经由语境信息收集器112a收集所需的语境信息,并将确认信号发送到语境理解部分112c。语境理解部分112c可以从语境信息DB 142、长期存储器143或短期存储器144获取所需的语境信息,然后将语境信息与动作信息一起发送到对话输入管理器111c。
对话输入管理器111c可以将语境理解部分112c的输出输入到对话管理器120。
图21为详细示出对话管理器的配置的控制框图,图22为示出存储在关系动作DB中的信息的示例的视图,图23为示出存储在动作执行条件DB中的信息的示例的视图,以及图24为示出存储在动作参数DB中的信息的示例的视图。
参考图21,对话管理器120可以包括:请求生成、删除和更新对话或动作的对话流管理器121;对话动作管理器122,根据对话流管理器121的请求生成、删除和更新对话或动作;模糊解算器123,通过解决语境的模糊性和对话的模糊性来最终澄清用户的意图;参数管理器124,管理动作执行所需的参数;动作优先级确定器125,关于多个候选动作确定动作是否可执行并且确定这些动作的优先级;以及外部信息管理器126,管理外部内容列表和相关信息,并管理外部内容查询所需的参数信息。
对话管理器120可以包括:存储器,用于执行上述操作和稍后描述的操作的程序存储在该存储器中;以及用于执行存储的程序的处理器。可以提供至少一个存储器和一个处理器,并且当提供多个存储器和处理器时,它们可以集成在一个芯片上或物理上分开。
另外,对话管理器120中包含的每个组件可以由相同的处理器或单独的处理器实现。
另外,对话管理器120和输入处理器110可以由相同的处理器或单独的处理器实现。
作为对话输入管理器111a的输出的自然语言理解的结果(自然语言理解部分的输出)和语境信息(语境理解部分的输出)可以输入到对话流管理器121自然语言理解部分111b的输出可以包括与用户的话语内容本身相关的信息,例如语素分析结果,以及例如域和动作的信息。语境理解部分112c的输出可以包括由语境信息收集管理器112b确定的事件以及语境信息。
对话流管理器121可以搜索与由对话输入管理器111a的输入相对应的对话任务或动作任务是否存在于对话和动作状态DB 147中。
对话和动作状态DB147可以为用于管理对话状态和动作状态的存储空间,因此对话和动作状态DB147可以存储与当前正在进行的对话和动作、以及待处理的初步动作相关的对话状态和动作状态。例如,对话和动作状态DB 147可以存储与完成的对话和动作、停止的对话和动作、进行的对话和动作以及待处理的对话和动作有关的状态。
另外,对话和动作状态DB 147可以存储与是否切换和嵌套(nesting)动作、切换动作索引、动作改变时间和屏幕/语音/命令等的最后输出状态。
例如,在提取对应于用户话语的域和动作的情况下,当在最近存储的对话中存在与相应域和动作相对应的对话或动作时,对话和动作状态DB147可以确定它为对应于来自对话输入管理器111a的输入的对话任务或动作任务。
当未提取对应于用户话语的域和动作时,对话和动作状态DB147可以向对话动作管理器122请求生成随机任务或参考最近存储的任务。
当对话和动作状态DB 147中不存在与输入处理器110的输入相对应的对话任务或动作任务时,对话流管理器121可以请求对话动作管理器122生成新的对话任务或动作任务。
当对话流管理器121管理对话流时,对话流管理器121可以参考对话策略DB 148。对话策略DB 148可以存储用于继续对话的策略,其中,所述策略可以表示用于选择、开始、建议、停止和终止对话的策略。
另外,对话策略DB 148可以存储关于***输出响应的时间点和方法的策略。对话策略DB 148可以存储用于通过链接多个服务来生成响应的策略以及用于删除先前动作并用另一个动作来替换动作的策略。
例如,当候选动作为多个或对应于用户的意图或语境的动作为多个时(A动作、B动作),可以允许两个策略,其中,所述两个策略可以包括:一次生成对两个动作的响应的策略,例如,“是否需要在执行A动作之后执行B动作?”;以及在生成对一个动作的响应之后生成针对另一个动作的单独响应的策略,例如,“执行A动作”→“你想要执行B动作吗?”。
另外,对话策略DB 148可以存储用于确定候选动作中的优先级的策略。稍后将描述优先级确定策略。
对话动作管理器122可以向对话和动作状态DB 147指定存储空间,并生成与输入处理器110的输出相对应的对话任务和动作任务。
另一方面,当不能从用户的话语中提取域和动作时,对话动作管理器122可以生成随机对话状态。在这种情况下,如稍后所述,模糊解算器123可以基于用户的话语的内容、环境条件、车辆状态和用户信息来识别用户的意图,并确定适合于用户意图的动作。
当对话和动作状态DB 147中存在与输入处理器110的输出相对应的对话任务或动作任务时,对话流管理器121可以请求对话动作管理器122参考相应的对话任务或动作任务。
动作优先级确定器125可以搜索关系动作DB 146b以搜索与输入处理器110的输出中包含的动作或事件有关的动作列表,然后动作优先级确定器125可以获取候选动作。
根据本发明的实施例,当驾驶员说出“手要冻了”、车辆内部和外部之间的温差足够大并且由除语音之外的用户输入设置的温度低于预定温度时,对话流管理器121和对话动作管理器122可以首先确定用户话语是否为状态话语。也就是说,对话流管理器121和对话动作管理器122可以确定用户话语不是被配置为直接控制车辆的部件的控制话语,并且基于话语和车辆状态提取存储在用于获取解决方案的表格中的动作。
如图22中所示,关系动作DB 146b可以指示彼此相关的动作、这些动作之间的关系、与事件相关的动作以及事件之间的关系。例如,路线引导、车辆状态检查和加油站推荐可以被分类为关系动作,并且其中的关系可以对应于关联。
因此,当执行路线引导时,可以一起执行车辆状态检查和加油站推荐等动作。在这种情况下,“一起执行”可以包括在路线引导之前或之后执行车辆状态检查和加油站推荐的情况以及在路线引导期间(例如,添加为停留点)执行车辆状态检查和加油站推荐的情况。
警告灯输出事件可以被存储为与修理店引导动作相关的事件动作,并且它们之间的关系可以对应于关联。
因此,当警告灯输出事件发生时,可以根据警告灯类型或是否需要修理来执行修理店引导动作。
当输入处理器110将与用户的话语相对应的动作与由语境信息收集管理器112b确定的事件一起发送时,与对应于用户的话语的动作相关的动作和与事件相关的动作可以成为候选动作。
可以将提取的候选动作列表发送到对话动作管理器122,并且对话动作管理器122可以通过添加候选动作列表来更新对话和动作状态DB 147的动作状态。
动作优先级确定器125在动作执行条件DB 146c中搜索执行每个候选动作的条件。
如图23所示,动作执行条件DB 146c可以根据每个动作存储执行动作所需的条件,以及用于确定是否满足相应条件的参数。
例如,用于车辆状态检查的执行条件可以为目的地距离等于或大于100km的情况,其中,用于确定所述条件的参数可以对应于目的地距离。加油站推荐的条件可以为目的地距离大于耗尽距离(DTE)的情况,其中,用于确定所述条件的参数可以对应于目的地距离和耗尽距离(DTE)。
动作优先级确定器125将候选动作的执行条件发送到对话动作管理器122,并且对话动作管理器122可以按照每个候选动作添加执行条件并更新对话和动作状态DB 147的动作状态。
动作优先级确定器125可以从语境信息DB 142、长期存储器143、短期存储器144或者对话和动作状态DB147中搜索确定动作执行条件所需的参数(下文中称为条件确定参数),并使用搜索到的参数确定是否可以执行候选动作。
当用于确定动作执行条件的参数未存储在语境信息DB 142、长期存储器143、短期存储器144或对话和动作状态DB 147中时,动作优先级确定器125可以经由外部信息管理器126从外部内容服务器300获取所需参数。
动作优先级确定器125可以使用用于确定动作执行条件的参数来确定是否可以执行候选动作。另外,动作优先级确定器125可以基于是否可执行候选动作和存储在对话策略DB 148中的优先级确定规则来确定候选动作的优先级。
可以根据当前情况计算每个候选动作的得分。可以给予具有更高计算得分的候选动作以更高的优先级。例如,对应于用户话语的动作、安全得分、便利得分、处理时间、处理时间点(是否需要立即处理)、用户偏好(用户在建议服务时的接受程度或由用户预先确定的偏好)、管理员得分、与车辆状态相关的得分以及动作成功率(对话成功率)可以用作用于计算得分的参数,如下面的等式1所示。
[等式1]
优先级得分=w1*用户话语动作+w2*安全得分+w3*便利得分+w4*处理时间+w5*处理时间点+w6*用户偏好+w7*管理员得分+w8*与车辆状态相关的得分+w9*动作成功率*动作执行的可能性(1:可能,尚未知晓,0:不可能)*动作完成状态(完成:1,未完成:0)。
如上所述,动作优先级确定器125可以通过搜索直接关联到用户的话语和语境信息的动作以及与其相关的动作列表,并通过确定它们之间的优先级来向用户提供最需要的服务。
动作优先级确定器125可以将候选动作执行的可能性和优先级发送到对话动作管理器122,并且对话动作管理器122可以通过添加发送的信息来更新对话和动作状态DB147的动作状态。
参数管理器124可以在动作参数DB 146a中搜索用于执行每个候选动作的参数(下文中称为动作参数)。
如图24中所示,动作参数DB 146a可以按照每个动作存储必要参数、选择性参数、参数的初始值和用于获取参数的参考位置。在存储有参数的初始值的状态下,当在从输入处理器110输出的用户的话语和语境信息中不存在与对应参数相对应的参数值并且在语境信息DB142中也不存在参数值时,可以根据存储的初始值执行动作,或者可以根据存储的初始值向用户确认是否执行动作。
例如,用于路线引导的必要参数可以包括当前位置和目的地,并且选择性参数可以包括路线的类型。可以将快速路线存储为选择性参数的初始值。可以通过按顺序搜索对话和动作状态DB 147、语境信息DB 142、短期存储器144或长期存储器143来获取当前位置和目的地。
用于车辆状态检查的必要参数可以包括车辆状态信息,并且选择性参数可以包括待检查的部分(下文中称为“***分”)。可以将整个部分(整体)存储为选择性参数的初始值。可以从语境信息DB 142中获取车辆状态信息。
加油站推荐的选择性参数可以包括喜欢的加油站,并且“A加油站”可以存储为选择性参数的初始值。可以从长期存储器143中获取最喜欢的加油站。选择性参数还可以包括车辆的燃料类型和燃料价格等。
如上所述,参数管理器124可以从对应的参考位置获取在动作参数DB 146a中搜索到的参数的参数值。可获取参数值的参考位置可以为语境信息DB 142、短期存储器144或长期存储器143、对话和动作状态DB 147以及外部内容服务器300中的至少一者。
参数管理器124可以经由外部信息管理器126从外部内容服务器300获取参数值。外部信息管理器126可以通过参考外部服务集合DB146d来确定从哪里获取信息。
外部服务集合DB 146d存储与连接到对话***100的外部内容服务器有关的信息。例如,外部服务集合DB 146d可以存储外部服务名称、关于外部服务的说明、从外部服务提供的信息的类型、外部服务使用方法以及提供外部服务的主体。
由参数管理器124获取的参数值可以被发送到对话动作管理器122,并且对话动作管理器122可以通过根据候选动作将初始值添加到动作状态来更新对话和动作状态DB147。
参数管理器124可以获取所有候选动作的参数值,或者参数管理器124可以仅获取由动作优先级确定器125被确定为可执行的候选动作的参数值。
另外,参数管理器124可以选择性地使用指示相同信息的不同类型的参数值中的参数值。例如,通过使用导航***的目的地搜索服务,可以将指示目的地并且呈文本形式的“首尔站”转换为POI的形式的“首尔站”。
当对话和语境中不存在模糊时,可以根据动作优先级确定器125、参数管理器124和外部信息管理器126的上述操作来获取所需信息并管理对话和动作。当对话和语境中存在模糊时,可能难以仅使用动作优先级确定器125、参数管理器124和外部信息管理器126的操作来提供用户所需的服务。
在这种情况下,模糊解算器123可以处理对话中或语境中的模糊。例如,当对话中包含回指(例如,那个人、昨天的那个地方、父亲、母亲、祖母和儿媳)时,可能存在模糊,因为不清楚回指代表谁或者哪一个。在这种情况下,模糊解算器123可以通过参考语境信息DB142、长期存储器143或短期存储器144来解决模糊,或者提供解决模糊的指导。
例如,“昨天的那个地方”、“住宅附近的A市场”和“我昨天去过的首尔站”中包含的含糊不清的词可以对应于动作参数的参数值或条件确定参数的参数值。然而,在这种情况下,由于单词的模糊性,不能通过使用相应的单词来执行实际动作或确定动作执行条件。
模糊解算器123可以通过参考存储在语境信息DB 142、长期存储器143或短期存储器144中的信息来解决参数值的模糊性。另外,根据需要,模糊解算器123可以通过使用外部信息管理器126从外部内容服务器300获取所需信息。
例如,模糊解算器123可以通过参考短期存储器144来搜索用户昨天去过的地方,以便将“昨天的那个地方”转换为可用作路线引导动作的目的地的信息。另外,模糊解算器123可以通过参考长期存储器143来搜索用户的住宅地址,并且从外部内容服务器300获取与用户的住宅地址附近的A市场相关的位置信息。因此,模糊解算器123可以将“住宅附近的A市场”转换为可用作路线引导动作的目的地的信息。
另外,当输入处理器110没有清楚地提取动作(对象和操作符)时或者当用户的意图不清楚时,模糊解算器123可以通过参考模糊解析信息DB 146e来识别用户的意图,并确定对应于所识别的意图的动作。
图25为示出存储在模糊解析信息DB中的信息的示例的表格。
基于车辆状态信息和周围环境信息,模糊解析信息DB 146e可以将话语与对应于话语的动作相匹配,然后存储所述话语和动作。存储在模糊解析信息DB 146e中的话语可以为不能通过自然语言理解提取动作的话语。图25示出了根据语素分析结果的话语内容为手要冻了或手冷的情况。
周围环境信息可以包括车辆的室外温度以及是否在下雨,并且车辆状态信息可以包括空调和加热器的开/关以及空调的风量和风向以及方向盘电热丝的开/关。
具体地,在下雨时室外温度超过20度的状态下,当空调开启(ON)时,可以识别出因空调温度设定为低而感到手要冻了,因此“将空调温度增加3度”可以存储为与其对应的车辆控制动作。
在下雨时室外温度超过20度的状态下,当空调关闭(OFF)时,可以识别出用户因下雨而感到寒冷,并因此“加热器开启”可以被存储为与其对应的车辆控制动作。
在没有下雨时室外温度超过20度的状态下,当空调开启(ON)并且空调的风向为上部时,可以识别出因为空调的风直接影响到手而感到手要冻了,因此“将空调的风向改变到下侧”可以被存储为与其对应的车辆控制动作。
在没有下雨时室外温度超过20度的状态下,当空调开启(ON)、空调的风向为下侧并且风量设定为超过中间水平时,可以识别出由于空调的风量过大而使用户感觉到寒冷,因此“降低空调的风量”可以被存储为与其对应的车辆控制动作。
在没有下雨时室外温度超过20度的状态下,当空调开启(ON)、空调的风向为下侧并且风量设定为弱时,“将空调温度增加3度”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,当加热器关闭(OFF)时,可以识别出由于寒冷天气导致手要冻了,并因此“开启加热器”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,当加热器开启(ON)并且方向盘电热丝关闭时,可以识别出因为热空气不会被传递到手上而手要冻了,并因此,“方向盘电热丝开启”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,当加热器和方向盘电热丝开启(ON)并且加热器的风向为下侧时,可以识别出因为加热器的风不会传递到手上而手要冻了,并因此“将加热器的风向改变为双向”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,加热器和方向盘电热丝开启(ON),加热器的风向为上侧,当加热器温度设定为低于最高温度时,“增加加热器的温度”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,加热器和方向盘电热丝开启(ON),加热器的风向为上侧,并且加热器温度设定为最高,当加热器的容量未设定为最高时,“增加加热器的风量”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,加热器和方向盘电热丝开启(ON),加热器的风向为上侧,并且加热器温度和加热器的风量设定为最高,当座位电热丝关闭时,“开启座位电热丝”可以被存储为与其对应的车辆控制动作。
在室外温度低于20度的状态下,加热器和方向盘电热丝开启(ON),加热器的风向为上侧,并且加热器温度和加热器的风量设定为最高,当座位电热丝开启时,“通知等待一段时间,因为加热器现在处于全操作(满载)状态”可以被存储为与其对应的车辆控制动作。
图26A和图26B为示出由于模糊解算器通过参考模糊解析信息DB来解决模糊性并提取动作而执行车辆控制的各种示例的表格。
例如,如图26A和图26B所示,在根据语素分析结果的话语内容为手要冻了或手冷的状态下,当周围环境为夏天、车辆状态为空调的风向为在乘客头部侧(上侧)、空调设定温度为19度并且空调的风量为高水平时,可以识别出手由于空调的风指向手而要冻了。可以将用于在将风向改变到脚侧(下侧)的同时降低风量强度的空调控制动作提取为与话语相对应的动作,并且可以根据所提取的动作来控制车辆。
另外,在具有相同内容的话语中,当周围环境为冬天、车辆状态为空调的风向为乘客的脚、空调设定温度为25度并且空调的风量为高水平时,可以识别出因为热空气不会传递到手上而手要冻了。“开启方向盘电热丝”动作可以被提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
在根据语素分析结果的话语内容为“烦躁”的状态下,当车速为30km或更低并且前后间隙小于30cm时,可以识别出烦躁是由于交通繁忙引起的。因此,可以将“在路线引导动作中改变路线选项(快速路线引导)”、“播放多媒体内容,例如音乐”或“开启聊天功能”提取为与话语相对应的动作,并且可以根据提取的动作控制车辆。
在根据语素分析结果的话语内容为“困倦”的状态下,当车辆状态为内部空气模式时,可以识别出困倦是由缺乏空气流通引起的。因此,可以将“改变为外部空气模式”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
另外,在具有相同内容的话语中,当车辆状态为外部空气模式并且加热器开启(ON)时,可以识别出困倦是由加热器发出的热空气引起的。可以将“打开窗户”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
在根据语素分析结果的话语内容为“出汗”或“热”的状态下,当周围环境为冬天并且加热器开启(ON)时,可以识别出热量是由加热器发出的热空气引起的。因此,“降低加热器温度”或“减小风量”可以被存储为与话语相对应的动作。
另外,在具有相同内容的话语中,当周围环境为冬天并且当加热器关闭(OFF)时,可以识别出热量是由用户的体热引起的。因此,可以将“打开窗户”或“建议打开窗户”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且当空调关闭(OFF)时,可以识别出热量是由车辆的内部温度升高引起的。因此,可以将“开启空调”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且当空调开启(ON)时,可以识别出热量是由设定为高的空调温度引起的。因此,可以将“降低空调温度”或“增加空调的风量”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
在根据语素分析结果的话语内容为“冷”的状态下,当周围环境为夏天并且当空调开启(ON)时,可以识别出冷是由空调温度设定得过低或受到空调过强的风力引起的。因此,可以将“增加空调温度”或“减小风量”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且当空调关闭(OFF)时,可以识别出冷是由用户的身体状况引起的。可以将“操作加热器”或“检查用户的生物节律”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为冬天并且加热器开启(ON)时,可以识别出冷是由加热器温度设定为低或弱风量引起的。因此,可以将“增加加热器温度”或“增加风量”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为冬天并且加热器关闭(OFF)时,可以识别出冷是由于加热器的未操作引起的。可以将“操作加热器”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
在根据语素分析结果的话语内容为“头部疼痛”的状态下,当周围环境为冬天并且加热器开启(ON)时,可以识别出头痛是由缺乏空气流通引起的。因此,可以将“改变为外部空气模式”或“打开窗户”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
另外,在具有相同内容的话语中,当周围环境为冬天并且加热器关闭(OFF)时,可以识别出头痛是由寒冷引起的。可以将“操作加热器”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且空调关闭(OFF)时,可以识别出头痛是由热引起的。可以将“操作空调”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且空调开启(ON)时,可以识别出头痛是由空调病引起的。可以将“改变空调的风向或风量”提取为与话语相对应的动作,并且可以根据提取的动作来控制车辆。
在根据语素分析结果的话语内容为“不舒服”的状态下,当周围环境为冬天并且正在下雨时,可以识别出不舒服是由高湿度引起的。因此,可以将“操作除雾功能”或“操作除湿功能”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且没有下雨时,可以识别出不舒服是由季节特征和热引起的。因此,可以将“在最低温度下操作空调”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
另外,在具有相同内容的话语中,当周围环境为夏天并且正在下雨时,可以识别出不舒服是由热和高湿度引起的。因此,可以将“在除湿模式下操作空调”提取为对应于话语的动作,并且可以根据提取的动作控制车辆。
根据上述模糊解算器123的操作,尽管在用户的话语或情况中存在模糊性,但模糊解算器123可以通过整体考虑用户话语的周围环境信息和车辆状态信息来精确地识别用户实际期望的动作,或者用户实际需要的动作,并且提供期望的动作和所需的动作。
与模糊解算器123确定的动作有关的信息可以被发送到对话动作管理器122,并且对话动作管理器122可以基于发送的信息更新对话和动作状态DB 147。
如上所述,动作优先级确定器125和参数管理器124可以确定关于由模糊解算器123确定的动作的动作执行条件,确定其优先级并获取参数值。
当获取了用于执行每个动作的参数值中的所有能够通过当前语境和对话获取的值时,对话动作管理器122可以向对话流管理器121发送信号。
另一方面,当在对话和动作状态DB 147、外部内容服务器300、长期存储器143、短期存储器144和语境信息DB 142中不存在用于动作执行和条件确定的必要参数值,只能通过用户获取这些必要参数时,结果处理器130可以生成用于向用户询问参数值的对话响应。
对话流管理器121可以将与对应于第一优先级动作的动作有关的信息和对话状态发送到结果处理器130。另外,对话流管理器121可以根据对话策略发送与多个候选动作有关的信息。。
图27为详细示出结果处理器的配置的控制框图。
参考图27,结果处理器130包括:响应生成管理器131,其管理执行从对话管理器120输入的动作所需的响应的生成;对话响应生成器132,根据响应生成管理器131的请求而生成文本、图像或音频类型的响应;命令生成器136,根据响应生成管理器131的请求,生成用于车辆控制或使用外部内容提供服务的命令;服务编辑器134,其按顺序或偶尔地执行多个服务并收集其结果值以提供用户期望的服务;输出管理器133,其输出所生成的文本类型响应、图像类型响应或音频类型响应,输出由命令生成器136生成的命令,或者当输出为多个时确定输出的顺序;以及存储器管理器135,其基于响应生成管理器131和输出管理器133的输出来管理长期存储器143和短期存储器144。
结果处理器130可以包括:存储器,用于执行上述操作和稍后描述的操作的程序存储在该存储器中;以及用于执行存储的程序的处理器。可以提供至少一个存储器和一个处理器,并且当提供多个存储器和处理器时,它们可以集成在单个芯片上或物理上分开。
另外,包含在结果处理器130中的每个组件可以由相同的处理器或单独的处理器实现。
另外,结果处理器130、对话管理器120和输入处理器110可以由相同的处理器或单独的处理器实现。
通过对应于用户的话语或语境输出的响应可以包括对话响应、车辆控制和外部内容提供。对话响应可以包括初始对话、询问和包括信息的回答等。对话响应可以作为数据库存储在响应模板149中。
响应生成管理器131可以请求对话响应生成器132和命令生成器136生成执行由对话管理器120确定的动作所需的响应。为此,响应生成管理器131可以将与待执行的动作有关的信息发送到对话响应生成器132和命令生成器136,其中,与待执行的动作有关的信息可以包括动作名称和参数值等。当生成响应时,对话响应生成器132和命令生成器136可以参考当前对话状态和动作状态。
对话响应生成器132可以通过搜索响应模板149来获取对话响应模板,并通过用参数值填充所提取的对话响应模板来生成对话响应。生成的对话响应可以被发送到响应生成管理器131。当没有从对话管理器120发送生成对话响应所需的参数值时或者当发送使用外部内容的介绍时,对话响应生成器132可以从外部内容服务器300接收参数值或者搜索长期存储器143、短期存储器144或语境信息DB 142。
例如,当对话管理器120确定的动作对应于路线引导时,对话响应生成器132可以搜索响应模板149,并且然后提取对话响应模板“从[当前位置:-]到[目的地:-]需要[持续时间:-]。开始引导?”。
可以从对话管理器120发送对话响应模板中需要填充的参数中的[当前位置]和[目的地],并且可以不发送[持续时间]的参数值。在这种情况下,对话响应生成器132可以向外部内容服务器300请求从[当前位置]到[目的地]花费的持续时间。
当对用户话语或语境的响应包括车辆控制或外部内容提供时,命令生成器136可以生成用于执行车辆控制或外部内容提供的命令。例如,当由对话管理器120确定的动作为空调装置、窗户、座位和AVN等的控制时,命令生成器136可以生成执行控制的命令,然后将所述命令发送到响应生成管理器131。
另外,当由对话管理器120确定的动作需要外部内容提供时,命令生成器136可以生成用于从外部内容服务器300接收相应内容的命令,然后将命令发送到响应生成管理器131。
当由命令生成器136生成多个命令时,服务编辑器134可以确定执行多个命令的方法和顺序,并将该方法和顺序发送到响应生成管理器131。
响应生成管理器131可以将从对话响应生成器132、命令生成器136或服务编辑器134发送的响应发送到输出管理器133。
输出管理器133可以确定由对话响应生成器132生成的对话响应以及由命令生成器136生成的命令的输出定时、输出顺序和输出位置。
输出管理器133可以通过以适当的定时将由对话响应生成器132生成的对话响应和由命令生成器136生成的命令以适当的顺序发送到适当的输出位置来输出响应。输出管理器133可以经由扬声器232输出文本到语音(TTS,Text to Speech)响应,并且经由显示器231输出文本响应。当输出TTS类型的对话响应时,输出管理器133可以使用设置在车辆200中的TTS模块,或者另选地,输出管理器133可以包括TTS模块。
根据控制目标,可以将命令发送到车辆控制器240或用于与外部内容服务器300通信的通信装置280。
响应生成管理器131还可以将从对话响应生成器132、命令生成器136或服务编辑器134发送的响应发送到存储器管理器135。
另外,输出管理器133可以将自身输出的响应发送到存储器管理器135。
存储器管理器135可以基于从响应生成管理器131和输出管理器133发送的内容来管理长期存储器143或短期存储器144。例如,存储器管理器135可以通过基于所生成和输出的对话响应存储用户和***之间的对话内容来更新短期存储器144。存储器管理器135可以通过存储通过与用户对话获取的与用户相关的信息来更新长期存储器143。
另外,在存储在短期存储器144中的信息中,有意义的持久信息(例如,用户的偏好或取向)或用于获取有意义的持久信息的信息可以存储在长期存储器143中。
另外,基于对应于所生成和输出的命令的车辆控制和外部内容请求,可以更新存储在长期存储器143中的用户偏好或车辆控制历史。
根据上述实施例,对话***100可以通过考虑车辆内部发生的各种情况来提供最适合用户的服务。特别是,在不输入用户的话语的情况下,对话***100也可以基于由其自身收集的语境信息或驾驶员信息来自己确定用户所需的服务,并主动提供服务。
例如,车辆状态的评价标准可以根据启动车辆时的情况而变化,因此可以主动地提供反馈。行驶开始时间可以被定义为车辆启动时间,释放电子停车制动器的时间点(EPB,Electronic Parking Brake)或设置导航目的地的时间点。计算行驶可用得分的车辆状况评价***可以赋予各个装置以权重,并根据情况因素改变应用于各个装置的可变权重。当确定车辆状态存在问题时,可以提供关于各个装置的解决方案,例如修理店引导。
另外,车辆启动时通过考虑目的地,可以确定车辆是否缺少燃料。当缺乏燃料时,作为缺少燃料的反馈,可以执行将用户喜爱的加油站添加到到目的地的路线中的自动停留点,并通知用户停车点的变化。另外,根据用户的响应,可以改变作为自动停留点添加的加油站。
另外,尽管当前的车辆状态并不指示燃料不足,但是可以通过综合考虑用户的下一个日程安排、主要移动记录和剩余燃料量来主动提供加油站或加油时间。
另外,通过获取与驾驶员的身体状况和睡眠记录相关的信息,可以基于所获取的信息有条件地允许车辆启动。例如,当从车辆外部通过识别身体状况和睡眠记录来识别出困倦驾驶的风险时,可以建议用户不驾驶车辆。另选地,可以根据身体状况或睡眠记录提供与推荐驾驶时间有关的信息。
另外,当反复发生指示困倦驾驶风险的触发时,可以检测到困倦驾驶的风险并根据风险程度输出警告或提供诸如自动改变路线即改变到休息区的路线的反馈。可以通过手动测量驾驶员的状态和车辆状态(例如,心率降低的情况,前后间隙为参考距离或更多的情况,车速为参考速度或更低的情况)或经由对话的主动测量(例如向驾驶员说出问题并测量驾驶员对问题的响应速度的情况)来获取指示困倦驾驶风险的触发。
另外,当用户输入指示情绪的话语时,对话***100可以不从用户的话语中提取某个域或动作。然而,对话***100可以通过使用周围环境信息、车辆状态信息和用户状态信息来识别用户的意图,然后继续对话。如上所述,该实施例可以通过模糊解算器123解决用户话语的模糊性来执行。
在下文中,将详细描述使用根据一个实施例的对话***100的具体的对话处理的示例。
图28至图40为示出当用户输入与路线引导相关的话语时对话***100处理输入、管理对话并输出结果的特定示例的视图。
如图28所示,当用户输入话语“让我们去昨天去的首尔站”时,语音识别器111a可以以文本形式的话语(让我们去昨天去的首尔站)输出用户的语音。
自然语言理解部分111b可以通过参考域/动作推断规则DB 141,执行语素分析并从语素分析结果(昨天/NNG、去/VV、首尔站/NNP、去/VV)输出[域:导航]、[动作:路径引导]、[语音行为;请求]和[参数:NLU:目的地:首尔站],然后将它们输入到对话输入管理器111c。
参考图29,在将自然语言理解部分111b的自然语言理解结果发送到语境理解部分112c时语境理解部分112c中存在附加信息时,对话输入管理器111c可以请求语境理解部分112c发送附加信息。
语境理解部分112c可以搜索语境理解表145并且提取与[域:导航]和[动作:路线引导]相关的语境信息为当前位置并且语境信息的类型为GPS值的事实。
语境理解部分112c可以通过搜索语境信息DB 142来获取当前位置的GPS值。当当前位置的GPS值未存储在语境信息DB 142中时,语境理解部分112c可以向语境信息收集管理器112b请求当前位置的GPS值。
语境信息收集管理器112b可以向语境信息收集器112a发送信号,使得语境信息收集器112a收集当前位置的GPS值。语境信息收集器112a可以从车辆控制器240收集当前位置的GPS值,然后将当前位置的GPS值存储在语境信息DB 142中,同时将GPS值收集确认信号发送到语境信息收集管理器112b。当语境信息收集管理器112b将GPS值收集确认信号发送到语境理解部分112c时,语境理解部分112c可以从语境信息DB 142获取当前位置的GPS值,然后向对话输入管理器111c发送当前位置的GPS值。
对话输入管理器111c可以组合作为自然语言理解结果的[域:导航]、[动作:路线引导]、[语音行为;请求]、[参数:NLU:目的地:首尔站]和[语境信息:当前位置:Uiwang站(GPS值)],然后将组合信息发送到对话管理器120。
参考图30,对话流管理器121可以搜索对话和动作状态DB 147,并确定是否存在当前正在进行的对话任务或动作任务。此时,对话流管理器121可以参考对话策略DB 148。根据该实施例,假设不存在当前正在进行的对话任务或动作任务。
对话流管理器121可以请求对话动作管理器122生成与输入处理器110的输出相对应的动作任务和对话任务。动作任务和对话任务的生成可以表示指定用于存储和管理与动作状态和对话状态有关的信息的存储空间。
因此,对话动作管理器122可以指定对话和动作状态DB 147中的存储空间,以存储与动作状态和对话状态有关的信息。
对话动作管理器122可以将动作状态和对话状态发送到动作优先级确定器125。
动作优先级确定器125可以在关系动作DB 146b中搜索与路径引导相关的车辆状态检查和加油站推荐。路线引导动作和关系动作可以成为候选动作。
动作优先级确定器125可以根据预存储的规则确定各候选动作的优先级。在确定各候选动作的执行条件之前,可以确定优先级,或者可选地,在确定候选动作的执行条件之后,可以仅确定关于满足执行条件的候选动作的优先级。
候选动作列表可以被再次发送到对话动作管理器122,并且对话动作管理器122可以通过添加搜索到的关系动作来更新动作状态。
参考图31,动作优先级确定器125可以在动作执行条件DB 146c中搜索关于每个候选动作的执行条件和确定执行条件所需的参数。另外,动作优先级确定器125还可以确定候选动作之间的优先级。
例如,用于车辆状态检查的条件可以为目的地距离等于或大于100km的情况,其中,用于确定条件的参数可以为目的地距离。
用于执行加油站推荐的条件可以为目的地距离大于耗尽距离(DTE)的情况,其中,用于确定执行条件的参数可以为目的地距离和耗尽距离(DTE)。
对话动作管理器122可以通过将用于执行每个候选动作的条件和确定所述条件所需的参数添加到对话和动作状态DB 147来更新动作状态。
动作优先级确定器125可以在对话和动作状态DB 147、语境信息DB 142、长期存储器143或短期存储器144中搜索确定候选动作是否满足执行条件所需的参数值,并且从对话和动作状态DB 147、语境信息DB 142、长期存储器143或短期存储器144获取参数值。
当参数值包含在先前对话内容中,在与对话内容相关的语境信息中,或者在与所生成的事件有关的语境信息中时,动作优先级确定器125可以从对话和动作状态DB 147获取参数值。
当动作优先级确定器125未能从对话和动作状态DB 147、语境信息DB 142、长期存储器143或短期存储器144获取参数值时,动作优先级确定器125可以向外部信息管理器126请求参数值。
例如,可以经由外部信息管理器126从提供导航服务的外部内容服务器300获取目的地距离,并且可以从语境信息DB 142获取DTE。同时,为了搜索目的地距离,可能需要用于导航服务的正确目的地信息。在该实施例中,从用户的话语输入的目的地可以对应于“首尔站”,其中,“首尔站”可以包括具有以“首尔站”开头的名称的各种地方以及具有特定含义的“首尔站”。因此,仅使用“首尔站”可能难以搜索正确的目的地距离。
另外,根据需要,可以从连接到车辆200的移动装置400获取参数值。例如,当需要未存储在长期存储器143中的用户信息(例如,联系人和日程表)作为参数值时,外部信息管理器126可以向移动装置400请求所需信息,然后获取所需的参数值。
另外,当经由存储装置140、外部内容服务器300和移动装置400也无法获取参数值时,可以通过询问用户来获取所需的参数值。
动作优先级确定器125可以通过使用参数值来确定候选动作的执行条件。由于未搜索到目的地距离,因此可以推迟与车辆状态检查动作和加油站推荐相关的执行条件的确定。
如图32中所示,对话动作管理器122可以通过将所获取的参数值与通过使用相应参数值确定的是否满足动作执行条件添加到对话和动作状态DB 147来更新动作状态。
对话动作管理器122可以向参数管理器124请求用于执行各候选动作的参数列表。
参数管理器124可以从动作参数DB 146a获取当前位置和目的地作为用于执行路线引导动作的必要参数,并且提取路线类型(初始值:快速路线)作为选择性参数。
参数管理器124可以作为用于执行车辆状态检查动作的选择性参数获取***分(初始值:整个部分),并提取喜爱的加油站(初始值:A-加油站)作为用于执行加油站推荐动作的选择性参数。
提取的参数列表可以被发送到对话动作管理器122并用于更新动作状态。
参数管理器124可以在对话和动作状态DB 147、语境信息DB142、长期存储器143和短期存储器144中的每个参数的参考位置中搜索对应的参数值以获取对应于各候选动作的必要参数和选择性参数的参数值。当需要经由外部服务提供参数值时,参数管理器124可以经由外部信息管理器126向外部内容服务器300请求所需的参数值。
用于确定候选动作的执行条件的参数和用于执行候选动作的参数可能重叠。在由动作优先级确定器125获取然后存储在对话和动作状态DB 147中的参数值中,当存在与用于执行候选动作的参数(必要参数和选择性参数)相对应的参数时,可以使用相应的参数。
参考图33,对话动作管理器122可以通过添加由参数管理器124获取的参数值来更新动作状态。
如上所述,当使用从用户的话语中提取的目的地(首尔站)作为路线引导动作的参数时,可能存在模糊。因此,可能尚未获取路线引导动作的参数(目的地)、车辆状态检查动作的参数(目的地距离)以及加油站推荐的参数(目的地距离)。
当[参数:NLU:目的地:首尔站]被转换为适合路线引导动作的目的地参数时,模糊解算器123可以检查是否存在模糊。如上所述,“首尔站”可以包括具有以“首尔站”开头的名称的不同种类的地方,以及具有用户特定含义的“首尔站”。
模糊解算器123可以通过参考语素分析结果来确认在用户话语中存在“首尔站”的修饰语。模糊解算器123可以在长期存储器143或短期存储器144中搜索日程安排、移动位置和联系人,以识别“我们昨天去的首尔站”的位置。
例如,模糊解算器123可以从用户昨天执行的移动位置确认“我们昨天去的首尔站”为“首尔站出口4”。在确认存在POI(例如,“首尔站出口4”)之后,模糊解算器123可以获取相应的值。
由模糊解算器123获取的目的地信息可以被发送到对话动作管理器122,并且对话动作管理器122可以通过向候选动作的目的地参数添加“首尔站出口4”来更新动作状态。
参数管理器124可以从对话和动作状态DB 147获取目的地信息(首尔站出口4),并且经由外部信息管理器126向提供导航服务的外部内容服务器300请求目的地距离值。
参考图34,当外部信息管理器126从外部内容服务器300获取目的地距离值(80km)然后将该目的地距离值发送到参数管理器124时,参数管理器124可以将目的地距离值发送到对话动作管理器122以允许更新动作状态。
动作优先级确定器125可以通过参考动作状态来确定候选动作是否可执行,并调节候选动作的优先级。由于获取了作为必要参数的当前位置和目的地的参数值,因此可以确定路线引导动作是可执行的。由于目的地距离(70km)小于100km,因此可以确定车辆状态检查动作不可执行。由于目的地距离(80km)大于DTE,因此可以确定加油站推荐动作是可执行的。
由于车辆状态检查动作不可执行,因此可以从优先级确定中排除车辆状态检查动作。因此,路线引导动作可以被排序为第一,并且加油站推荐动作可以被排序为第二。
对话动作管理器122可以根据候选动作是否可执行以及修改的优先级来更新动作状态。
对话流管理器121可以检查存储在对话和动作状态DB 147中的对话状态和动作状态,并且可以通过参考对话策略DB 148来开发对话策略以继续对话。例如,对话流管理器121可以在可执行动作中选择最高优先级动作,并且对话流管理器121可以根据对话策略DB148请求响应生成管理器131生成用于进行对话的响应。
存储在对话和动作状态DB 147中的对话状态和动作状态可以被更新为[状态:确认路线引导开始]。
参考图35,响应生成管理器131可以响应于对话流管理器121的请求,请求生成对话响应生成器132的响应。
对话响应生成器132可以通过搜索响应模板149来生成TTS响应和文本响应。例如,对话响应生成器132可以生成对话响应,该对话响应被配置为以TTS和文本表格输出“预计从Uiwang站到首尔站出口4需要30分钟。你想开始引导吗?”。
响应生成管理器131可以将由对话响应生成器132生成的TTS响应和文本响应发送到输出管理器133和存储器管理器135,并且输出管理器133可以将TTS响应发送到扬声器232并将文本响应发送到显示器231。此时,输出管理器133可以将TTS响应在通过被配置为将文本合称为语音的TTS模块之后发送到扬声器232。
存储器管理器135可以在短期存储器144或长期存储器143中存储用户请求路线引导。
被配置为询问“预计从Uiwang站到首尔站4号出口需要30分钟。你想开始引导吗?”的对话响应可以经由显示器231和扬声器232输出。如图36所示,当用户说出“是”时,可以将用户的话语输入到语音识别器111a,然后输出为[文本:是],并且自然语言理解部分111b可以输出[域:-]、[动作:-]、[语音动作:-]和[语素分析结果:是/IC]。
将自然语言理解结果发送到对话输入管理器111c,并且对话输入管理器111c将自然语言理解结果发送到对话管理器120。
参考图37,对话流管理器121可以搜索对话和动作状态DB 147并分析先前的对话状态。对话流管理器121可以请求对话动作管理器122更新与当前执行的[路线引导]相关的对话/动作。
对话动作管理器122可以将对话状态和动作状态更新为[状态:路线引导开始]。
对话流管理器121可以请求结果处理器130生成用于开始路线引导的响应。
参考图38,对话动作管理器122可以将对话状态更新为[状态:进行下一个对话]并将动作状态更新为[状态:执行]。
对话流管理器121可以请求响应生成管理器131生成对路线引导的响应。
对话响应生成器132可以生成被配置为将“开始路线引导”输出为TTS和文本表格的对话响应,然后将对话响应发送到响应生成管理器131。
命令生成器136可以生成用于执行路线引导的命令[目标:导航、命令:路线引导,目的地:首尔站出口4,出发:Uiwang站],然后将该命令发送到响应生成管理器131。
响应生成管理器131可以将生成的对话响应和命令发送到输出管理器133。输出管理器133可以经由显示器231和扬声器232输出对话响应。输出管理器133可以经由车辆控制器240将路线引导命令发送到车辆200的AVN 230,或者发送到提供导航服务的外部内容服务器300。
参考图39,对话流管理器121可以选择加油站推荐作为下一个可执行动作,并请求响应生成管理器131生成响应,该响应被配置为询问用户是否推荐加油站。
对话状态和动作状态可以被更新为[状态:检查相关的服务推荐]。
响应生成管理器131可以请求对话响应生成器132生成TTS响应和文本响应,并且对话响应生成器132可以生成对话响应,该对话响应被配置为以TTS和文本表格输出“没有足够的燃料到达目的地。你想将A-加油站添加到停留点吗?”。对话响应生成器132可以将该TTS和文本发送到响应生成管理器131。
响应生成管理器131将由对话响应生成器132生成的TTS响应和文本响应发送到输出管理器133和存储器管理器135,并且输出管理器133将TTS响应发送到扬声器232并将文本响应发送到显示器231。
被配置为询问“没有足够的燃料到达目的地。您想要将A-加油站添加到停留点吗?”的对话响应可以经由显示器231和扬声器232输出。如图40所示,当用户说出“否”时,可以将用户的话语输入到语音识别器111a,然后输出为[文本:否],并且自然语言理解部分111b可以输出[域:-]、[动作:-]、[语音行为:-]和[语素分析结果:否/IC]。
对话流管理器121可以请求对话动作管理器122更新对话状态和动作状态。
对话动作管理器122可以将对话状态更新为[状态:进行下一个对话]并将动作状态更新为[状态:取消]。
对话流管理器121请求响应生成管理器131生成指示加油站推荐服务被取消的响应,并且对话流管理器121检查是否存在要继续进行的对话。当要继续的对话不存在时,对话流管理器121可以将对话状态更新为[状态:空闲]并等待用户的输入。
上述数据处理的流程仅为应用于对话***100的示例。因此,对话***100的每个组件处理数据的顺序不限于上述示例,因此多个组件可以同时处理数据,或者多个组件可以按与上述示例不同的顺序处理数据。
在下文中,根据实施例,将描述对话处理方法。根据实施例,对话处理方法可以应用于上述对话***100或设置有对话***100的车辆200。因此,图1至图40的描述将以相同的方式应用于对话处理方法。
图41为示出根据实施例的在对话处理方法中处理用户输入的方法的流程图。处理用户输入的方法可以在对话***100的输入处理器110中执行。
参考图41,当输入用户的话语时(500中的是),语音识别器111a可以识别输入的用户的话语(510)。用户的话语可以输入到设置在车辆200中的语音输入装置210或设置在移动装置400中的语音输入装置410。
语音识别器111a可以识别输入的用户的话语并输出文本形式的话语。
自然语言理解部分111b可以将自然语言理解技术应用于文本形式的话语(520),并输出自然语言理解的结果。
具体地,自然语言理解过程(520)可以包括对文本形式的话语执行语素分析(521)、基于语素分析结果从话语中提取域(522)、识别实体名称(523)、分析言语行为(524),基于分析出的言语行为确定状态话语(525),并提取动作(526)。
可以通过参考域/动作推断规则DB 141来执行域的提取、实体名称的识别和动作的提取。
自然语言理解部分111b的输出,即自然语言理解的结果,可以包括与用户的话语相对应的域、动作、语音行为以及语素分析的结果等。
搜索与提取的动作有关的语境信息(530)。与提取的动作有关的语境信息可以存储在语境理解表145中。语境理解部分112c在语境理解表145中搜索与提取的动作有关的语境信息,并且语境信息处理器112c从语境信息DB 142、长期存储器143或短期存储器144中获取搜索到的语境信息的信息值。
当需要附加语境信息时(540中的是),即,存在不能从语境信息DB 142、长期存储器143或短期存储器144获取的语境信息的情况下,语境理解部分112c可以请求收集相应的语境信息(550)。除了语音之外的输入,例如车辆状态信息、周围环境信息和驾驶员信息可以与用户的话语的输入分开,经由语境信息收集器112a输入。
信息可以周期性地输入或仅在发生特定事件时输入。另外,信息可以周期性地输入,然后在发生特定事件时另外输入。在任何情况下,当请求收集信息时,可以主动收集相应的信息。
因此,当已经收集了与动作相关的语境信息时,可以从语境信息DB 142、长期存储器143或短期存储器144获取相应的信息,否则,相应的信息可以经由语境信息收集器112a收集。
当接收到用于收集语境信息的请求的语境信息收集器112a收集对应的语境信息并将该信息存储在语境信息DB 142中时,语境理解部分112c可以从语境信息DB 142获取相应的语境信息。
另一方面,当语境信息收集管理器112b确定由于语境信息收集器112a所收集的数据满足预定条件而发生某个事件时,语境信息收集管理器112b可以将动作触发信号发送到语境理解部分112c。
语境理解部分112c搜索语境理解表145以用于搜索与相应事件有关的语境信息,并且当搜索到的语境信息未存储在语境理解表145中时,语境理解部分112c可以再次向语境信息收集管理器112b发送语境信息请求信号。
当完成所需语境信息的收集时,可以将自然语言理解的结果和语境信息发送到对话管理器120(560)。当事件发生时,还可以发送与事件有关的信息(发生哪个事件)和与发生的事件有关的语境信息。
图42为示出根据实施例的在对话处理方法中使用输入处理器的输出来管理对话的方法的流程图。对话处理方法可以由对话***100的对话管理器120执行。
参考图42,对话流管理器121在对话和动作状态DB 147中搜索相关对话历史(600)。
在该实施例中,描述从用户的话语中提取域和动作的情况作为示例,但是可能存在这样的情况:不可能从用户的话语中提取域和动作,因为存在话语内容或语境的模糊性。在这种情况下,对话动作管理器122可以生成随机对话状态,并且模糊解算器123可以基于用户的话语的内容、环境条件、车辆状态和用户信息等来识别用户的意图,并且确定适合用户意图的动作。
当存在相关对话历史时(600中的是),可以参考相关对话历史(690)。当不存在相关对话历史时(600中的否),可以生成新的对话任务和动作任务(610)。
可以在关系动作DB 146b中搜索与从用户的话语中提取的动作(下文中称为输入动作)相关的相关动作列表,并且可以生成候选动作列表(620)。输入动作和与输入动作相关的动作可以对应于候选动作列表。
可以在动作执行条件DB 146c中搜索根据每个候选动作的执行条件(620)。执行条件可以表示执行动作的必要条件。因此,当满足相应条件时,确定动作是可执行的,但是当不满足相应条件时,确定动作不可执行。在动作执行条件DB 146c中,还存储与用于确定动作执行条件的参数的类型有关的信息。
可以获取用于确定动作执行条件的参数值(640)。用于确定动作执行条件的参数可以被称为条件确定参数。可以通过搜索语境信息DB142、长期存储器143、短期存储器144或对话和动作状态DB 147来获取条件确定参数的参数值。当需要经由外部服务提供条件确定参数的参数值时,可以经由外部信息管理器126从外部内容服务器300提供所需参数值。
另外,当由于语境和话语中的模糊性而不可能获取所需的参数值时,可以通过使用模糊解算器123解决模糊来获取所需的参数值。
另外,尽管所获取的参数为在动作执行条件确定中具有困难的无效参数,但是模糊解算器123可以从无效参数获取有效参数。
基于所获取的条件确定参数,确定每个候选动作是否可执行(650),并且可以确定候选动作的优先级(660)。可以预存储用于确定候选动作的优先级的规则。动作优先级确定器125可以在确定每个候选动作是否可执行之后,通过仅考虑可执行候选动作来确定候选动作的优先级。另选地,在不管每个候选动作是否可执行,确定候选动作的优先级之后,可以基于每个候选动作是否可执行来修改候选动作的优先级。
可以在动作参数DB 146a中搜索用于执行候选动作的参数列表(670)。用于执行候选动作的参数可以对应于动作参数。动作参数可以包括必要参数和选择性参数。
获取用于执行候选动作的参数值(680)。可以通过搜索语境信息DB 142、长期存储器143、短期存储器144或对话和动作状态DB 147来获取动作参数的参数值。当需要经由外部服务提供动作参数的参数值时,可以经由外部信息管理器126从外部内容服务器300提供所需参数值。
另外,当由于语境和话语中的模糊性而不能获取所需的参数值时,可以通过使用模糊解算器123解决模糊来获取所需的参数值。
另外,尽管所获取的参数为在动作执行条件确定中具有困难的无效参数,但是模糊解算器123可以从无效参数获取有效参数。
由对话动作管理器122管理的对话状态和动作状态可以通过上述步骤来执行,并且每当状态改变时,可以更新对话状态和动作状态。
当获得所有可获得的参数值时,对话流管理器121可以将与候选动作和对话状态有关的信息发送到结果处理器130。根据对话策略,对话流管理器121可以发送与对应于第一优先级的动作有关的信息或者与多个候选动作有关的信息。
另一方面,当由于在外部内容服务器300、长期存储器143、短期存储器144和语境信息DB 142中不存在所需参数值而仅能够通过用户获取所需参数值时,可以向用户输出用于询问参数值的对话响应。
图43为示出根据实施例的用于在对话处理方法中生成与对话管理的结果相对应的响应的结果处理方法的流程图。结果处理方法可以由对话***100的结果处理器130来执行。
参考图43,当需要生成对话响应时(700中的是),对话响应生成器132搜索响应模板149(710)。对话响应生成器132从响应模板149获取与当前对话状态和动作状态相对应的对话响应模板,并用所需参数值填充响应模板,以便生成对话响应(720)。
当没有从对话管理器120发送生成对话响应所需的参数值时,或者当发送使用外部内容的介绍时,可以从外部内容服务器300提供或者在长期存储器143、短期存储器144或语境信息DB 142中搜索所需的参数值。当由于在外部内容服务器300、长期存储器143、短期存储器144和语境信息DB 142中不存在所需参数值而仅能够通过用户获取所需参数值时,可以向用户生成用于询问参数值的对话响应。
当需要生成命令时(760),命令生成器136生成用于车辆控制或使用外部内容的命令(770)。
生成的对话响应或命令可以输入到输出管理器133,并且输出管理器133可以确定对话响应与命令的输出顺序或多个命令之间的输出顺序(730)。
基于所生成的对话响应或命令来更新存储器(740)。存储器管理器135可以通过基于所生成的对话响应或命令存储用户和***之间的对话内容来更新短期存储器144,并通过存储通过与用户的对话所获取的与用户有关的信息来更新长期存储器143。另外,存储器管理器135可以基于所生成和输出的车辆控制和外部内容请求来更新存储在长期存储器143中的用户的偏好和车辆控制历史。
输出管理器133可以通过将对话响应和命令发送到适当的输出位置来输出响应(750)。可以经由扬声器232输出TTS响应,并且文本响应可以在显示器231上输出。可以根据控制对象将命令发送到车辆控制器240,或者将命令发送到外部内容服务器300。另外,该命令可以被发送到被配置为与外部内容服务器300通信的通信装置280。
根据实施例的对话处理方法不限于上述流程图中的顺序。根据图41至图43的流程图的流程可以为仅是应用于对话处理方法的示例。因此,可以同时执行多个步骤,还可以改变每个步骤的顺序。
从上述描述显而易见的是,根据所提出的对话***,包括该对话***的车辆和对话处理方法,可以通过使用为该车辆指定的对话处理方法来提供适合于用户的意图或用户所需的服务。
另外,通过考虑车辆中出现的各种语境,可以提供用户所需的服务。具体地,无论用户的话语如何,都可以基于由对话***100收集的语境信息或驾驶员信息来确定用户所需的服务并主动提供服务。
可以通过基于各种信息诸如车辆行驶期间与用户的对话和车辆状态信息、行驶环境信息和用户信息,准确地识别用户的意图,根据用户的真实意图或用户最需要的服务来提供服务。
此外,可以通过不同于用户的直接控制话语的间接话语根据用户的意图执行车辆控制。
尽管已经示出和描述了本公开的一些实施例,但是本领域技术人员应当理解,在不脱离本公开的原理和精神的情况下,可以在这些实施例中进行改变,本公开的范围在权利要求及其等价物中定义。
Claims (31)
1.一种用于车辆的对话***,包括:
存储装置,其被配置为存储语境信息,所述语境信息包括指示车辆状态的车辆状态信息或与所述车辆的行驶环境相关的行驶环境信息中的至少一者;
输入处理器,其被配置为从用户获取话语并在识别出所述话语包括用户状态信息时提取与所述话语相对应的动作;
对话管理器,其被配置为从所述存储装置获取用于确定对应于所述话语的动作是否可执行的条件确定参数的参数值,以基于所述条件确定参数的参数值确定待执行的动作,并且从所述存储装置获取用于执行所确定的动作的动作参数的参数值;以及
结果处理器,其被配置为使用所获取的所述动作参数的参数值来生成用于执行所确定的动作的响应。
2.根据权利要求1所述的对话***,其中:
所述存储装置被配置为存储与多个动作中的每个动作相关的语境信息,以及
所述输入处理器被配置为从所述存储装置获取与对应于所述话语的所述动作相关的语境信息的信息值,并将所述信息值发送到所述对话管理器。
3.根据权利要求2所述的对话***,其中:
所述输入处理器被配置为当与对应于所述话语的所述动作相关的所述语境信息的信息值未存储在所述存储装置中时,请求与来自所述车辆的话语相对应的所述语境信息的信息值。
4.根据权利要求2所述的对话***,其中:
所述对话管理器被配置为将所述条件确定参数的参数值或所述动作参数的参数值设置为等于从所述输入处理器发送的语境信息的信息值。
5.根据权利要求1所述的对话***,其中:
所述存储装置被配置为存储关系动作之间的关系,以及
所述对话管理器被配置为从所述存储装置获取与对应于所述话语的动作相关的至少一个动作。
6.根据权利要求5所述的对话***,其中:
所述对话管理器被配置为确定对应于所述话语的动作与至少一个相关动作之间的优先级。
7.根据权利要求6所述的对话***,其中:
所述对话管理器被配置为从所述存储装置获取用于确定所述相关动作是否可执行的条件确定参数的参数值,并且基于所获取的条件确定参数的参数值来确定是否可执行所述至少一个相关动作。
8.根据权利要求7所述的对话***,其中:
所述对话管理器被配置为将待执行的动作确定为可执行并且在对应于所述话语的动作和所述至少一个相关动作之间具有最高优先级的动作。
9.根据权利要求1所述的对话***,其中,
当所述输入处理器不能提取对应于所述话语的动作时,所述对话管理器基于所述车辆状态信息或所述行驶环境信息中的至少一者来估算与所述话语相对应的动作。
10.根据权利要求1所述的对话***,还包括:
被配置为与外部服务器通信的通信器,
其中,所述对话管理器被配置为当所述对话管理器不能从所述存储装置获取所述条件确定参数的参数值或所述动作参数的参数值时,向所述外部服务器请求所述参数值。
11.根据权利要求1所述的对话***,其中:
所述结果处理器被配置为生成用于执行所确定的动作的对话响应和用于控制所述车辆的操作的命令。
12.根据权利要求1所述的对话***,还包括:
通信器,其被配置为从所述车辆或连接到所述车辆的移动装置中的至少一者接收所述语境信息的信息值,并将所述响应发送到所述车辆或所述移动装置。
13.根据权利要求1所述的对话***,其中:
所述输入处理器被配置为基于所述用户的用户信息提取与所述话语相对应的动作。
14.一种用于车辆的对话处理方法,包括:
在存储装置中存储语境信息,所述语境信息包括指示所述车辆状态的车辆状态信息或与所述车辆的行驶环境相关的行驶环境信息中的至少一者;
从用户获取话语;
当识别出所述话语包括用户状态信息时,提取对应于所述话语的动作;
从所述存储装置获取条件确定参数的参数值,所述条件确定参数用于确定对应于所述话语的动作是否可执行;
基于所述条件确定参数的参数值确定待执行的动作;
从所述存储装置获取用于执行所确定的动作的动作参数的参数值;以及
使用所获取的所述动作参数的参数值生成用于执行所确定的动作的响应。
15.根据权利要求14所述的对话处理方法,还包括:
存储与所述存储装置中的多个动作的每个动作相关的语境信息;
从所述存储装置中获取与对应于所述话语的所述动作相关的语境信息的信息值;以及
将所述信息值传送给对话管理器。
16.根据权利要求15所述的对话处理方法,还包括:
当与对应于所述话语的所述动作相关的所述语境信息的信息值未存储在所述存储装置中时,请求与来自所述车辆的话语相对应的语境信息的信息值;以及
将所述条件确定参数的参数值或所述动作参数的参数值设置为等于从所述输入处理器发送的语境信息的信息值。
17.根据权利要求15所述的对话处理方法,还包括:
在所述存储装置中存储关系动作之间的关系;
从所述存储装置获取与对应于所述话语的动作相关的至少一个动作;以及
确定对应于所述话语的所述动作与所述至少一个相关动作之间的优先级。
18.根据权利要求17所述的对话处理方法,还包括:
从所述存储装置获取条件确定参数的参数值,所述条件确定参数用于确定所述相关动作是否可执行;以及
基于所获取的条件确定参数的参数值来确定所述至少一个相关动作是否可执行。
19.根据权利要求18所述的对话处理方法,还包括:
将所述待执行的动作确定为可执行并且在对应于所述话语的动作和所述至少一个相关动作之间具有最高优先级的动作。
20.根据权利要求14所述的对话处理方法,还包括:
当所述输入处理器不能提取对应于所述话语的所述动作时,基于所述车辆状态信息或所述行驶环境信息中的至少一者估算对应于所述话语的所述动作。
21.根据权利要求14所述的对话处理方法,还包括:
当所述对话管理器无法从所述存储装置获取所述条件确定参数的参数值或所述动作参数的参数值时,从所述外部服务器请求所述参数值。
22.根据权利要求14所述的对话处理方法,还包括:
生成用于执行所确定的动作的对话响应和用于控制所述车辆的操作的命令。
23.根据权利要求14所述的对话处理方法,还包括:
从所述车辆或连接到所述车辆的移动装置中的至少一者接收所述语境信息的信息值;以及
将所述响应发送到所述车辆或所述移动装置。
24.根据权利要求14所述的对话处理方法,还包括:
接收所述用户的用户信息;以及
基于所述用户信息提取对应于用户话语的动作。
25.一种具有对话***的车辆,包括:
存储装置,其被配置为存储语境信息,所述语境信息包括指示所述车辆状态的车辆状态信息或与所述车辆的行驶环境相关的行驶环境信息中的至少一者;
输入处理器,其被配置为从用户获取话语并在识别出所述话语包括用户状态信息时提取与所述话语相对应的动作;
对话管理器,其被配置为从所述存储装置获取用于确定对应于所述话语的动作是否可执行的条件确定参数的参数值,以基于所述条件确定参数的参数值确定待执行的动作,并且从所述存储装置获取用于执行所确定的动作的动作参数的参数值;以及
结果处理器,其被配置为使用所获取的所述动作参数的参数值来生成用于执行所确定的动作的响应。
26.根据权利要求25所述的车辆,其中:
所述存储装置被配置为存储与多个动作中的每个动作相关的语境信息,以及
所述输入处理器被配置为从所述存储装置获取与对应于所述话语的所述动作相关的语境信息的信息值,并将所述信息值发送到所述对话管理器。
27.根据权利要求26所述的车辆,其中:
所述对话管理器被配置为将所述条件确定参数的参数值或所述动作参数的参数值设置为等于从所述输入处理器发送的语境信息的信息值。
28.根据权利要求25所述的车辆,其中:
所述存储装置存储关系动作之间的关系,以及
所述对话管理器被配置为从所述存储装置获取与对应于所述话语的动作相关的至少一个动作。
29.根据权利要求28所述的车辆,其中:
所述对话管理器被配置为确定对应于所述话语的动作与所述至少一个相关动作之间的优先级。
30.根据权利要求29所述的车辆,其中:
所述对话管理器被配置为从所述存储装置获取用于确定所述相关动作是否可执行的条件确定参数的参数值,并且基于所获取的条件确定参数的参数值来确定是否可执行所述至少一个相关动作。
31.根据权利要求25所述的车辆,其中:
所述输入处理器被配置为基于所述用户的用户信息提取与所述话语相对应的动作。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180056497A KR20190131741A (ko) | 2018-05-17 | 2018-05-17 | 대화 시스템 및 대화 처리 방법 |
KR10-2018-0056497 | 2018-05-17 | ||
KR10-2018-0067127 | 2018-06-12 | ||
KR1020180067127A KR102562227B1 (ko) | 2018-06-12 | 2018-06-12 | 대화 시스템, 그를 가지는 차량 및 차량의 제어 방법 |
KR10-2018-0073824 | 2018-06-27 | ||
KR1020180073824A KR20200001188A (ko) | 2018-06-27 | 2018-06-27 | 대화 시스템, 그를 가지는 차량 및 차량의 제어 방법 |
KR10-2018-0122295 | 2018-10-15 | ||
KR1020180122295A KR20200042127A (ko) | 2018-10-15 | 2018-10-15 | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110503947A true CN110503947A (zh) | 2019-11-26 |
CN110503947B CN110503947B (zh) | 2024-06-18 |
Family
ID=68584955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811496791.6A Active CN110503947B (zh) | 2018-05-17 | 2018-12-07 | 对话***、包括其的车辆和对话处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110503947B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523460A (zh) * | 2020-04-23 | 2020-08-11 | 上海铠盾科技有限公司 | 一种标准作业行为检测*** |
CN111883125A (zh) * | 2020-07-24 | 2020-11-03 | 北京蓦然认知科技有限公司 | 一种车辆语音控制方法、装置和*** |
CN114999490A (zh) * | 2022-08-03 | 2022-09-02 | 成都智暄科技有限责任公司 | 一种智能座舱音频控制*** |
WO2023272502A1 (zh) * | 2021-06-29 | 2023-01-05 | 华为技术有限公司 | 一种人机交互方法及装置、设备及车辆 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123936A (zh) * | 2013-04-25 | 2014-10-29 | 伊莱比特汽车公司 | 对话***自动训练方法、对话***及用于车辆的控制装置 |
US20150095037A1 (en) * | 2013-09-27 | 2015-04-02 | Clarion Co., Ltd. | Vehicular device, server, and information processing method |
US20150276424A1 (en) * | 2014-03-27 | 2015-10-01 | Electronics And Telecommunications Research Institute | Apparatus and method for controlling navigator via speech dialogue |
CN105390136A (zh) * | 2014-09-02 | 2016-03-09 | 现代摩比斯株式会社 | 用于用户适配型服务的车辆设备控制装置及方法 |
US20160104486A1 (en) * | 2011-04-22 | 2016-04-14 | Angel A. Penilla | Methods and Systems for Communicating Content to Connected Vehicle Users Based Detected Tone/Mood in Voice Input |
CN106796787A (zh) * | 2014-05-20 | 2017-05-31 | 亚马逊技术有限公司 | 在自然语言处理中使用先前对话行为进行的语境解释 |
US20170221480A1 (en) * | 2016-01-29 | 2017-08-03 | GM Global Technology Operations LLC | Speech recognition systems and methods for automated driving |
US20180114528A1 (en) * | 2016-10-26 | 2018-04-26 | IPsoft Incorporated | Systems and methods for generic flexible dialogue management |
-
2018
- 2018-12-07 CN CN201811496791.6A patent/CN110503947B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160104486A1 (en) * | 2011-04-22 | 2016-04-14 | Angel A. Penilla | Methods and Systems for Communicating Content to Connected Vehicle Users Based Detected Tone/Mood in Voice Input |
CN104123936A (zh) * | 2013-04-25 | 2014-10-29 | 伊莱比特汽车公司 | 对话***自动训练方法、对话***及用于车辆的控制装置 |
US20150095037A1 (en) * | 2013-09-27 | 2015-04-02 | Clarion Co., Ltd. | Vehicular device, server, and information processing method |
US20150276424A1 (en) * | 2014-03-27 | 2015-10-01 | Electronics And Telecommunications Research Institute | Apparatus and method for controlling navigator via speech dialogue |
CN106796787A (zh) * | 2014-05-20 | 2017-05-31 | 亚马逊技术有限公司 | 在自然语言处理中使用先前对话行为进行的语境解释 |
CN105390136A (zh) * | 2014-09-02 | 2016-03-09 | 现代摩比斯株式会社 | 用于用户适配型服务的车辆设备控制装置及方法 |
US20170221480A1 (en) * | 2016-01-29 | 2017-08-03 | GM Global Technology Operations LLC | Speech recognition systems and methods for automated driving |
US20180114528A1 (en) * | 2016-10-26 | 2018-04-26 | IPsoft Incorporated | Systems and methods for generic flexible dialogue management |
Non-Patent Citations (1)
Title |
---|
郑彬彬 等: "基于多模态信息融合的语音意图理解方法", 中国科技论文在线, no. 07 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523460A (zh) * | 2020-04-23 | 2020-08-11 | 上海铠盾科技有限公司 | 一种标准作业行为检测*** |
CN111883125A (zh) * | 2020-07-24 | 2020-11-03 | 北京蓦然认知科技有限公司 | 一种车辆语音控制方法、装置和*** |
WO2023272502A1 (zh) * | 2021-06-29 | 2023-01-05 | 华为技术有限公司 | 一种人机交互方法及装置、设备及车辆 |
CN114999490A (zh) * | 2022-08-03 | 2022-09-02 | 成都智暄科技有限责任公司 | 一种智能座舱音频控制*** |
Also Published As
Publication number | Publication date |
---|---|
CN110503947B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110660397B (zh) | 对话***、车辆和用于控制车辆的方法 | |
KR102338990B1 (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 | |
CN110648661B (zh) | 对话***、车辆和用于控制车辆的方法 | |
KR102426171B1 (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 서비스 처리 방법 | |
CN110503948A (zh) | 对话***和对话处理方法 | |
US10991368B2 (en) | Dialogue system and dialogue processing method | |
US10937424B2 (en) | Dialogue system and vehicle using the same | |
US10861460B2 (en) | Dialogue system, vehicle having the same and dialogue processing method | |
CN110503947A (zh) | 对话***、包括其的车辆和对话处理方法 | |
US11004450B2 (en) | Dialogue system and dialogue processing method | |
KR102403355B1 (ko) | 차량, 그와 통신하는 모바일 기기 및 차량의 제어 방법 | |
CN110503949A (zh) | 对话***、具有对话***的车辆和对话处理方法 | |
KR102487669B1 (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 | |
KR20200006738A (ko) | 대화 시스템 및 대화 처리 방법 | |
KR102448719B1 (ko) | 대화 시스템과 이를 포함하는 차량 및 모바일 기기와 대화 처리 방법 | |
CN110562260A (zh) | 对话***和对话处理方法 | |
KR20190036018A (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 | |
KR20190135676A (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 | |
KR20200000621A (ko) | 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법 |
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 |