1. 基本文本处理技能
英文分词,常以空格分词,中文分词较为复杂,常见方法有:正向最大、逆向最大、双向最大匹配法,这些方法是基于词典匹配而成。
正向最大:从前往后取词,每次减一个字,直至词典命中或剩下1个单字。
逆向最大:从后往前取词,每次减一个字,直至词典命中或剩下1个单子。
双向最大匹配:正向最大与逆向最大两种算法都进行一遍分词,根据词的颗粒度越大越好且单字和非字典词越少越好,进行分词。
2. 语言模型
n-gram模型也称为n-1阶马尔科夫模型,它有一个假设前提:当前词的出现概率仅仅与前面n-1个词相关。因此(1)式可以近似为:
当n取1、2、3时,n-gram模型分别称为unigram、bigram和trigram语言模型。n-gram模型的参数就是条件概率
假设词表的大小为100,000,那么n-gram模型的参数数量为
n越大,模型越准确,也越复杂,需要的计算量越大。最常用的是bigram,其次是unigram和trigram,n取≥4的情况较少。
3. 文本矩阵化
过程:加载文本数据集->jieba分词->去除停用词->生成词汇表->生成word_index->加载预训练词向量模型->生成词向量矩阵
jieba:https://github.com/fxsjy/jieba
特点
-
支持三种分词模式:
- 精确模式,试图将句子最精确地切开,适合文本分析;
- 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
- 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适