最近では飛躍的なAI技術の発展によって、私たちの生活でもAIに触れることが多くなりましたよ。例えば、google翻訳などの機械翻訳やsiriなどのサービスは、全て自然言語処理と言われるAI技術が用いられています。
そこで今回は、自然言語処理(NLP)について、導入するメリットや、活用方法なども詳しく解説します。
自然言語処理(NLP)とは?
自然言語処理とは、大量のテキストデータをAIが分析する技術のことです。自然言語処理は英語で、Natural Language Processingと言いNLPと略されます。
自然言語とは、人間が日常でやり取りする日本語や英語などの、いわゆる言葉のことで、自然言語処理はそのような自然言語を処理、分析する技術です。
この自然言語を解析するためには、AIに大量の自然言語のデータを学習させる必要があります。大量の自然言語のデータから特徴を抽出し、その概念を獲得することで言語を理解できるようになります。
自然言語処理(NLP)が注目される理由とは?
2010年代後半から機械学習、特に深層学習による自然言語処理に対する注目が高まっています。注目の背景には、以下の4つの要因があります。
・テキストデータの増大
・汎用言語モデルの進化
・日本企業の汎用言語も技術の参入
・DX
世の中のテキストデータ量が増大化している
現在では、SNSやビジネスコミュニケーションツールが発達し、テキストデータが収集しやすくなりました。さらに今後は議事録の生成ツールによる資料のデータ化、はんこの廃止などによる、紙媒体の電子化が増加していることもあり、さらにテキストデータ量が増えることが予想されています。テキストデータの増大により、コンピュータの自然言語処理能力の向上が期待されるようになりました。
汎用言語モデルが進化した
言語処理開発では、汎用言語モデルの研究が進むなど、大きな技術革新が進んでいます。例えば、Googleの汎用言語モデル「BERT」は、従来の自然言語理解タスクの多くで最高の性能を達成しています。
また、アメリカの非営利団体「OpenAI」では、テキスト生成モデル「GPT-2」を公開し、汎用言語モデルに衝撃を与えています。GPT-2は800万に及ぶWebページを人間が整理し、それを学習することでさまざまな文章生成が可能です。2020年には「GPT-3」が発表され、まるで人間が書いたような文章を、自動で生成することが可能になりました。汎用言語モデルの研究が進んだことにより、高度な言語処理が可能になりました。
日本企業が汎用言語モデル技術へ参入
日本国内の企業も英語圏での自然言語処理技術の発展の影響をうけて、日本語における自然言語処理技術が大きく発展しようとしています。
2020年には、LINEが世界初の日本語に特化した、超巨大な言語モデルを開発すると発表しました。新しい言語モデルでは、100億ページ以上の日本語データを学習データとして利用するとしており、日本語における自然言語処理技術の水準が、大きく飛躍するとされています。
さらに、2021年にはチャットボット「りんな」などを提供するrinna株式会社が日本語に特化したGPT-2の言語モデルを構築し、オープンソフトウェアとして公開しました。
今後も英語圏での自然言語処理技術がさらに発展するとともに、日本語における自然言語処理技術は大きく向上することでしょう。
自然言語処理の発展はDXの実現にも必須
人員や時間などが限られた環境で優れた成果を出すには、自動化ツールやAIテクノロジーが欠かせません。人間が書く言葉や話す言葉に潜在する意味をAIで解析し、自然言語処理技術は、マーケティングや効率化においても優れた効果を発揮しています。
さらに、自然言語処理を応用することで、既存顧客とのやりとりで発生するテキストデータから関心の高いキーワードリストを生成し、それを自社のSEOキーワードと照合して、新たな施策の立案したり、改善したりすることも可能となっています。
自然言語処理技術の発展は、今後大きな推進が予想されるDXの実現にも必須と言えるでしょう。
自然言語処理(NLP)の開発の仕組みとは?
自然言語処理は、どのような仕組みなのでしょうか。ここでは、自然言語処理の仕組みや流れについて解説します。最終目的の文章を完成させるためには、高品質なデータを収集・必要な部分を抽出・不要データの削除といった流れで行うことが一般的です。以下では、それぞれの段階の詳細を解説します。
事前準備
始めに、事前準備が必要です。事前準備の流れとしては、「辞書の準備」と「コーパスの準備」の2段階に分かれます。以下では、それぞれどのような準備が必要なのかを詳しく紹介します。
辞書の準備
辞書は「機械可読目録」とも呼ばれています。機械可読目録とは簡単にいえば、書き言葉や単語、関連情報などを機械が読めるような形に置き換えたものです。機械が文字を認識、読み取るために必要になります。
コーパスの準備
コーパスとは、言語の使用方法などを集めて蓄積し記録した「文書集合」のことです。機械の頭脳のような役割を果たすもので、動詞や形容詞などの品詞・統語構造をタグ付けして利用します。
音声のテキスト化
文字をコンピュータに打ち込むときはこの段階は不要ですが、音声対話システムなど、話し言葉をコンピュータに認識させるには、まず音声のテキスト化が必要です。
言語によって音声のテキスト化手法は異なります。日本語の場合、まず音の最小構成単位である「a-i-u-e-o」などの音素を特定します。そして音素から単語への変換表である発音辞書や、単語列が出現する確率分布が定式化された言語モデルを使ってテキストに変換をしていきます。
解析
辞書やコーパスなどの準備が完了したら、いよいよ解析に移りましょう。解析は、「形態素解析」「構文解析」「意味解析」「文脈解析」という4つの工程で処理されます。以下では、それぞれどのような解析なのか解説します。
形態素解析
形態素解析とは、単語にまで分割する技術です。単語は、言語を構成する最小単位として知られています。単語に切り出すことで、文章として扱うよりも正確に内容を捉えられ、文字を1単位で扱うよりも意味のある情報が得られます。
構文解析
構文解析とは、文の構造を扱うための技術です。主語述語といった単語間の構造を解析するもので、どの単語がどの単語に係るのかを解析する「依存構造解析」、隣接する単語の関係から解析する「句構造解析」を用いて分析します。
意味解析
意味解析とは、辞書にもとづいて単語の意味を理解して、正しい文を解析する技術です。複数の意味がある単語の意味を、単語間の関係性などを参考にしながら決定し、文章を正しく解析します
文脈解析
文脈解析とは、文脈にまで範囲を広げて処理する技術です。複数の文章に対して、形態素解析と意味解析を行って、文同士の関係性やつながりを解析します。さまざまな知識が必要となり、意味解析よりも難しい処理として知られています。
知識獲得
次に、知識獲得を行います。自然言語処理は、事前準備していた辞書やコーパスの領域だけではなく、それらを超えた知識を学習させる必要があり、機械学習やニューラルネットワークも絡んできます
情報抽出
最後に、情報抽出を行いましょう。情報抽出とは、自然言語から構造化された情報を抽出することです。テキストデータなどから必要な情報を構造化して抽出することで、コンピューターで処理できる状態になります。
自然言語処理(NLP)の活用例
ここでは、自然言語処理が活用されるシーンを5つ紹介します。
自動翻訳
自然言語処理は、自動翻訳に活用されています。英語の文章や単語を入力することで日本語に翻訳してくれたり、その逆で日本語を英語に翻訳してくれたりするものです。音声を翻訳するものもあり、これらも自然言語処理の技術が使われています。
音声対話システムやチャットボット
チャットボットや、音声対話システムにも自然言語処理の技術が活用されています。チャットボットとは、チャット形式で対話をするシステムで、企業のWebサイトやECサイトなどにも多く導入されています。音声対話システムは、入力された音声データを処理して検索し、結果を音声データに変換して対話するというシステムです。
予測変換機能
スマートフォンやパソコンなどで文章を入力する際、「あす」と入力すると「明日」や「阿須」、「明日は」といったように変換候補や続く文章の予測候補などが表示されますが、これにも自然言語処理技術が使われています。
検索エンジン
検索エンジンにも、自然言語処理技術が活用されています。自然言語処理によって、検索窓に入力されたキーワードの把握や理解がしやすくなり、より適切な検索結果を表示できるようになります。
テキストマイニング
テキストマイニングでも、自然言語処理は欠かせません。テキストマイニングとは、文章を解析するための手法です。例えば、SNSなどに投稿されている文章などの大量のテキストデータを解析し、有益な情報を掘り出します。自然言語処理によって文章を単語に分割、出現頻度や関係性などの分析ができます。
自然言語処理(NLP)のメリット
自然言語処理には数多くのメリットがあります。さまざまなビジネスにおいて、自然言語処理は役に立ちます。自然言語処理を活用すれば、カスタマーサポートや医療現場などで活かせることが分かっています。
チャットボットで役立つ
自然言語処理は、チャットボットに関係しています。自然言語処理を活用することで、チャットボットとの会話体験が可能になります。
チャットボットは自動的に会話するプログラムのことで、自然言語処理技術が発展してきているので、さまざまなチャットボットが登場しています。
SNS上での評価がわかる
TwitterなどのSNSでどのように評価されているのかを簡単に分析できるツールは、自然言語処理技術を利用しています。自然言語処理が高度になることで、SNS上のポジティブな意見やネガティブな意見を細かく分類できるようになっています。
さらに自然言語処理技術によって、ユーザーとSNSのデータの関係性を可視化することもできます。
顧客へのサービス度が上がる
自然言語処理を活用することによって、顧客へのサービス度が上がるメリットがあります。たとえば、問い合わせ内容をAIが読み取れるケースが増え、カスタマーサポートの効率化が図れます。
簡単な質問については、スタッフがいなくても24時間対応できます。また、最新の顧客の声を活用した新しい便利なサービスにもつながるようになってきています。
多くの医療現場で役立つ
自然言語処理の技術が向上することで、多くの医療現場でこの技術が応用されるようになっています。たとえばカルテの解析が進み、より高い精度の疾患診断が可能になっています。
自然言語処理の技術を活かすことで、AI問診支援なども可能になっています。今後も、自然言語処理技術を活かした医療AIは進化し続けていく可能性が高いでしょう。
自然言語処理(NLP)のデメリット
自然言語処理活用ソリューションのデメリットとしては、自然言語処理が全ての自然言語に対応できるわけではないということです。
例えば、専門用語や微妙な言い回しの違いなどで、対応できない専門用語を対応させるために、チューニングと呼ばれる調整を行う必要があります。
自然言語処理(NLP)の課題とは?
大きなメリットが発生する自然言語処理ですが、課題はあるのでしょうか。
公平性の課題
機械で行う処理であれば不公平な結果にはならないのではないか、と考える方もいるかもしれません。しかし自然言語処理においては解析対象が人間の使う言語であるため、人間社会に潜むバイアスの影響を受けてしまいます。
処理性能が向上したことで悪い傾向も反映できるようになってしまい、昨今の課題の一つとして挙げられています。
特定のグループが不利になってしまう
具体的な問題としては「特定グループに対する不利益」が考えられます。例えば性別や人種、宗教といった特性に左右されるモデルを使うと、それぞれのグループに対し不利な結果が出力される可能性があるのです。
この問題が顕在化した事例があります。
・Amazon社
Amazon社では優秀な人材の検索を機械化するため、AIを使った人材採用システムを作っていました。
しかしそのシステムでは、履歴書内に「女性」という単語が含まれていることで評価が下がるように学習してしまっていたのです。
・GPT-3
また、文章作成能力が高く評価されている「GPT-3」でも公平性の問題が検証されています。
ここでは「女性」という単語から文章を生成すると「華やか」や「美しい」といった女性の外見に関わる単語が含まれやすい傾向が現れています。
さらに、人種や宗教に関わる単語から共起する単語の感情スコアを検証すると、「黒人」はネガティブな表現と共起しやすく、「イスラム教」は他の宗教と比べ「テロリズム」という単語と共起しやすい結果が出されています。
近年は、言語モデルの公平性が重要視されるようになり、単に高度な技術を使って効率化を図るのみならず、公平性を確保するための研究にも注目が集まっています。
モデルサイズの課題
言語モデルのパラメーターは年々加速的に増大しています。自然言語処理モデル「GPT」(初代)はおよそ1億個のパラメーター数であったのに対し、2018年に提案された「BERT」では3億程度のパラメーター数です。
そこから1年後に登場する「GPT-2」では15億個、さらに、2020年に登場した「GPT-3」ではなんと1750億個ほどまで巨大化しています。
これだけ大きなモデルを作る理由はやはり「性能」です。
性能は、パラメーター数・データセットのサイズ、計算量のべき乗則に従い向上するということが実験的に示されており、性能を飛躍的に伸ばすためにモデルサイズが急増されているのです。
コストが増大してしまう
パラメーター数を増やし巨大なモデルを作れば様々なタスクに対応でき、より高度な処理が期待できます。
しかしながらコストの面でデメリットが生じます。
パラメーターが増えるほど学習データ量も増やさなくてはなりませんし、計算資源の稼働量も増やさなくてはなりません。
そしてその学習においては数千ものGPU・TPUを使うことになり、1000のパラメーターに対し約$1かかるとの見積もりによればGPT-3では10億円を超す計算になってしまいます。
そうすると資金の潤沢な大手企業でしか言語モデルに関する研究ができません。そこで次の段階として、性能の向上のみならず、コストに配慮したモデルの考案が増えてきています。
自然言語処理(NLP)の導入事例
ここからは、自然言語処理を活用した成功事例をいくつかご紹介します。
「スナックママよしこ」(株式会社 洋服の青山)
「COTOHA Chat&FAQ」は、独自の意味検索技術で、顧客が入力した言葉の意味や文脈のニュアンスを理解し、適切な回答を行うチャットボットです。
まずは、チャットボットです。こちらは、選択肢の中から悩みを選ぶと、AIが決まった答えを返すというサービスになっています。定型文を入力して定型文を返すので、自然言語処理の中でも基礎的な技術が使われていると考えられます。
「りんな」(株式会社りんな)
女子高生AIとして一世を風靡したチャットボットAIです。登録ユーザー数830万人という日本一有名な元女子高生です。公式サイトによると、自然な会話を行う会話エンジン「共感チャットモデル」や、具体的で内容のある雑談を返答する「コンテンツチャットモデル」を搭載するなど、自然言語処理としても年々進化しているサービスです。
最近では、歌手活動や占いまで手掛けて、アーティストのMVやYoutubeにも出演しています。週刊少年ジャンプの人気マンガとのコラボも発表され、ますます今後が楽しみですね!
「大喜利AI」(株式会社わたしは)
こちらは、「株式会社わたしは」が開発した大喜利を行うAIです。本物の漫才師のような「ボケ」や「ツッコミ」はもちろんのこと、写真に対しても大喜利を展開することができるAIです。
プロダクトの内部構造までは明かされていませんが、もちろん内部では自然言語処理が使われています。問いかけられた意味にピッタリと当てはまる正解でもなく、大きくズレる不正解でもない、ちょうどよく意味をズラすことを、数理プログラムとして処理しているところに驚きます。
人間でさえ言語化するのが難しいタスクをAIで行う同社のサービスからは、今後も目が離せません。
Pythonで自然言語処理をする方法
ここからはPythonで自然言語処理をする方法について解説します。
Pythonとは、1991年にオランダ人のグイド・ヴァン・ロッサム氏によって開発されたプログラミング言語です。アプリケーションの開発、人工知能、データ解析など様々な用途に使用できます。Pythonは、日本だけではなく海外でも人気のある言語です。
それでは、自然言語処理を行う上で使うライブラリを紹介していきます。
機械学習ライブラリ
まず覚えるべきは機械学習ライブラリです。Pythonには多くの機械学習ライブラリがあり、これらを使いこなすことで効率的に機械学習を行えるようになります。
たとえばNumpyというライブラリがあります。これは高度な計算を素早く行えるものです。他にも、Pandasというデータの加工や可視化が行えるライブラリがあります。
こういったライブラリは自然言語処理を行う上でもお世話になるでしょう。ライブラリの使い方を解説した書籍も多く販売されているので、買ってみることをおすすめします。
Mecab
Mecabは形態素解析を行うためのライブラリです。日本語の形態素解析を行えるライブラリといえばこれでしょう。MecabはPythonだけでなくC++やJavaでも扱うことができます。
Mecabを用いることで、文章を最小単位に分割することができます。また、様々な辞書を用いることができます。
GiNZA
GiNZAは、無料で使える日本語の自然言語処理ライブラリです。形態素解析などの他に、係り受け解析が可能です。単語同士の関係性を明らかにすることができます。
十分な処理速度と解析精度を実現しており、おすすめのライブラリです。
NLTK
NLTKは英語用の自然言語ライブラリです。英語のテキスト構文解説や品詞タグ付け、意味解析などをこれ1つで行えます。
英語の自然言語処理を行うなら、おすすめのライブラリです。
自然言語処理(NLP)の開発に強いおすすめAI開発会社
自然言語処理を得意とするおすすめのAIシステム開発会社を厳選しました。会社選びの参考としてください。
SELF株式会社
SELF株式会社は、2014年の設立で、東京都新宿区に本社を構えています。主に自動接客AI、コミュニケーションAI、メンタルヘルスケアAIなどの分野での開発を手掛けています。
チャットボットやWEB接客以上の高度なユーザー目線での情報提供システムで、ニーズを即座にキャッチし、スピーディーに商品を提案したり、検索を省いてレコメンドできることが特徴です。
教育・ヘルスケア・金融機関などの企業に導入しており、コミュニケーションを通じてユーザーへどこまで有効な情報を届けます。課題を理解して細かな接客対応により、問い合わせの削減やスムーズな申し込みへつなげることが可能です。
おすすめポイント
・AIとのコミュニケーションを通じて、より最適な情報が提供可能
・コミュニケーションAIを活用した、パーソナルAIアプリの開発
・一人ひとりにパーソナライズされた情報提供できるAIの開発
AI Infinity株式会社
AI Infinity株式会社は、2017年に設立された企業で、本社は東京都港区にあります。様々なAIソリューションを手掛け、中でも自然言語処理、音声認識、画像解析には高い技術力を持ちます。さらにこれらの技術を同時に活用したシステム開発を手掛けるなど、複数のAI技術を組み合わせることができることが強みです。
会議の音声発話によってリアルタイムで話者分離し、発話内容の文字起こしや、意味解析して議事録化できるサービスや、会社内に散財している文書ファイルを、質問を投げかけたり、画像データの類似性によって検索抽出できるサービスなどを提供しています。
おすすめポイント
・業種を問わず、様々な分野でAIを活用可能
・自然言語処理や音声認識など言葉の情報を相互に変換する技術に特に強みを持つ
・複数のAI技術を組み合わせてシステムを作り込める
株式会社テクノフェイス
株式会社テクノフェイスは、2002年に設立され、北海道札幌市に本社を構えており、AIの研究開発・インテグレーション、クラウド、モバイルアプリ、業務データ分析、技術コンサルティング、システム構築・保守・運用など様々な事業を展開しています。
AI開発においては、画像認識、自然言語処理、時系列予測、組み合わせ最適化などの様々なソリューション提供をしています。中でも自然言語処理の領域においては、介護計画自動生成、チャットボット支援、コールセンターにおけるデータ活用のコミュニケーションAI、サポート業務向け対話エンジンなどを手掛けた実績があります。
おすすめポイント
・地域活性化のためのハイスキルな人材育成による地域貢献
・自然言語処理に強みを持ち、高精度なコミュニケーションAIやチャットボットの開発
・豊富なAI技術を活用したソリューションの提供
まとめ
自然言語処理は、コンピュータが自然に人間のように言葉を把握できるようになるための技術であり、音声認識や翻訳、テキスト情報の解析に活用されています。ディープラーニングを活用した自然言語処理により、形態素解析と構造解析の精度は一層高くなりました。
自然言語処理を活用することでコンピュータが可能な業務を増やすことで、より有益な業務に集中することができるようになります。少子高齢化により労働人口の減少が始まっている日本において重要な課題です。現状の技術を踏まえ、業務で取り入れられることはないかを検討してみてはいかがでしょう。