分词
最大匹配法(机械分词)
n-gram 计算两个单词或者多个单词同时出现的概率
hmm
crf
词性标注
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 是一个无监督学习算法,该算法用于预测一个向量来表示不同的文档,该模型的结构潜在的克服了词袋模型的缺点.
论文
其他:参考
文本检索
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