前面的一些分词工具都是写好的的规则
如果我们想按照自己的规则进行分词 可以使用正则分词器
1.RegexpTokenizer类
from nltk.tokenize import RegexpTokenizer
text = " I won't just survive, Oh, you will see me thrive. Can't write my story,I'm beyond the archetype."
# 实例化RegexpTokenizer 会按照正则表达式进行re.findall()
regexp_tokenizer = RegexpTokenizer(pattern="\w+")
# 实例化RegexpTokenizer 指定gaps=True会按照正则表达式进行re.split()
regexp_tokenizer1 = RegexpTokenizer("[\s,'\.]", gaps=True)
print(regexp_tokenizer.tokenize(text))
# ['I', 'won', 't', 'just', 'survive', 'Oh', 'you', 'will', 'see', 'me', 'thrive', 'Can', 't', 'write', 'my', 'story', 'I', 'm', 'beyond', 'the', 'archetype']
print(regexp_tokenizer1.tokenize(text))
# ['I', 'won', 't', 'just', 'survive', 'Oh', 'you', 'will', 'see', 'me', 'thrive', 'Can', 't', 'write', 'my', 'story', 'I', 'm', 'beyond', 'the', 'archetype']
2.regexp_tokenize方法
# 此方法封装实例化RegexpTokenizer并用实例的tokenize方法进行分词 用法及作用和RegexpTokenizer 一样
from nltk import regexp_tokenize

这篇博客介绍了如何使用nltk库进行自定义正则分词,包括RegexpTokenizer类、regexp_tokenize方法,以及BlanklineTokenizer和WhitespaceTokenizer这两个RegexpTokenizer的子类,它们分别用于按空行和空白字符进行分词。
最低0.47元/天 解锁文章
1280

被折叠的 条评论
为什么被折叠?



