整理目前阶段小结,规划下一步学习计划,加油!!!

文本处理经典流程

        原始文本->分词->清洗->标准化->特征提取->建模->评估

        清洗:无用的符号、特殊符号、停用词、大写转小写

        标准化:对齐

        特征提取:标准化后的词语,用向量表示

        建模:相似度算法、分类算法

一、熟练原理

1、熟练常见的分词方法及原理

(1)向前最大匹配

(2)向后最大匹配

(3)考虑语义分词

(4)viterbi算法【考虑了分词及语言模型】

  前两种是贪心算法,最大长度根据经验设置,需要准备好词典,将待分词的句子和词典匹配;第三种结合语言模型;第四种通过词典、词语在词典的概率,拆分句子,取出概率最大的一组分法(一个词、两个词、三个词 。。。,画出各个词的连接及概率)

2、熟练常见的文本表示法【将文本表示成向量】

(1)one-hot表示法,boolean-base表示法,根据词典维度,判定词语是否出现在句子中,出现位用1表示,不考虑频率

(2)one-hot表示法,count-base表示法,根据词典维度,判定词语是否出现在句子中,出现位用1表示,考虑频率

(3)tf-idf表示法,P1(c)*P2(N/Nc),P1表示词语c在文档中出现的词频,P2表示所有文档数除以c出现过的文档数Nc

(4)词向量分词(分布式表示法,没太明白为何叫分布式)指定维度参数、通过深度学习训练出向量表示

3、熟练文本相似度计算方法【将文本、句子、词语,通过向量表示】

(1)欧式距离计算

(2)余弦相似度

4、熟练训练语言模型【通过马尔可夫假设,近似计算,考虑越多,越复杂】

unigram:计算概率时,不考虑每个词之间的关系

bigram:计算概率时,考虑前一个词

trigram:计算概率时,考虑前两个词

n-gram:计算概率时,考虑前n个词

5、熟练估计语言模型的概率

6、熟练评估语言模型perplexity

Perplexity = 2-x (表示2的负x次方),x: average log likelihood(语言模型 作用在语料库上,得到likelihood;)

perplexity是个比较重要的评估概念,特别是在无监督学习方面;perplexity越小反映语言模型越好越好

7、平滑方法

计算概率相乘,往往有一个为0时,会导致整个结果为0,影响计算结果,可通过平滑方法进行调整。

(1)add-one smoothing:在朴素贝叶斯经常会用到

(2)add-k smoothing

(3)interpolation:考虑了

(4)good-tuming smoothing:考虑了未出现过的

二、开发应用

1、纠错功能

2、文本分类【过滤垃圾邮件】

3、分词应用

4、翻译应用

5、情感分析

6、聊天机器人

7、自动摘要

8、信息抽取

9、问答系统