自然言語処理について

はじめに


こんにちは、東京アプリケーションシステム第三ソリューション部のW.F.です。
私は社内の勉強会の一つであるAI分科会に所属しています。
大学では自然言語処理について学んでいたため、分科会ではチャットボットの作成をしていました。
そこで今回は、自然言語処理とはどのようなものかざっくりとお話しできればと思います。

自然言語とは


「自然言語処理」という単語を聞いて「自然言語」とはそもそも何ぞやとなるかと思います。
Wikipediaで調べてみますと、「人間が意思疎通のために日常的に用いる言語であり、文化的背景を持っておのずから発展してきた言語。」と書いてあります。
つまり、私たちが日常的に使用している「日本語」や「英語」などが自然言語に該当します。
対して、自然言語の対義語として「人工言語」と呼ばれるものがあります。
文字通り「人工的に生み出された言語」のことを指し、私たちが業務で使用している「プログラミング言語」などが該当します。

自然言語処理について


自然言語処理とは「自然言語」+「処理」となりますので、日本語や英語などの人間の言葉をコンピュータで解析する一連の処理のことを指します。
人間の言葉をコンピュータに理解をさせるためには様々な考慮が必要となり、大きく以下の4つに分けられます。
・形態素解析
・構文解析
・意味解析
・文脈解析
一つ一つ説明すると長くなってしまうため、今回は「形態素解析」に着目したいと思います。

形態素解析


形態素解析とは、文章を単語の最小単位に分ける処理のことを指します。
有名な例文として「すもももももももものうち」という文章がありますので実際に解析してみます。
今回はPythonで形態素解析ツールであるMeCabを用いて解析していきます。

無事に解析できました!

最後に


最後まで読んでいただきありがとうございました。
最近話題になっているChatGPTも自然言語処理の技術が用いられていますので興味を持った方はぜひ調べてみてください。
また、今回実際に動かしてみた形態素解析ですが、短いコードですぐに試すことができますのでこちらも是非試してみてください。