自然语言理解课程报告.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自然语言理解课程报告

自然语言课程报告 对话系统中非正式语言生成技术的研究与实现 班级学号:1120131743 姓名:谈兆年 摘要:为了研究在对话系统实现非正式语言的生成,调查研究了一种2015年最新的解决方法:基于Bootstrapping技术的正式语-非正式语平行词典离线构建方法,其中,该方法也提出了一种新的拼音相似度计算策略,可以有效提高平行词典的质量。同时,本文也给出我自己的想法----基于K-means聚类方法的正式语-非正式语词典离线构建方法,并与上述方法做了对比。 关键词:自然语言生成 正式语 非正式语 平行词典 Bootstrapping k-means 1 问题描述 自然语言生成(NLG:Natural Language Generation)是自然语言处理的一个重要研究方向。自然语言生成是人工智能和计算语言学的分支,相应的语言生成系统是基于语言信息处理的计算机模型,其工作过程与自然语言分析相反,是从抽象的概念层次开始,通过选择并执行一定的语义和语法规则来生成文本。[1] 在目前已有的自然语言生成研究中,生成的语言大都是正式语或书面语风格的句子。但是在很多人机对话应用中,例如网络聊天机器人、自动客服系统等,使用非正式语(网络语言、口语)的情况却非常普遍。同时在聊天系统中使用非正式语言也会使对话系统变得生动有趣,不那么死板。 2 现有方法介绍[2] 2.1 简介 2015年出现了一种可行的解决方法,该方法实现了一个非正式语言生成系统,系统可根据用户输入的语言风格进行判断,根据不同的情况,采用正式语-非正式语平行词典替换的方法生成正式或非正式语句子。 该系统利用汉语框架语义知识库(CFN)来生成正式语句子,之后,通过正式语-非正式语替换词典的方法对生成的正式语中正式语词汇进行替换生成对应的非正式语句子。词替换是基于Bootstrapping的正式语-非正式语平行词典离线构建,同时也提出一种新的拼音相似度计算方法,利用这种新的拼音相似度可以更好地衡量正式语-非正式语候选对之间的距离,从而提高平行词典的质量。 下面就简要介绍这种方法。 2.2 基于CFN的语言生成(略) 图1 基于CFN框架的语言生成模型 图2 基于词典替换的非正式语生成流程图 2.3 基于Bootstrapping的词典离线构建 这部分是整个系统最核心的部分,所以要着重介绍。首先,介绍几个概念: 其中,种子:即待寻找与之配对的正式语词汇。 窗口大小:即在发现预料的句子中种子前后各选取多少个字作为模式。 模式:即种子周围的上下文环境,长度由窗口大小决定。 迭代:即用种子发现模式,再用模式发现新种子的过程称为一次迭代。 首先将初始化种子放入语聊遍历寻找模式。若预料中的某一句话中包含初始化的种子,则种子前后分别取窗口大小长度的文字作为该种子的模式。即找到形如[任意字符][窗口大小字数的模式前半段][种子][窗口大小字数的模式后半段][任意字符]的文本,从中提取出模式。在语料对于模式搜索完毕后,根据语料大小的不同对模式进行基于次数的过滤。当模式的出现次数小于某个阈值则舍弃该模式。这是一种去噪的方式,在避免随机性的同时,也减少了系统的运算量。然后用这一轮找到的所有模式在预料中进行第二次遍历,这次是通过模式找到新的种子。找到包含任一模式的句子,并且前半段模式与后半段模式之间的字符个数与种子之间的绝对值小于等于一的文本。即找到形如[任意字符][刚找到的模式前半段][新种子候选][刚找到的模式后半段][任意字符]的文本,并且新种子候选语种子之间的字符串长度差小于等于一。再对整个语料完成新种子的挖掘后,对新种子候选与初始化的种子进行拼音相似度计算,小于某个阈值则舍弃该种子候选。这样,一次迭代完毕,就得到了一批新的种子。在下一次的迭代中,将刚才找到的种子候选作为种子,重复上述步骤。知道满足迭代的停止条件。迭代结束后,对于每一个种子的所有候选词通过拼音相似度进行排序,就构成了带有权值的正式语-非正式语平行词典。 图3 Bootstrapping构建平行词典流程图 举个简单的例子来说,假设语料中包含句子A“小明每天十点上床睡觉,是个好孩子”,句子B“小红几乎每天都十点上床碎叫,是个好孩子”,句子C“小雷十点上床睡觉,是个好孩子”。初始化种子为“睡觉”。对语料进行遍历,若窗口大小取4,则通过匹配句子A、C可得到模式“[十点上床][,是个好]”这一模式。模式出现次数为2,大于随机出现次数阈值1,保留该模式。下一步,通过模式[十点上床][,是个好]对语料进行二次遍历,找到句子B中语初始化种子不同的种子候选词[碎叫]。将“睡觉”与“碎叫”进行比较,可得拼音相似度计算值0.9

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档