分词
词性标注
- crf
命名实体识别NER
- CRF
- biLSTM-CRF
关键词提取
- tf-idf
- textrank
基于PageRank
句法分析、依存关系
词向量
- 独热编码(one-hot encoder):
比如有三个单词“man"、”husband“、”dog“,将之分别表示为[0,0,1],[0,1,0],[1,0,0],这些词向量可以作为机器学习模型的输入数值向量,但是它们难以表达关联性,而且当词库单词量庞大时,独热编码的维度也会十分巨大,给计算和存储带来不少问题。
- Word2Vec
- GloVec
- FastText
- WordRank
句子/篇章向量
-
词袋表示(Bag-of-words model):
例如两个句子:”She loves cats.“、”He loves cats too.“ 我们可以构建一个词频字典:{"She": 1, "He": 1, "loves": 2 "cats": 2, "too": 1}。根据这个字典, 我们能将上述两句话重新表达为下述两个向量: [1, 0, 1, 1, 0]和[0, 1, 1, 1, 1],每1维代表对应单词的频率。
-
Doc2Vec:
是 Tomas Mikolov 基于 word2vec 模型提出的,其具有一些优点,比如不用固定句子长度,接受不同长度的句子做训练佯本,Doc2vec 是一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点.
论文 -
LSI(潜在语义索引):
潜在语义索引(Latent Semantic Indexing,以下简称LSI),有的文章也叫Latent Semantic Analysis(LSA)。它是一种简单实用的主题模型。LSI是基于奇异值分解(SVD)的方法来得到文本的主题的。
参考 -
LDA:
(Latent Dirichlet Allocation)中文翻译为:潜在狄利克雷分布。LDA主题模型是一种文档生成模型,是一种非监督机器学习技术。LDA是基于贝叶斯模型的。
参考 -
其他:参考
文本检索
BM25:一种用来评价搜索词和文档之间相关性的算法,主要就是计算一个query里面所有词和文档的相关度,然后在把分数做累加操作,而每个词的相关度分数主要还是受到tf/idf的影响。
参考 R(qi,d)是每个词和文档的相关度值,其中qi代表每个词,d代表相关的文档,Wi是这个词的权重,然后所有词的乘积再做累加。
文本分类
- 传统机器学习方法:LR、SVM、决策树、...
- fasttext
- rnn
- cnn
机器翻译
文本摘要
- textrank
- LSTM-attention
ref:https://github.com/dongjun-Lee/text-summarization-tensorflow