Предоставляет ли NLTK библиотеку для измерения словарного запаса обычного уровня? - PullRequest
1 голос
/ 23 февраля 2020

Предоставляет ли NLTK или любые другие инструменты NLP библиотеку для измерения обычного уровня словарного запаса?

Под этим обычным уровнем я подразумеваю, что некоторые слова являются простыми и чаще используются как «и, возраст, да, это, те, добрые», которые должен знать любой ученик начальной школы. Аналогично тому, что словарь Longman Engli sh (обычно для ESL) определил базовый словарь из 3000 слов c для объяснения всех записей с помощью.

Может быть набор редких слов, попадающих в редко используемый уровень, который используются только педанти c, такие как Agastopia, Impignorate, Gobbledygook и др. c.

Наверняка есть несколько уровней между этими двумя крайностями. Конечно, это определение уровня является чисто субъективным, и я ожидаю, что разные организации или лица могут иметь разные взгляды. По крайней мере, это может отличаться от региона к региону.

Моя цель - измерить сложность / сложность некоторых отрывков, ну, в настоящее время наивно, просто проверяя их словарный запас.

«Обычный уровень», возможно, не является хорошим описанием, но я не могу найти правильное и формальное выражение :). Я надеюсь, что мое объяснение проясняет мою цель.

1 Ответ

1 голос
/ 23 февраля 2020

Эмпирическим подходом к этой проблеме является использование термина частоты в большом корпусе документов. Используя большую часть википедии Engli sh, я создал словарь терминов частоты (, который можно скачать здесь )

import pickle
with open('/home/user/data/enWikipediaDictTermCounts.pickle', 'rb') as handle:
    d = pickle.load(handle)

#common words will have high counts (they appear many times in wikipedia):

d.get('age',0)
#207669
d.get('kind',0)
#62302

#rare words will have low counts:

d.get('agastopia',0)
#1
d.get('gobbledygook',0)
#39
d.get('serendipitous',0)
#186

Редкие слова будут встречаться реже, чем в 500 раз, и обычные слова появится более 10K раз. Вы можете поиграть с этими пороговыми значениями, чтобы найти правильный уровень редкости (или общности) для вашего приложения.
примечание: обратите внимание, что все слова были преобразованы в нижний регистр в словаре

...