Как определить сложность английского предложения?

10

Я работаю над приложением, чтобы помочь людям выучить английский как второй язык. Я подтвердил, что предложения помогают в изучении языка, предоставляя дополнительный контекст. Я сделал это, проведя небольшое исследование в классе из 60 учеников.

Я добыл более ста тысяч предложений из Википедии для различных английских слов (включая 800 слов Барронса и 1000 самых распространенных английских слов)

Полные данные доступны на https://buildmyvocab.in

Чтобы сохранить качество контента, я отфильтровал предложения длиной более 160 символов, поскольку их было трудно понять.

В качестве следующего шага я хочу иметь возможность автоматизировать процесс сортировки этого контента в порядке простоты понимания. Я сам не являюсь носителем английского языка. Я хочу знать, какие функции я могу использовать, чтобы отделить простые предложения от сложных.

Кроме того, вы думаете, что это возможно?

BuildMyVocab
источник

Ответы:

8

Да. Существуют различные метрики, такие как индекс тумана. Textacy в Python имеет хороший список и реализации.

>>> ts.flesch_kincaid_grade_level
10.853709110179697
>>> ts.readability_stats
{'automated_readability_index': 12.801546064781363,
 'coleman_liau_index': 9.905629258346586,
 'flesch_kincaid_grade_level': 10.853709110179697,
 'flesch_readability_ease': 62.51222198133965,
 'gulpease_index': 55.10492845786963,
 'gunning_fog_index': 13.69506833036245,
 'lix': 45.76390294037353,
 'smog_index': 11.683781121521076,
 'wiener_sachtextformel': 5.401029023140788}
GrimSqueaker
источник
Вы также можете посмотреть на энтропию или процент уникальных слов, но приведенные выше показатели более актуальны.
GrimSqueaker