1. 中文NLP笔记:中文自然语言处理的一般流程

图片发自App

今天开始一起学习中文自然语言处理


中文NLP一般流程

1. 获取语料

  语料,是NLP任务所研究的内容

  通常用一个文本集合作为语料库(Corpus)

  来源:

  已有语料

    积累的文档

  下载语料

    搜狗语料、人民日报语料

  抓取语料



2. 语料预处理

  1.语料清洗

  留下有用的,删掉噪音数据

  常见的数据清洗方式

    人工去重、对齐、删除和标注等,或者规则提取内容、正则表达式匹配、根据词性和命名实体提取、编写脚本或者代码批处理等。

  2.分词

  将文本分成词语

  常见的分词算法

    基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于规则的分词方法

  3.词性标注

  给词语打词类标签,如形容词、动词、名词等

    在情感分析、知识推理等任务中需要

  常见的词性标注方法

    基于规则

    基于统计

    如基于最大熵的词性标注、基于统计最大概率输出词性和基于 HMM 的词性标注。

  4.去停用词

  去掉对文本特征没有任何贡献作用的字词,比如标点符号、语气、人称等



3. 特征工程

  把分词表示成计算机能够计算的类型,一般为向量

  常用的表示模型

  词袋模型(Bag of Word, BOW)

    TF-IDF

  词向量

    One-hot

    Word2Vec



4. 特征选择

  选择合适的、表达能力强的特征

  常见的特征选择方法

  有 DF、 MI、 IG、 CHI、WLLR、WFO



5. 模型训练

  机器学习模型

  KNN、SVM、Naive Bayes、决策树、GBDT、K-means 等

  深度学习模型

    CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN

  注意过拟合、欠拟合问题

  过拟合:在训练集上表现很好,但是在测试集上表现很差。

    常见的解决方法有:

增大数据的训练量;

增加正则化项,如 L1 正则和 L2 正则;

特征选取不合理,人工筛选特征和使用特征选择算法;

采用 Dropout 方法等。

 

欠拟合:就是模型不能够很好地拟合数据

    常见的解决方法有:

添加其他特征项;

增加模型复杂度,比如神经网络加更多的层、线性模型通过添加多项式使模型泛化能力更强;

减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

  注意梯度消失和梯度爆炸问题



6. 评价指标

  错误率、精度、准确率、精确度、召回率、F1 衡量。

  ROC 曲线、AUC 曲线



7. 模型上线应用

  第一就是线下训练模型,然后将模型做线上部署

  第二种就是在线训练,在线训练完成之后把模型 pickle 持久化


学习资料:

《中文自然语言处理入门实战》

你可能感兴趣的:(1. 中文NLP笔记:中文自然语言处理的一般流程)