BERTを文生成タスクに使用できますか?


12

私はNLPの新しい学習者です。文章生成タスクに興味があります。私に関する限り、最先端の方法の1つは、RNNを使用して一連の単語を生成するCharRNNです。

ただし、BERTは数週間前にリリースされ、非常に強力です。したがって、この作業をBERTの助けを借りて実行できるかどうか疑問に思っています。私はこの分野の新しい学習者です。アドバイスをありがとう!


1
これにOpenAI GPTを使用できますか?OpenAI GPTには異なるアーキテクチャがあり、テキスト生成に使用されていると
思い

文字のスケールで作業することから、コンテキストの長さが限られているため、CharRNNは間違いなくSOTAではないと思います。代わりに、サブワードとバイトペアエンコーディング
に関する

回答:


21

初心者の方は、いいえ。

文の生成には、言語モデルからのサンプリングが必要です。これにより、以前のコンテキストが与えられた場合の次の単語の確率分布が得られます。しかし、BERTは双方向性を備えているため、これを行うことはできません。


上級研究者の場合は、はい。

すべての[MASK]トークンのセンテンスから始めて、(一般的な左から右へのチェーン分解の代わりに)任意の順序で1つずつ単語を生成できます。テキスト生成の品質を制御することは困難ですが。

BERTには口があり、話さなければならないテクニカルレポートは次のとおりです:BERTはマルコフランダムフィールド言語モデル、そのエラッタおよびソースコード


要約すれば:

  • BERTを使用した復号化の分野でいくつかの調査を行いたい場合は、探索するための巨大なスペースがあります
  • 高品質のテキストを生成したい場合は、個人的にはGPT-2を確認することをお勧めします。

3

スティーブンメイヒューによるこの実験は、BERTが逐次テキスト生成で粗末であることを示唆しています。

http://mayhewsw.github.io/2019/01/16/can-bert-generate-text/

although he had already eaten a large meal, he was still very hungry

以前と同じように、BERTが予測することを確認するために「空腹」を覆い隠しました。適切なコンテキストがなくてもそれを正しく予測できれば、私たちは生成に適した状態にある可能性があります。

これは失敗しました。BERTは最後の言葉として「多く」を予測しました。これはおそらく、BERTがピリオドがないことは文を継続する必要があると考えているためです。たぶん、文章を完成させるのにあまりに慣れていて、混乱してしまいます。よく分かりません。

「ずっと」後に予測を続けるべきだと主張する人もいるかもしれません。多分それは意味のある何かを生み出すでしょう。それに対して私は言います:最初に、これは死んだプレゼントであることを意味しました、そして、どんな人間も「空腹」を予測しました。第二に、私はそれを試しました、そしてそれは馬鹿なものを予測し続けます。「ずっと」の後の次のトークンは「、」です。

したがって、少なくともこれらの簡単な方法を使用すると、BERTはテキストを生成できません。


2

いいえ。文の生成は言語モデリングに直接関連しています(文の前の単語を考えると、次の単語は何ですか)。BERTには双方向性があるため、BERTを言語モデルとして使用することはできません。言語モデルとして使用できない場合、BERTを使用して文を生成する方法がわかりません。


1
私の答えは正しくありません。@soloiceの回答を受け入れることもできます
Astariul

1

これにはどのような代替オプションがありますか?

いいえ。文の生成は言語モデリングに直接関連しています(文の前の単語を考えると、次の単語は何ですか)。BERTには双方向性があるため、BERTを言語モデルとして使用することはできません。言語モデルとして使用できない場合、BERTを使用して文を生成する方法がわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.