将大文本提供给 PyTextRank
Feed large text to PyTextRank
我想使用 PyTextRank
提取关键词。如何将 500 万个文档(每个文档由几个段落组成)提供给包?
这是我在 official tutorial 上看到的例子。
text = "Compatibility of systems of linear constraints over the set of natural numbers. Criteria of compatibility of a system of linear Diophantine equations, strict inequations, and nonstrict inequations are considered. Upper bounds for components of a minimal set of solutions and algorithms of construction of minimal generating sets of solutions for all types of systems are given. These criteria and the corresponding algorithms for constructing a minimal supporting set of solutions can be used in solving all the considered types systems and systems of mixed types.\n"
doc = nlp(text)
for phrase in doc._.phrases:
ic(phrase.rank, phrase.count, phrase.text)
ic(phrase.chunks)
我的选择是否只能将数百万个文档连接成一个字符串并将其传递给 nlp(text)
?我不认为我可以使用 nlp.pipe(texts)
,因为我想通过从所有文档计算 words/phrases 来创建一个网络。
不,相反,运行 并行执行这些任务几乎肯定会更好。 pytextrank
的许多用例使用了 Spark、Dask、Ray 等,通过 spaCy
管道与 pytestrank
并行化 运行ning 文档以提取实体。
有关使用 Ray 进行并行化的示例,请参阅 https://github.com/Coleridge-Initiative/rclc/blob/4d5347d8d1ac2693901966d6dd6905ba14133f89/bin/index_phrases.py#L45
一个问题是您如何将提取的实体与文档相关联?这些是被收集到数据集中,还是可能是数据库或 key/value 存储?
无论这些结果是如何收集的,您都可以构建一个包含 co-occurring 个短语的图表,并且还可以包含其他语义来帮助构建结果。姊妹项目 kglab
https://github.com/DerwenAI/kglab was created for these kinds of use cases. There are some examples in the Jupyter notebooks included with the kglab
project; see https://derwen.ai/docs/kgl/tutorial/
FWIW,我们将在 ODSC West 上发布关于使用 kglab
和 pytextrank
的教程,并且有几个在线视频(在 Graph Data Science) 以前的会议教程。我们还有每月 public 的办公时间,一直到 https://www.knowledgegraph.tech/ – 在 Tw 上给我发消息@pacoid 了解详情。
我想使用 PyTextRank
提取关键词。如何将 500 万个文档(每个文档由几个段落组成)提供给包?
这是我在 official tutorial 上看到的例子。
text = "Compatibility of systems of linear constraints over the set of natural numbers. Criteria of compatibility of a system of linear Diophantine equations, strict inequations, and nonstrict inequations are considered. Upper bounds for components of a minimal set of solutions and algorithms of construction of minimal generating sets of solutions for all types of systems are given. These criteria and the corresponding algorithms for constructing a minimal supporting set of solutions can be used in solving all the considered types systems and systems of mixed types.\n"
doc = nlp(text)
for phrase in doc._.phrases:
ic(phrase.rank, phrase.count, phrase.text)
ic(phrase.chunks)
我的选择是否只能将数百万个文档连接成一个字符串并将其传递给 nlp(text)
?我不认为我可以使用 nlp.pipe(texts)
,因为我想通过从所有文档计算 words/phrases 来创建一个网络。
不,相反,运行 并行执行这些任务几乎肯定会更好。 pytextrank
的许多用例使用了 Spark、Dask、Ray 等,通过 spaCy
管道与 pytestrank
并行化 运行ning 文档以提取实体。
有关使用 Ray 进行并行化的示例,请参阅 https://github.com/Coleridge-Initiative/rclc/blob/4d5347d8d1ac2693901966d6dd6905ba14133f89/bin/index_phrases.py#L45
一个问题是您如何将提取的实体与文档相关联?这些是被收集到数据集中,还是可能是数据库或 key/value 存储?
无论这些结果是如何收集的,您都可以构建一个包含 co-occurring 个短语的图表,并且还可以包含其他语义来帮助构建结果。姊妹项目 kglab
https://github.com/DerwenAI/kglab was created for these kinds of use cases. There are some examples in the Jupyter notebooks included with the kglab
project; see https://derwen.ai/docs/kgl/tutorial/
FWIW,我们将在 ODSC West 上发布关于使用 kglab
和 pytextrank
的教程,并且有几个在线视频(在 Graph Data Science) 以前的会议教程。我们还有每月 public 的办公时间,一直到 https://www.knowledgegraph.tech/ – 在 Tw 上给我发消息@pacoid 了解详情。