0

私は出会い系の本のプロジェクトを行っています。私の主なアイデアは、「ngram」でそれを行うことです。ここにhttp://books.google.com/ngramsを入力すると、最も明確なグラフ (何年にもわたって一定でない値) を持つ ngram が見つかりました。次に、本を「読む」コードを python で書きました。本といくつかの ngram を取り、テキスト上の ngram の頻度を計算します。たとえば、「extarminate all human beings with exploxic grandes」というテキストの ngram "ex" は 0.05263157894736842 になります。このテキストには 2 つの "ex" があり、2 文字の組み合わせが 38 通りあるため、ngram は次のようになると思いました。 2/38。

だから私は 1 グラム (ABC) の多くの本でこの計算を行い、すべての本で多かれ少なかれ同じ数を得ました。そして、Google の ngram に戻ったところ、どうやら私が取得した数値と彼らが取得した数値が完全に異なっていたようです。たとえば、1gram の「a」は約 0.078、b は 0.0135 などだったのですが、Google の ngram は [a=1.54] と [b=0.0066] でした...

この計算はすべて間違っているという結論に達しました。さて、 ngram のREAL計算とは何かを尋ねています。私は本当にこれを理解する必要があるので、これがどのように機能するか知っているなら、私に知らせてください.

どうもありがとう :)

回答後に編集: 私の値は確率 (0 から 1) であるため、実際には Google よりも高い値が得られました。この値を % に変換するには、100 を掛ける必要があります。英語では単語としての「a」よりも文字としての「a」(8%)。

4

2 に答える 2

1

Google から報告している値に確信がありますか? 周波数の範囲は 0 から 1 で、結果として 1.54 を挙げています。私があなただったら、それを確認します。

http://en.wikipedia.org/wiki/Letter_frequency

これは、文字aの頻度が 0.08167 であることを示しています。

また、この頻度は特定のサンプルに基づいていることも理解する必要があります。サンプルサイズが十分に大きくなると、文字の出現頻度が真の値に近づくと想定しています。

私は通常、n-gram と聞くと言葉を思い浮かべます。1 グラムは 1 つの単語です (例: "apple")。トライグラムは 3 つの単語です (例: "We the people")。

于 2013-05-26T14:57:48.983 に答える
0

わかりましたので、私はいくつかの調査を行い、@duffymo は実際には正しかったです。単語であろうと文字であろうと、Google の Ngram エンジンは記号句の形で検索します。たとえば、「a」と書くと、「 a 」 (スペースを含む) が 1 つの単語として検索されます。

コードにいくつかの変更を加えたところ、Google と同じ結果が得られました。

ありがとう!

于 2013-05-29T07:00:31.073 に答える