C2. Text Normalization
处理文本之前还需要Text Normalization。归结起来有以下几种Normalization方式:
- Tokenizing (segmenting) words
- Normalizing word formats
- Segmenting sentences
1. 用Unix工具进行粗略的Tokenization和Normalization
可以使用几个Unix命令进行粗略的标注和标准化(以及词频统计)。如tr
,可以更改输入为特定的字符;sort
,可以将输入按字母顺序排列;uniq
,可以折叠相邻的行并统计数量。
2. Word Tokenization(分词)
用Unix粗略的处理方式会忽略掉标点和数字,而对于大多数NLP任务而言,它们之中也有对于文本而言非常重要的部分,如Ph.D,AT&T,价格($45.6),日期(01/02/06)。不应该将它们分割开。又比如URLs,hashtags,Emails。下面是几种需要特别考虑的情况。
2.1 Number expressions
数字表达式还有其他的复杂情况。逗号通常处在单词的边缘,有时又会在数字之间:555,500.50。不同国家之间关于这个数字位数分割的表达还有不同的形式。
2.2 clitic(附加词)
缩写的附加词通常会有一个单撇号’。we’re→we are,附加词不能单独出现,一定会跟在其他单词的后面。
2.3 Tokenize multiword expressions as a single word
某些分词条件下,还会将多个单词视为一个token,如New York。因此Tokenization和**命