ChatGPTはこれまでの対話システムと何が違う? 対話システムの言語理解を探る対話システムの歴史から見たChatGPT(2)

ChatGPTを対話システムと見なし、これまでの対話システムで用いられてきた技術との違いを整理しながら、どのようにして人間のような自然で流ちょうな対話が実現できているのかを解説する本連載。第2回は、第1回で取り上げた対話システムを中心に、用いられている言語理解の技術について解説する。

» 2023年11月06日 05時00分 公開
[長谷川 隆明NTTテクノクロス]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 今回のテーマは、対話システムにおける言語理解である。対話システムで用いられてきた言語理解の技術を大別すると、パターンマッチ、構文解析、意味解析、深層学習による大規模言語モデルが挙げられる。本連載の第1回で取り上げた対話システムを中心に、用いられている言語理解の技術について解説する。

パターンマッチ

 対話システムにおけるパターンマッチとは、事前に用意された特定のパターンと入力されるテキストの文字列とを照合させる手法であり、最も単純な言語理解の技術といえる。

 パターンマッチを用いた対話システムとして、最初に初期の非タスク指向型の対話システムである「ELIZA」を取り上げる。

 ELIZAでは、患者役のユーザーとDOCTORというセラピストを模倣したスクリプトとの対話が有名である。スクリプトはユーザーの思考や感情を全く理解していないにもかかわらず、まるで人間を相手にしているかのような対話が見られた。以下にELIZAとの対話例を示す。

ユーザー:Men are all alike.(男の人ってみんな似ているわ)

ELIZA:IN WHAT WAY(どういうふうに?)

ユーザー:There are always bugging us about something or other.(いつも何かしら私たちを悩ませるのよ)

ELIZA:CAN YOU THINK OF A SPECIFIC EXAMPLE(具体的な事例を思い出せますか?)

ユーザー:Well, my boyfriend made me come here.(そうね、私のボーイフレンドが私をここに来させたのよ)

ELIZA:YOUR BOYFRIEND MADE YOU COME HERE(あなたのボーイフレンドがあなたをここに来させたんですね)

ユーザー:He says I'm depressed much of time.(彼は私が長い間うつ状態だと言うの)

ELIZA:I AM SORRY TO HEAR THAT YOU ARE DEPRESSED(あなたがうつ状態だと聞いて気の毒に思います)

ユーザー:It's true. I am unhappy.(本当よ。私は不幸なの)

ELIZA:DO YOU THINK COMING HERE WILL HELP YOU NOT TO BE UNHAPPY(ここに来ることは、不幸でなくなる助けになると思いますか?)

ユーザー:I need some help, that much seems certain.(何かしらの助けが私には必要なの。それは確かだわ)

ELIZA:WHAT WHOULD IT MEAN TO YOU IF YOU GOT SOME HELP(あなたが助けを得ると、それはあなたにとってどんな意味がありますか?)

ユーザー:Perhaps I could learn to get along with my mother.(おそらく私の母とうまくやることが学べるわ)

ELIZA:TELL ME MORE ABOUT YOUR FAMILY(もっとあなたの家族のことについて教えてください)

ユーザー:My mother takes care of me.(私の母は私の面倒を見てくれているわ)

ELIZA:WHO ELSE IN YOUR FAMILY TAKES CARE OF YOU(あなたの家族の中に、他にあなたの面倒を見てくれる人は誰かいますか?)

ユーザー:My father.(私の父よ)

ELIZA:YOUR FATHER(あなたのお父さまですね)

ユーザー:You are like my father in some ways.(あなたはどことなく私の父に似ているわ)

ELIZA:WHAT RESEMBLANCE DO YOU SEE(どんな類似点がありますか?)

ユーザー:You are not very aggressive but I think you don't want me to notice that.(あなたはあまり攻撃的ではないけれど、私にそれに気付かれたくないと思っているようね)

