はじめに
チャット形式でAIと会話できるサービスが次々に登場し、話題になっています。うまく使えば情報収集や作業の効率化などに力を発揮するものですが、AIとの的外れな会話が笑いの種になることもまだまだ少なくないようです。
こうした問題の背景には、ソフトウェアで日本語を扱う際の難しさがあるといえるでしょう。そこで今回は、代表的な言語モデルの一つである「GPT」の概要と、日本語処理の現状について説明します。
なお、本記事の内容は2023年9月にまとめたものです。AIは急速に進化しているため、記事公開直後にも新しい技術やサービスが登場している可能性があることをご了承ください。
GPTとは
GPTは、ChatGPTの開発元としても知られるOpenAIが開発し、一般に提供している言語モデルの一つです。まずは、その概要について説明します。
膨大なデータから学習済みの言語モデル
「GPT」は、「Generative Pre-trained Transformer」の略です。日本語にすると「生成的な事前学習済みのTransformer」という意味になります。そのバージョン3にあたるのが、2022年に登場したGPT-3、バージョン4にあたるGPT-4も2023年に登場し日々進化を続けています。
では「Transformer」とは何のことでしょうか。直訳すると「変化させるもの」となりますが、こちらは2017年にGoogleから発表された論文のなかで紹介された、同名の言語モデルに由来します。この言語モデルは、文章に含まれる単語などの要素がどのように関係しているかを学習するものです。
「GPT」という名前は、インターネットから収集した膨大な量のテキストから学習させ、精度の高い言語モデルを実現したことで有名になりました。
ChatGPTでは会話用にファインチューニングされているのが特徴
OpenAIは、同社のAIチャットサービスであるChatGPTにGPTを用いています。このモデルは事前に会話用の「ファインチューニング(fine-tuning)」が施されており、より自然な会話ができる形になっています。
英語としての「fine-tuning」は「微調整」という意味ですが、AIにおけるファインチューニングとは、学習済みのモデルにテーマごとのデータを与えて再学習させることを指します。ChatGPTのAIは、チャットを通してさまざまな作業をこなせるようにするために、会話をテーマとするファインチューニングで最適化されているということです。また、人間によるフィードバックで「強化学習」を実施してあるのもChatGPTの特徴です。
なお、ChatGPTのサービスは日本語では提供されていません。とはいえ、日本語を使ったチャットは可能です。AIに日本語で質問をしたり「Anser in japanese」と指示すれば、きちんと日本語で答えが返ってきます。
日本語にも対応したAIチャットサービスの例3選
ChatGPT以外にもAIとのチャットが可能で、日本語も使えるサービスはあります。ここでは、比較的試しやすいものを3つ紹介します。
新しいBing(Microsoft)
MicrosoftはOpenAIに多額の出資を行なっており、その技術を自社サービスにも積極的に取り入れています。例えば「Azure OpenAI Service」では、クラウドプラットフォーム上でGPT-3などを利用可能です。WordやExcelなどのOfficeアプリについても、AIが作業をサポートする機能の提供が計画されています。
なかでも「新しいBing」は、Web検索の体験を大きく変えるものとなるかもしれません。これは検索サービスBingに追加された新機能で、人に話すように質問すれば、AIが答えを返してくれるというものです。従来の検索サービスは、基本的にはインターネット上にある関連ページのリンクを一覧表示するだけのものでした。ここにAIの能力が加わることで、インターネット全体から収集した情報の要約を提示できるようになったのです。
ChatAI(MixerBox)
「ChatAI」は、シリコンバレーに拠点を置くソフトウェア会社MixerBoxが提供するAIチャットサービスです。iOSおよびAndroid向けのスマートフォンアプリとして提供されているほか「LINE」やMeta(旧Facebook)の「Messenger」にチャットボットとして追加できるようになっています。
同サービスに搭載されている言語モデルは、OpenAIによるものです。ただし、OpenAIのChatGPTを利用する際にはアカウント作成が求められるのに対し、ChatAIでは必要ありません。アカウントなしでAIとのチャットを体験したいユーザーにとって、手軽な選択肢の一つだといえるでしょう。
Bard(Google)
「Bard」は、Googleが提供するAIチャットサービスです。できることはChatGPTと似ていますが、言語モデルにはGoogle自身が開発した「PaLM2」が採用されています。今後はOpenAIのGPT-3やGPT-4に対する、強力なライバルになるかもしれません。
また、テキストのみを扱うチャットとは少し異なりますが、画像生成の分野でAdobeとの提携を発表している点も同サービスの気になるところでしょう。どのような画像にしたいかを文章で指定するとリクエストどおりのものを生成してくれるという、クリエイター向けの機能が提供される予定です。こちらもOpenAIのサービス内容と競合しているため、今後の動向が注目されます。
日本語の自然言語処理(NLP)が難しい5つの理由
人が話す言葉をソフトウェアで分析したり生成したりすることを「自然言語処理(NLP:Natural Language Processing)」といいます。ChatGPTが登場すると、その精度の高さに驚きの声が多くあがりました。また、上でも紹介したとおり、日本語を扱えるAIチャットサービスはChatGPT以外にも増えつつあります。
一方、日本語の自然言語処理には、英語などには見られない困難な要素も少なくありません。ここでは、AIによる日本語の処理がなぜ難しいと言われているのかについて説明します。
文字の種類が多いから
日本語は、多種の文字を扱う言語です。漢字とひらがな・カタカナのほか、英数字も用いられます。これは、単に文字数が多いというだけではありません。同じものを指す言葉に、まったく異なる複数の表記が存在するということです。例えば「蛇」という言葉は「ヘビ」と書いても通じるでしょう。外来語をカタカナで表記することも多く「バイオリン」と「ヴァイオリン」のような表記ゆれのパターンもさまざまです。
さらに、デジタル化されたテキストのカタカナや英数字には、半角と全角が混在しています。ファイルに保存する際の文字コードも複数あり、統一されていません。こういった事情から、日本語のテキストをAIに読み込ませる際には、英語などでは必要のない手間がかかってしまうのです。
単語を分けて書かないから
英語などのように、単語の間にスペースを入れる書き方を「分かち書き」といいます。日本語の文章では、原則として分かち書きをしません。この点が「形態素解析」を難しくする要因になっています。
形態素解析とは、文章を意味のある最小単位に分解する処理のことです。日本語の場合は文章を名詞や動詞のほか、形容詞や助詞、接続詞などに切り分けていきます。このとき、スペースに頼らず要素の区切りを見つけなければなりません。
語順が入れ替わるから
日本語では語順を入れ替えても意味が通じることが多いため「構文解析」についても複雑さがあるといわれています。構文解析とは、文章の各要素がどのような関係にあるかを調べる処理のことです。
例えば「私は東京で今日カレーを食べました」という文章は「東京で私はカレーを今日食べました」と言い換えることができます。わずかなニュアンスの違いは感じられるかもしれませんが、どちらの文章も意味はほぼ変わりません。語順がある程度決まっている英語などに比べると、日本語は自由度が高い言語だといえます。
要素の省略が多いから
「私はコーヒー」のような言い回しは、レストランなどで実際によく使われる表現です。しかし、これが「I am coffee」という意味ではないことをAIに理解させるのは簡単ではありません。
日本語は、一部を省略した曖昧な表現が多用される言語です。例えば「あなたはセロリが好きですか」と聞きたければ、主語を省略して「セロリは好きですか」と尋ねるのが自然でしょう。また「セロリはあまり……」という答えが返ってきた場合は、「私はセロリがあまり好きではありません」と言いたいのだとわかります。
このように、日本語では何が省略されているのかを文脈から推測しなければ意味をとらえられない場合が多いのです。なかでも主語が省略された文章は、AIで意味をとらえるのが難しいといわれています。
学習用データが少ないから
言語モデルの質を高めるには、大量のテキストデータから学習させるのが一つの方法です。そのためにインターネットにある膨大なテキストを収集して用いることが考えられるでしょう。
しかし、英語や中国語などと比べると日本語を使う人は少数派のため、有用な日本語のテキストもその分少ないといえます。さらに権利や品質などの問題がなく、商業的にも利用可能なものだけで考えると、実際に使用できる日本語のテキストは種類も量も限られているのが現状です。AIに言語を学習させる際、日本語には不利な面があるといえるでしょう。
日本語に特化した言語モデルを紹介
現在は英語圏を中心として、GPT-3などの大規模な言語モデルの開発競争が繰り広げられている状況です。一方、日本語特有の難しさに対しては、日本語に特化した言語モデルに期待が寄せられています。ここでは、日本語をターゲットとして開発が進められている言語モデルについてみていきましょう。
HyperCLOVA
「HyperCLOVA」はワークスモバイルジャパン株式会社による、日本語のデータから構築された生成系AIです。日本語による自然な文章の生成が、LINE株式会社とNAVER株式会社が共同開発した日本語特化の基盤モデルによって可能になりました。用途としては、チャットやメール作成、議事録の要約などが挙げられます。
同社は今後、グループウェア機能を備えたビジネス向けチャットサービスである「LINE WORKS」の利用者向けにチューニングを進める計画です。これにより、現場の業務に役立つ専門知識を獲得させていくといいます。
rinna
「rinna」は、rinna株式会社による日本語に特化したGPTモデルです。日本語版Wikipediaなどのデータから学習した「汎用」と、それに会話用のファインチューニングを施した「対話」の2種類が提供されています。いずれもオープンソースとなっているため、用途に応じて使い分けやすいでしょう。
すでに多くの研究・開発者が、「rinna」を利用しています。また、同社の製品にも広く用いられており、今後の成果についてもコミュニティに還元していく予定だといいます。
GiNZA
「GiNZA」は、株式会社リクルートのAI研究機関「Megagon Labs」による、日本語の自然言語処理のためのライブラリです。こちらもオープンソースとなっており、すでに多くの研究・開発に利用されています。
基盤技術として「spaCy(自然言語処理フレームワーク)」と「SudachiPy(形態素解析器)」を採用している点は「GiNZA」の特徴といえるでしょう。spaCyのフレームワークを用いて動作するため日本語以外のモデルとも互換性があり、指定するだけで言語を切り替えられるということです。また、独自の設計により、産業利用にも耐えうる性能を実現しています。
AIによる日本語処理の今後に注目を
AIによる自然言語処理が急速に発展し、日本語を扱えるサービスも増えてきました。それにともないGPT-3などの大規模な言語モデルが話題となっていますが、これらは英語圏を中心としたものです。
対して国内では、日本語に特化した言語モデルの研究・開発も進められています。AIが日本語固有の課題を今後どのようにクリアしていくのかについては、国内の動向も含めて注目していくのがよいでしょう。
パソナでは ChatGPTなどにも使われている、AIについての活用サービスをご提供しております。
AIに興味をお持ちでしたら、下記に詳細な資料がありますので、確認いただきお気軽にお問い合わせください。
ご相談は社内にAIエンジニアがいない状況からでも可能です。また、特定の技術こだわらず、ニーズに合わせて柔軟なソリューションをご提案いたします。
■サービス資料はコチラ
セキュアな生成AI/Azure OpenAIサービス
DX人材開発支援サービス~AI活用人材偏~
AI導入支援サービス
■お問い合わせはこちら
関連サービス
今回ご紹介した課題に対してパソナでは以下のサービスで解決させていただいています。
関連記事
企業DXにご興味のある方にはこちらの記事も読まれています。