ホームページ  >  記事  >  バックエンド開発  >  Python を使用したニューラル機械翻訳の BLEU スコアの計算

Python を使用したニューラル機械翻訳の BLEU スコアの計算

WBOY
WBOY転載
2023-09-02 11:09:111722ブラウズ

Python を使用したニューラル機械翻訳の BLEU スコアの計算

NMT または NLP のニューラル機械翻訳を使用すると、テキストを特定の言語からターゲット言語に翻訳できます。翻訳のパフォーマンスを評価するために、Python での BLEU またはバイリンガル評価の学生スコアを使用しました。

BLEU スコアは、どちらも N グラムを使用して、機械翻訳された文と人間が翻訳した文を比較することによって機能します。さらに、文の長さが長くなると、BLEU スコアは低下します。一般に、BLEU スコアの範囲は 0 から 1 であり、値が高いほど品質が高いことを示します。ただし、満点を獲得することは非常にまれです。評価は部分文字列の一致に基づいて行われ、一貫性、時制、文法などの言語の他の側面は考慮されないことに注意してください。

###式### リーリー

ここで、各用語は次の意味を持ちます -

    BP は簡潔さのペナルティです。 2 つのテキストの長さに基づいて BLEU スコアを調整します。式は -
  • です

    リーリー
    n は n グラム マッチングの最大次数です。
  • p_i は精度スコアです。
  • ###アルゴリズム###

ステップ 1
    - データセット ライブラリをインポートします。
  • ステップ 2
  • - bleu をパラメータとしてload_metric関数を使用します。
  • ステップ 3
  • - 翻訳された文字列の単語に基づいてリストを作成します。
  • ステップ 4
  • - 目的の出力文字列の単語を使用してステップ 3 を繰り返します。
  • ステップ 5
  • - bleu.compute を使用して bleu 値を見つけます。
  • 例 1

  • この例では、Python の NLTK ライブラリを使用して、ドイツ語の文章を英語に機械翻訳するための BLEU スコアを計算します。

ソーステキスト (英語) - 今日は雨が降っています

  • 機械翻訳されたテキスト - 今日は雨が降ります

  • 必須テキスト - 今日は雨が降っています、今日は雨が降っています

  • 翻訳が正しく行われていないことがわかりますが、青色のスコアを探すことで翻訳の品質をよりよく知ることができます。

    ###例### リーリー ###出力### リーリー
  • 翻訳があまり良くないため、青色のスコアが 0 であることがわかります。

例 2

この例では、BLEU スコアを再度計算します。ただし、今回はフランス語の文章を英語に機械翻訳します。

ソーステキスト (ドイツ語) - 私たちは旅行に行きます

機械翻訳されたテキスト - 私たちは旅行に行く予定です

  • 必須テキスト - 旅行に行きます、旅行に行きます

  • 今回は、翻訳されたテキストが目的のテキストに近づいていることがわかります。 BLEU スコアを確認してみましょう。

    ###例### リーリー ###出力### リーリー
  • 今回完成した翻訳は目的の出力に非常に近いため、青色のスコアも 0.5 より高いことがわかります。
  • ###結論は###

    BLEU スコアは、翻訳モデルの効率をチェックするための優れたツールであり、翻訳モデルをさらに改善してより良い結果を生み出すことができます。 BLEU スコアはモデルの大まかなアイデアを得るために使用できますが、特定の語彙に限定されており、言語のニュアンスが無視されることがよくあります。 BLEU スコアが人間の判断と一致することがほとんどないのはこのためです。ただし、ROUGE スコア、METEOR メトリック、CIDEr メトリックなどの代替手段を試すことはできます。

以上がPython を使用したニューラル機械翻訳の BLEU スコアの計算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。