NLP VS NLU
2019-03-26 20:01
260 查看
NLP(Natural Language Processing )自然语言处理:是计算机科学,人工智能和语言学的交叉领域。目标是让计算机处理或“理解”自然语言,以执行语言翻译和问题回答等任务。
NLU (Natural Language Understanding ) 自然语言理解:将人的语言形式转化为机器可理解的、结构化的、完整的语义表示,通俗来讲就是让计算机能够理解和生成人类语言。
NLG (Natural Language Generation) 自然语言生成:旨在让机器根据确定的结构化数据、文本、音视频等生成人类可以理解的自然语言形式的文本。
NLP
如上图:NLP 由两个主要的技术领域构成:自然语言理解(NLU)和自然语言生成(NLG)。主要包含的技术的技术领域如下图:
NLU 旨在让机器理解自然语言形式的文本内容。从 NLU 处理的文本单元来讲,可以分为词(term)、句子(sentence)、文档(document)三种不同的类型
NLG旨在让机器根据确定的结构化数据、文本、音视频等生成人类可以理解的自然语言形式的文本。根据数据源的类型,NLG可以分为三类:
- Text to text NLG,主要是对输入的自然语言文本进行进一步的处理和加工;
- Data to text NLG,主要是根据输入的结构化数据生成易读易理解的自然语言文本;
- Vision to text NLG,主要是给定一张图片或一段视频,生成可以准确描述图片或视频(其实是连续的图片序列)语义信息的自然语言文本,同时 text to vision 的自动生成近几年也有一些有趣的进展。
语议理解
自然语言理解的结果,就是要获得一个语义表示(semantic representation),语义表示主要有三种方式:
- 分布语义(Distributional semantics):就是把语义表示成一个向量,它的理论基础来自于Harris的分布假设:语义相似的词出现在相似的语境中。具体的计算方法有多种,比如LSA(Latent Semantic Analysis)、LDA(Latent Dirichlet Allocation)及各种神经网络模型(如LSTM)等
- 框架语义(Frame semantics):把语义用一个frame表示出来
- 模型论语义(Model-theoretic semantics):把自然语言映射成逻辑表达式(logic form)
目前采用的语义表示是frame semantics表示的一种变形:采用领域(domain)、意图(intent)和属性槽(slots)来表示语义结果。 如下图:
- 领域:是指同一类型的数据或者资源,以及围绕这些数据或资源提供的服务,比如“餐厅”,“酒店”,“飞机票”、“火车票”、“电话黄页”等;
- 意图:是指对于领域数据的操作,一般以动宾短语来命名,比如飞机票领域中,有“购票”、“退票”等意图;
- 属性槽:用来存放领域的属性,比如飞机票领域有“时间”“出发地”“目的地”等
chatbot 架构示例
相关文章推荐
- 槛外人看NLP : 从古典诗词说到词语的色香味
- 自信的真正含义--NLP
- POS Tags used in opennlp pos tagger
- NLP常用开源/免费工具
- nlp那个方向都能达到毕业
- 基于Stanford Parser 及OpenNLP Shallow Parser构建句子语法解析树
- 【NLP】UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 74752: ordinal not in rang
- NLP with python 3 处理原始文本
- NLP Resources
- NLP常用工具
- DM NLP AI有用博客记载
- Deep Learning in NLP (一)词向量和语言模型
- NLP(一)--自然语言处理简介
- deep learning在NLP上的应用相对不理想的一种解释
- 自然语言处理(NLP)网上资源整理
- NLP | 自然语言处理 - 标注问题与隐马尔科夫模型(Tagging Problems, and Hidden Markov Models)
- 斯坦福NLP笔记 —— Semantics
- deep learning in NLP—深度学习在自然语言处理中的应用—入门学习序列
- 初学者如何查阅自然语言处理(NLP)领域学术资料
- 同时使用Twitter nlp 和stanford parser的解决方法