自然言語処理2011(3回目) Natural Language Processing 2011 東京工科大学 コンピュータサイエンス学部 亀田弘之
レポート課題1 日本語を対象とする形態素解析システムをできるだけたくさん調べなさい。 提出日時:平成23年11月7日(月) 授業開始時 レポート回収します! レポート課題1 日本語を対象とする形態素解析システムをできるだけたくさん調べなさい。 システム名 開発者名(大学名・企業名でも良い) 開発言語(プログラミング言語) 価格 など 提出日時:平成23年11月7日(月) 授業開始時
Natural Language Processing 2011 (Tokyo University of Technology) 前回までの復習 言語 (languages) 自然言語 (natural languages) 文字言語 (written languages) 音声言語 (spoken languages) 視覚言語 (visual languages) 人工言語 (artificial languages) Programming languages 手続き型言語・関数型言語・論理型言語 オブジェクト指向型言語・アスペクト指向型言語 など 自然言語と人工言語では下位分類の考え方が異なっている点に注意! 自然言語:日本語をはじめ英語・独語・仏語・中国語・朝鮮語・アラビア語など 人工言語:多くは文字言語だが、アイコンは視覚言語とも考えられる。 (ひと言メモ) 学術的には「朝鮮語」が本来正しい言い方。NHKのテレビ・ラジオ会話では「ハングル語」となっているが、 これは政治的配慮の産物。需要があるにもかかわらずNHKが暫くの間「ハングル語」の番組を開始できないでいたのは、 このあたりの事情による。 かつてドイツが東西分裂していたとき、西ドイツと東ドイツの政治体制の違い等により、もはや東ドイツ語辞典を作らないと 西ドイツの人たちは東ドイツのことが理解できなくなってしまうのではとの懸念が若い上がりつつあった。幸いその後速やかに 東西ドイツは統一されたのでそのような辞書は編纂されなかった。 現在の大韓民国(韓国)と朝鮮民主主義人民共和国(北朝鮮)それぞれの言語はどうなっているのか? 興味あるところである。 またこれに関連して一言。言語Aと言語Bが同じ・違うとはどういう意味か考えた事ありますか?大阪弁は日本語ですか?それはなぜ? 沖縄方言は? アイヌの言葉はアイヌ語といって日本語とは異なる言語になっています? なぜだと思いますか? 言語は身近であるが故に奥の深いものですね。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 前回までの復習 言語 (languages) 自然言語 (natural languages) 文字言語 (written languages) 音声言語 (spoken languages) 視覚言語 (visual languages) 人工言語 (artificial languages) Programming languages 手続き型言語・関数型言語・論理型言語 オブジェクト指向型言語・アスペクト指向型言語 など Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 対話ロボットのデモ Problem1: Theoretically and Practically, what is going on now? Try to explain in your words. Problem 2*: Model this conversation action, or create a new model of conversation action model. (hint) explanatory model, statistical model, UML model, and etc. Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 自然言語処理の概要 文字認識 形態素解析 統語解析(構文解析) 意味解析 談話解析 状況解析 世界解析(他者理解など) Problem: Consider the following; In machine, these processes are run sequentially in this order from top to bottom. But what about in human? Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 技術的に重要な項目 文字認識 → スキャナの高度化 形態素解析 → データマイニング 情報検索 統語解析(構文解析) → 機械翻訳 音声対話 意味解析 → (同上) 談話解析 → (同上) 各処理に係る技術は常に変化している。折に触れてサーベイすることを勧めます。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) ChasenとJuman 日本語を対象とする形態素解析の代表的なプログラム Chasenをインストールして使ってみよう。 www.vector.co.jp を通じて公開されている。 WinCha というWindowsインタフェースのものもある。(今はメインテナンスされてない。) (授業ページからダウンロード可能) Chasenは現在の日本語処理における1つの標準的なツールであるので、使い方を少しづつ学ぶことをお勧めする。 その一方、これを超える形態素解析システムが求められていることも忘れてはならない。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) Winchaのインストールデモ WinchaとはChasenを元にして作られた形態素解析プログラムである。 講義のページからダウンロード可。 自動解凍形式になっている。 解凍の際はadministrator権限で実行すること (特に、Windows XP では)。 Natural Language Processing 2011 (Tokyo University of Technology)
自由課題:Chsenを使ってデータ処理してみよう! 各自、新聞記事、小説、ブログなどさまざまなジャンルのテキストに対して、Wincha (Chasen) を利用して形態素解析してみてください。 (後日、レポートとして提出してもらいます。今日のレポート課題は別のものです。) Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 実行例 入力:生活の質の向上と文化の発展に 貢献する人材を育成する 出力:生活/の/質/の/向上/と/文化/の/発展/に/貢献/する/人材/を/育成/する 東京工科大学の「基本理念」より引用 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 今日の後半に移りましょう! Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 構文解析(統語解析) NLPの中心的話題です。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) まずは、背景にある理論から 言語理論 (Theory of Languages) 処理対象そのものを知る 論理学 (Logic) 処理のための理論 プログラミング (Programming) コンピュータで処理できるために Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 言語理論 形式言語(言語と文法、文脈自由文法) 論理学 述語論理(推論、レゾリューション法) プログラミング 論理型プログラミング(Prolog) 形式言語:formal languages 述語論理:predicate logic (ひと言メモ) 言語理論と呼ばれるものはたくさんあります。多くの理論は、言語は文法により定義されるとの考えに基づき 「何々文法」と呼ばれています。現在いちばん有名なものは変形文法(Transformational Grammar)でしょう。 これはプログラミング言語とその処理に強い影響を与えているものです。その他にも、結合価文法、概念依存文法、認知文法、 モンタギュー文法などたくさんあります。 一方、論理学にもいろんなものがあります。論理回路設計でおなじみのブール代数は命題論理(propositional logic)、 人工知能や機械学習の分野で注目されているのが述語論理(predicate logic)。その他にも、様相論理、時相論理、線形論理などがそうです。 コンピュータサイエンスの分野では、命題論理・述語論理さらには線形論理あたりが重要です。その延長線上として圏論も重要です。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 目標 簡単な構文解析プログラムを自力で作成できる。 処理対象言語:日本語と英語 使用プログラミング言語:Prolog 「目標=試験に出る」従ってレポート課題もある、ということでしょうか...? Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 準備 次の文の構造を分析してみよう。 Tom broke the cup. Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 文法 G = { Vn, Vt, σ, P } Vn:非終端記号 Vt:終端記号 σ:開始記号 P:書き換え規則 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) G = {Vn, Vt, σ, P} Vn ={S, NP, VP, PrpN, V, Det, N} Vt = {Tom, broke, the, cup} σ = S P={S→NP VP, NP →PrpN, VP →V NP, NP → Det N, PrpN → Tom, V →broke, Det →the, N→cup} Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) Prologの導入 プログラミング言語としてはJavaやCでもいいのですが、本講義ではプログラミングの負担を減らすため、また、CS学部の学生ならば知っておくべき言語であるという理由から、Prologを用います。 元気な人は、ML, Ocaml, Haskell, Lisp などでプログラミングしてください。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) Prologの動作を理解する。 黒板で説明します。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 予習問題 英文 Tom broke the big cup. に対して以下のことを行え。 の構造を分析せよ。 この文を処理するための文法G1を書け。 G1を基にPrologプログラムを作成せよ。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 次回以降、練習をします。 PrologでNLPシステムを書けるようになりましょう! みんな必ず書けるようになります。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 対話システム Eliza と実際に会話し、感想や気がついたこと5つ以上を箇条書きで書きなさい。 例: Elizaは英語なので使いにくい。 結構面白い。 こんな分野に役立ちそう。 など Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) Elizaはさまざまな人の努力によりWebから誰でも入手できるが、授業のサイトにもそれらのうちのいくつかをアップしてあるので、どれか1つをダウンロードして使用実験を行ってください。 Natural Language Processing 2011 (Tokyo University of Technology)
Natural Language Processing 2011 (Tokyo University of Technology) 今日のツール類 Chasen Wincha Prolog Elizaプログラム Natural Language Processing 2011 (Tokyo University of Technology)