python извлечение ключевой фразы с использованием модуля pke - PullRequest
0 голосов
/ 15 февраля 2020

Я пытался извлечь ключевые фразы, используя модуль https://github.com/boudinfl/pke. Когда я запускаю его один раз, он отлично работает. Но когда я запускаю его несколько раз, он выдает следующую ошибку. ZeroDivisionError: деление с плавающей точкой на ноль

мой код выглядит следующим образом.

extractor = TopicRank()
def key_phrase_extract(path_to_json):
   //get_temp_text.txt from json
   extractor.load_document(input='temp_text.txt', language="en", max_length=10000000,
                        normalization='stemming')
   extractor.candidate_selection(pos={'NOUN', 'PROPN', 'ADJ'},stoplist=stoplist)
   extractor.candidate_weighting(threshold=0.74,
                                  method='average')
   kpe_results = []
   for (keyphrase, score) in extractor.get_n_best(n=10, stemming=True):
      kpe_results.append([keyphrase, score])
   print(kpe_results)

for each_json in json_list()
    key_phrase_extract('each_json')

Он отлично работает для первого json файла, но при запуске второго он дает мне ZeroDivisionError: float division by zero

1 Ответ

0 голосов
/ 15 февраля 2020

Мне удалось решить проблему. Проблема была в инициализации экстрактора вне функции.

def key_phrase_extract(path_to_json):
   extractor = TopicRank()
   //get_temp_text.txt from json
   extractor.load_document(input='temp_text.txt', language="en", max_length=10000000,
                        normalization='stemming')
   extractor.candidate_selection(pos={'NOUN', 'PROPN', 'ADJ'},stoplist=stoplist)
   extractor.candidate_weighting(threshold=0.74,
                                  method='average')
   kpe_results = []
   for (keyphrase, score) in extractor.get_n_best(n=10, stemming=True):
      kpe_results.append([keyphrase, score])
   print(kpe_results)

for each_json in json_list()
    key_phrase_extract('each_json')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...