分词 >_<,英文tokenization,也叫word segmentation,是一种操作,它按照特定需求,把文本切分成一个字符串序列(其元素一般称为token,或者叫词语)。
英文分词
英文分词极为简单,下面给出两种分词思路:
import re
text = 'Lolita,light of my life,fire of my loins.My sin,my soul.'
# 分割的方式
pattern1 = re.compile(' ')
list1 = pattern1.split(text)
# 查找的方式
pattern2 = re.compile('\w+')
list2 = pattern2.findall(text)
# 打印出来,比较一下
print(list1)
print(list2)
无论是通过空格符进行分割出单词,还是直接正则匹配出单词,其实都是可以通过优化这个正则表达式进行优化分词效果。
我们意识到,我们仅仅用了两种简单的逻辑、短短的几行代码,分词的效果就特别特别好!!!
根源在于,英文本身就已经通过空白符进行了分词!!!
NLP中,其他的一些语言显然没这么幸运:
- 德语:德语构词法允许复合词的存在,可以理解为将多个简单单词直接拼接成一个复杂单词,并且中间不会添加任何连字符。感受一下,这是一个单词:Grundstücksverkehrsgenehmigungszuständigkeitsübertragungsverordnung
- 日语:日语的灾难在于,平假