1.问答系统,它主要是针对那些有明确答案的用户问题,而且通常面向特定的领域,比如金融,医疗,这一类的机器人。它的技术实现方案分为基于检索和基于知识库两大类。

2.第二个任务型对话系统,大家看论文的时候看的大多数的对话系统都是任务型的,它也是面向特定的领域,而且是非常明确的领域。

它是以尽快地正确的完成明确的任务为目标的,而且对话的轮数越短越好,它的应用实例就是各种在线的私人助理比如助理来也。

3.第三个是偏闲聊的对话机器人,它没有特定的领域和明确的对话目标,评价标准之一就是看人和他聊天的时间长短。

https://cn.100offer.com/blog/posts/296

检索式问答系统的系统架构主要分为离线和在线两大块。离线把问答索引,序列匹配模型和排序模型建好,在线服务收到用户的问题,

把问题中的关键词从索引库中把相关的索引拿出来,然后根据生产好的 Matching 和 Ranking (排列)模型去做 Rerank ,挑选最好的答案给用户展示。这样就是检索式问答系统的典型是实现方式。

语义匹配模型实现方式

1.很经典,很传统的实现方式,根据需要统计TF-IDF,应用一些比较简单的向量空间模型或BM25来计算匹配度。

2.构造一些特征向量,特征向量的维度需要根据业务来确定,特征向量构造完成后,用统计学习方法或L2R的模型进行排序。

3.从2013年开始的词向量算法,它需要先训练词向量,通过词向量构造他们之间的相似度,最简单的一种方法是通过IDF对每个词向量加权,

然后把加权和做一个句向量的表示去计算相似度。还有一些比较复杂的方法,比如WMD,

用词向量计算等文本相似度,大家如果有兴趣可以用谷歌搜索它们的论文和实现方案,它们在短文本上的效果还是非常好的。

4.基于神经网络尤其是深度学习来做语义匹配。基于深度学习的匹配方案有两种:
(1)先得到句向量表示,再用句向量表示来计算它的匹配度。这种方法一般采用孪生网络或者双塔模型网络,它的特点是处理Q和A的文本的网络是完全一样的。
(2)构造QA的交互网络,让他们尽早的相遇。尽早相遇可以利用更多的匹配信号,而不是像方案一中的孪生网络,在得到句向量之后才去计算它的相似度,这样可能会损失一些匹配信息。多轮问答和单轮问答还是有区别的,多轮问答需要考虑上下文对当前问答的影响。

nlp基础(一)基本应用的更多相关文章

  1. 第1章 NLP基础

    大纲 NLP基础概念 NLP的发展与应用 NLP常用术语以及扩展介绍 1.1 什么是NLP 基本分类 自然语言生成(Natural Language Generation,NLG) 指从结构化数据中以 ...

  2. NLP基础

    1  自然语言处理三大特征抽取器(CNN/RNN/TF)比较 白衣骑士Transformer:盖世英雄站上舞台 华山论剑:三大特征抽取器比较 综合排名情况 以上介绍内容是从几个不同角度来对RNN/CN ...

  3. NLP基础——词集模型(SOW)和词袋模型(BOW)

    (1)词集模型(Set Of Words): 单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个. (2)词袋模型(Bag Of Words): 如果一个单词在文档中出现不止一 ...

  4. NLP基础 成分句法分析和依存句法分析

    正则匹配: .除换行符所有的 ?表示0次或者1次 *表示0次或者n次 a(bc)+表示bc至少出现1次 ^x.*g$表示字符串以x开头,g结束 |或者 http://regexr.com/ 依存句法分 ...

  5. 1.1 NLP基础技能,字符串的处理

    #!/usr/bin/env python # coding: utf-8 # # 字符串操作 # ### 去空格和特殊字符 # In[8]: s = " hello world! &quo ...

  6. 使用httpclient访问NLP应用接口例子

    参考网址: http://yuzhinlp.com/docs.html 接入前须知 接入条件 1.进入网站首页,点击注册成为语知科技用户 2.注册完成后,系统将提供语知科技用户唯一标识APIKey,并 ...

  7. nlp底层技术列举

    其实目前除了之前博客写到的一些关于自然语言处理用到的知识点之外,很多其他nlp技术只是会用但是不了解原理,先整体分个类,之后再仔细分析吧. 上图是https://www.sohu.com/a/1386 ...

  8. 这篇文章写的真好-NLP将迎来黄金十年-书摘

    机器之心上面微软亚研的这篇文章真好: https://baijiahao.baidu.com/s?id=1618179669909135692&wfr=spider&for=pc 其中 ...

  9. 转:使用RNN解决NLP中序列标注问题的通用优化思路

    http://blog.csdn.net/malefactor/article/details/50725480 /* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author ...

随机推荐

  1. jQuery设置时间格式

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

  2. Kubernetes实战(一):k8s v1.11.x v1.12.x 高可用安装

    说明:部署的过程中请保证每个命令都有在相应的节点执行,并且执行成功,此文档已经帮助几十人(仅包含和我取得联系的)快速部署k8s高可用集群,文档不足之处也已更改,在部署过程中遇到问题请先检查是否遗忘某个 ...

  3. java 软件安装

    myeclipse 2014 安装 https://www.cnblogs.com/plus301/articles/5633540.html

  4. Spring中IOC和AOP的详细解释(转)

    原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...

  5. cocos2d-x 编译 安卓(android)apk文件

    摘要: 一.下载Android环境 搭建Android环境需要用到Android SDK.NDK.Ant和JDK: 下载Android SDK  下载Android NDk  下载Android JD ...

  6. Asynchronous Programming

    https://msdn.microsoft.com/zh-cn/library/dd997423.aspx http://www.cnblogs.com/luminji/archive/2010/0 ...

  7. python基础(十三) cmd命令调用

    python cmd命令调用 关于python调用cmd命令: 主要介绍两种方式: 1.python的OS模块. OS模块调用CMD命令有两种方式:os.popen(),os.system(). 都是 ...

  8. nodejs之querystring(查询字符串)

    querystring模块经常用在URL参数的处理,一共有四个方法: 1. stringify (字符串转对象) 2. parse (对象转字符串) 3. escape (对字符串进行URL编码) 4 ...

  9. 使用 Unity 3D 开发游戏的架构设计难点

    Unity 3D 引擎对于开发者来说,入手非常快,因为它采用的是 C# 作为开发语言,这也大大降低了开发者的门槛.但凡只要懂一门编程语言的人都能使用 Unity 3D 引擎开发,另外 Unity 3D ...

  10. 破解网页右键被禁止js

    按F12,点击console输入一下内容后按回车 javascript:alert(document.onselectstart = document.oncontextmenu= document. ...