技术领域
[0001] 本发明的实施方案涉及一种对话系统,该对话系统配置为通过与用户的通信来掌握用户的意图并向用户提供必要的信息或服务。
相关背景技术
[0002] 对于车辆的音频-视频-导航(AVN)装置或大多数移动装置,当向用户提供视觉信息或接收用户的输入时,装置中设置的小屏幕和小按钮可能会引起用户不便。具体地,在行驶期间,当用户从方向盘上拿下他或她的手时或当用户在另一个地方查看以检查视觉信息和操作装置时,可能对安全驾驶构成严重威胁。
[0003] 因此,当将对话系统应用于车辆时,可以以更方便和更安全的方式提供服务,其中,所述对话系统能够通过与用户对话来识别用户的意图并提供用户所需的信息或服务。
[0004] 同时,在普通的对话系统中,除了预定的词汇之外,用户难以添加或改变新的词汇。此外,用户添加或改变新的词汇可能会导致与现有系统发生冲突。
具体实施方式
[0036] 在以下描述中,贯穿整个说明书,相同的附图标记表示相同的元件。没有详细描述众所周知的功能或结构,因为它们会以不必要的细节模糊一个或更多个示例性实施方案。术语诸如“单元”、“模块”、“构件”和“块”可以实现为硬件或软件。根据实施方案,多个“单元”、“模块”、“构件”和“块”可以实现为单个组件,或者单个“单元”、“模块”、“构件”和“块”可以包括多个组件。
[0037] 应当理解,当一个元件被称为“连接”到另一个元件时,它可以直接或间接地连接到另一个元件,其中,间接连接包括“通过无线通信网络的连接”。
[0038] 此外,当部件“包括”或“包含”元件时,除非存在与其相反的特定描述,否则该部件可以进一步包括其它元件,不排除其它元件。
[0039] 正如本文中所使用的,单数形式的“一”、“一个”和“该”旨在同样包括复数形式,除非语境另有明确表示。
[0040] 附图标记用于方便描述,但并不旨在说明每个步骤的顺序。除非语境另有明确表示,否则每个步骤可以以与所示顺序不同的顺序实现。
[0041] 现在将对本发明的实施方案详细地作出展示,这些实施方案的示例被显示在附图中。
[0042] 根据实施方案,对话系统可以配置为通过利用用户的话语和除语音之外的另一输入来识别用户的意图,并且配置为提供适合用户意图或用户意图需要的服务。对话系统可以通过输出系统话语来执行与用户的对话,该对话系统是配置为提供服务或者清楚地识别用户意图的一种工具。
[0043] 根据实施方案,提供给用户的服务可以包括根据用户的需要或用户的意图的所有类型的操作,其中,所有类型的操作可以包括提供信息、控制车辆、执行音频/视频/导航功能以及从外部服务器提供内容。
[0044] 根据实施方案,对话系统提供专用于车辆环境的对话处理技术,以便在特殊环境(即,车辆)中精确地识别用户的意图。
[0045] 将对话系统连接到用户的网关可以是车辆或连接到车辆的移动装置。如下所述,对话系统可以设置于车辆或车辆外部的远程服务器中,以便通过与车辆或连接到车辆的移动装置进行通信来发送或接收数据。
[0046] 对话系统中的一些部件可以设置在车辆中,一些部件可以设置在远程服务器中。因此,车辆和远程服务器可以执行对话系统的一部分操作。
[0047] 图1是示出根据本发明的实施方案的对话系统的控制框图。
[0048] 参照图1,对话系统100可以包括:输入处理器110、规则确定器120、规则管理器130和存储装置140;所述输入处理器110处理包括用户话语和除了用户语音之外的输入的用户输入,或者包括与车辆相关的信息或与用户相关的信息的输入;所述规则确定器120利用输入处理器110的处理结果来识别用户的意图,并确定由用户创建或改变的新规则是否适用;所述规则管理器130生成要应用的用户规则,并更新系统以应用生成的用户规则;所述存储装置140存储对话系统100执行下述操作所需的各种信息。
[0049] 在该实施方案中,用户规则是除了在对话系统100的制造时预先存储的规则(基本规则)之外的用户想要创建的规则,这是动作的示例。该动作可以代表用于提供某一服务的所有类型的动作,并且可以在掌握用户的意图之后执行。动作的类型可以预先确定。根据需要,提供服务可以对应于执行动作。因此,用户规则指的是服务本身,其允许用户改变由系统建立的对话模式。稍后将参考其它附图来描述动作的详细描述。
[0050] 输入处理器110可以接收两种类型的输入,包括用户的语音和除了语音之外的输入。除了语音之外的输入可以包括:识别用户的手势、由输入装置接收的除了用户话语之外的输入、指示车辆状态的车辆状态信息、与车辆的行驶信息相关的行驶环境信息以及指示用户的状态的用户信息。
[0051] 在以下的描述中,将描述在输入处理器110接收到用户的明确的语音输入之后生成或改变用户规则的方法。然而,所公开的实施方案不必限于由于用户语音引起的明确的输入。
[0052] 输入处理器110通过识别用户的话语将用户的话语转换为文本类型的话语,并通过将自然语言理解算法应用于用户话语来识别用户的意图。在所公开的实施方案中,输入处理器110通过自然语言理解来确定用户的意图(即用户规则),然后将关于用户话语和用户规则的特定信息发送到规则确定器120。
[0053] 规则确定器120接收用户的意图(即从输入处理器110发送的用户规则),并确定是否可能与基本规则发生冲突。规则确定器120还确定对话系统100是否可以执行用户输入的条件和结果。
[0054] 当确定可以创建或改变用户规则时,规则确定器120向规则管理器130请求关于用户规则的新的更新。
[0055] 规则管理器130是由对话系统100执行的结果处理器的示例。
[0056] 规则管理器130生成并输出对话响应和执行发送的动作所需的命令。对话响应可以以文本、图像或音频类型输出。当输出了命令时,可以执行与输出的命令相对应的诸如车辆控制和提供外部内容的服务。
[0057] 当从规则确定器120发送确定用户规则可执行的结果时,规则管理器130将条件参数、结果参数和参考参数存储在存储装置140中,并更新诸如生成响应、编辑服务、生成命令以及改变外部服务的服务。
[0058] 存储装置140存储上述操作所需的各种类型的信息。例如,存储装置140可以存储域/动作推断所需的信息,存储用于确定是否可以应用用户规则所需的语境信息,并且存储关于适用的用户规则的信息,并提供用于长期存储的存储空间。
[0059] 存储装置140包括:域/动作推断规则DB 141、语境信息DB 142、长期存储器143、短期存储器144、对话策略DB 145、响应模板DB 146和外部服务集合DB 147。存储装置存储由对话系统100执行的操作所需的信息。稍后将在下面参考其它附图来描述由存储装置140存储的各种类型的信息的详细描述。
[0060] 图2是示出车辆内部的示意图。
[0061] 参照图2,车辆200可以包括仪表板201和中央仪表板203,中央仪表板203对应于仪表板的中央部分。
[0062] 可以在中央仪表板203中设置显示器231和输入按钮221;所述显示器231配置为显示包括音频功能、视频功能、导航功能和呼叫功能的车辆控制所需的屏幕;所述输入按钮221配置为接收用户的控制命令。
[0063] 为了用户的操作方便,可以在方向盘207中设置输入按钮,并且可以在设置于驾驶员座椅254a和副驾驶员座椅254b之间的中央控制台区域202中设置用作输入按钮的旋转飞梭225。
[0064] 显示器231可以实现为各种显示装置的任意一种,例如,液晶显示器(LCD)、发光二极管(LED)、等离子显示面板(PDP)、有机发光二极管(OLED)和阴极射线管(CRT)。
[0065] 输入按钮221可以以实体按键的类型设置于与显示器231相邻的区域中,如图2所示。或者,当显示器231实施为触摸屏时,显示器231可以执行输入按钮221的功能。
[0066] 车辆200可以经由语音输入装置210接收用户控制命令作为语音。语音输入装置210可以包括麦克风,该麦克风配置为接收声音然后将声音转换为电信号。
[0067] 对于有效的语音输入,语音输入装置210可以安装于车顶织物衬里205,如图2所示,但是车辆200的实施方案不限于此。因此,语音输入装置210可以安装于仪表板201或方向盘207。此外,语音输入装置210可以安装到任何位置,只要该位置适合于接收用户的话语。
[0068] 在车辆200的内部,可以设置扬声器232,扬声器232配置为与用户进行对话或配置为输出提供用户期望的服务所需的声音。例如,扬声器232可以设置于驾驶员座椅侧车门253a和副驾驶员座椅侧车门253b的内部。
[0069] 扬声器232可以输出用于导航路线引导的语音、包含于音频和视频内容中的声音或语音、用于提供用户期望的信息或服务的语音,以及作为对用户的话语的响应而生成的系统话语。
[0070] 根据实施方案,对话系统100通过利用适合于车辆环境的对话处理技术来提供适合于用户的生活方式的服务,并且对话系统100可以利用诸如联网汽车、物联网(IoT)和人工智能(AI)的技术来实现新服务。
[0071] 当应用适合于车辆环境的对话处理技术时,例如根据实施方案的对话系统100,在驾驶员直接驾驶车辆时可以容易地识别并响应关键语境。可以通过对影响驾驶的参数(例如燃料不足和疲劳驾驶)施加权重来提供服务,或者基于在大多数情况下车辆移动到目的地的条件,可以容易地获取服务所需的信息,例如,行驶时间和目的地信息。
[0072] 此外,可以通过识别驾驶员的意图来容易地实现配置为提供功能的智能服务。这是由于在驾驶员直接驾驶情况下,优先考虑实时信息和动作。例如,当驾驶员在驾驶时搜索加油站时,可以将其解释为驾驶员将去加油站的意图。然而,当驾驶员在不是车辆的地方搜索加油站时,可以将其解释为另一个意图,例如搜索位置信息查询、电话号码查询和价格查询,而不是驾驶员将去该加油站的意图。
[0073] 此外,尽管车辆是有限的空间,但是其中可能发生各种情况。例如,驾驶员可以在各种情况下使用对话系统100,例如,驾驶具有不熟悉的界面的车辆(例如租用的汽车),或使用代驾服务、例如洗车的车辆管理情况、车上有婴儿的情况以及访问某一目的地的情况。
[0074] 图3是示出在对话系统和驾驶员之间生成的对话的示例的示意图。
[0075] 参照图3,驾驶员可以请求所公开的对话系统100创建或改变与他或她的偏好或品味相匹配的用户规则。对话系统100可以通过扬声器232响应于驾驶员的请求输出话语。
[0076] 具体地,驾驶员可以输入请求改变预定的基本规则的话语(U1:如果我说打开空调,就将温度设置为17度),对话系统100确定该请求是否适用,然后对话系统100可以输出接受驾驶员的请求的话语(S1:是)。
[0077] 一段时间后,驾驶员可以输入对应于先前应用于对话系统100的用户规则的条件的话语(U2:打开空调),并且对话系统100可以根据更新的用户规则输出提供调节为17度的服务信息的话语(S2:是,空调的温度将调节为17度)。
[0078] 对话系统100可以通过输入处理器110应用用户设置的新规则并执行更新。此外,在下一次对话中,对话系统100可以通过更新后的规则与用户进行对话。
[0079] 图4是详细示出输入处理器的配置的控制框图,图5是示出与存储装置的示例相对应的域/动作推断规则DB(数据库)的示意图。
[0080] 参照图4,输入处理器110可以包括处理语音输入的语音输入处理器111和处理语境信息的语境信息处理器112。
[0081] 从语音输入装置210发送的用户的话语可以输入到语音输入处理器111,从除了语音之外的信息输入装置发送的除了用户话语之外的输入可以输入到语境信息处理器112。语境信息中可以包含除了语音之外的输入。也就是说,语境信息可以包括车辆状态信息、行驶环境信息和用户信息。
[0082] 车辆状态信息可以包括指示车辆状态并由设置于车辆200中的传感器获取的信息,以及与车辆相关并且存储在车辆中的信息,例如车辆的燃料类型。
[0083] 行驶环境信息可以是由设置于车辆200中的传感器获取的信息。行驶环境信息可以包括由前置摄像机、后置摄像机或立体摄像机获取的影像信息、由传感器(例如雷达、激光雷达或超声波传感器)获取的障碍物信息、与雨量相关的信息,以及由雨量传感器获取的降雨速度信息。
[0084] 行驶环境信息可以进一步包括通过V2X获取的交通状态信息、交通灯信息和相邻车辆访问或相邻车辆碰撞风险信息。
[0085] 用户信息可以包括:由设置于车辆中的摄像机或生物识别读取器测量的与用户的状态相关的信息、利用设置于车辆中的输入装置由用户直接输入的与用户相关的信息、与用户相关并存储在外部内容服务器中的信息,以及存储在连接到车辆的移动装置中的信息。
[0086] 语音输入处理器111可以包括:语音识别器111a、自然语言理解部分111b和对话输入管理器111c;所述语音识别器111a通过识别接收到的用户的话语输出文本类型的话语;所述自然语言理解部分111b通过将自然语言理解技术应用于用户话语来识别话语中包含的用户的意图;所述对话输入管理器111c将对自然语言理解的结果和语境信息发送到规则确定器120。
[0087] 语音识别器111a可以包括语音识别引擎,语音识别引擎可以通过将语音识别算法应用于输入语音来识别用户发出的语音并生成识别结果。由于输入语音被转换成用于语音识别的更有用的形式,语音识别器111a可以通过从语音信号中检测起点和终点来检测包括在语音中的实际语音部分。这称为终点检测(End Point Detection,EPD)。语音识别器111a可以通过应用特征向量提取技术(例如倒谱(Cepstrum)、线性预测系数(Linear Predictive Coefficient,LPC)、梅尔频率倒谱系数(Mel Frequency Cepstral
Coefficient,MFCC)或滤波器组能量(Filter Bank Energy))从检测到的部分提取输入语音的特征向量。
[0088] 语音识别器111a可以通过将提取的特征向量与训练的参考模式进行比较来获取识别结果。此时,语音识别器111a可以利用声学模型和语言模型,所述声学模型对语音的信号特征进行建模和比较;所述语言模型对与识别词汇对应的词语或音节的语言顺序关系进行建模。为此,存储装置140可以存储声学模型和语言模型DB。
[0089] 声学模型可以分为直接比较法和统计法;所述直接比较法将识别目标设置为特征向量模型,并将该特征向量模型与语音信号的特征向量进行比较;所述统计法统计地处理识别目标的特征向量。
[0090] 直接比较法是将诸如作为识别目标的词语或音素(phoneme)的单元设置到特征向量模型,并将接收的语音与特征向量模型进行比较以确定它们之间的相似性。直接比较法的代表性示例是向量量化。向量量化是将接收到的语音信号的特征向量映射到作为参考模型的码本,以将映射的结果编码为代表值,并将代表值彼此进行比较。
[0091] 统计模型法是将识别目标的单元配置为状态序列并利用状态序列之间的关系。每个状态序列可以配置有多个节点。利用状态序列之间的关系的方法可以分为动态时间规整(Dynamic Time Warping,DTW)、隐马尔可夫模型(Hidden Markov Model,HMM)和利用神经网络的方法。
[0092] DTW是一种考虑到语音的动态特征通过与参考模型比较来补偿时间轴的差异的方法,所述语音的动态特征为即使同一个人发出相同的发音,信号的长度也随时间变化。HMM是这样一种识别方法,其将语音假设为在每个状态下具有节点(输出符号)的状态转移概率和观察概率的马尔可夫过程,然后基于学习数据估算节点的状态转移概率和观察概率,并计算将从估算的模型生成的接收到的语音的概率。
[0093] 同时,通过将配置语言的单元之间的顺序关系应用于通过语音识别获取的单元,对词语或音节等的语言顺序关系进行建模的语言模型可以减少声学模糊和识别错误。语言模型可以包括统计语言模型和基于有限状态自动机(Finite State Automata,FSA)的模型。统计语言模型利用词语的链概率,例如Unigram、Bigram和Trigram。
[0094] 语音识别器111a可以利用上述方法的任意一种来进行语音识别。例如,语音识别器111a可以利用应用HMM的声学模型,或者声学模型与语音模型组合的N-best搜索方法。N-best搜索方法可以通过利用声学模型和语言模型选择N个以下的识别结果候选,然后重新估算识别结果候选的顺序来提高识别性能。
[0095] 语音识别器111a可以计算置信度以确保识别结果的可靠性。置信度可以是表示语音识别结果可靠程度的标准。例如,对于作为识别结果的音素或词语,置信度可以定义为从不同音素或词语发出对应的音素或词语的概率的相对值。因此,置信度可以表示为0至1之间或1至100之间的值。
[0096] 当置信度大于预定阈值时,语音识别器111a可以输出识别结果以允许执行与识别结果相对应的操作。当置信度等于或小于阈值时,语音识别器111a可以拒绝识别结果。
[0097] 作为语音识别器111a的识别结果的文本形式的话语可以输入到自然语言理解部分111b。
[0098] 自然语言理解部分111b可以通过应用自然语言理解技术来识别包括在话语中的用户话语的意图。因此,用户可以通过自然对话输入控制命令,并且对话系统100还可以引起控制指令的输入并通过对话提供用户所需的服务。
[0099] 自然语言理解部分111b可以以文本的形式对话语进行形态分析。语素(morpheme)是意义的最小单位,代表了无法进一步细分的最小语义元素。因此,形态分析是自然语言理解的第一步,并将输入字符串转换为语素字符串。
[0100] 自然语言理解部分111b可以基于形态分析结果从话语中提取域。该域可以用于识别用户话语的主题,并且可以在数据库中存储表示各种主题的域,例如,路线引导、天气搜索、交通搜索、日程管理、燃料管理和空调控制。
[0101] 自然语言理解部分111b可以从话语中识别实体名称。实体名称可以是专有名词,例如,人名、地名、组织名称、时间、日期和货币,实体名称识别可以配置为识别句子中的实体名称并确定所识别的实体名称的类型。自然语言理解部分111b可以利用实体名称识别从句子中提取重要关键词并识别句子的含义。
[0102] 自然语言理解部分111b可以分析话语中包含的语音动作。语音动作分析可以配置为识别用户话语的意图,例如,用户是否询问问题、用户是否进行请求、用户是否响应或者用户是否简单地表达情绪。
[0103] 自然语言理解部分111b提取与用户话语的意图相对应的动作。自然语言理解部分111b可以基于诸如域、实体名称和语音动作的信息来识别用户话语的意图,并提取与话语相对应的动作。动作可以由对象和操作符定义。
[0104] 自然语言理解部分111b提取与用户话语的意图相对应的动作。如上所述,动作是指对话系统100向用户提供的各种服务。该动作可以预先存储在域/动作推断规则DB 141中。
[0105] 参照图5,动作可以由对象和操作符定义。例如,通过组合对应于操作符的“开”和对应于对象的“除雾”,使除雾器工作的动作可以定义为“开除雾”,除雾器是用于从设置于车辆200的前挡风玻璃240去除雾的装置。作为另一示例,通过组合对应于操作符的“开”和对应于对象的“空调”,使车辆200中设置的空调工作的动作可以定义为“开空调”。
[0106] 域/动作推断规则DB 141除了包括对预定义动作进行了数据库化的动作集合141a之外,可以进一步包括对操作符和对象进行数据库化的操作符集合141b和对象集合141c。
[0107] 操作符集合141b可以存储用户可以说出的各种语素,例如“开”、“打开”和“执行”,并将它们与作为动作的操作符的“开”进行匹配。此外,操作符集合141b可以通过将用户可以说出的各种语素与操作符“关”进行匹配来存储这些语素,例如“关”、“关闭”、“结束”等。
[0108] 对象集合141c可以存储各种语素,例如用户可以用动作对象“空调”说出的“空调”和“空调装置”。此外,可以通过将用户可以说出的各种语素与动作对象“除雾”进行匹配来存储这些语素,例如“除雾”和“进行除雾”。
[0109] 自然语言理解部分111b基于域、实体名称、语音动作或用户的讲话意图的至少一项来确定存储在域/动作推断规则数据库141中的操作符和对象,并且提取与确定出的操作符和确定出的对象对应的动作。
[0110] 再次参照图4,自然语言理解部分111b可以提取与执行动作相关的参数。与执行动作相关的参数可以是执行动作直接需要的有效参数,或者可以是用于提取这种有效参数的无效参数。
[0111] 例如,自然语言理解部分111b可以从图3所示的用户话语U1中提取“打开空调装置”作为条件参数。自然语言理解部分111b可以从图3所示的用户话语U1中提取“设定温度”作为结果参数。自然语言理解部分111b可以从图3所示的用户话语U1中提取“17度”作为参考参数。
[0112] 自然语言理解部分111b可以提取配置为表达词语之间或句子之间的关系的工具,例如,语法树。
[0113] 包括在自然语言理解部分111b的处理结果中的形态分析结果、域信息、动作信息、语音动作信息、提取的参数信息、实体名称信息和语法树可以被发送到对话输入管理器111c。
[0114] 例如,在图3所示的用户话语U1中,自然语言理解部分111b可以使用“改变用户规则”作为动作,“开空调”作为条件参数,“修改空调(mod_aircon)”作为结果参数,“17度”作为参考参数,并将提取的信息发送到对话输入管理器111c。
[0115] 同时,语境信息处理器112可以从来自车辆200中设置的除了语音之外的信息输入装置和硬件装置的信息中收集语境信息,并且可以基于收集的语境信息来理解语境。
[0116] 当语境信息处理器112不能理解用户的明确语音中改变或生成用户规则的意图时,语境信息处理器112可以另外收集语境信息并尝试清楚地理解用户的意图。
[0117] 或者,语境信息处理器112可以通过语境信息来生成和改变用户规则,而无需用户的明确语音。例如,语境信息处理器112可以通过用于通过输入按钮221生成用户规则的界面来掌握生成用户规则的意图。
[0118] 图6是用于说明规则确定器的控制框图。图7是示出规则确定器应用用户规则的各种实施方案的流程图。
[0119] 输入处理器110确定针对用户规则的用户意图,并将确定的结果发送到对话流管理器121。对话流管理器121响应于当前的用户话语建立对话策略。
[0120] 对话流管理器121可以确定当前的用户话语与用户规则相关。对话流管理器121将发送的信息发送到规则确定器120。即,规则确定器120是这样的对话管理器的配置,其中,所公开的对话系统100根据输入处理器110的处理结果来生成对话。
[0121] 参照图6,规则确定器120分析用户想要创建或改变的用户规则。
[0122] 具体地,规则确定器120通过使用存储在对应于存储装置140示例的域/动作推断规则DB 141、语境信息DB 142、长期存储器143、短期存储器144或对话策略DB 145的至少一个中的信息来确定存储在存储装置140中的基本规则和用户输入的用户规则是否相互冲突。
[0123] 例如,当用户想要将开空调的动作改变为修改空调的动作时,如图3的实施方案中所示,用户规则与现有存储的基本规则修改空调冲突。
[0124] 当用户规则与基本规则不冲突时,规则确定器120确定用户创建了新的用户规则。
[0125] 规则确定器120确定用户规则与基本规则是否冲突,然后确定用户规则是否是在应用对话系统100的情况下可以执行的规则。
[0126] 具体地,规则确定器120通过对话策略DB 145确定是应用基本规则还是用户规则。
[0127] 对话策略DB 145可以存储各种对话情况,并且可以为每个基本规则存储改变和重要性的标准。当用户试图改变不能改变的基本规则时,规则确定器120确定出不能执行所接收的用户规则。
[0128] 此外,规则确定器120基于存储在语境信息DB 142中的语境信息来确定是否可以应用用户规则。
[0129] 例如,当用户想要创建称为“打开淋浴”的新的用户规则时,规则确定器120通过语境信息DB 142检查是否在车辆200中设置淋浴。如果在车辆200中没有设置淋浴,则规则确定器120可以确定出不能应用所接收的用户规则。在这种情况下,规则确定器120将用户规则确定为无效规则。
[0130] 如果确定出用户规则是适用的,则规则确定器120基于接收到的用户规则确定要改变的动作和参数。
[0131] 规则确定器120分析接收到的用户规则中包括的对象、操作符和动作的参数,并在存储装置140中选择要更新的信息。稍后将参照图7对其进行详细描述。
[0132] 参照图7,规则确定器120再次分析用户规则(300)。
[0133] 从输入处理器110发送的用户规则可以包括条件参数、结果参数和参考参数。规则确定器120分析每个参数,然后确定要更新的存储装置140的信息。
[0134] 具体地,规则确定器120可以通过生成动作(310)、改变动作(320)或登记参数(330)来更新存储装置140。
[0135] 接着动作的产生(添加操作符/对象),规则确定器120可以登记用户专用的词汇(311)。例如,规则确定器120可以创建用户规则,“如果我说‘终止空调装置’,则关闭空调装置”。在这种情况下,规则确定器120可以确定在域/动作推断规则DB 141、短期存储器144或长期存储器143的至少一个中更新新的操作符。
[0136] 规则确定器120可以基于对话策略登记同义词或反义词(312)。例如,规则确定器120可以创建用户规则,“从现在起如果我说con,则将其识别为空调装置”。在这种情况下,当规则确定器120将“con”登记为新对象时,规则确定器120还可以将“Coney”登记为对象,其可以对应于该对象的同义词。规则确定器120可以确定在域/动作推断规则DB 141、短期存储器144或长期存储器143的至少一个中登记要改变的对象。
[0137] 规则确定器120可以基于对话策略确定所生成的动作是否适用于其它动作(313)。例如,规则确定器120可以创建用户规则,“如果我说‘全部关闭’,则关闭空调装置”。规则确定器120可以在修改与关空调相关的动作集合时确定其是否适用于车辆200的另一装置。
[0138] 除了生成动作,规则确定器120还可以确定动作的改变(320)。具体地,规则确定器120可以将包括在动作集合中的基本规则改变为用户规则(321)。
[0139] 例如,规则确定器120可以应用包括在图3的实施方案中的用户规则,“如果我说打开空调装置,则将温度设定为17度”。在这种情况下,规则确定器120可以将存储在动作集合中的开空调改变为修改空调。
[0140] 规则确定器120可以给动作登记参数(330)。
[0141] 例如,规则确定器120根据图3的实施方案改变修改空调,并在动作集合中存储对应于设定温度的参考参数,即“17度”。当包括了改变动作所需的参考参数时,规则确定器120可以将参考参数与动作一起改变。
[0142] 再次参照图6,规则确定器120具体确定如何改变存储装置140,然后将确定结果发送回对话流管理器121。
[0143] 对话流管理器121根据对话策略DB 145确定对用户话语的响应。对话流管理器121将由规则确定器120确定的结果发送到规则管理器130。
[0144] 图8是示出规则管理器的控制框图。
[0145] 对话流管理器121将规则确定器120的确定结果发送到响应生成管理器131。
[0146] 响应生成管理器131生成执行由对话流管理器121发送的动作(即,与用户规则相关的动作)所需的对话响应。通过输出管理器133将生成的对话响应输出为对话响应和除了对话响应之外的输出。
[0147] 具体地,响应生成管理器131可以包括:对话响应生成器132、服务编辑器134、命令生成器136和存储器管理器135;所述对话响应生成器132生成文本类型响应、影像类型响应或音频类型响应,以用于用户话语的响应;所述服务编辑器134顺序地或随机地执行多个服务及其结果的收集,以提供用户期望的服务;所述命令生成器136生成用于控制车辆的命令或用于使用外部内容提供服务的命令;所述存储器管理器135基于输出管理器133的输出管理长期存储器143和短期存储器144。
[0148] 对话响应生成器132可以通过搜索响应模板DB 146来提取对话策略,并且可以通过填充所提取的对话响应表格所需的参数来生成对话响应。例如,基于规则确定器120的确定结果(可以在图3的实施方案中应用的用户规则),对话响应生成器132可以在响应模板DB 146中生成“是”。所生成的对话响应被发送到响应生成管理器131。
[0149] 当用户的话语与对话系统100提供的服务相关时,命令生成器136为该服务生成命令。
[0150] 例如,如果用户规则是与空调装置的控制方法相关的规则,服务编辑器134可以生成用于控制车辆200中设置的空调装置的命令。由命令生成器136生成的指令可以被存储在短期存储器144中,并且当过去了预定时间时从短期存储器144中删除。
[0151] 当由规则确定器120确定的用户规则与由对话系统100提供的多个服务相关时,服务编辑器134可以参与顺序地或随机地执行多个服务。服务编辑器134执行的结果可以存储在外部服务集合DB 147中。
[0152] 规则管理器130可以更新存储器以应用规则确定器120的确定结果。
[0153] 根据响应生成管理器131的请求,规则管理器130可以将由规则确定器120确定的用户规则存储在短期存储器144中。此外,规则管理器130可以编辑响应模板DB 146、外部服务集合DB 147或短期存储器144的至少一个。
[0154] 例如,在图3的实施方案中,当在长期存储器143中存储包括被称为改变用户规则的动作的用户规则时,规则管理器130可以存储条件参数、结果参数和参考参数。规则管理器130可以将与开空调相关的命令改变为与修改空调相关的命令,作为条件参数,并且添加用于将空调装置的设定温度设定为17度的命令。此外,当再次输入相应的用户规则时,规则管理器130可以更新响应模板DB 146以生成对话响应“是,空调装置的温度将被调节为17度”。
[0155] 存储器管理器135基于从响应生成管理器131和输出管理器133接收到的内容来管理长期存储器143和短期存储器144。例如,存储器管理器135可以基于所生成和输出的对话响应,通过存储用户和系统之间的对话内容来更新短期存储器144,并且可以获得通过对话内容收集的与用户相关的信息。可以通过存储用户和系统之间的对话内容来更新长期存储器143。
[0156] 存储器管理器135分析在预定时间段内积累的数据,获得持久性信息并将持久性信息再次存储在长期存储器143中。在长期存储器143中,存储持久性数据的位置可以与存储以日志文件类型存储的数据的位置不同。
[0157] 存储器管理器135可以确定存储在短期存储器144中的数据中的持久性数据,并将确定的数据移动并存储到长期存储器143中。
[0158] 输出管理器133可以确定由对话响应生成器132生成的对话响应的输出时刻、输出顺序和输出位置以及由命令生成器136生成的命令。
[0159] 输出管理器133可以通过将由对话响应生成器132生成的对话响应和由命令生成器136生成的命令在适当的时刻以适当的顺序发送到适当的输出位置来输出响应。输出管理器133可以经由扬声器232输出文本到语音(Text to Speech,TTS)响应,并且经由显示器231输出文本响应。当输出TTS类型的对话响应时,输出管理器133可以利用车辆200中设置的TTS模块,或者输出管理器133可以包括TTS模块。
[0160] 同时,参考图4、图6和图8描述的每个配置可以由单个处理器实现或者可以由单独的处理器实现。此外,输入处理器110、规则确定器120和规则管理器130也可以由单个处理器实现或者可以由单独的处理器实现。
[0161] 图9是创建新用户规则的另一实施方案的流程图。
[0162] 参照图9,输入处理器110可以接收来自用户的话语,“如果我说‘终止空调装置’,则关闭空调装置”。输入处理器110可以分析所接收的话语的语素,并且将域确定为用户规则。输入处理器110分析作为请求的语音动作。
[0163] 输入处理器110可以基于上述分析结果从用户话语中提取“生成用户规则”。输入处理器110可以提取“关空调”作为结果参数,并且提取“终止”作为参考参数。
[0164] 输入处理器110将提取的动作和多个参数发送到对话流管理器121。
[0165] 对话流管理器121建立对话策略以响应用户话语。对话流管理器121确认当前的用户话语与用户规则相关,并将提取的动作和参数发送到规则确定器120。
[0166] 规则确定器120基于包括在域/动作推断规则DB 141、语境信息DB 142或对话策略DB 145的至少一个中的信息,确定用户规则是否与基本规则冲突。
[0167] 具体地,规则确定器120可以从域/动作推断规则DB 141确认基本规则与接收到的用户规则不冲突。规则确定器120可以从语境信息DB 142确定在车辆200中设置了对话系统100,并且可以应用关于空调装置的控制方法的用户规则。此外,规则确定器120可以从对话策略DB 145确定可以应用参考参数“终止”。
[0168] 当确定接收到的用户规则适用时,规则确定器120分析接收到的用户规则并确定用于更新存储装置140的特定信息。
[0169] 在所公开的实施方案中,规则确定器120可以分析接收到的用户规则是添加新操作符的用户规则。规则确定器120可以改变域/动作推断规则DB 141的操作符集合以添加新的词汇词“终止”,并且可以决定将输入的用户规则存储在长期存储器143中。规则确定器120将确定结果发送到对话流管理器121。
[0170] 对话流管理器121建立对话策略以生成与规则确定器120的确定结果相对应的对话响应。对话流管理器121将规则确定器120的确定结果和所建立的对话策略发送到响应生成管理器131。
[0171] 响应生成管理器131可以根据所建立的对话策略从响应模板DB 146中选择“是,我明白了”。此外,响应生成管理器131将规则确定器120的确定结果发送到规则管理器130。
[0172] 规则管理器130更新域/动作推断规则DB 141以添加新的操作符“终止”,并将关于新用户规则的信息添加至长期存储器143。
[0173] 响应生成管理器131可以监测规则管理器130的操作,并通过输出管理器133输出所选择的响应,即,“是,我明白了”。
[0174] 所公开的对话系统和对话处理方法执行超出预定对话模式的对话,并且通过登记与用户的偏好匹配的新词汇并通过改变预存储的对话模式来提供能够向用户提供扩展功能的对话系统。此外,对话系统和对话处理方法可以通过增加用户的满意度来提高服务的忠诚度并增加用户的便利性。