任务链接:https://wx.zsxq.com/dweb/#/index/222248424811
1.基本文本处理技能
1.1分词的概念(分词的正向最大、逆向最大、双向最大匹配法)
正向最大匹配法:对句子从左到右进行扫描,尽可能地选择与词典中最长单词匹配的词作为目标分词,然后进行下一次匹配。
逆向最大匹配法:对句子从右到左进行扫描,尽可能地选择与词典中最长单词匹配的词作为目标分词,然后进行下一次匹配。
双向最大匹配法:将正向最大匹配算法和逆向最大匹配算法进行比较,从而确定正确的分词方法。
参考链接:https://blog.csdn.net/selinda001/article/details/79345072
1.2 词、字符频率统计(使用Python中的collections.Counter模块)
import jieba
from collections import Counter
data = '北京大学和清华大学是中国的顶尖大学'
print('单词统计')
words = list(jieba.cut(data))
print(Counter(words))
print('字符统计')
print(Counter(list(data)))
2. 语言模型
2.1 语言模型中unigram、bigram、trigram的概念
unigram一元分词,把句子分成一个一个的汉字
bigram二元分词,把句子从头到尾每两个字组成一个词语
trigram三元分词,把句子从头到尾每三个字组成一个词语
比如:
西安交通大学:
unigram 形式为:西/安/交/通/大/学
bigram形式为: 西安/安交/交通/通大/大学
trigram形式为:西安交/安交通/交通大/通大学
2.2词袋模型
将所有词语装进一个袋子里,不考虑其词法和语序的问题,即每个词语都是独立的。
例句:
句1:Jane wants to go to Shenzhen.
句2:Bob wants to go to Shanghai.
建立一个数组用于映射匹配:[Jane, wants, to, go, Shenzhen, Bob, Shanghai]
构建词袋模型:
句1:[1,1,2,1,1,0,0]
句2:[0,1,2,1,0,1,1]
3. 文本矩阵化:要求采用词袋模型且是词级别的矩阵化