NLP任务中有哪些巧妙的idea?
- 2019 年 11 月 26 日
- 笔记
作者:邱锡鹏
链接:https://www.zhihu.com/question/356132676/answer/901244271
先从语义表示说起吧,个人觉得都是简单并且巧妙的想法(但其背后的理论不一定简单)。
1. 分布式假设(Distributional Hypothesis)
"Linguistic items with similar distributions have similar meanings."
参考:https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/Distributional_semantics
直白点就是,一个词的语义可以用它的上下文表示。
对NLP来说,个人觉得分布式假设是来自语言学的最有价值的“理论”之一。
2. 词袋模型(Bag-of-Words)
将一篇文档看作是一个词的集合,不考虑语法,甚至是词序信息也都抛弃了。
BoW模型解决了用机器学习来做NLP的一个痛点问题:怎样把一个变成的文本序列转换为定长的向量。
相关扩展:N-gram,TF-IDF等
3. 潜在语义分析(Latent Semantic Analysis)
![](https://ask.qcloudimg.com/draft/6430183/m666d6hley.png)
4. 概率主题模型(Probabilistic Topic Models )
概率主题模型比词袋模型多引入了一个“主题(Topic)”作为隐变量。词和文档的之间关联变成了:文档->主题->词。这个想法合情合理,听上去就更好。如果你觉得哪里不好,又可以魔改。概率主题模型的数学基础(概率有向图模型)十分漂亮,并且基于吉布斯采样的推断简单到不可思议,甚至不需要图模型的知识就可以理解。PTM是前深度学习时代NLP领域的一个大宝矿(Shui Keng)!
![](https://ask.qcloudimg.com/http-save/6430183/g8et7k7g1m.jpeg)
5. 基于BMES的中文分词或基于BIO的NER/Chunking
BMES 是Begin/Middle/End/Single的缩写,代表所标记的字符是一个词语的开始/中间/结尾/单字词。
BIO是Begin/Inside/Outside的缩写,表示所标记的词是一个实体名的开始/内部/外部。
![](https://ask.qcloudimg.com/http-save/6430183/olbh4mh01l.jpeg)
这种标记将带有分割性质的NLP任务转换为序列标注任务,可以使用HMM、CRF等成熟的机器学习模型。
6. 基于PageRank的TextRank
PageRank本身非常巧妙了,TextRank更是巧妙地将PageRank应用到NLP中的词排序或句子排序上面,比如关键词抽取、文本摘要等。
![](https://ask.qcloudimg.com/http-save/6430183/nzsfpxln6u.jpeg)