Jak określić złożoność zdania w języku angielskim?

10

Pracuję nad aplikacją, która pomoże ludziom uczyć się angielskiego jako drugiego języka. Zweryfikowałem, że zdania pomagają w nauce języka, zapewniając dodatkowy kontekst. Zrobiłem to, przeprowadzając małe badanie w klasie 60 uczniów.

Wydobrałem z Wikipedii ponad sto tysięcy zdań na różne angielskie słowa (w tym 800 słów Barronsa i 1000 najczęstszych angielskich słów)

Całe dane są dostępne na https://buildmyvocab.in

Aby zachować jakość treści, odfiltrowałem zdania dłuższe niż 160 znaków, ponieważ mogą być trudne do zrozumienia.

W następnym kroku chcę być w stanie zautomatyzować proces sortowania tych treści w kolejności łatwej do zrozumienia. Ja sam nie mówię po angielsku. Chcę wiedzieć, jakich funkcji mogę użyć do oddzielenia łatwych zdań od trudnych.

Czy uważasz, że to jest możliwe?

BuildMyVocab
źródło

Odpowiedzi:

8

Tak. Istnieją różne wskaźniki, takie jak wskaźnik Fogg. Textacy w python ma ładną listę i implementacje.

>>> 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
źródło
Możesz także spojrzeć na entropię lub procent unikatowych słów, ale powyższe wskaźniki są bardziej odpowiednie.
GrimSqueaker