繁体   English   中英

如何使用nltk分隔单个句子?

[英]How separate individual sentences using nltk?

对Noob进行编程,尝试使用send_tokenize将文本拆分为单独的句子。 尽管它似乎有效(在控制台中,使每个句子成为其自己的列表项),但是当我将其附加到一个空列表时,最终得到的是len 1的列表(嗯,是语法列表列表)。 ,我无法遍历。 基本上,我希望能够提取每个单独的句子,以便可以将其与某些内容进行比较,例如,字符串“ Summer is great”。 也许有更好的方法可以完成此操作,但是请尝试为我提供一个简单的解决方案,因为Noob。 我想象每个句子的末尾都有一个标志,我可以用来一次附加一个句子,因此,只要指出这一点就足够了。

我已经阅读了文档并尝试添加以下代码,但最终我的listz的长度为1,而不是分解为单个句子。

导入nltk nltk.download('punkt')

from nltk import sent_tokenize, word_tokenize

listz = []

s = "Good muffins cost $3.88\nin New York.  Please buy me two of 
them.\n\nThanks."

listz.append([word_tokenize(t) for t in sent_tokenize(s)])

print(listz)

---
// Expenced output listz = [["Good muffins cost $3.88 in New York."], 
["Please buy me two of them."], ["Thanks."]]

您应该使用extend

listz.extend([word_tokenize(t) for t in sent_tokenize(s)])

但是在这种情况下,简单的分配有效:

listz = [word_tokenize(t) for t in sent_tokenize(s)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM