每种动物都有自己的语言,机器也是!人类通过语言来交流,狗通过犬吠来交流。机器也有自己的交流方式,那就是数字信息。不同的语言之间是无法沟通的,比如说人类就无法听懂狗叫,甚至不同语言的人类之间都无法直接交流,需要翻译才能交流。而计算机更是如此,为了让计算机之间互相交流,人们让所有计算机都遵守一些规则,计算机的这些规则就是计算机之间的语言。自然语言(Natural language)通常是指一种自然地随文化演化的语言,就是类似大家说的「讲人话」。人类是会说话的高等动物,拥有自然语言及其智慧能力是人类的基本特征。汉语、英语、日语为自然语言的例子,而世界语则为人造语言,即是一种由人蓄意为某些特定目的而创造的语言。
语言交流与信息传递(百度百科)
自然语言不作为大自然客观物理的存在,而是属于人类本身。并不像几何学原理,一定有个第一性原理能明白语言从何而来,也不像牛顿发现了万有引力,法拉第发现了电磁感应,只是这些都属于大自然,从世界诞生之初就存在且不变。传说中因为巴别塔事件导致了人类语言分歧,有了多样性,起源难寻,就像我们始终无法明白为什么自然界只有人类存在智慧,公式是什么?既然不同人类语言之间可以有翻译,那么人类和机器之间是否可以通过“翻译”的方式来直接交流呢?NLP 就是人类和机器之间沟通的桥梁!
概述图(百度百科)
NLP概述
自然语言处理(Natural Language Processing,简称NLP),就是用计算机来处理、理解以及运用人类各种语言,是人工智能(AI)的一个子领域,是研究计算机处理人类语言的一门技术。NLP是人类探寻自身起源的学科,现在还是婴孩。
涉及学科:(计算机科学)Computer Science,(人工智能和计算语言学)Artificial Intelligence and Computational Linguistics。
目标:解决计算机和人类(自然)语言的交互问题,尤其是自动处理大规模自然语言语料。
难点:语言本身复杂(单词的边界界定、语义的消歧、句法的模糊性、有瑕疵或不规范的输入)、语境相关(语言行为与计划)、抽象概念联想、软硬件技术限制,等等。
解决的5个基本问题:分类(assigning a label to a string)、匹配(matching two strings)、翻译(transforming one string to another)、结构化预测(mapping string to structure)、马氏决策过程MDP,Markov Decision Process(deciding next state given previous state and action)。
内容包括:(1)句法语义分析:对于给定的句子,进行分词、词性标记、命名实体识别和链接、句法分析、语义角色识别和多义词消歧。(2)信息抽取:从给定文本中抽取重要的信息,比如,时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。涉及到实体识别、时间抽娶因果关系抽取等关键技术。(3)文本挖掘(或者文本数据挖掘):包括文本聚类、分类、信息抽娶摘要、情感分析以及对挖掘的信息和知识的可视化、交互式的表达界面。目前主流的技术都是基于统计机器学习的。(4)机器翻译:把输入的源语言文本通过自动翻译获得另外一种语言的文本。根据输入媒介不同,可以细分为文本翻译、语音翻译、手语翻译、图形翻译等。机器翻译从最早的基于规则的方法到二十年前的基于统计的方法,再到今天的基于神经网络(编码-解码)的方法,逐渐形成了一套比较严谨的方法体系。(5)信息检索:对大规模的文档进行索引。可简单对文档中的词汇,辅之以不同的权重来建立索引,也可利用1、2、3的技术来建立更加深层的索引。在查询的时候,对输入的查询表达式比如一个检索词或者一个句子进行分析,然后在索引里面查找匹配的候选文档,再根据一个排序机制把候选文档排序,最后输出排序得分最高的文档。(6)问答系统: 对一个自然语言表达的问题,由问答系统给出一个精准的答案。需要对自然语言查询语句进行某种程度的语义分析,包括实体链接、关系识别,形成逻辑表达式,然后到知识库中查找可能的候选答案并通过一个排序机制找出最佳的答案。(7)对话系统:系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。涉及到用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。此外,为了体现上下文相关,要具备多轮对话能力。同时,为了体现个性化,要开发用户画像以及基于用户画像的个性化回复。
---From 国际计算语言学协会(ACL)候任主席、NLP 领域资深研究者、MSRA副院长周明
NLP知识储备
一个入坑菜鸟,想把自己修炼成一个成熟的NLP大佬,需要经过一条怎样的路?韩国的Tae-Hwan Jung,做了一份完整的思维导图(https://github.com/graykode/nlp-roadmap),从基础概念开始,到NLP的常用方法和著名算法,知识点全面覆盖。
一、概率&统计(Probability & Statistics)
概率&统计思维导图
五个部分:基础 (Basic) ,采样 (Sampling) 、信息理论 (Information Theory) 、模型 (Model) ,以及贝叶斯(Bayesian) 。
二、机器学习(Machine Learning)
机器学习思维导图
七个分支:线性回归 (Linear Regression) 、逻辑回归 (Logistic Regression) 、正则化 (Regularization) 、非概率 (Non-Probabilistic) 、聚类 (Clustering) 、降维 (Dimensionality Reduction) ,以及训练(Training) 。
三、文本挖掘(Text Mining)
文本挖掘思维导图
六个部分:基本流程 (Basic Procedure) 、图 (Graph) 、文档 (Document) 、词嵌入 (Word Embedding)、序列标注 (Sequential Labeling) ,以及NLP基本假设 (NLP Basic Hypothesis)。
四、自然语言处理(Natural Language Processing)
自然语言处理思维导图
四个分支:基础 (Basic)、语言模型 (Language Model) ,分布式表征 (Distributed Representation) 、任务 (Task) 。