本文基于 NLP 的基础知识,全方位介绍了 NLP 随着深度学习和神经网络的应用所取得的进展。
原标题 | Natural Language Processing: From Basics to using RNN and LSTM
作者 | vibhor nigam
译者 | 黄闯(浙江大学)、路双宁(成都信息工程大学)
注:本文的相关链接请访问文末【阅读原文】
计算机要处理任何概念,都必须以一种数学模型的形式表达这些概念。
自然语言处理,或简称为NLP,被广泛地定义为通过软件对自然语言(如语音和文本)的自动操作。
由于词干提取是基于一组规则发生的,因此词干返回的词根可能并不总是英语单词。 另一方面,词形还原可以适当地减少变形词,确保词根属于英语。
将一门自然语言分解成n-gram是保持句子中出现的单词数量的关键,而句子是自然语言处理中使用的传统数学过程的主干。
TF-IDF是一种对词汇进行评分的方式,按照它对句子含义的影响的比例为单词提供足够的权重。得分是两个独立评分,词频(tf)和逆文件频率(idf)的乘积。
然而,事实上这些维度并不那么清楚或便于理解。但由于算法是在维度的数学关系上训练的,因此这不会产生问题。从训练和预测的角度来看,维度所代表的内容对于神经网络来说是没有意义的。
词袋是一种以表格表示数据的方法,其中列表示语料库的总词汇表,每一行表示一个观察。单元格(行和列的交集)表示该特定观察中的列所代表的单词数。 它有助于机器用易于理解的矩阵范式理解句子,从而使各种线性代数运算和其他算法能够应用到数据上,构建预测模型。
为了将样本转换为其嵌入形式,将独热编码形式中的每个单词乘以嵌入矩阵,从而得到样本的词嵌入形式。
循环神经网络的的标准输入是一个词而不是一个完整的样本,这是概念上与标准神经网络的不同之处。这给神经网络提供了能够处理不同长度句子的灵活性,而这是标准神经网络无法做到的(由于它固定的结构)。它也提供了一个额外的在不同文本位置共享特征学习的优势,而这也是标准神经网络无法做到的。