【NLP_Stanford课堂】分词
一、如何定义一个单词
在统计一句话有多少个单词的时候,首要问题是如何定义一个单词,通常有三种情况:
- 是否认为句中的停顿词比如Uh是一个单词,我们称之为fragment,或者filled pause。
- 是否认为一个单词的不同形态是一个单词。
- 是否认为一个完整的词组,比如San Francisco是一个单词
以上三种在不同任务下有不同的处理方法。
二、统计什么信息
在统计时,我们统计如下信息:
- word types:词汇表中的一个元素,不重复
- word token:文本中该type的一个实例,可重复
一般如下表示:
corpora:语料库,也就是文本的数据集
N:token的数目
V:单词表,也就是type的集合
三、数据预处理
- 将所有的大写字母转为小写
- 将缩写词扩写,比如We're 扩写为We are
- 将连接符去掉,比如state-of-the-art 改写为 state of the are
- 将自连的单词切分开,比如Lowercase改写为lower case
四、中文分词
对于中文来说,分词更困难,因为没有空格隔开,一般的baseline方法是Maximum Matching(也称作贪心)
Maximum Matching:
- 给定一个中文单词表和一个要分词的字符串
- 从字符串的最开始建立一个指针
- 在单词表中找到指针所指字符所能匹配的最长的单词
- 移动指针到这个单词的下一个字符
- 重复步骤3