python中的列表和带标记的句子,用引号“'”分隔,带空格和不带空格

时间:2018-10-26 12:47:55

标签: python

我有一个数据集,并通过正则表达式提取了数据。我使用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列表中,列表的元素是用引号引起来的,没有空格。当我想检查itok的任何元素时,应该给我一个结果。但无法检测到tok中的文本。

2 个答案:

答案 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)]