【发布时间】:2021-03-18 09:47:19
【问题描述】:
我有一个由几个句子组成的序列。我希望找到一个有效的工具来进行单词标记化和跨度标记化(查找序列中的字符索引,有时称为偏移量。)。我试过TreebankWordTokenizer,发现它把整个序列当作一个句子。只有最后一个点可以分开。这是一个例子:
from nltk.tokenize import TreebankWordTokenizer
s = "I love apples. You love pears."
l = TreebankWordTokenizer().span_tokenize(s)
print(l)
ts = [s[start:end] for start, end in TreebankWordTokenizer().span_tokenize(s)]
print(ts)
返回:
[(0, 1), (2, 7), (8, 15), (16, 19), (20, 24), (25, 30), (30, 31)]
['I', 'love', 'apples.', 'You', 'love', 'pears', '.']
正如您在第三个标记中看到的那样,点没有分开。
我也试过nltk.word_tokenize(s)。它可以分隔所有标点符号,但它没有跨度标记。
请推荐一些同时具备这两种功能的分词器。谢谢。
【问题讨论】: