如何将文档(例如,段落、书籍等)分解为句子。
例如, "The dog ran. The cat jumped"
变成 ["The dog ran", "The cat jumped"]
spacy?
原文由 Ulad Kasach 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何将文档(例如,段落、书籍等)分解为句子。
例如, "The dog ran. The cat jumped"
变成 ["The dog ran", "The cat jumped"]
spacy?
原文由 Ulad Kasach 发布,翻译遵循 CC BY-SA 4.0 许可协议
回答
import spacy
nlp = spacy.load('en_core_web_sm')
text = 'My first birthday was great. My 2. was even better.'
sentences = [i for i in nlp(text).sents]
附加信息
这假设您已经在系统上安装了模型“en_core_web_sm”。如果没有,您可以通过在终端中运行以下命令轻松安装它:
$ python -m spacy download en_core_web_sm
(有关所有可用模型的概述,请参见 此处。)
根据您的数据,这可能会比仅使用 spacy.lang.en.English
产生更好的结果。一个(非常简单的)比较示例:
import spacy
from spacy.lang.en import English
nlp_simple = English()
nlp_simple.add_pipe(nlp_simple.create_pipe('sentencizer'))
nlp_better = spacy.load('en_core_web_sm')
text = 'My first birthday was great. My 2. was even better.'
for nlp in [nlp_simple, nlp_better]:
for i in nlp(text).sents:
print(i)
print('-' * 20)
输出:
>>> My first birthday was great.
>>> My 2.
>>> was even better.
>>> --------------------
>>> My first birthday was great.
>>> My 2. was even better.
>>> --------------------
原文由 KB_ 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答4k 阅读✓ 已解决
2 回答754 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答730 阅读✓ 已解决
4 回答2.5k 阅读
2 回答3.2k 阅读
1 回答1.1k 阅读
2 回答3.1k 阅读✓ 已解决
1 回答1.3k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答651 阅读✓ 已解决
最新的答案是这样的: