プロンプト作成とディープラーニング&NLPとの関係を初心者の私が学ぶ
はじめに
私はディープラーニング(以下DL)とNLP(自然言語処理)において、どこから学べば良いのか、なかなかわからない状態でした。
そこで私は、プロンプト作成に興味があるのだから、DLとNLPがプロンプト作成とどう関わるのかを学べば良いのではないかと思い、その方向で学ぶことにしました。
そして、まずはこうしてブログの記事に書いてみることによって、頭の中を整理し、その後の学習に役立てることができると思いました。
というわけで、今回の記事では、プロンプトを作成するにあたって、DL&NLPと、どのように関係するかについて、自分が見る用のメモ的な感じで、箇条書きでまとめてみました。現時点でのメモという感じなので、足りないところは、これからまた学んでいきます。
ディープラーニング(以下DL)の概要
DLは、人間の脳を模範したシステムであり、下記作業を行う。
大量のデータからパータンを学習し、予測する。ちなみに、対話型AI(ChatGPTなど)においては、ユーザーから送られてくるプロンプトを理解し、適切な情報を提供するために使われる。
NLPと協力し、ユーザーのテキストや音声によるリクエストを分析する。
NLPの概要
NLPは、ユーザーから送られてくる自然言語(英語、日本語など)の文章に以下の処理し、対話型AIが文章を正確に理解し、回答を提供できる状態にする。そしてNLPは回答文章を作成し、ユーザーに回答するのだが、これにはDLが協力している。DLは、NLPの一部として利用されていて、NLPの作業に協力するという立場である。
●自然言語のクリーニング
具体的には、下記要素の除去/作業を行う。
句読点の除去
ストップワード(文法上必要だが、文章の中で重要な意味を持たないワード。例:the, at, to)の除去。
大文字小文字の統一
●トークン化
これは、テキストを小さな単位に分割する処理である。
単語トークン:単語単位で分割。例えば「雲は白いです。」の場合、「雲」「は」「白い」「です」に分割。
文字トークン:文字単位で分割。例えば「雲は白いです。」の場合、「雲」「は」「白」「い」「で」「す」に分割。
フレーズトークン:フレーズ単位で分割。例えば「雲は白いです。」の場合、「雲は」「白いです」に分割。
●形態素解析
これは次に紹介する「構文解析」の前段階の処理であり、文章を、各品詞(例:名詞、助詞、形容詞、動詞)に分けるというもの。例えば、「お蕎麦は美味しい」の場合、下記の通りに分ける。
お蕎麦(名詞)
は(助詞)
美味しい(形容詞)
です(動詞)
●構文解析
これは、文章構成を把握するために、文書内の各要素の関係を解析するもの。例えば、「私は魚を買った」の場合、下記の通りに分ける。
私(主語)
魚(目的語)
買った(動詞)
●意味解析
単語を正しく理解する。具体的には、単語の意味だけでなく、その単語が含まれる文章や段落を理解し、文脈にとってどう意味が変化するかを考えるという処理を行う。例えば「昨日食べたカキは美味しかった」という文章の場合、「カキ」が「柿」を指すのか「牡蠣」を指すのかを、文脈から判断する。
●ディスコース処理
これは、文章の意図を理解するために、複数の文がどう関連しているのかを解析する処理。例えば、「ボブはゲーム機を壊した。彼はそれを修理屋に持って行った。」といった連続した文章の場合、「彼」はボブを指し、「それ」はゲーム機を指す、ということを理解する。
★ポイント★
意味解析とディスコース処理の違いを明確にするために、それぞれで紹介した例文をもう一度ここに並べる。
意味解析の例文:
「昨日食べたカキは美味しかった」
ディスコース処理の例文:
「ボブはゲーム機を壊した。彼はそれを修理屋に持って行った。」
これら2つの文章を見比べると、意味解析では文脈における理解、ディスコース処理では複数の文における理解であることがわかる。
●応用タスクへの適用
上記に挙げた6つの基本的なNLPの技術を使用し、実践的な作業を行うことを指す。具体的な作業は、例えば次の通り。
機械翻訳:ある言語から違う言語へ翻訳する
感情分析:文章から感情(例:良い、悪い、普通)を判定する
チャットボット:ユーザーとコミュニケーションをとる
情報抽出:大量の情報から特定の情報を抽出する
文章要約:長い文章を要約する
DLとNLPがプロンプト作成にどう関係するのか。
DLとプロンプト作成の関係について
ユーザーが送信したプロンプトが不明確な場合は、ユーザーに、適切なプロンプトの作成におけるアドバイスの情報を作成し、ユーザーに送る、という作業が発生するのだが、これは、DLとNLPの協力によって実現する。DLは、NLPの一部として動いて、協力しながらプロンプトを理解している。
ユーザーは、DLモデル(ChatGPTなど)の特徴や性能を理解することによって、そのDLモデルに適したプロンプトを書くことができる。
NLPとプロンプト作成の関係について
NLPの理論を理解することによって、ユーザーは、対話型AIから求めている情報を得ることを目的とした、最適なプロンプトを書くことができる。
最後に
とりあえずは書いてみたという感じですが、そこから、それぞれの項目についてさらに調べていく、という形にしていこうと思います。まずは一歩進んだ、という感じです。最後までお読みいただき、ありがとうございました。