我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:双彩网 > 语义树 >

航班预定口语对话系统的设计与实现-中国科学院大学PDF

归档日期:06-30       文本归类:语义树      文章编辑:爱尚语录

  1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

  第32卷第2期 中国科学院大学学报 Vol. 32 No. 2 2015年3月 Journal of University of Chinese Academy of Sciences March 2015 ��������������������������������������������� 文章编号:2095 ̄6134(2015)02 ̄0252 ̄07 航班预定口语对线† 陈振锋 ꎬ杨晓昊 ꎬ吴蔚澜 ꎬ刘 加 ꎬ夏善红 (1 中国科学院电子学研究所 传感技术国家重点实验室ꎬ北京 100190ꎻ2 中国科学院大学ꎬ北京 100190ꎻ 3 清华大学电子工程系 清华信息科学与技术国家实验室ꎬ北京 100084) (2014年3月24 日收稿ꎻ2014年5月16 日收修改稿) Chen Z FꎬYang X HꎬWu W Lꎬet al. Design and implementation of mandarin spoken dialogue system for flight reservation[J]. Journal of University of Chinese Academy of Sciencesꎬ2015ꎬ32(2):252 ̄258. 摘 要 介绍一个航班预定口语对话系统的设计与实现ꎬ该系统允许用户通过普通话进行航 班信息查询与预定.重点介绍口语对话系统中的口语语言理解.为了克服语音识别引入的识别 错误导致语义理解错误的问题ꎬ提出基于词混淆网络的两阶段中文口语语言理解方法:首先从 词混淆网络中选择N元文法作为分类特征ꎬ进行主题分类ꎬ并通过语义分类模型解析获取对 应的语义树结构ꎻ然后利用基于规则的语义槽填充器抽取相应的语义槽属性-值.该方法是数 据驱动的ꎬ训练数据的标记比较容易.实验在汉语航班预定领域进行ꎬ结果表明ꎬ在语音识别字 错误率很高的情况下ꎬ该方法比传统的基于语法规则的语言理解方法更加鲁棒ꎬ在语义理解正 确率方面有明显改善. 关键词 口语对话系统ꎻ 口语语言理解ꎻ语义理解ꎻ词混淆网络ꎻ对话管理 中图分类号:TN912�3 文献标志码:A doi:10�7523/ j.issn.2095 ̄6134�2015�02�015 Design and implementation of mandarin spoken dialogue system for flight reservation 1ꎬ2 3 1ꎬ2 3 2 CHEN Zhenfeng ꎬYANG Xiaohao ꎬWU Weilan ꎬLIUJia ꎬXIA Shanhong (1StateKey Laboratory on Transducing TechnologyꎬInstitute of ElectronicsꎬChineseAcademy of SciencesꎬBeijing 100190ꎬChinaꎻ 2 University of ChineseAcademy of SciencesꎬBeijing 100190ꎬChinaꎻ3 Tsinghua NationalLaboratoryforInformation Science and TechnologyꎬDepartment of Electronic EngineeringꎬTsinghua UniversityꎬBeijing 100084ꎬChina) Abstract Wepresent a spoken dialogue systemforflight reservationꎬwhich allowsusersto inquire information about flight in mandarin. We describethe design andthe implementation of our systemꎬ focusing on spoken language understanding (SLU). Considering that the speech recognizer inevitably makes errorsꎬ we propose a new two ̄stage mandarin SLU approach based on word confusion network. Firstlyꎬthe semantic tuple classifier is used to identify the topic of an input utterance using N ̄gram features extracted from the word confusion network and to parse a semantic tree by recursively calling semantic classification models. Then the rule ̄based semantic slot filler is ∗国家自然科学基金(61005019ꎬ61273268ꎬ90920302)和北京市自然科学基金(KZ5)资助 †通信作者ꎬE ̄mail:shxia@mail.ie.ac.cn 第2期 陈振锋ꎬ等:航班预定口语对线 used to extract the corresponding slot/ valuepairs. The advantage of theproposed approach isthat it is mainly data ̄driven and requires minimally annotated corpus for training. Experiment has been carried out intheChineseflightreservationdomainꎬwhichshowsthattheproposedapproachismore robust to speech recognition errors than the conventional handcrafted rule ̄based parserꎬ and substantially improves performance of accuracy when the ASRword error rate is high. Key words spoken dialogue systemꎻ spoken language understandingꎻ semantic analysisꎻ word confusion networkꎻdialogue management 口语对话系统(spoken dialogue systemꎬSDS) 是指通过语音实时地与人类进行智能对话的系 统. 口语对话系统是语音识别、语言理解、对话管 理、自然语言生成以及语音合成技术的集大成者ꎬ 是语音识别技术走向实用阶段的一个重要研究领 域. 口语对话系统使得用户可以在获取信息的同 时ꎬ留出双手做更加重要的事情ꎬ一个明显的例子 [1] 就是车载口语对话系统 ꎬ驾驶员需要用双手去 控制车子的正常行驶ꎬ通过口语对话系统进行车 载导航、通信等可以减轻驾驶员的负担. 目前ꎬ口 语对话系统已经开始广泛应用到多个领域ꎬ如餐 [2] [3 ̄4] 馆预定 、旅游信息查询 、天气预报信息查 [5 ̄6] 图1 百度语音助手使用示例 询 等. Fig.1 Usage example of Baidu voice assistant 随着电子设备日趋小型化ꎬ在任何时间、任何 地点以更加快捷简便的方式获取信息变得越来越 用户可以输入出发城市、到达城市以及出发日期 重要.近年来ꎬ随着语音识别技术以及移动互联网 进行航班信息查询ꎬ并可以就航班所属的航空公 的快速发展ꎬ语音技术相关的应用开始在智能手 司、票价、航班号、出发时间等进行询问ꎬ最终完成 机上出现.2011年苹果公司推出Siri 之后ꎬ市场 航班的预定. 轰动.借助手机语音助手ꎬ用户可以通过语音命令 本文介绍的航班预定口语对话系统主要侧重 进行搜索ꎬ远端的云计算服务器根据语音命令从 于口语语言理解、对话管理等方面的研究ꎬ主要创 网上数据库中提取相关的信息ꎬ并且将查到的信 新工作包括:1)提出了基于词混淆网络的两阶段 息变成语音、图像、文字等传送回来ꎬ使得用户可 中文语义理解方法ꎻ2)实现了基于任务和基于填 以非常轻松方便地获取有用信息. 表的混合对话管理方法. 在国内ꎬ百度语音助手、科大讯飞语音助手、 1 系统结构 搜狗语音助手也顺势推出ꎬ使得用语音打电话、发 短信、设置闹钟ꎬ或者是查询天气、航班、出行路线是典型的航班预定口语对话系统的框 信息变得可能.图1展示了百度语音助手的一个 图ꎬ该系统主要包含5个模块:语音识别器、语义 使用示例.当然目前的这些语音助手还不够智能ꎬ 解码器、对话管理器、自然语言生成器和语音合成 它们还只是用于特定对话领域ꎬ并且也达不到像 器.其中ꎬ语音识别的主要任务是将用户语音转化 人类间的交流那样自然.但口语对话系统的广阔 成文字形式ꎻ一旦获取了文字表达ꎬ语义解码器将 发展前景已经显现ꎬ随着研究机构和公司继续投 基于文字进行语义分析ꎬ获取用户的意图以及系 入到口语对话系统的研究中ꎬ相信人们梦寐已求 统感兴趣的信息交给对话管理器进行后续处理ꎻ 的人机无缝交流必将实现. 对话管理模块结合上下文对话历史ꎬ按照一定的 本文实现的航班预定口语对话系统ꎬ主要目 策略组织对话流程ꎬ决定系统的响应ꎬ并从后台服 的是帮助用户以口语对话的方式进行航班预定ꎬ 务器中查询用户所需的航班信息ꎬ产生系统应答ꎻ 254 中国科学院大学学报 第32卷 自然语言生成器将系统应答转化成自然语言ꎬ最 后由语音合成器生成语音反馈给用户. 图2 对线 Block diagram of spoken dialogue system 图3 词图和词混淆网络的典型结构 Fig.3 Typical structures of word lattice and 1�1 词混淆网络 word confusion network 语音识别(automatic speech recognitionꎬASR) 文献[12]对语义理解算法使用最优候选、词 的输出结果主要有最优候选识别结果(1-best)、 图、词混淆网络进行性能比较ꎬ实验结果表明在主 多候选识别结果(N ̄best)、词图(word lattice)以 题分类 (topic classification) 以及语义槽提取 及词混淆网络(word confusion network). 目前ꎬ大 (paramater extraction)中使用词混淆网络的性能 多数口语语言理解算法是对语音识别输出的最优 最好ꎬ因此本文也选择词混淆网络作为语音识别 候选进行语义解码ꎬ不过由于语音识别可能出现 和语言理解的接口. 识别错误ꎬ使得语义理解性能退化.对于电线 基于词混淆网络的两阶段中文语义 音ꎬ语音识别字错误率(word error rateꎬWER)大 理解方法 约在34%ꎬ因此实用的语言理解算法应该具有好 的鲁棒性ꎬ能够尽量容忍语音识别错误带来的 语义理解是口语对话系统的关键技术之一ꎬ 干扰. 它的任务是理解用户意图并抽取用户输入所包含 为了提高语言理解的性能ꎬ基于语音识别最 的关键信息.通常用户输入句子的语义可以用语 优候选之外的新的算法被提出. 例如ꎬCMU 的 义框架( semantic frame)表示.一个语义框架通常 [7 ̄8] 包括:1)语义框架类型( frame type)ꎬ表示用户输 Phoenix 支持对 N ̄best 进行语义理解ꎬOerder [9] 入语句的主题ꎻ2)相应的一些语义槽( slot)ꎬ表示 和Ney 提出将词图作为语音识别和语义理解的 [10] 用户输入语句中的关键语义概念.例如ꎬ如果用户 桥梁ꎬTür等 提出使用词混淆网络的语义理解 方法. 说“我想买张去上海的机票”ꎬ则对应的意图就是 [11] “flight(destination=“上海”)”. 词混淆网络是1999年由Mangu等 首次提 出ꎬ词混淆网络是一种归一化的词图ꎬ词图和词混 本文提出的中文语义理解框架分为2 个步 淆网络的结构如图3所示.词混淆网络将词图中 骤:首先ꎬ语义元组分类器从用户输入的词混淆网 互相混淆的词划分为同一组ꎬ对词图中同一时间 络中提取分类特征ꎬ并解析得到语义树ꎻ然后ꎬ通 点附近的词进行强制对齐ꎬ词混淆网络中的每个 过基于规则的方法提取出相应的语义槽属性 - 词都带有后验概率ꎬ可以当作该词的置信度分数ꎬ 值对. 这一点对于口语对话系统来说非常有用.语义理 1�2�1 语义元组分类器 解模块从词混淆网络中抽取的语义概念包含有置 语义元组分类器(semantic tuple classifierꎬ [13] 信度分数ꎬ在置信度分数较低时ꎬ可以选择合适阈 STC)由Mairesse 等 在2009 年提出ꎬSTC基于 值将语义理解结果进行丢弃ꎬ也可以选择让对话 输入串中的N ̄gram计数来检测对话主题以及语 管理模块向用户进行确认ꎬ从而提升对话系统的 义槽属性 -值对. STC 解码器采用支持向量机 整体性能. (support vector machineꎬSVM)训练一组分类器ꎬ 其中:多类分类器(multi ̄class classifier)用来预测 第2期 陈振锋ꎬ等:航班预定口语对线 主题ꎬ二值分类器(binary classifier)用来预测某个 SVM的训练和分类过程都很快.STC具体训练过 槽属性-值对是否存在. 程和分析算法见文献[13]ꎬ本文不再赘述ꎬSVM STC算法将语义树划分成概念元组ꎬ概念元 训练采用线性核(linear kernel)ꎬ使用 LibSVM工 [14] 组由n个语义概念节点链接而成.例如ꎬ语义树 具包 进行训练. flight(destination(city))包含2个长度为2 的元组 1�2�2 语义槽属性-值抽取算法 (即flight destinationꎬdestination city)ꎬ以及 1 由于口语对话系统需要语义槽的规整化值ꎬ 个长度为3 的元组(flight destination city). 因此用语义元组分类器对输入进行处理得到语义 STC训练过程需要对输入进行预处理ꎬ将输 树后ꎬ还需要采用基于规则的方法抽取规整化的 入语句中的某些子串替换为相应的语义类标记ꎬ 语义框架表示. 语义类代表对话领域中的关键概念ꎬ如地名、日 在航班预订口语对话系统中ꎬ语义概念主要 期等. 涉及出发城市、到达城市、日期、时间、航班等ꎬ其 对例句“我想从北京飞往上海”使用 STC解 中时间- 日期表达方式非常多样ꎬ例如“明天上 码器得到语义树的过程如图4所示. 午”ꎬ“八月二号”等ꎻ而且ꎬ有的时间- 日期的具 体意义需要由对话上下文决定ꎬ可能需要今天的 具体信息才能判定其具体意义ꎬ例如ꎬ“星期五” 的意义需要根据当天的日期才能确定是“本周 五”还是“下周五”ꎬ如果今天处于周五之前ꎬ那么 “星期五”指的是“本周五”ꎬ否则ꎬ更有可能指“下 [7] 周五”.为此ꎬ本文参考CMU 的Phoenix ꎬ采用基 于规则的方法对日期时间进行处理ꎬ然后通过递 归算法将日期规整为YYYY ̄MM ̄DDꎬ时间规整为 HH:MMꎬ目的是与后台航班信息数据库中的时间 - 日期格式保持一致. 图5 给出了部分日期规则 表示的例子. 图4 航班预定系统中对输入“我想从北京 飞往上海”的语义树推导过程 Fig.4 Semantic tree derivation for an utterance in the flight reservation system STC训练时ꎬ需要输入:发音的语音识别结果 utt、对应的语义树标注以及领域数据库知识(定 义语义类ꎬ预处理时使用).发音 utt 的特征用出 图5 日期规则表示的部分片段 Fig.5 A portion of date grammar 现在发音中的N元文法n ̄gram表示ꎬ因此 utt 可 以转化为特征向量X =[x ꎬ�ꎬx ꎬ�ꎬx ]ꎬ第i 例如ꎬ“8月2 日”符合下列语法: 1 i |NG| 个元素为 $date $month/ MM月/ eps $day/ DD x = C (n -gram )ꎬ (1) 日/ eps i utt i 其中ꎬC (n ̄gram )表示 N 元文法 n ̄gram 在 utt 则可以将“8 月2 日”抽取表示成“2014 -08 - utt i i 中出现的次数ꎬn取值为1、2、3ꎬ即只考虑一元文 02”. 法(unigram)、二元文法(bigram)和三元文法 对于一些简单语义概念ꎬ如出发城市、到达城 (trigram)ꎬ而|NG|为应用领域的字表 n ̄gram 大 市等则可以直接从语义树中得到. 小.由于训练集中的n ̄gram只有很少一部分出现 1�2�3 基于混淆网络的STC分类器 在输入utt 中ꎬ因此特征向量X 是稀疏的ꎬ这使得 1�2�1节介绍的STC分类器是采用最优候选 256 中国科学院大学学报 第32卷 作为输入ꎬ当输入改成使用词混淆网络时ꎬ需要做 市、到达城市、出发日期这些槽作为必填项ꎬ而航 一些调整.式(1)中的x 修改为i 班号等作为可选填槽.系统引导用户填满这些槽ꎬ 1 在填槽过程中ꎬ用户也可以获取主动权ꎬ提供系统 x = E(C (n -gram ))|n-gram |i ꎬ (2) i utt i 式中ꎬ|n ̄gram |表示出现在 N元文法 n ̄gram 中i i 还没有问到的槽信息.当所有必选槽都填满后ꎬ系 词的个数ꎬ使用|n ̄gram |的倒数作为指数进行归i 统就可以组织后台数据库查询任务GetResultsꎬ并 一化ꎬ因为越长的文法出现的可能性越小.E(C 根据填表结果执行DiscussResults任务ꎬ通过和用 utt (n ̄gram ))是 C (n ̄gram )的期望ꎬ由于词混淆 户交互ꎬ最终完成航班预定任务.基于任务的对话 i utt i 网络中每个词都带有后验概率ꎬ因此计算出现次 管理方法有开源代码可供参考学习ꎬ因此本文只 数时需要乘以每个词的后验概率ꎬ图6 是词混淆 做简单思路介绍ꎬ具体实现可参考文献[22]ꎬ本 网络的一个示例. 文将填表方法和基于任务的方法相结合ꎬ目的是 提高对线 词混淆网络示例 Fig.6 An example of word confusion network 1�3 基于任务和基于填表的混合对话管 理方法 对话管理模块在口语对线 航班预定系统中对话任务 是控制系统和用户之间的对线 Dialogue task in flight reservation system 据语义理解模块对用户意图的理解以及对话上下 文去后台数据库进行信息查询ꎬ并接收后台数据 2 实验 库查询结果ꎻ2)根据任务要求ꎬ请求用户输入更 2�1 实验配置 多的槽信息以便提交给后台进行查询ꎻ3)负责生 本文实验中采用的语料为真实的国航订票数 成应答信息ꎬ并发送给自然语言生成子系统ꎻ4) 据ꎬ即用户通过电话与客服人员进行航班预定的 进行差错处理、主题切换ꎬ使得口语对话系统能按 语音标注ꎬ对线 句ꎬ线] 任务目标方向前进ꎬ并表现得更智能更像人 . 包含大量无关信息ꎬ通过人工筛选出有效数据进 目前ꎬ常用的对线)基于有限 行语义标注ꎬ例如“从北京到上海的机票”标注为 [16] 状态finite state)的方法 、2)填表(form filling) flight(origin.city =“北京”ꎬdest.city =“上海”)ꎬ [17] 的方法 、3)信息状态更新(information state “我跟您核对一下是三月六号星期三北京到长治 update)的方法[18 ̄19]、4)基于任务(task ̄based)的 然后六点五十起飞”标注为flight(origin.city = 方法[20 ̄21]. 北京ꎬdest.city=“长治”ꎬstart_date=“三月六号 本文的航班预定系统中ꎬ用户在预定航班时 星期三”ꎬstart_time =“六点五十”)ꎬ目前标注的 主要需要提供出发城市、到达城市、出发日期这些 句子共有8 396 句ꎬ从中随机选取6 000 条用于 必选项以便进行航班查询ꎬ然后再通过进一步的 SVM训练ꎬ剩余的2 396句用于测试.为了评估算 对话ꎬ比如航班号、出发时间、价钱等从而最终确 法对语音识别错误的稳健性ꎬ数据集还包括对这 定所选航班ꎬ因此考虑采用基于任务和填表的混 些句子进行语音识别后的结果的测试ꎬ语音识别 合对话方式.系统对话按照任务进行组织ꎬ如图7 结果的词错误率为34�5%. 所示ꎬ其中ꎬ任务GetInfo采用填表方法ꎬ该任务用 2�2 实验结果 表(form)表示ꎬ表中包含一系列的槽ꎬ需要用户进 语义理解的评价指标主要包含3个:准确率 行填写ꎬ每个槽对应一个系统提示 (system Pꎬ召回率RꎬF-度量ꎬ计算公式如下: prompt)用来向用户请求对应的信息ꎬ其中出发城 第2期 陈振锋ꎬ等:航班预定口语对话系统的设计与实现 套 显 正确的语义概念数 P = ꎬ 提取的语义概念总数 正确的语义概念数 R = ꎬ 语料库中标注的语义概念总数 2 ×R ×P F = . R +P 为了评估语言理解模块的准确性ꎬ对本文提 出的基于词混淆网络的语义理解算法进行了测 试ꎬ并将本文提出的方法和基于语法规则的 Phoenix算法进行对比ꎬ实验结果如表1所示. 表1 基于词混淆网络的两阶段语义理解方法和基于 规则的Phoenix语义解码器性能比较 Table1 Performance comparison between the two ̄stage SLU method based on word confusion network and the handcrafted Phoenix parser % 语义理解方法 准确率P 召回率R F ̄度量 采用人工转写文本 本文 98�1 94�8 96�42 Phoenix 97�9 93�5 95�65 采用语音识别结果 本文 94�1 83�8 88�65 Phoenix 90�3 78�6 84�04 从表1可以发现ꎬ采用人工转写文本进行测 试时ꎬ由于此时标注不是词混淆网络ꎬ因此本文提 出的方法退化为原始的STC分类算法ꎬ此时特征 向量用式1表示.比较可以发现ꎬ本文提出的算法 和基于规则的Phoenix语义理解结果性能差别不 大ꎻ在采用语音识别的结果进行测试时ꎬ由于语音 识别的词错误率很高ꎬ与基于规则的Phoenix 语 义理解结果相比ꎬ本文算法性能有明显提高ꎬF - 度量有大约4�6%的提示.实验结果表明ꎬ本文提 出的算法对语音识别错误有较好的容错性. 2�3 对线 套航班预

  “原创力文档”前称为“文档投稿赚钱网”,本网站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】

本文链接:http://furymagazine.com/yuyishu/123.html