NLP 实战
怎么训练一个语言模型
1、 语料获取及预处理
billion words:https://github.com/ciprian-chelba/1-billion-word-language-modeling-benchmark
下载其 training-monolingual 语料 并使用 get_data 脚本进行 tokenize 和 shuffle( 不清楚 shuffle 对于语言模型有多大影响)
语言模型可以对句子通顺度建模,可以用于纠错
句法分析
- Stanford Parser 最经典
- SyntaxNet 最快、准确率最高
机器翻译
引入 seq2seq 模型的神经机器翻译,不仅仅是语言翻译
文本分类问题的思路
特征选择粒度:字粒度,词粒度
Ngram:1~5
长短文本:长文本tf-idf;摘要
短文本:word embedding
模型类型
传统机器学习模型:LR,朴素贝叶斯,SVM最大熵,GBDT,随机森林,KNN等等
深度学习模型:CNN,RNN(包括普通RNNLSTM 双向 LSTMGRU 等),CNN 与 RNN 结合,当然也有用普通的前馈神经网络做的(一般的DNN)
其他任务
聚类,Rank 模型,CTR预估,其他(打标签,构建知识图谱 等)