1. 基本文本处理技能
1.1 分词的概念(分词的正向最大、逆向最大、双向最大匹配法);
词典正向最大匹配就是将一段字符串进行分隔,其中分隔 的长度有限制,然后将分隔的子字符串与字典中的词进行匹配,如果匹配成功则进行下一轮匹配,直到所有字符串处理完毕,否则将子字符串从末尾去除一个字,再进行匹配,如此反复。逆向匹配与此类似
1.2 词、字符频率统计;(可以使用Python中的collections.Counter模块,也可以自己寻找其他好用的库)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Created on 4/21/16
@author: Jiezhi.G@gmail.com
Blog: jiezhi.github.io
Reference: https://docs.python.org/2/library/collections.html#counter-objects
"""
import re
from collections import Counter
file_path = '/Users/jiezhi/Downloads/Scenes from a Courtesan_s Life.txt'
words = re.findall(r'\w+', open(file_path).read().lower())
print Counter(words).most_common(100)
2. 概念
2.1 语言模型中unigram、bigram、trigram的概念;
N-gram是计算机语言学和概率论范畴内的概念,是指给定的一段文本或语音中N个项目(item)的序列。项目(item)可以是音节、字母、单词或碱基对。通常N-grams取自文本或语料库。
N=1时称为unigram,N=2称为bigram,N=3称为trigram,以此类推。