Ключевые слова Textacy возвращают пустой список
Я хотел бы использовать 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 ответа
Это работает для меня
Обратите внимание на следующие дополнения:
- Я явно импортировал ключевые слова в строке 2.
- Я сдал модель spaCy English в строке 4.
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 года:
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)