ELIZA:WHAT MAKES YOU THINK I AM NOT VERY AGGRESSIVE(私があまり攻撃的でないと思うのはどうしてなのでしょうか)

ユーザー:You don't argue with me.(あなたは私に反論しないわ)

ELIZA:WHY DO YOU THINK I DON'T ARGUE WITH YOU(あなたはなぜ私があなたに反論しないと思うのですか?)

ユーザー:You are afraid of me.(あなたは私が怖いのよ)

ELIZA:DOES IT PLEASE YOU TO BELIEVE I AM AFRAID OF YOU(私があなたを怖いと信じれば、あなたはうれしいですか?)

ユーザー:My father is afraid of everybody.(私の父はみんなを怖がっているの)

ELIZA:WHAT ELSE COMES TO MIND WHEN YOU THINK OF YOUR FATHER(あなたのお父さまについて、何か他に思い付くことはありますか?)

ユーザー:Bullies.(いじめっ子ね)

ELIZA:DOES THAT HAVE ANYTHING TO DO WITH THE FACT THAT YOUR BOYFRIEND MADE YOU COME HERE(それはあなたのボーイフレンドがあなたをここに来させたことと何か関係がありますか?)

ELIZAの対話例([1]から抜粋)(大文字の文がスクリプトによる発話である。日本語訳は筆者による。スクリプトによる発話の巧みさが分かるように直訳調にした)

 ELIZAでは、テキスト入力によるユーザーの発話を理解するためにパターンマッチが用いられ、パターンマッチによるテンプレートにより応答文が作成される。入力されたパターンに照合したルールを適用して、パターンに照合するキーワードを抽出し、テンプレートにそのキーワードを当てはめて応答を作成する。

 例えば、次のようなルールである。ルール1では、パターンは“I am”で"xxxxxx"に照合する文字列を取得する。出力文として取得した文字列をテンプレートに当てはめた文が生成される。

ルール1

入力文:"I am xxxxxx."

出力文:"HOW LONG HAVE YOU BEEN xxxxxx"


入力文の例とルール1から生成される出力文の例:

入力文:"I am very unhappy these days."

出力文:"HOW LONG HAVE YOU BEEN VERY UNHAPPY THESE DAYS"

 ルール2では、パターンは"you"と”me"であり、”0”は不定の個数の単語が入ることを意味し、出力文の”3”は入力文の3番目の部分の単語を当てはめることを意味する。この例では、(1)It seems that (2)you (3)hate (4)me の3番目の"hate"が対応する。パターンが照合しない場合には、対話例に見られるように「CAN YOU THINK OF A SPECIFIC EXAMPLE」という知的に見える応答文を返す。

ルール2

入力文:(0 YOU 0 ME)

出力文:(WHAT MAKES YOU THINK I 3 YOU)


入力文の例とルール2から生成される出力文の例:

入力文:It seems that you hate me.

出力文:WHAT MAKES YOU THINK I HATE YOU

 このように、表層的なパターンの照合によるルールが適用されるだけで、決してユーザーの発話内容を理解しているわけではないが、ここまで対話が継続するのは興味深い。

 次に、パターンマッチを用いた対話システムの「A.L.I.C.E.」[2]と、その構築に用いられている「AIML」について解説する。

 AIMLは、チャットbotの振る舞いを記述するための、XMLをベースとしたマークアップ言語である。AIMLによってルールが記述された対話システムA.L.I.C.E.は、チューリングテストによって「最も人間に近い」と判定された対話システムに贈られるローブナー賞を3回受賞している。対話の品質を上げるためには多くのルールを記述する必要があるが、A.L.I.C.E.では実に4万個以上のルールが記述されている。

 多数のルールの記述にはコストがかかるし、ルール同士の衝突が発生しないように注意する必要がある。しかしながら、対話システムによる想定外の発話は決してないという安心感があるため、商用利用ではルールの記述による対話システムが多く用いられているのが現状である。

 AIMLで記述されるルールは、基本的には入力されるテキストとのパターンマッチである。AIMLの記法を幾つか紹介する。AIMLの基本的なルールの単位はcategoryである。categoryは質問と応答から成り、利用者からの質問はpatternで、システムからの応答はtemplateで表される。”HOW ARE YOU”が入力されたら、”I’m fine.”を出力するcategoryの例は下記のようになる。

<category>
  <pattern>HOW ARE YOU</pattern>
  <template>I"m fine.</template>
</category>

 AIMLでは再帰も考慮されていて、特定のタグにより、類似の質問を別の質問に変形させてルールを再実行することができる。また、正規表現ほどは柔軟性がないが、単語に対するワイルドカード*も使うことができる。下記の例では、ワイルドカード”Do you know who X is?”を、"Who is X"と同じ質問と見なして、ワイルドカード*でマッチした単語(X)を応答に当てはめて、"Who is X"に変換してルールを再実行することを意味する。

<category>
  <pattern>DO YOU KNOW WHO * IS</pattern>
  <template><srai>WHO IS<star/></srai></template>
</category>

 以下の例では、似たようなあいさつの"Hello"にも”Hi"にも”Hola"に対しても、同じく”Hi there!"を返すルールとなっている。

<category>
  <pattern>HELLO</pattern>
  <template>Hi there!</template>
</category>
<category>
  <pattern>HI</pattern>
  <template><srai><HELLO</srai></template>
</category>
<category>
  <pattern>HOLA</pattern>
  <template><srai>HELLO</srai></template>
</category>

 パターンマッチを用いた対話システムの最後の例として、「xAIML SUNABA」[3]を取り上げる。

 「xAIML」はNTTドコモがAIMLを拡張した言語であり、これを採用したチャットbotの開発環境が「SUNABA」である。日本語入力とのパターンマッチを行うために、形態素解析の結果を指定することができる。形態素解析とは、入力された文を単語の単位に分割し、読みや品詞を付与する処理のことである。日本語は英語とは異なり、単語が空白で分かち書きされていないため、日本語を扱うシステムでは形態素解析がよく用いられている。形態素解析により、例えば表記揺れによって表記が異なる単語や述部の言い回しが異なる文とのパターンマッチが可能となる。

 表1に、単語の展開レベルと対応する設定値とその説明を示す。

LEVELの値 展開レベル 説明
exact, surface, normalization, synonym, hypernym 表層 pattern文に記載された内容通りのマッチングを行う
surface, normalization, synonym, hypernym 読み&品詞 pattern文に記載された内容を形態素解析した結果の読み&品詞でマッチングを行う
normalization, synonym, hypernym 助詞の除外 文中の助詞を無視してマッチングを行う
normalization, synonym, hypernym 述部正規化 助動詞などを役割ごとに分類してマッチングを行う
synonym, hypernym 類義語 pattern文に記載された内容の内、名詞の類義語を考慮してマッチングを行う
hypernym 上位概念 pattern文に記載された内容の内、名詞の上位概念を考慮してマッチングを行う
regex(他のパターンマッチより優先される) 正規表現 pattern文に記載された正規表現ルールでマッチングを行う
表1 xAIML SUNABAにおける単語の展開レベルと機能(https://docs.sunaba.docomo.ne.jp/docs/xaiml/2-6/pattern/を元に作成)

 下記の例(https://docs.sunaba.docomo.ne.jp/docs/xaiml/2-6/pattern/から抜粋)では、LEVELの値がsurfaceに設定され、展開レベルが表層および読み&品詞となる。形態素解析により得られる「天気」という名詞の読み「てんき」が、「読み&品詞」の展開ルールとして用いられ、「天気」が漢字でも平仮名でもマッチする例である。

<category>
  <!-- ユーザー発話「今日のてんきを知りたい」にもマッチします。 -->
  <pattern level="surface">今日の天気を知りたい</pattern>
  <template>
    LEVEL:surface
  </template>
</category>

 また、SUNABAでは人名や場所、日付などを指す固有表現をユーザーの発話から抽出することができる。利用できる固有表現は表2に示す8種類である。

種別 内容
ORG 組織名
PSN 人名
LOC 場所
ART 固有物名
DAT 日付表現
TIM 時刻表示
MNY 金額表現
PCT 割合表現
表2 固有表現の種類

 これらの固有表現を抽出する技術(固有表現抽出)は、1990年代の米国の評価型プロジェクトMessage Understanding Conference (MUC)や日本のワークショップInformation Retrieval and Extraction Exercise(IREX)を端緒に、実用レベルにまで発展してきた。固有表現抽出により、与えられた文の単語の系列において、どの単語からどの単語までがどの種類の固有表現なのかが推定される。下記の例(https://docs.sunaba.docomo.ne.jp/docs/xaiml/2-6/pattern/から抜粋)は、入力された文から人名を抽出している例である。

<category>
  <pattern>私の名前は*</pattern>
  <template>
    <get name="_namelister_ne_PSN"/>
  </template>
</category>
user > 私の名前は砂場太郎です。
bot  > 砂場太郎

構文解析、意味解析

 次に、構文解析と意味解析が用いられている対話システムである「GUS」(Genial Understander System)[4]を取り上げる。初期のタスク思考型の対話システムである「SHRDLU」[5]では、積み木が置かれていると想定した擬似的な空間の中で、積み木に対する指示を基に、言語理解に構文解析や意味解析を用いて命令を解釈したり質問に回答したりすることができた。

 しかしながら、積み木の世界よりはるかに複雑な実世界の問題に対応できないという課題が存在していた。そこで、対話システムGUSでは、フレームという知識表現を用いて、連想的にその時点で必要な情報だけに注目することで実世界の問題に対応した。GUSは、旅行会社の社員という役割を担い、ユーザーの飛行機の予約というタスクを達成する。入力されるユーザーの発話に対して、形態素解析、構文解析、意味解析が行われる。

 構文解析は、入力される文の1次元の単語の並びから、木構造で表現される文の構造を明らかにする処理である。例えば、下記は、S(文)はNP(名詞句)とVP(動詞句)に書き換えられるという書き換え規則、あるいは逆に見てNPとVPからSが作られるという生成規則である。

S → NP VP


 これを、開始記号であるSから順に、文に現れている単語に相当する終端記号の系列まで全てを書き換える、あるいは逆の向きで全ての単語の系列から開始記号であるSに到達するまで、このような規則を適用していく。文の構造には複数の解釈が存在する場合があるが、後段の意味解析の結果により統語的に曖昧性のない構造を得る。

 意味解析は、いわゆる5W1H(いつ、どこで、誰が、何を、なぜ、どのように)を、与えられた文から求めることである。これらの情報は、文の意味の中心となる述語とその項の関係から捉えることができる。例えば、述語になる動詞"go"には、動作主格を表すAGENTや目的地を表すTO-PLACE、日付を表すDATEといった項が存在すると考えられ、動詞”go”に対するこれらの意味的な役割を担う格フレームが定義される。格フレームによる意味解析では、入力された文から格フレームに対して情報をマッピングする。顧客から"I want to go to San Diego on May 28"(5月28日にサンディエゴに行きたいです)と入力された発話は、構文解析と意味解析によって下記のように解析される。

CLIENT: I want to go to San Diego on May 28(5月28日にサンディエゴに行きたいです)
  [S MOOD = DCL ... 入力された発話の構文解析
    SUBJ = [NP HEAD = [PRO CASE = NOMIN NUMBER = SG ROOT = I]]
    PVERB = [V TENSE = PRESENT ROOT = WANT] HEAD = WANT 
    OBJ = [S MOOD = FOR-TO
      SUBJ = I
      HEAD = [V TENSE = PRESENT ROOT = GO]
      MODS = (
       [PP PREP = [PREP ROOT = TO]
         POBJ = [NP HEAD = [NPR PROPERTYPE = CITY-NAME
           ROOT = SAN-DIEGO]]]
       [PP PREP - [PREP ROOT = ON]
         POBJ = [NP HEAD = [NPR PROPERTYPE = DATE-NAME
           MONTH = MAY DAY = 28]]])]]
  [CLIENT DECLARE ... 格フレームによる意味解析
    (CASE FOR WANT/E (TENSE PRESENT) 
      (AGENT (PATH DIALOG CLIENT PERSON)) 
      (EVENT (CASE FOR GO (TENSE PRESENT)
        (AGENT (PATH DIALOG CLIENT PERSON)) 
        (TO-PLACE (CASE FOR CITY
          (NAME SAN-DIEGO))) 
        (DATE (CASE FOR DATE
          (MONTH MAY)
          (DAY 28]
GUSにおける顧客の最初の発話の処理結果

大規模言語モデル

 最後に、深層学習による大規模言語モデルが用いられているMeena[6]やBlenderBot[7]、そしてChatGPTを取り上げる。大規模言語モデルとは、単語を一定数の次元のベクトルとして表現された状況で、単語が連なる大量のテキストコーパスから獲得された深層学習(Deep Neural Network)のモデルであって、モデルが持つパラメーター数が大規模で、学習するテキストの量も大規模な言語モデルを指す。与えられた英語や日本語の文章を再現できるように、学習に用いられた大量のテキストからパラメーターの値を事前に調整している。

 そもそも言語モデルとは、古くから研究開発が行われてきた統計的なアプローチであり、日本語であれば日本語で書かれた文の確からしさを与えるものである。n個の単語からなる文の確からしさは、下記の式で表すように、1からnまでの単語の並びの出現確率で表すことができる。

 ここで、P(wn |w1,…,w_n-1)は条件付き確率を表す。この条件付き確率は、学習コーパスに出現する頻度から求めることができる。

 ここで、C(w)はwが学習コーパスに出現する頻度を表す。

 深層学習による初期の言語モデルには、RNN(Recurrent Neural Network)が用いられた。RNNでは、ネットワークに単語を1つずつ入力して処理していくが、文脈を扱うためにその時点で入力される単語より過去に出現した単語の情報も再帰的に入力される。文章が長くなると遠くに離れた過去の単語の情報が薄れてしまうという問題に加えて、単語を1つずつ入力するために学習に時間がかかるという問題があった。

 言語モデルは、ある言語のテキストを理解して別の言語のテキストに変換、生成するタスクである機械翻訳モデルと類似点があった。機械翻訳モデルの発展の中で、「Transformer」[8]という画期的なモデルが考案され、先の2つの問題が解決された。Transformerでは、まとまった単位の文章を一度に処理することができ、文章内の単語同士の関係性を直接計算して利用することで、機械翻訳における性能の向上と計算コストの削減を達成した。

 Transformerは、翻訳元の言語の入力文を理解する役割のエンコーダーと、翻訳先の言語の出力文を生成する役割のデコーダーから構成されている。エンコーダーで入力文の単語の関係性を理解し、デコーダーで出力文の途中までの単語の関係性を理解しながら入力と出力の関係性を理解する。Transformerで特に重要なのは、Self-Attentionである。入力と出力の関係性を理解するためのAttention(注意機構)であるSource-Target Attentionとは異なり、Self-Attentionは、入力される文である自分自身に対するAttention(注意機構)である。

 Self-Attentionでは、入力された文において、ベクトルに変換された文中のある単語と他の単語との関係性を計算し、その単語のベクトルを他の単語を考慮したベクトルに変換することで、文脈を反映した表現力の高いベクトルが得られる。文中の単語の関係性を計算するために、計算方法として内積を用いることで類似度を計算し、類似度を重みとした重み付き和を取ることにより各単語のベクトルを変換している。

 単語間の関係性をさまざまな観点から捉えることができるように、Self-Attentionを実行するための計算処理のバリエーションを複数個にしている。図1と図2にSelf-Attentionを可視化した状況を示す。図1の上の文と下の文は同じ文であるが、”making”という単語は自身以外にも”difficult”などの単語との関連が強くなっている。色の違いは、複数個の計算処理のバリエーションによる関連性の違いを表している。図2中にある上の図は全体の関連性を示したもので、下の図は”its”という単語のみの関連性を示している。この例を見ると、”its”が”Law”と関連性が強く、Self-Attentionはまるで代名詞の照応解析の役割を果たしているかのようである。

図1 Self-Attentionの可視化(1)([8]より抜粋)
図2 Self-Attentionの可視化(2)([8]より抜粋)

 発表当時大きなインパクトを与えたBERT[9]は、Transformerのエンコーダーに基づいて、人手によるラベル付けがされていない大量のテキストデータから事前学習した大規模言語モデルである。事前学習では、テキストにおける一部の単語をマスクして隠し、マスクされた単語を正解として、前後の文脈からマスクされた単語を推定するというタスクを実施する。このタスクを大量に繰り返すことで、言語を理解する基盤ができる。

 そして、文書分類や文書読解などの特定のタスクにおいて、人手により作成されたラベル付きの学習データによって、事前学習したモデルをファインチューニングすることにより、少ない学習データでも高い精度が得られることが明らかになった。つまり、大規模言語モデルは、個々のタスクの基盤として汎用(はんよう)的に用いることが可能であると示された。

 対話システムの「Meena」や「BlenderBot」も、言語理解においてTransformerのエンコーダーの発展形を用いている。機械翻訳は異なる言語間のテキスト変換であるが、対話システムにおける言語理解と応答文生成は同一言語のテキスト変換と見なすことができる。Meenaでは、SNSの複数人の会話から、ある発話(response)の前に発話された全ての発話の系列(最大7つまで)を文脈(context)とした8億個以上のペア(context, response)が用いられた。このような大量の対話データにおける入力と出力のテキストの対を学習することにより、入力される発話を理解できるようになる。

 一方、ChatGPTで用いられている「GPTシリーズ」(これまでGPT-1[10]、GPT-2[11]、GPT-3[12]、GPT-4[13]が発表されている)には、Transformerのデコーダーの発展形が用いられている。デコーダーは文を生成する役割を担うが、GPTに入力文を与えることで、その入力文に続く適切な単語をGPTが逐次出力しようとしていくので、与えられた入力文を理解する能力もデコーダーに備わることになる。ここで、n個の単語(トークン)の系列の生成確率は下記の数式で表される。

 これをP(sn-k,…,sn |s1,…,sn-k-1) としたときに、入力がk-1番目の単語までの系列が与えられたと考えれば、それらに続くk番目の単語以降からn個の単語の系列が順に出力される確率を求めることになり、k-1個までの単語の入力を理解していると見なすことができる。

 ここでBERTとGPTの違いを図3に示す。左右の図の下にあるE1, E2, …, ENは入力される単語のベクトルを表し、左右の図の上にあるT1,T2, …, TNは出力される文脈が考慮された単語のベクトルである。BERTでは、左から右と右から左の双方向のTransformerが用いられており、入力の一部の単語がマスクされると前後の単語を用いた学習、推論を行う。一方、GPTでは、左から右だけの片方向のTransformerが用いられており、対象とする単語よりも前の単語を用いた学習、推論を行い、後ろの単語を用いた学習、推論は行わない。

図3 BERTとGPTとの違い([9]より抜粋)

 なお、GPTをはじめとする大規模言語モデルでは、実際に入力されるトークンは「サブワード」という単語と文字の中間の単位が用いられている。統計的に頻度の高い単語はそのまま用いられるが、頻度の低い単語は文字の単位にまで分解される。サブワードに分割することによって、単語をそのまま用いる場合よりも、ある程度の文字列のまとまりを考慮しながら、大規模言語モデルが扱わなければならない語彙(ごい)数を減らすことができるという利点がある。

終わりに

 今回は、対話システムへの入力を処理する言語理解を取り上げた。従来用いられてきたパターンマッチや形態素解析、構文解析、意味解析に代わり、近年では深層学習が急速に発展したことによって大規模言語モデルが多く用いられるようになってきた。

 次回は、対話システムの出力となる応答文生成と、それに至るまでの対話管理を取り上げる。

※記載されている会社名、サービス名および商品名は、各社の登録商標または商標です。

参考文献

[1]Joseph Weizenbaum, ELIZA-A computer program for the study of natural language communication between man and machine, Communications of the ACM, Vol. 9, No.1, pp.36-45, 1966.

[2]Richard S. Wallace, The anatomy of A.L.I.C.E., In Robert Epstein, Gary Roberts and Grace Beber, editors, Parsing the turing test: Philosophical and Methodological Issues in the Quest for the Thinking Computer, pp.181-210, Springer Netherlands, 2009.

[3]渡邉亮裕, 田中剛, 藤本拓, 吉村健, 自然対話プラットフォームオープン化への取り組み, 人工知能学会研究会資料 SIG-SLUD-B802-12, 2018.

[4]Daniel G. Bobrow, Ronald M. Kaplan, Martin Kay, Donald A. Norman, Henry Thompson and Terry Winograd, GUS, A frame-driven dialog system, Artificial Intelligence, Vol.8, No.2, pp.155-173, 1977.

[5]Terry Winograd, Procedures as a representation for data in a computer program for understanding natural language, MIT AI Technical Report 235, 1971.

[6]Daniel Adiwardana, Minh-Thang Luong, Noah Fiedel, Romal Thoppilan, Zi Yang, Gaurav Nemade, Yifeng Lu, David R. So, Jamie Hall, Apoorv Kulshreshtha and Quoc V. Le, Towards a human-like open-domain chatbot, arXiv preprint arXiv:2001.09977, 2020.

[7]Stephen Roller, Emily Dinan, Naman Goyal, Da Ju, Mary Williamson, Yinhan Liu, Jing Xu, Kurt Shuster, Eric M. Smith, Y-Lan Boureau, Myle Ott and Jason Weston, Recipes for building an open-domain chatbot, arXiv preprint arXiv:2004.13637v2, 2020.

[8]Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin, Attention Is All You Need, In Advances in Neural Information Processing Systems, 2017.

[9]Devlin, Jacob, Chang, Ming-Wei, Lee, Kenton, Toutanova, Kristina, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, eprint arXiv:1810.04805, 2018.

[10]Alec Radford, Karthik Narasimhan, Tim Salimans, Ilya Sutskever, Improving Language Understanding by Generative Pre-Training, 2018.

[11]Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, Language Models are Unsupervised Multitask Learners, 2019

[12]Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, T. J. Henighan, Rewon Child, Aditya Ramesh, Daniel M. Ziegler, Jeff Wu, Clemens Winter, Christopher Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, Dario Amodei, Language Models are Few-Shot Learners ,arXiv:2005.14165, 2020.

[13]OpenAI, GPT-4 Technical Report, 2023.

著者紹介

長谷川 隆明(はせがわ たかあき)

NTTテクノクロス株式会社 IOWNデジタルツイン事業部 マネージャー、博士(工学)。

NTTメディアインテリジェンス研究所(現:NTT人間情報研究所)を経て、2021年から現職。

2003〜2004年、ニューヨーク大学客員研究員。専門は自然言語処理。

現在、音声・言語・映像を対象とするメディア処理技術を用いたソリューションビジネスに従事。情報処理学会、人工知能学会、言語処理学会、各会員。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。