NLP 实战


怎么训练一个语言模型

1、 语料获取及预处理
billion words:https://github.com/ciprian-chelba/1-billion-word-language-modeling-benchmark

下载其 training-monolingual 语料 并使用 get_data 脚本进行 tokenize 和 shuffle( 不清楚 shuffle 对于语言模型有多大影响)

2、训练
传统方法 : KenLM
rnn

语言模型可以对句子通顺度建模,可以用于纠错


句法分析

  • Stanford Parser 最经典
  • SyntaxNet 最快、准确率最高

机器翻译

引入 seq2seq 模型的神经机器翻译,不仅仅是语言翻译


文本分类问题的思路

特征选择粒度:字粒度,词粒度
Ngram:1~5
长短文本:长文本tf-idf;摘要
短文本:word embedding


模型类型

传统机器学习模型:LR,朴素贝叶斯,SVM最大熵,GBDT,随机森林,KNN等等

深度学习模型:CNN,RNN(包括普通RNNLSTM 双向 LSTMGRU 等),CNN 与 RNN 结合,当然也有用普通的前馈神经网络做的(一般的DNN)


其他任务

聚类,Rank 模型,CTR预估,其他(打标签,构建知识图谱 等)


原文地址:https://www.cnblogs.com/fldev/p/14370993.html