我想使用textacy进行键词提取,但我使用的函数keyterms.key_terms.pagerank(doc)只是返回一个空列表。
我尝试过相关功能,包括更长的keyterms.key_terms_from_semantic_network(doc),但没有成功。我也尝试使用比下面显示的更长的文本,但它仍然没有找到任何关键术语。textacy 中的其他函数似乎确实有效,因此它似乎只是 keyterms 类的问题。
import spacy
import textacy
test_string = "Textacy key term extraction is not working properly. Textacy is built on top of SpaCy."
doc = textacy.make_spacy_doc(test_string)
textacy.keyterms.textrank(doc)
我得到的是一个空列表,而不是一个包含术语和排名分数的元组列表。
这对我有用
请注意以下新增内容:
- 我在第 2 行中显式导入了关键字。
- 我在第 4 行通过了 spaCy 英语模型。
import spacy
from textacy import keyterms
test_string = "Textacy key term extraction is not working properly. Textacy is built on top of SpaCy."
doc = textacy.make_spacy_doc(test_string, lang='en_core_web_sm')
textacy.keyterms.textrank(doc)
这是我从您的例句中得到的结果:
[('term', 0.24594541923542018),
('textacy', 0.24594541923542018),
('extraction', 0.2390545807645797),
('key', 0.13452729038228986),
('spacy', 0.13452729038228986)]
下面是一个示例,使用 2021 年 6 月的最新版本:
import spacy
from textacy.extract import keyterms as kt
test_string = "Textacy key term extraction is not working properly. Textacy is built on top of SpaCy."
doc = textacy.make_spacy_doc(test_string, lang='en_core_web_sm')
kt.textrank(doc)