文章目录
转载来源:https://www.zhihu.com/question/356132676/answer/901244271
作者:邱锡鹏
这个问题很有趣!看了下目前的回答都是深度学习之后的,我就回答几个深度学习之前的吧:)
先从语义表示说起吧,个人觉得都是简单并且巧妙的想法(但其背后的理论不一定简单)。
1. 分布式假设(Distributional Hypothesis)
“Linguistic items with similar distributions have similar meanings.” 参考
直白点就是,一个词的语义可以用它的上下文表示。
对NLP来说,个人觉得分布式假设是来自语言学的最有价值的“理论”之一。
2. 词袋模型(Bag-of-Words)
将一篇文档看作是一个词的集合,不考虑语法,甚至是词序信息也都抛弃了。
BoW模型解决了用机器学习来做NLP的一个痛点问题:怎样把一个变成的文本序列转换为定长的向量。
相关扩展:N-gram,TF-IDF等3. 潜在语义分析(Latent Semantic Analysis)
3. 潜在语义分析(Latent Semantic Analysis)
基于上面的分布式假设和词袋模型,我们可以构建一个词-文档矩阵(term-document matrix)
X
X
X 。这个矩阵
X
X
X 很有意思,每一列为一个文档的表示(BoW向量),每一行为一个词的语义表示(分布式假设,其中上下文是以文档为基本单位)。这样我们就可以用
X
T
X
X^{T}X
XTX 表示文档和文档之间的关系,用
X
X
T
XX^{T}
XXT 表示词与词之间的关系。这个矩阵还可以进行SVD分解,得到词和文档的稠密向量表示,可以发现潜在的语义信息(比如主题等)。
4. 概率主题模型(Probabilistic Topic Models )
概率主题模型比词袋模型多引入了一个“主题(Topic)”作为隐变量。词和文档的之间关联变成了:文档->主题->词。这个想法合情合理,听上去就更好。如果你觉得哪里不好,又可以魔改。概率主题模型的数学基础(概率有向图模型)十分漂亮,并且基于吉布斯采样的推断简单到不可思议,甚至不需要图模型的知识就可以理解。PTM是前深度学习时代NLP领域的一个大宝矿(Shui Keng)!
5. 基于BMES的中文分词或基于BIO的NER/Chunking
BMES 是Begin/Middle/End/Single的缩写,代表所标记的字符是一个词语的开始/中间/结尾/单字词。
BIO是Begin/Inside/Outside的缩写,表示所标记的词是一个实体名的开始/内部/外部。
这种标记将带有分割性质的NLP任务转换为序列标注任务,可以使用HMM、CRF等成熟的机器学习模型。
6. 基于PageRank的TextRank
PageRank本身非常巧妙了,TextRank更是巧妙地将PageRank应用到NLP中的词排序或句子排序上面,比如关键词抽取、文本摘要等.