Родион
Всем привет! Может кто-нибудь сталкивался с такой задачей, был бы рад, если бы вы поделились своими мыслями на этот счет 😊
В общем, есть извлеченный из текстового корпуса (английская вики) словарь слов: слово + сколько раз оно встречалось в корпусе. И словарь отсортирован по убыванию количества упоминаний.
Так вот, необходимо, на основании этих значений сгруппировать слова на условные группы: "очень частые, "частые", "менее частые" и т.д, соответственно присвоив этим словам условную сложность: 0, 1, 2 ...
Собственно вопрос в том, каким образом определять такие интервалы? 😥
В конечном итоге это нужно для того, чтобы присвоить некоторому входному тексту значение "сложности", на основании, допустим, среднего количества сложности отдельно взятых слов.
Интуитивному понятию "сложность" соответствует метрика perplexity. Это средний логарифм от относительной частоты слова в минус первой степени.
Например, у нас текст "мама мыла раму", в корпусе слово "мама" встречается 100 раз, "мыла" - 10 раз, "раму" - 1 раз, а сам корпус размера 1 000 000. Тогда перплексия этого текста будет 1/3 * (log(1 000 000/100) + log(1 000 000/10)+log(1 000 000/1)).
Чем более редкие слова, тем выше перплексия, всё как ты хотел.
И делить слова на группы не нужно; кажется, что это лишний промежуточный шаг)