
自然言語処理 Natural language processing について
自然言語処理(英語:Natural language processing/通称:NLP)とは、
人間が日常的に使用している言葉をコンピューターに理解、
処理させる一連の技術のことを指し、人工知能と言語学の一分野です。
データベース内の情報を自然言語に変換したり、
自然言語の文章をより形式的かつコンピュータが理解しやすい表現に変換したりする処理が含まれます。また、応用例としては予測変換、IMEなどの文字変換が挙げられます。
膨大なテキストデータ解析に向いている
IDC Japanの予測によると全世界で発生するデータの量は、
2025年には163兆ギガバイトに達することに
膨大なテキストデータの解析は、もはや人間の手では処理しきれない状態にあることから、自然言語処理の技術を高めることが急ピッチで要され、
自然言語処理が注目を集めるきっかけとなりました。
BERTやGPT-3など汎用言語モデルの進化
2018年、Googleは汎用言語モデル「BERT」を公開しました。
従来の自然言語理解のタスクの多くで最高の性能を達成し、
現在はGoogle検索にも導入されています。
複雑な文章にも対応し、正確な結果を返せる点で優位性があり、
より人間に近い対話が実現しやすくなりました。
また、アメリカの非営利団体「OpenAI」が開発した「GPT-3」は、
800万に及ぶWebページを人間が整理し、
それを学習することであたかも人間が書いたような文章を自動で生成することが可能になりました。
このままGPT-3の軽量化が進めば、提案書やマニュアル、
企画書の自動生成や、メールの代理返信、
コールセンターのオペレーターの一次受けなど、
ビジネスのさまざまな面で役立つこととなるため、
多くの企業が関心を寄せています。
自然言語処理の流れ
自然言語処理で行われる6つの処理の流れを紹介します。
以下のリンクが非常にわかりやすいです!
①機械可読目録
機械可読目録とは、図書館などで書籍検索システムに
使用されている規格です。
機械可読目録は自然言語で前処理として使用されます。
文字を認識して読み取り、変換をするという処理を行い、
辞書的な役割を果たします。
②コーパス
コーパスは自然言語の使用方法を蓄積・記録した言語集のようなデータのことを指します。
機械可読目録と同様に、コーパスも前処理として行われ、コーパスを分析して言語の特徴を捉えることで自然言語処理に活用していきます。
Pythonによる自然言語処理 コーパスの作成方法
コーパスは新聞、雑誌、本などに書かれている中身や、
文字化した話し言葉を大量に集め、
コンピュータでいろいろ検索・分析して
調べられるようにしたデータベースのことです
言語研究のためにバランスよく
収集された多種多様な英語が取り入れられています
以下の記事では pythonでコーパスを作成し始める過程がわかります
コーパスの研究
言語処理学会の発表論文がとても面白かったです!
日本語の科学論文から問題解決プロセ スの情報抽出を行うための準備として、人手による アノテーションによって、「問題」の語義タグ付き コーパスを作成し、自己学習によるコーパスの増補 を行ってます。
https://www.anlp.jp/proceedings/annual_meeting/2021/pdf_dir/P6-8.pdf
[1] Kevin Heffernan and Simone Teufel. Identifying problems and solutions in scientific text. Scientometrics, Vol. 116, No. 2, pp. 1367–1382, 2018.
Heffernan ら [1] は、“problem” とその類義語を利用した情報抽出により、
英語科学論文から問題提 起箇所を含む「問題内容」と「解決法」コーパスを 作成し、さらに、文中に「問題内容」または「解決法」を含むか否かという分類を行った。
同論文で Heffernan らは、“problem” は “problematic” と “task” の二つの意味を持ち、問題解決プロセスにおいて は、“problematic” の意味の “problem” のみが対象になるとしており、この意味の “problem” を抽出するにあたり、機械的にパターン抽出を行った後で、問題提起を行わない文を人手で除外している。
③形態素解析
前処理が終わると、次の段階に進みます。
形態素解析というのは、文章を最小単位に分解して判別する作業のことを言います。
日本語は複雑な単語や文法が混在しているので、分解して判別する必要があります。前述したように、「私は散歩に出かけた。」という文章を形態素解析すると、「私・は・散歩・に・出か・け・た。」という分割になります。
「私も過去に使用していました。」
形態素解析ツール「mecab」
わたしも「Mecab」を使用していました
日本語を扱う自然言語処理で切っても切れないのが「Mecab」です。
Mecabはオープンソースの形態素解析エンジンです。
言語、辞書、コーパスに依存しない汎用的な設計を基本方針としているので、Pythonの他にもC、C++、Ruby、Javaなど多くの言語で使用することが可能です。
ChaSen、Jumanなど他の形態素解析エンジンよりも高速に動作し、日本語の形態素解析エンジンの中では最もよく使用されています。
④構文解析
構文解析では、形態素解析で分割した単語同士を木(ツリー)のように繋げ、図式化していきます。
分割された単語をツリーのように図式化することで、分割された単語の関係性を明らかにして、文を把握するということができます。
https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/F2-4.pdf
⑤意味解析
意味解析とは、解析する上で適切な意味になるようにする処理のことを指します。
構文解析の段階では単語の関係性を明らかにしていきますが、単語それぞれに複数の意味がある場合、繋げた際に意味が通らなくなる可能性があります。そこで、繋げた単語同士が違和感のないように意味を分析し、処理をしていくのが意味解析です。
以下には
Google Colaboratory、Python3、MeCab
を利用した非常にわかりやすい使用例が載っています!
構文解析は NLTK(Natural Language Toolkit)というプラットフォームを使用
意味解析は 自然言語処理ライブラリのspaCy(スパイシー)とginzaを使用
Pythonで自然言語処理を行えるライブラリspaCy(スパイシー)
で「望遠鏡で泳ぐ彼女を見る」という文章を解析した
ソースコードが載ってます とても分かりやすいです!
⑥文脈解析
最後に、文脈解析です。
文脈解析は、様々な単語から成り立つ文を、
文ごとの繋がりや背景にある情報なども加味して
分析・処理していく自然言語処理の最終段階とされる処理です。
しかし、文脈解析は非常に複雑で難しい技術が必要とされるため、
前述したようにまだ実用化に至っていないというのが現状です。
しかし、実用化されれば今よりもより精度の高い自然言語処理が可能になるため、今後に期待される技術の1つです。
調べましたが 2022年12月現在は 研究中とのことで
ライブラリーなど 詳しい情報は見つけられませんでした!
そこで GPT-3 様に相談してみようと思います!!!
GPT-3とは
GPT-3(Generative Pretrained Transformer)はOpenAIが開発している1750億個のパラメータを使用した『文章生成言語モデル』です。
OpenAIとは、2015年12月に設立された、AIを研究し、活用可能なAIを提供するアメリカの非営利団体です。TeslaのCEOであるイーロン・マスクや、アメリカのスタートアップへ投資を行うY Combinatorの前CEOであるサム・アルトマンらビジネス系著名人が設立したことで注目を集めました。
「OpenAIの使命は、人工的な一般知能(AGI)、つまり、経済的に価値のある仕事において人間を凌駕する高度な自律システムが、全人類に利益をもたらすようにすることです。私たちは、安全で有益なAGIを直接構築しようとしますが、私たちの仕事が他の人の成果を助けることになれば、私たちの使命は達成されると考えています。」
OpenAIのAPIは誰でも利用することができ、自然言語生成や検索、要約や翻訳などを行うことが可能です。
ChatGPTとは
ChatGPTとは、OpenAIによって開発された、人間の発話をシミュレートしてユーザーと自然なやり取りをするチャットボットのモデルです。
その名前は、第3世代の生成言語モデルであるGPT-3アーキテクチャに由来しています。
ChatGPTは、OpenAIのGPT-3.5モデルを採用し、AI設計チームが強化学習(RLHF)を用いて学習させ、中国語、英語、日本語、スペイン語など複数の言語を認識し、人間らしく応答するようにしたものです。
ChatGPTは2022年12月現在、無料登録の段階なので、誰でも簡単に登録し、無料体験を始めることができます。
ChatGPTは2021年までのデータで学習しているため、2022年以降がどうなるかはわからないです。
まだ間違いがあったり、合理的な答えが無茶な答えになったりすることがあるため、ユーザーはロボットの答えを信用することができません。
ChatGPTに質問してみた
ソースコードまで 例に入れて回答してくれましたが
ChatGPT様より↓
これはPythonで文脈分析にアプローチする方法の一例に過ぎず、あなたの特定のニーズに応じてこのアプローチを変更したり拡張したりできる他の多くの方法があることに注意してください。
と言われました・・・。
確かに ソースコードの例を見ると自然言語処理のごく一部ですね!
ただAI様の進化のスピードが異常に早いので
あと何年かでIT業界という言葉がなくなり どの業界も
電子化が当たり前になる
私たちは 専門知識を活かして こんな感じの 論文書いてください!
とお願いして AIと一緒に作っていく時代が来るかもしれません!!

