Ключевые слова 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 ответа

Это работает для меня

Обратите внимание на следующие дополнения:

  1. Я явно импортировал ключевые слова в строке 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)
Другие вопросы по тегам