Logi c записей в StringStore Spacy при обработке текста - PullRequest
0 голосов
/ 06 марта 2020

При инициализации языковой модели Spacy Engli sh словарь содержит 1139 строк.

При запуске nlp('faster') в StringStore ['faster', 'ter'] добавляются 2 строки. 1007 *

При запуске nlp('fastest') 3 строки добавляются в StringStore ['fastest', 'est', 'fast'].

У меня есть 2 вопроса:

  • Почему Spacy добавляет 'ter' и 'est' в StringStore?
  • Почему 'быстрый' добавляется при обработке 'самый быстрый', а не при 'быстрый' ?

Обработка «быстрее»

nlp = spacy.load('en')
original_strings = list(nlp.vocab.strings)
nlp('faster')
after_processing = list(nlp.vocab.strings)

# Compare Strings in StringStore
list(set(after_processing) - set(original_strings)) # -> ['faster', 'ter']

Обработка «быстрее»

nlp = spacy.load('en')
original_strings = list(nlp.vocab.strings)
nlp('fastest')
after_processing = list(nlp.vocab.strings)

# Compare Strings in StringStore
list(set(after_processing) - set(original_strings)) # -> ['est', 'fast', 'fastest']
...