NLP 第 1 / 12 篇

初识NLP

什么是自然语言处理

人类用自然语言与计算机之间进行通信的技术,属于语言学与计算机科学的交叉学科,会涉及到数学,统计学,线性代数,概率论,认知心理学等多门学科的知识。

数学是整个机器学习的核心与理论指导,涉及到概率论,矩阵计算,数据分析,最优化,数理统计,随机过程,信息论,要学的东西太多,建议先学习概率论与线性代数,然后感觉自然语言处理的字问题,逐渐学习一些相关的知识,比如语言模型,这就需要了解一些概率论的知识,再比如说我们要学习序列标注,这就需要了解一些序列图的模型,比如HMN,CRF,这样就是结合具体的人物学习,就能让我们更加高效的学习

编程实践是最关键的,这就是为什么编程相关的人员转行到AI领域是最多的,我们需要懂数据结构与算法基础,面试前还需要刷leecode面试题。

除了以上这些之外,我们还需要掌握自然语言处理的工具包,机器学习包,还有应用深度学习框架来搭建模型。

在我们学友余力的情况下,也可以多了解神经科学以及语言学这两方面的知识。再掌握一门学科会有非常大的优势。

自然语言处理与神经科学

卷积神经网络CNN是起源于一个关于猫的视觉实验,循环神经网络RNN是与人脑中的记忆机制是息息相关的,再比如transformer是一种注意力机制,这也是认知科学里面的一个领域。

未来的改进也是一定会与认知科学,神经科学息息相关,但是整体而言,人脑是非常复杂的,我们知识模拟了一小部分,有的流派说尽量模拟人脑的模型可能是迈向强人工智能的关键思路。

语言学

在一些具体的任务实践中,懂一些语言学方面的知识是非常有帮助的,比如对于一个特定的任务我们是使用词向量还是字向量(意思是我们把文本拆成以此为单位还是以字为单位),这与文本的特征,任务的特征还有语言本身的特征都是相关的,再比如说我们去听用词的时候,哪些词性的词可能是没用的,这里就涉及到对词性比较深层的理解;再比如说句法分析对当前的任务有没有用,能不能体现出词汇之间的这个关系,比如我们在建立一些知识图谱的时候,可能这些词之间的关系可以用来辅助我们做知识抽取的功能。这些都是需要一些语言学的常识的。

总的来说

首先掌握数学与计算机

有余力了解脑神经科学与语言学

从人工智能角度来看什么是自然语言处理?

NLP是人工智能非常核心的方面,是属于比较高级的一种智能,比图像处理的难度是更大一些的,人工智能最简单的理解就是像人类一样拥有某些智能。

AI应该具备的能力 ------------------->应用技术

1 计算能力:快速计算和记忆存储,应用:运算速度,存储能力。

2 感知能力:视觉,触觉,听觉       应用:语音识别,合成,计算机视觉,生物,图像,空间识别。

这一块讯飞的产品,图像处理的任务机器都是能够媲美的

3 认知能力:语言能力,知识管理,推理学习

与感知能力的差别就在于他多了一个中间层,我们所看我听都是直接信息来源,但是理解他中间多了一层符号,我们需要赋予这些符号意义,这就是非常难的一个地方,

应用:自然语言处理,是认知智能,语言交互,语义理解,知识学习

根据不同的情景,赋予感知事物恰当的符号,这是自然语言处理所面临的一大挑战。