G検定 練習問題 #0217・自然言語処理

bi-gram言語モデルの確率

ディープラーニングの応用例 › 自然言語処理 単一選択 難易度 標準

形態素解析で単語に区切った3文、文1「私 は 本 を 読む」、文2「私 は 映画 を 見る」、文3「彼 は 本 を 買う」をコーパスとして、単語のbi-gram(2-gram)言語モデルを作る。P(B|A)は「Aの直後にBが現れる回数÷Aの出現回数」で推定する。文「私 は 本 を 買う」についてP(は|私)×P(本|は)×P(を|本)×P(買う|を)を求め、小数第4位を四捨五入した値として、最も適切なものを1つ選べ。

正解と解説を見る

解説

正解 A

この問題の論点:bi-gram言語モデルの確率

ポイント

bi-gramモデルは、文の確率を直前の1語を条件とする確率の積で近似します。コーパスにない文にも確率を与えられます。

選択肢ごとの解説

  1. A

    適切 正解

    P(は|私)=2÷2=1、P(本|は)=2÷3、P(を|本)=2÷2=1、P(買う|を)=1÷3です。積は1×2/3×1×1/3=2/9≒0.222になります。各単語の確率を、直前の1語だけを条件にして決めています。

  2. B

    不適切

    分母を後ろの語の出現回数にすると、2/3×1×2/3×1=4/9≒0.444になります。P(B|A)は「Aが出たとき、次にBが来る割合」なので、分母は直前の語Aの出現回数です。

  3. C

    不適切

    最後のP(買う|を)=1/3だけを答えた値です。bi-gramが直前の1語だけを見るのは各単語の確率についての話で、文全体の確率は、各単語の条件付き確率をすべて掛け合わせて求めます。

  4. D

    不適切

    「私 は 本 を 買う」という文はコーパスにありませんが、これを構成する4つの2語の並びはどれもコーパスに現れます。bi-gramモデルは短い並びの確率を組み合わせるため、未出現の文にも0でない確率を与えられます。

補足

nを大きくすると、より長い文脈を考慮できます。その一方で、ありうる語の並びの種類が急増し、コーパスに一度も現れない並びが増えます。そうした並びを含む文の確率は0になってしまうため、確率の一部を未出現の並びに割り当てるスムージングなどの工夫が使われます。なお、n-gramは文字単位でも作れ、全文検索の索引などにも使われます。

試験での狙われ方

n-gramのnが何を表すかや、nを大きくしたときに語の並びの種類が急増してデータが足りなくなる点を問う形が見られます。

参考

表示設定

テーマ
文字の大きさ
問題演習