学习自然语言处理前所要了解的知识
博客参考何晗所著的《自然语言处理入门》
自然语言处理
自然语言处理(Natural Language Processing, NLP) 是一门融合了计算机科学、人工智能及语言学的交叉学科。研究内容是通过机器学习等技术,让计算机学会处理人类语言,乃至实现理解人类语言或人工智能。
自然语言与编程语言的区别
词汇量
自然语言中的词汇量远远比编程语言中的关键字多。编程语言中的关键字数量是有限且确定的。而在自然语言中,以汉语为例,《现代汉语常用词表》中一共收录了56008个词条,且新词在不停创造。
结构化
自然语言是非结构化的,而编程语言是结构化的。
歧义性
自然语言中含有大量的歧义,且歧义根据语境不同而表现出特定的含义。
容错性
在编程语言中,必须要保证编程语句的绝对正确,否则会出现无法编译或者存在潜在BUG。而自然语言即使语句中存在错别字、病句等,人类还是可以猜出所要表达的意思。
易变性
编程语言与自然语言都是不断发展变化的。区别是编程语言变化发展较自然语言而言相对缓慢。
简略性
自然语言中常常出现对一个背景、常识等进行简略,如“老地方见”、“网吧对面”。这种现象对自然语言处理带来障碍。
自然语言处理结构
自然语言处理的结构如下图所示,主要有输入源(语音、图像和文本