「自然言語」とは、私たちが日常で使っている言葉のことです。
これらは進化の過程で「自然に」出きてきた言葉です。
なので自然言語と呼ばれます。
それに対する概念としては、人工言語があり、これは人間が1から設計した言葉になります。
例えば、プログラミング言語などは人工言語の1つになります。
近年のコンピュータとインターネットの発達により、
- 高速な処理
- 大量の自然言語データ
が比較的手に入りやすい環境になってきています。
例えば、ディープラーニング(深層学習)というアルゴリズムが活用できるくらい、高性能な演算を行うことができやすくなっています。
- 大量の自然言語データを集め、
- ディープラーニングというアルゴリズムを活用し、
- 高速な演算でこれまでできなかった処理を行う
ことで、これまでの自然言語処理の性能を大きく向上させつつあります。
その結果、さらなる応用分野を生み出し、ビジネスチャンスにもなっています。
とは言っても、自然言語処理は、言語特有の難しさを処理する方法があります。
画像処理など、他の近い分野を学ばれてきた方も、
1から学ぶ方がかえって効率がいい場合があります。
- 自然言語処理は、どうやって学べばいいの?
- 概要をサクッとつかみたい
- おすすめの教科書や参考書、本はある?
と思われる方も多いかと思います。
そこで本記事では、
自然言語処理の初学者の方が、
- まず最初の1冊として読む
- 自然言語処理の全体像をサクッとつかめる
- ディープラーニングなどの先端技術も学べる
といった、自然言語処理のおすすめの教科書をご紹介します。
本記事の概要
「自然言語処理」を学びたい初学者のあなたが、最初に学ぶといいおすすめの教科書・参考書、1冊はこちらです
自然言語処理 (放送大学教材)
こちらは改訂版が出ています↓
自然言語処理〔改訂版〕 (放送大学教材)
本書は、放送大学の教科書として使われているので、基本から丁寧に、初学者向けにわかりやすく解説がされています。
以下で内容を示しますように、この1冊をしっかり理解することで、自然言語処理の概要をサクッとつかむことができます。
改訂版が出ており、近年注目の「ディープラーニング」についての解説も加わっています。
(旧版にはありませんので、ディープラーニングも学びたい場合には改訂版をおすすめします)
(旧版では)全部で15章の構成になっており、1週間に1章ずつ読んでいけば4ヶ月弱で読めます。
1日1章なら2週間で読めることになります。
また、おすすめの読み方としては、類似した内容は一緒に読むと理解が進むかと思います。
例えば、系列解析には(1)(2) と2章あるのですが、
以下で示すように、その間にコーパスに関する解説の章が挟まっています。
この3章は、まず最初は、1章ずつ教科書の順番に従って読みます。
その後、その3章数回繰り返して、通して読むことで理解が進みやすいかと思います。
他にも同様に、構文の解析も(1)(2)、意味の解析(1)(2) とありますが、構成としては離れて存在します。
これらは各章を1度読んだら、その後は、なるべく一緒に読み通して繰り返すのがいいように思います。
本書の内容は以下の通りです↓
1、自然言語処理の概要と歴史
言語とは?言語の特徴から、自然言語処理の概要と歴史がサクッとまとめられています。
2、文字列・テキスト処理の基礎
自然言語をコンピュータで表現するには、ビットと文字を結びつける文字コードが使われています。
単語を扱うときなど、順番に並べて整理するなどが役立ちます。そのため、文字列に順番を定義しますが、その方法が説明されています。
また順番に従い蓄えれれたデータを高速に検索する方法が紹介されています。
3、系列の解析(1)
文を単語に分割する処理(形態素解析)や、新しく生まれた言葉(未知語)の処理についての解説があります。
4、コーパスに基づく自然言語処理
形態素解析や未知語の処理にも使われるコーパスについての解説があり、コーパスから抽出される言語モデル(マルコフモデルやnグラムモデルなど)の紹介があります。
注釈がついたコーパスを使った、自然言語処理への、機械学習の分類問題の適用についての解説があります。
5、系列の解析(2)
文の意味を理解するために必要な品詞をつける方法(系列ラベリング)について解説があります。
- 隠れマルコフモデルとそれを用いた品詞タグつけ
- 条件付き確率場を用いた品詞タグつけ
- 地名や人名、組織名などの固有名などの固有表現を抜き出す「固有表現抽出」
などの方法について、サクッと概要が示されています。
6、意味の解析(1)
意味とは?意味をどう定義するのかというところから、
自然言語処理ではどう処理されているかについて,
概念の階層図、比喩や近接性の関係(メトニミー)などが、わかりやすく解説されています。
また、語の意味に関して
- 「同義性」 複数の語が共通の意味を持つこと
- 「多義性」 ある語は複数の意味を持つこと
の2点の扱い方について、それぞれ、分布類似度、語義曖昧性解消、といった内容が解説されています。
7、構文の解析(1)
文の中の単語と単語には、語同士につながりがあります。
例えば、
「私は綺麗な、青い鳥を見ました」
という文があったとします。
この「綺麗な」という部分は、鳥にかかっています。
このような関係のことを係り受けと言います。
このように、単語と単語にはつながりがあるわけです。
このつながりをコンピュータに分析させるのが、
「構文解析」です。
日本語の場合には「係り受け解析」と呼ばれたりします。
本章では、単語同士の結びつきを表現する方法について、
- 依存構造表現
- 句構造表現
について解説があり、それらをコンピュータで処理する方法について
- 文脈自由文法
- CKY法
が擬似アルゴリズムとともに解説されています。
8、構文の解析(2)
文中の単語の関係にも曖昧さがあります。これを「構文的曖昧性」といいます。
この曖昧性のために、構文解析の結果は複数出てくる場合もあります。
これを解決する方法として、
- 語と語の近さ
- 意味を使う(選択制限)
といったものが解説されています。
また、機械学習を使った構文解析として、
構文をループのない辺の有向グラフで表現(全域木)し、最大全域木を求めます方法が説明されています。
これを実現するソフトとして
Minimum-Spanning Tree Parser (MSTParser)
が紹介されています。
9、意味の解析(2)
ここまでで、文の構造が分かったことになります。
しかし構造が分かっても、意味がわかるわけではありません。
意味を理解するために、述語に着目し、述語と項の関係するのが有効です。これを「述語項構造」といいます。
また項の役割のことを「格」といいます。
日本語の場合には、コーパスから格の使われ方のパターンを抽出して、依存構造の解析を行います。
この分析は
というソフトで実行できます。
10、文脈の解析
これまでの解析は、1文を単位として行われていました。
しかし言葉の意味は、1文の範囲を超えて、複数の文や、文章と文章のつながりなどで、意味を表現する場合もあります。情報は文章として表現されるわけです。
- 語句同士の関係「照応関係」
- 節や文の間の関係「談話関係」
といった関係を分析することで、文章の意味を解析します。これを「文脈解析」と呼びます。
本章では、照応解析として共参照やゼロ照応、談話構造として、修辞構造理論(RST)について解説があります。
以下の4章では、自然言語処理の応用システムが紹介され、最後にまとめがあります。
11、情報抽出と知識獲得
12、情報検索
13、対話システム
14、機械翻訳
15、まとめ
改訂版では、さらに、ディープラーニングについての内容が加わっています。
最先端の話題ですが、非常にわかりやすく書かれており、これから実装してみたい方も、最初に目を通しておくと、後の理解が加速するかと思います。
というわけで、本書1冊をしっかり読めば、
- 自然言語処理の概要がつかめる
- より詳しく学ぶための基礎ができる
- 自分のやりたいことに必要な知識がわかる
ようになる1冊となっています↓
自然言語処理〔改訂版〕 (放送大学教材)
というわけで、本記事では、
自然言語処理の初学者の方向けに、
- まず最初の1冊としておすすめ
- 自然言語処理の全体像をサクッとつかめる
- ディープラーニングなどの先端技術も学べる
自然言語処理のおすすめの教科書をご紹介しました。
自然言語処理を学ぶのに初学者向けのおすすめの本は他にも出版されています。例えば、
自然言語処理概論 (ライブラリ情報学コア・テキスト)
こちらは、非常にコンパクトに自然言語処理の概要が、わかりやすくまとめられた1冊になっています。
詳しくはこちらの記事でご紹介しました↓
『「自然言語処理」の基礎から応用まで、全体像をサクッと学びたいあなた、こちらはいかがでしょうか。ディープラーニングもあります』
他にも、
自然言語処理の基本と技術
こちらも自然言語処理の全体像を見やすく、わかりやすく、解説された1冊で、初学者の方におすすめの本になっています。
こちらもございます↓
こちらの記事もございます↓
『「自然言語処理」を学びたい人におすすめの良書、10冊はこちらです』