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