我有一个数据集,并通过正则表达式提取了数据。我使用NLTK的sent_tokenize
方法为我定义了句子边界。
tok = sent_tokenize(str(all_text))
print(tok[0])
It give me this output:
# List of string
tok = ['Hi ' , hello at 'this ', there 'from ']
现在我从该数据集中提取的带注释的数据如下:
i = ['there' , 'hello', 'Hi']
如果看到的话,在tok list
中,第一个引号是单词,而右引号是空格。但是在i
列表中,列表的元素是用引号引起来的,没有空格。当我想检查i
中tok
的任何元素时,应该给我一个结果。但无法检测到tok
中的文本。
答案 0 :(得分:1)
这应该可以解决您的问题:
tok = [j.strip() for j in tok]
答案 1 :(得分:0)
不确定sent_tokenize
为什么为您标记句子中的每个单词。但是如果您希望每个句子都带有标记,请尝试这样的操作。
from nltk import PunktSentenceTokenizer, word_tokenize
tokenizer = nltk.tokenize.punkt.PunktSentenceTokenizer()
tokens = [word_tokenize(i) for i in tokenizer.tokenize(all_text)]