自然语言处理

词向量:

自然语言处理问题要转化为机器学习的问题,首先就要把单词数学化表示,就是用n维实数向量来代表一个单词。

对话系统

对话系统发展历程的三个阶段:

1.基于符号规则和模板的对话系统
2.基于统计机器学习的对话系统
3.基于数据驱动的深度学习的对话系统

对话系统根据不同的应用场景可以分为两种类型:

1.任务型对话系统

面向垂直领域,目的是帮助用户完成预定任务或动作,
应用场景:虚拟个人助理,预定机票、酒店和餐馆等,或者是淘宝客服。

是一个多步决策求取reward最大化的问题了,也就是一个RL问题。完全使用有监督学习的话建模起来有缺陷。

2.非任务型对话系统,也称聊天机器人

面向开放领域,目的是用来闲聊,
应用场景:娱乐、情感陪护、营销沟通,例如微软小冰

对于闲聊型的对话系统,主流方法有三类:

  • 1.基于检索的方法。(工业界偏爱这种)

    可以用来解决闲聊型对话或FAQ问答型对话问题(常见问题解答)。

  • 2.基于生成的方法。(生成式存在的难点很多,比如在评估和控制生成上。)

  • 3.将两者结合起来的方法。

问答型对话

除了闲聊和完成特定任务,还有一大类知识获取(即问答)的需求。
分为基于知识图谱的对话(KB-Dialogue)和检索式多轮问答等更细化的方向。

任务型对话系统的方法:

1.管道方法:

管道方法一般分别建立NLU、DM和NLG等模块,这些子模块通常还要分解为更小的子任务分别建模,然后按照顺序将这些模块连接起来。

2.端到端方法:

将管道方法中的三个模块(NLU,DM,NLG)或部分用统一的端到端方法代替,根据用户的输入,直接生成相应的回复或响应模块的输出。

任务型对话系统主要流程(如下图)涉及5部分:

1.自动语音识别
2.自然语言理解
3.对话管理(包括对话状态跟踪和对话策略)
4.自然语言生成
5.语音合成

自动语音识别:

将用户语音中的连续时间信号转变为离散的音节单元或单词。
在口语对话系统中,用户存在大量的口语现象,通常还伴随着环境噪声,这些为识别算法的特征提取、模型训练等环节增加了更多难度。

自然语言理解:

利用语义和语法分析将语音识别的结果转化为计算机能够理解的结果化表现形式。
目的是将用户的输入映射到预先根据不同场景定义的语义槽中。(如下图)
通常包括三个任务:领域检测意图识别语义槽填充
领域检测和意图识别属于文本分类任务,根据当前用户的输入推断出用户的意图和涉及的领域。
语义槽填充本质上属于序列标注问题,目的是识别句子中的语义槽和其对应的值。

对话管理(包括对话状态跟踪和对话策略)

1.对话状态跟踪:

通过语言理解生成的结构化数据理解或者捕捉用户的意图或目标。
在以任务为导向的对话系统中,对话状态跟踪(DST)是一个核心组件,负责在整个对话过程中跟踪用户的目标。

2. 对话策略:

利用对话状态跟踪得到的用户目标来决定下一步要采取的行动。也就是根据对话状态跟踪估计的对话状态,通过预设的候选动作集,选择系统动作或策略。

自然语言生成:

组织适当的应答语句,将系统的答复转换成用户能够理解的自然语言。也就是将对话管理模块输出的抽象表达转换为句法合法、语义准确的自然语言句子。

语音合成:

将系统答复的自然语言文本合成应答语音反馈给用户。

语义槽:

从预先定义一个关键字的集合,用来在用户说法中引用,以增强说法的扩展能力。
比如“我要去上海”,语义槽就是地址 ,取值为上海。经常与词库一起使用,一个语义槽只能绑定一个词库,而一个词库可以同时对应多个语义槽。

词性标注:

在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。
比如给定一个句子:“这儿是个非常漂亮的公园”,
对其的标注结果应如下:“这儿/代词 是/动词 个/量词 非常/副词 漂亮/形容词 的/结构助词 公园/名词”。

命名实体识别:

目的是识别语料中人名、地名、组织机构名等命名实体。

1.单轮对话:

以查询的话语q为前提,得到语句r作为回复。

2.多轮对话:

在历史对话信息c的背景下,以q为前提,得到语句r作为回复。

开放领域对话系统:

基于深度学习的开放领域对话系统的构建方法有:检索式、生成式和检索与生成相结合的方法

Goal Oriented 和Task Oriented的异同:

在没有特别说明的情况下,在人机对话系统研究工作中有着相同的含义,它们只是对同一工作的不同描述。

口语对话系统:

默认指的是面向任务的对话系统(多轮对话),是能够用声音与人进行交谈的计算机系统。

