自然言語処理技術(NLP)
数学をなまけた人のために、ニューラルネットによる自然言語処理技術を解説しています。
高校数学をなまけた人のために、数学最低限度で、基本から最先端の技術までを、解説しました。 DeepLearningに関しては、論文をなぞった解説記事とは異なり、ネットワークのパーツの直感的な意味から説明しているため、世界一わかりやすいと思う。 課題として言語処理100本ノックという問題集から選んだもの、サンプルコードとしてPyTorchのTutorial Sampleの自然言語を扱ったもの、を利用させてもらっています。
言語処理100本ノックは,言語処理を志す人を対象とした,プログラミングのトレーニング問題集です. 乾・岡崎研の新人研修勉強会の一つであるLearning Programmingで使われています. このトレーニングは,以下の点に配慮してデザインされています.
- 自然言語処理の研究を進める上で,一度は書いておいた方がよいプログラム
- 統計,機械学習,データベースなどの便利な概念・ツールを体験する
- 実用的で,かつワクワクするようなデータを題材とする
- 研究を進めるうえで重要なプログラミングのルール・作法を身につける
- モジュール性や組み合わせを考慮しつつ,短くてシンプルなプログラムを書く
- プログラムの動作を確認(デバッグ)しながらコーディングする
- 労力を節約する(既存のツール/プログラム/モジュールが使えるときは流用する)
- 計算資源(メモリ・実行時間)を無駄にしない方法を学ぶ
- Pythonの基礎な事項を一通りカバーする
- 今どきの言語処理系エンジニアが知っておくべき世界の入り口へ誘う
専門用語とは、ある特定の職業に従事する者や、ある特定の学問の分野、業界等の間でのみ使用され、通用する言葉・用語群である。テクニカルターム、学術用語とも言われる。例えば、ロボット支援手術、仮想マシンなど。専門用語は、複合語になる割合が高い。専門用語抽出とは、コーパス中から専門用語を抽出するタスクである。専門家による人手での抽出では,専門家の作業負担が大きいため,自動で専門用語を抽出する技術の高度化が求められている。
用語抽出は,連語(複合語)抽出,固有表現抽出,未知語処理などのタスクと関連が深い。用語は複数の語から構成されることが多いため,連語や複合語(Multi-Word Expression)の 抽出と類似した手法が用語抽出に採用される.固有表現抽出は,特定の意味カテゴリー(人名,組織名,地名など)を持つ用語を抽出するタスクとみなすことができるが,分野を代表 する度合(用語性)はさほど考慮されない
用語の特質として,用語の言語学的な構造(Linguistic Structure),単位性(Unithood),用語性(Termhood)を挙げている.
中川ら[1]によると、専門用語抽出は、三つのフェーズが用いられる:
専門用語抽出は、同位語抽出、分散表現獲得・同義語取得、固有表現抽出、キーフレーズ抽出等と関連している。
同位語とは、与えられた語と並列関係になるような語である。例えば、並列助詞「や」で並べられる語は同位語である。同位語抽出とは、与えられた語と共通の文脈で専門用語となるような語を探し出すこと。
分散表現とは,語の意味を低次元のベクトルで表現する方法である。分散表現獲得手法は,Word2vec という名で様々な自然言語処理タスクに幅広く利用されている。分散表現は,king − man + woman = queen というような, 語同士の演算を可能することや,単語間の類似度の計算を可能にすることが特徴である。しかし,Word2vec は基本的に単語にしか対応しておらず,複合語に対応していない.
固有表現とは? 特定の個人、組織、地名など、一意に識別可能な名前を指す言語学の用語、例えば。人の名前、国、都市、企業、製品名、歴史上の事件など。固有表現抽出(認識)(Named Entity Recognition, NER)とは? 文章中から人名・地名・組織名といった固有名詞や,時間表現・金額表現等の語句を抽出する自然言語処理技術である。 専門用語の多くが固有表現に該当するため,固有表現抽出を行うことは,コーパス中の専門用語の候補を発見することに資する。
キーフレーズ抽出とは、文章からその主題を良く表現している句を抽出すること。複数単語の連続を抽出するので、単語を意味する「ワード」ではなく、句を意味する「フレーズ」が使われる。キーフレーズ抽出の手法は統計ベース、グラフベース、機械学習ベースの手法に大別される。
大分類 | 中分類 | 小分類 | 細分類 | 語彙素類 | 語彙例 |
---|---|---|---|---|---|
名詞 | 普通名詞 | 一般 | 体 | (例)「天気」「学校」 | |
サ変可能 | 体 | (例)「運動(する)」 | |||
形状詞可能 | 体 | (例)「安全(な)」 | |||
サ変形状詞可能 | 体 | (例)「心配(する・な)」 | |||
副詞可能 | 体 | (例)「大体」「近々」 | |||
固有名詞 | 一般 | 固有名 | (例)「平成」「ウィンドウズ」 | ||
人名 | 一般 | 人名 | (例)「孫正義」 | ||
姓 | 姓 | (例)「安部」 | |||
名 | 名 | (例)「晋三」 | |||
地名 | 一般 | 地名 | (例)「福岡」 | ||
国 | 国 | (例)「チリ」 | |||
数詞 | 数 | (例) | |||
助動詞語幹 | 助動 | (例)「(食べた)そう」 | |||
代名詞 | 体 | (例) | |||
形状詞 | 一般 | 相 | (例)「静か」「健やか」 | ||
タリ | 相 | (例)「釈然」「錚々」 | |||
助動詞語幹 | 助動 | (例)「そう」「よう」「みたい」 | |||
連体詞 | 相 | (例) | |||
副詞 | 相 | (例) | |||
接続詞 | 他 | (例) | |||
感動詞 | 一般 | 他 | (例) | ||
フィラー | 他 | (例) | |||
動詞 | 一般 | 用 | (例) | ||
非自立可能 | 用 | (例)「する」「できる」「(し)始める」「(て)くる」 | |||
形容詞 | 一般 | 相 | (例) | ||
非自立可能 | 相 | (例)「(て)ない」「(て)よい」「(て)欲しい」 | |||
助動詞 | 助動 | (例) | |||
助詞 | 格助詞 | 格助 | (例) | ||
副助詞 | 副助 | (例) | |||
係助詞 | 係助 | (例) | |||
接続助詞 | 接助 | (例) | |||
終助詞 | 終助 | (例) | |||
準体助詞 | 準助 | (例) | |||
接頭辞 | 接頭 | (例) | |||
接尾辞 | 名詞的 | 一般 | 接尾体 | (例)「(利便)性」「(配布)用」 | |
サ変可能 | 接尾体 | (例)「(活性)化」 | |||
形状詞可能 | 接尾体 | (例)「(東洋)風」 | |||
副詞可能 | 接尾体 | (例)「(仕事)中」 | |||
助数詞 | 接尾体 | (例) | |||
形状詞的 | 接尾相 | (例)「(健康)的」「(自慢)気」 | |||
動詞的 | 接尾用 | (例)「(汗)ばむ」「(大人)ぶる」 | |||
形容詞的 | 接尾相 | (例)「(安)っぽい」「(書き)易い」 | |||
記号 | 一般 | 記号 | (例) | ||
文字 | 記号 | (例) | |||
補助記号 | 一般 | 補助 | (例) | ||
句点 | 補助 | (例) | |||
読点 | 補助 | (例) | |||
括弧開 | 補助 | (例) | |||
括弧閉 | 補助 | (例) | |||
空白 | 補助 | (例) |
名詞-固有名詞-組織名はUniDic ver. 1.3.12で廃止された