聊天机器人原理篇:NLP自然语言处理

1.聊天机器人概述

1.1分类与应用场景

目前聊天机器人在技术市场上存在多种分类,主要又分为以下三种:

  1. 基于应用场景的
  • 在线客服:自动回复用户提出的与产品或者服务相关的问题,以降低企业客服成本、提升用户体验。如阿里小米、京东JIMI客服机器人
  • 娱乐:对不同用户进行不同话题闲聊,从而起到娱乐、陪伴作用。如微软小冰、微信小微
  • 教育:根据教育不同的内容进行划分,如学习语言的、学习某项专业技能的
  • 个人助理:通过语音或者文字与用户进行交互,实现个人事务的查询及提醒
  • 智能问答:根据用户以自然形式提出的事实型问题及其他需要计算和逻辑推理的复杂问题,以满足用户信息需求并起到辅助用户决策目的。如IBM的Watson
  1. 基于实现方式的
  • 检索式:准备一个知识库,根据用户输入的句子采用规则引擎、模式匹配或者机器学习训练好的分类器从知识库挑选一个最佳的回复。
  • 生成式:不提前准备知识库,根据用户上下文聊天信息和作为语料进行训练
  1. 基于功能的
  • 问答系统:采用一问一答的方式,偏重于问句分析以获取主题词、问题词、中心动词,采用模板匹配和语义解析技术
  • 面向任务的对话系统:通过对话管理追踪当前的对话状态,进而明确用户的目的和需求
  • 闲聊系统:用户没有明确的目的和具体需求的多轮人机对话
  • 主动推荐系统:当前已经研究得火热,但核心技术被大厂所掌握,如音乐推荐、短视频推荐、购物商品推荐

1.2 生态框架

一个完整的聊天机器人系统的框架如下图,其主要包括用户文字输入与自动语音识别、自然语言理解、对话管理、自然语言生成、语音合成输出与文字结果输出

2.技术原理

2.1 自然语言理解

  1. 首先了解几个问题:
  • 什么是语言?
    生物同类之间用于沟通需要而制定的指令系统,语言与逻辑相关
  • 自然语言处理遇到的难题是什么?
    (1)自然语言千变万化,没有固定的格式,同样的意思可以使用多种句式来表达
    (2)不断有新的词汇出现,计算机需要不断学习新的词汇
    (3)不同的情景下,相同的话表达的意思可能不同
  • 什么是自然语言理解?
    以语言学为基础,融合逻辑学、计算机科学等学科,通过对语法、语义、语用的分析,获取自然语言的语义表示,其目的是为聊天机器人生成一种机器可读的自然语言的语义表示形式。
  1. 聊天机器人包含的自然语言处理功能模块
  • 实体识别:问题中的地名、人名和时间等专有名词,具有特定意义的实体
  • 用户情感与意图识别:包括显式和隐式,用户的情感与意图识别
  • 指代消解和省略恢复:指聊天主题背景一致下,用户习惯性的用某个代词指代已经出现过的某个实体或事件
  • 恢复确认:当用户意图、聊天信息等带有一定的迷糊性时,需要聊天机器人主动询问用户。确认用户的意图
  • 拒识判断:聊天机器人主动拒绝识别及恢复超出自身理解范围或者敏感话题的用户输入
  1. 自然语言理解涉及的技术
    理解使用的方法是基于规则的(人工定义语法规则,自然语言理解模块根据表达特定的语义的语法规则解析输入该模块的文本,适合于数据较少的文本解析)和基于统计的(使用大量的数据训练模型去解析输入文本,适合于大多数场景)
    除此以外,此法分析、句法分析‘和语义分析也是对自然语言理解起到很大的作用,三者关系如下:
    在这里插入图片描述
    词法分析包括分词技术和词性标注,分词技术是将输入的字符串切分为单独的词语,中文分词因其没有自然分隔符,因此难于英文分词(英文用空格分开),目前中文分词技术有5种:基于词典的分词方法,基于统计的分词方法,基于规则的分词方法,基于字标注的分词方法,基于人工智能技术(基于理解)的分词方法。词性标注给每个词赋予特定的类别,有助于语言理解,有基于规则的方法和基于统计模型的方法。
    句法分析是对输入的文本句子进行分析以得到句子句法结构,句法分析包括依存句法分析、短语结构句法分析、深层文法句法分析。
    语义分析指应用各种机器人学习方法,让机器学习与理解一段文本所表示的语义内容,最终目的是理解句子表达的真实含义

2.2 自然语言生成

  1. 与自然语言理解的区别与联系:
    自然语言生成和自然语言理解都是自然语言处理的分析,表面上看自然语言生成是自然语言理解的逆过程,但二者侧重点不懂,自然语言理解重在理解句子语义和文本结构逐步清晰的过程,而自然语言生成是确定哪些文本句子必须生成反馈给用户的,当今研究主要工作偏重于自然语言理解。
  2. 当今常用的自然语言生成系统采用流线型结构,包括文本规划、句子规划和句法实现三个模块,其中文本规划决定说什么,句法实现决定怎么说,句子规划负责让句子更加连贯。
  3. 目前主要的自然语言生成有哪几种类别?
    基于检索的自然语言生成:在已有的对话语料库中检索合适的句子进行回复
    基于模板的自然语言生成:模板由句子模板和词汇模板组成,根据设计和好的模板进行恢复,适用于任务驱动的对话系统
    基于深度学习的自然语言生成:利用深度学习构建好的模型生成句子进行回复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值