自然语言处理领域基本概念笔记相关推荐

  1. 【工大SCIR笔记】自然语言处理领域的数据增广方法

    点击上方,选择星标或置顶,每天给你送干货! 作者:李博涵 来自:哈工大SCIR 1.摘要 本文介绍自然语言处理领域的数据增广方法.数据增广(Data Augmentation,也有人将Data Aug ...

  2. NLP顶级专家Dan Roth :自然语言处理领域近期的任务和主要应用

    记者 | 周翔 AI科技大本营1月28日消息,<麻省理工科技评论>新兴科技峰会EmTech China在北京召开,营长也受邀参加,会上有多位人工智能领域的重磅大佬出没,Dan Roth 就 ...

  3. 专栏 | 李航教授展望自然语言对话领域:现状与未来

    来源:机器之心 摘要:原华为诺亚方舟实验室主任.现已加入字节跳动 AI Lab的李航教授近日发表博客,对自然语言对话领域的现状和最新进展进行总结,并展望了未来的走向. 1. 引言 语音助手.智能客服. ...

  4. 入坑NLP - 自然语言处理领域概述

    自然语言处理研究的内容包括但不限于如下分支领域:文本分类.信息抽取.自动摘要.智能问答.话题推荐.机器翻译.主题词识别.知识库构建.深度文本表示.命名实体识别.文本生成.文本分析(词法.句法.语法). ...

  5. NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是“数字化”)的简介、四大类方法(基于规则/基于统计,离散式【one-hot、BOW、TF-IDF】/分布式)之详细攻略

    NLP:自然语言处理领域常见的文本特征表示/文本特征抽取(本质都是"数字化")的简介.四大类方法(基于规则/基于统计,离散式[one-hot.BOW.TF-IDF]/分布式[CO- ...

  6. 自然语言语义分析研究进展_笔记

    自然语言语义分析研究进展_笔记 词语语义分析:确定词语意义,衡量两个词之间的语义相似度或相关度; 句子语义分析:研究包含句义分析和句义相似度分析两方面; 文本语义分析:识别文本的意义.主题.类别等语义 ...

  7. 数据库系统概念笔记-引言

    转载自 数据库系统概念笔记-引言  作者 CyninMa 数据库系统概念笔记-引言 数据库管理系统(DBMS)由一个互相关联的数据的集合和一组用以访问这些数据的程序组成.这个数据集合通常称作数据库,其 ...

  8. Python在自然语言处理领域的应用 Natural Language Processing With Python: Analyzing Text

    作者:禅与计算机程序设计艺术 1.简介 概述 在自然语言处理领域,Python被视作最优秀.应用范围最广泛.社区氛围最活跃.学习曲线最平缓的一门编程语言.它提供丰富的库函数和框架支持,有着庞大的生态系 ...

  9. 最新自然语言处理领域顶会论文大合集!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本资源整理了近几年,自然语言处理领域各大AI相关的顶会中,一些经典.最新. ...

最新文章

  1. 专访 CNCF 大使张磊:让云原生不再是大厂专属
  2. 关于动态创建控件性能提高 以及 SuspendLayout ResumeLayout 的使用
  3. leetcode874
  4. IDEA 点击进入方法内部_【推荐收藏】IDEA的Debug调试,你全会用么?
  5. AcWing之二维数组的查找
  6. pytorch之各类图像库的图片读写方式
  7. 动态路由之OSPF综合实验
  8. SQL 事务(Tran | Transation)与 Try...Catch 的使用
  9. 小白轻松使用axis2构建webservice
  10. 苹果手机如何找回id密码_苹果手机丢失24天后成功找回
  11. 真·浅谈System.setOut()
  12. 美团企业版:地利尚可,天时不足
  13. 神经网络从产生到现在的发展历史--科普
  14. 乐视max70老款_这货是电视?超大尺寸乐视TV Max70试玩
  15. 2020年软件评测师真题精选
  16. 职场必知必会:PPT 制作六步心法分享
  17. 我来补充两句京东和企业软件
  18. P1423 小玉在游泳-C语言
  19. 5G新基建到来,图扑推出智慧路灯三维可视化方案
  20. collapse 微信小程序_详解优化你的微信小程序

热门文章

  1. 记忆化搜索 递归缓存_需要微缓存吗? 营救记忆
  2. servlets_jQuery Ajax – Servlets集成:构建完整的应用程序
  3. Quarkus的其他(非标准)CDI功能
  4. solr 模糊匹配_Solr中的前缀和后缀匹配
  5. struts2面试问题_Struts2面试问答
  6. gradle运行测试代码_Gradle的好处:运行单个测试
  7. maven插件编写_编写Maven插件的提示
  8. java核心面试_不正确的核心Java面试答案
  9. 使用Selenium进行Spring Boot集成测试
  10. Openshift:使用Java 8在Wildfly 8.2.0上构建Spring Boot应用程序