次の問題のおそらく簡単な解決策を探しています。
次のような文の入力が与えられた場合
"Absence makes the heart grow fonder."
基本的な単語とその難易度/複雑さのリストを作成する
[["absence", 0.5], ["make", 0.05], ["the", 0.01"], ["grow", 0.1"], ["fond", 0.5]]
次のように仮定します。
- 文中の単語はすべて有効な英単語です
- 人気は難易度/複雑さの許容可能な尺度です
- 基本語は、建設的な方法で理解できます (以下を参照)。
- 難易度/複雑さは、0 - 簡単なものから 1 - 気が遠くなるようなスケールで表されます
- 難易度バイアスは問題ありません。簡単だと誤解される方がよいでしょう。
- シンプルなソリューションを機能させることは、完璧ではあるが複雑なものよりも好まれます
- [編集]ユーザーとのやり取りはありません
- [編集]適切な英語入力を処理できます
- [編集]単語は、新しい単語を作成しない限り、基本的な形よりも難しくありません (スマートな存在として、幸せを知っていれば不幸にも作成できるからです)
一般的なアイデア:
その難しさを示す可能性のある単語の人気を推定するために、Google 検索やWordcountなどのサイトを使用することを検討しました。ただし、どちらのソリューションも、入力された単語の形式によって結果が異なります。Google は、 font に対して 3 億 1600 万件の結果を提供しますが、 fonter に対しては 11 万件の結果を提供しますが、 Wordcountはそれらに 6k と 54k のランクを提供します。
単語を基本的な形に変換することは必須ではありませんが、あいまいさの問題を解決します (そして、辞書へのリンクを簡単に作成できます)。明らかに、 fonderの代わりにfondを使用する必要がありますが、unbelieableの代わりにbelieveを調査するのはやり過ぎのようです ( [編集]最良の例ではないかもしれませんが、基本的な単語を変更すると、次のような新しい単語が作成されます->可能性が高い) ) と、ドアキーパーのような言葉を 2 つに分けてはいけません。
基本的な単語と見なすべきものについては、ウィキペディアでいくつかのアイデアを見つけることができますが、それを判断するより簡単な方法は、辞書を使用することです。たとえば、dictionary.reference.com によると、信じられないというのは基本的な言葉ですが、フォンダーはフォンから来ていますが、成長は成長と同じではありません。
解決策のアイデア:
この問題を処理する最善の方法は、辞書を使用して基本的な単語を見つけ、ウィキペディアのルールのいくつかを適用してから、Wordcount (おそらく Google 検索の数と組み合わせて) を使用して難易度を見積もることです。
それでも、アルゴリズムを使用する方法または準備が整っている可能性があります (おそらく、より単純で優れた方法があります)。この問題に対処し、簡単に実行できるソリューションをいただければ幸いです。たぶん、私は車輪を再発明しようとしているだけかもしれません (または、私のアプローチがうまく機能することを知っていて、自分が持っているものをコーディングする代わりに熟考することに時間を浪費しているかもしれません)。ただし、頻度分析アルゴリズムの実装やテキストのコーパスの準備は避けたいと思います。