自然言語処理2008 最終回

自然言語処理2008
最終回
東京工科大学コンピュータサイエンス学部
亀田弘之
言語処理を本当に実現するためには
何が必要なのか?
NLPシステム実現には
何が必要なのか?
1.
2.
3.
4.
5.
6.
言語データ
言語理論
言語処理理論
各種ツール
設計論
アプリケーションシステム
1.言語データ

はじめに言語データありき。
言語データ
種類と特性
 計算機可読

音声データ


乳幼児音声、講演データ、対話データ など
テキストデータ


( machine-readable)なデータ
Shakespeare全集、朝日新聞全文データ など
動画像形式のデータもあり
 大規模
 多言語
など
言語データ
【参考となるサイト】

言語情報処理ポータル
http://nlp.kuee.kyoto-u.ac.jp/NLP_Portal/
言語データ
例の紹介(NO.1)

Web中のテキスト
サイトの各ページ
 Blogのテキスト
 (Youtubeなどの動画中の音声) など

青空文庫
 Project Gutenberg
 Oxford Text Archive (OTA)
 Linguistic Data Consortium (LDC)
 新聞記事データ
など多数のものがあり

Burnard Lou
Mark Liberman
言語データ
例の紹介(NO.2)
IPAL辞書
 EDR辞書 など

横井敏夫
研究目的であるならば、必要に応じて出版社等に直接
交渉する方法もあり。
(例:広辞苑、徒然草、朝日新聞記事データ など)
青空文庫

サイト


http://www.aozora.gr.jp/
利用可能なテキスト
著作権切れのテキスト
 共有することを許諾されたテキスト


データ形式


XHTML, テキストtxt, エキスパンドブック形式ebk
(文字コード:Shift JIS)
ビューア(viewer)

いろいろなものが提供されている
http://www.sky.sannet.ne.jp/at-sushi/aozora/viewer.html
(「青空文庫 ビューア」でも検索のこと)
青空文庫

参考文献

インターネット図書館 青空文庫
野口英司編著, ISBN4-89984-072-1 (はる書房)
練習
1.
2.
3.
4.
5.
6.
青空文庫の中から芥川龍之介の作品「蜘蛛の糸」を
探してみなさい。
ビューアをダウンロードして、作品を表示してみなさい。
青空文庫に自分が貢献できることがないか考えて見な
さい。
青空文庫の利点・欠点について考察せよ。
清少納言の作品がないのはなぜか? 理由を考えよ。
ビューアを自作しなさい。


表示機能の高度化
文字読み上げ機能の追加 など
PROJECT GUTENBERG
諸外国のデータが公開されている。
 一度サイト内を渉猟してみること。

練習
1.
2.
3.
Lewis Carroll の作品を探してみなさい。
音声データを再生してみなさい。
Project Gutenberg の意義を考えなさい。
まず、処理対象であるデータを
よく観ることが大切。
NLPシステム実現には
何が必要なのか?
1.
言語データ(計算機可読な)

2.
3.
4.
5.
6.
処理対象をよく知る
言語理論
言語処理理論
各種ツール
設計論
アプリケーションシステム
2.言語理論
(すでにやりましたよね!)

文法とは


規範文法 vs 記述文法
形式文法

Chomsky の文法理論
生成文法(句構造文法、文脈依存文法、文脈自由文法、正規文法)
 変形文法、Xバー理論 など

結合価理論
 モンタギュー文法 など


個々の未解決問題:以下のものの定義は?

単語、品詞、統語構造、意味、意図、文脈 など
NLPシステム実現には
何が必要なのか?
1.
言語データ(計算機可読な)

2.
言語理論

3.
4.
5.
6.
処理対象をよく知る
言語記述の枠組みを探る
言語処理理論
各種ツール
設計論
アプリケーションシステム
3.言語処理理論
(これもすでにやりました)
形態素解析
 統語解析(構文解析)
 意味解析
 意図解析
 文脈解析

言語処理理論の基礎部分

Chomskyのオートマトン理論
有限状態オートマトン ⇔
 ブッシュダウンオートマトン

正規言語
⇔ 文脈自由言語 など
この理論が多くの局面で使われているが、個別の処理
方法も ad hoc ながらも考案されている。その代表が確
率を利用するものである。
 言語の確率モデル


HMM (Hidden Markov Model) など
(NLPにおいて確率は避けて通れない?)
言語処理に使われるプログラミング言語
Lisp
 Prolog
 Perl
 Ruby
C
 C++
 Java など

言語処理の基礎理論を深く知りたい人に

Pierre M. Nugues, An Introduction to Language
Processing with Perl and Prolog, Springer(2006).
(理論、実装、応用の概要について書かれており、英語、
フランス語、ドイツ語に対しても言及されている。)
これを読めば専門家になれる!かも
NLPシステム実現には
何が必要なのか?
1.
言語データ(計算機可読な)

2.
言語理論

3.
5.
6.
言語記述の枠組みを探る
言語処理理論

4.
処理対象をよく知る
広範囲にわたる知識が必要
各種ツール
設計論
アプリケーションシステム
4.各種ツール
言語処理の流れ
1.
2.
3.
4.
5.
6.
7.
文字認識
形態素解析
統語解析(構文解析)
意味解析
文脈解析
(未知語獲得)
(統語規則獲得) など
形態素解析ツール ・タガー
Juman
 茶筅
 Kobako/J
 Brill’s Tagger
 GoTagger (Brill’s Tagger を改良したもの)

デモ
GoTagger
 Kobako/J
 (茶筅とJumanはWebを見てください。)

構文解析システム
Knp (京都大学)
 Sax
 Bump
 自作のプログラム

NLPシステム実現には
何が必要なのか?
1.
言語データ(計算機可読な)

2.
言語理論

3.
6.
広範囲にわたる知識が必要
各種ツール

5.
言語記述の枠組みを探る
言語処理理論

4.
処理対象をよく知る
多種多様だが不完全
設計論
アプリケーションシステム
5.設計論
1.
2.
3.
理論的枠組みの決定
モデルの構築 (定式化・システム的解明)
システム構築
①
②
③
④
⑤
4.
システムの有効性・妥当性の評価

5.
仕様の決定
外部設計
内部設計
コーディング
検証
アプリケーションへの組み込み など
理論・モデルの改良・高度化
新たな設計論の必要性
理論の解明
 モデル化
 プログラミング言語の開発
 設計パラダイム(設計手法)





オブジェクト指向型言語:Java, C++
関数型言語:Lisp, Haskell
手続き型言語:C, Pascal
論理型言語:Prolog
(CSとしてもっと深く考えなければいけない!)
6.アプリケーションシステム
仮名漢字変換システム
 文章要約システム
 検索システム
 データマイニング(テキストマイニング)システム
 機械翻訳システム
 音声対話システム

道案内
 フライト案内
 音声によるPC操作補助

誤字脱字検出システム
 人工無能 など

NLPシステム実現には
何が必要なのか?
1.
言語データ(計算機可読な)

2.
言語理論

3.
多種多様だが不完全
設計論

6.
広範囲にわたる知識が必要
各種ツール

5.
言語記述の枠組みを探る
言語処理理論

4.
処理対象をよく知る
新たな設計手法・パラダイムへ?
アプリケーションシステム

徐々に実用化?
7.そしてさらに何が必要か?
脳神経科学
 認知科学
 心理学(認知心理学・発達心理学・社会心理学)
 教育学
 社会学
 言語学
 コミュニケーション学
 組織行動論学
 論理学
 数学
 コンピュータサイエンス など

以上で終わりです。