Programación

スペイン語文章の読みやすさを判定する

英語にはFlesch–Kincaidの可読性スコアなるものが存在していて、wikiによると学校の教科書や海軍・陸軍の教科書の評価、自動車保険契約の目安などに使われているそうです。

このスコアのスペイン語版を探してみたところFernández HuertaやSzigriszt Pazosが提案しているモデルを見つけました。

スコアを出す英語用の式は下記の通り。

206.835 – 1.015($\frac{Total \ words}{Total \ sentences}$) – 84.6($\frac{Total \ syllables}{Total \ words}$)

式だけ見るとどうやら可読性というのは単語数や音節数で割り出されるそうで、これはスペイン語版も同じです。

英語版と違うのは主に係数部分だけです。

Fernández 版:206.84 – 1.02($\frac{Total \ words}{Total \ sentences}$) – 60($\frac{Total \ syllables}{Total \ words}$)

Szigriszt 版: 206.835 – 62.3(($\frac{Total \ syllables}{Total \ words}$) – ($\frac{Total \ words}{Total \ sentences}$) )

 

学習者から見ると構文の難しさや使われている単語のレベルなどが無いと腑に落ちない値になりそうな気がするのですが、ネイティブ間での読みやすさであればさもありなん。

英語版のwikiで実験されている通り、教科書的な内容以外でも一応納得出来そうなスコアが示されています。

(スポーツ選手の記事より哲学者の記事の方が難しいという結果)

wiki:https://en.wikipedia.org/wiki/Flesch%E2%80%93Kincaid_readability_tests より

 

今回もpython実装をしてみました。(https://github.com/samsumario/blog_public/tree/main/blog_726)

実装の参考にしたのは→https://github.com/amunozf/legibilidad

各指標の説明や文献リンクはLegibleに詳細が記載されています。

 

元々実装が公開されていたものとの主な違いは音節のカウンター部分です。

用意した文に対してpyverseの方がきちんとカウントされていたので、pyverseを使うようにしてみました。

元実装→https://github.com/amunozf/separasilabas

今回→pyverse

 

早速、以前紹介したことのある初学者向けリーディング文書が乗っているPractical Spanishの文章で計測してみました。

先ずはabsolute beginner向けの13話を計測した結果。

Fernándezの式から算出したabsolute beginner用文章のスコア 13話分
Szigrisztの式から算出したabsolute beginner用文章のスコア 13話分

Fernándezスコアを使ってもSzigrisztを使ってもmuy fácil判定が多いです。

次はレベルが少し上がったBeginner用20話を計測した結果。

Fernándezの式から算出したbeginner用文章のスコア 20話分
Szigrisztの式から算出したabsolute beginner用文章のスコア 20話分

 

これもFernándezスコア、Szigrisztスコアともにfácil判定が多くなっていて、absolute beginnerよりもレベルが上がっていることが容易に分かります。

次回はニュースの文章を例に計測していく予定です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です