自然言語処理2016(3回目) Natural Language Processing 2016 東京工科大学 コンピュータサイエンス学部 亀田弘之
レポート課題1 “形態素”の言語学的 定義を調べよ。 Winchaに関し以下のことを行え. インストールする. 次の例文を形態解析する. 形態素解析結果について,問題点があれば指摘する. Natural Language Processing 2016(Tokyo University of Technology)
レポート課題1 “形態素”の言語学的 定義を調べよ。 Winchaに関し以下のことを行え. レポート回収します! インストールする. 次の例文を形態解析する. 形態素解析結果について,問題点があれば指摘する. Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 前回までの復習 言語 (languages) 自然言語 (natural languages) 文字言語 (written languages) 音声言語 (spoken languages) 視覚言語 (visual languages) 人工言語 (artificial languages) Programming languages 手続き型言語・関数型言語・論理型言語 オブジェクト指向型言語・アスペクト指向型言語 など 自然言語と人工言語では下位分類の考え方が異なっている点に注意! 自然言語:日本語をはじめ英語・独語・仏語・中国語・朝鮮語・アラビア語など 人工言語:多くは文字言語だが、アイコンは視覚言語とも考えられる。 (ひと言メモ) 学術的には「朝鮮語」が本来正しい言い方。NHKのテレビ・ラジオ会話では「ハングル語」となっているが、 これは政治的配慮の産物。需要があるにもかかわらずNHKが暫くの間「ハングル語」の番組を開始できないでいたのは、 このあたりの事情による。 かつてドイツが東西分裂していたとき、西ドイツと東ドイツの政治体制の違い等により、もはや東ドイツ語辞典を作らないと 西ドイツの人たちは東ドイツのことが理解できなくなってしまうのではとの懸念が若い上がりつつあった。幸いその後速やかに 東西ドイツは統一されたのでそのような辞書は編纂されなかった。 現在の大韓民国(韓国)と朝鮮民主主義人民共和国(北朝鮮)それぞれの言語はどうなっているのか? 興味あるところである。 またこれに関連して一言。言語Aと言語Bが同じ・違うとはどういう意味か考えた事ありますか?大阪弁は日本語ですか?それはなぜ? 沖縄方言は? アイヌの言葉はアイヌ語といって日本語とは異なる言語になっています? なぜだと思いますか? 言語は身近であるが故に奥の深いものですね。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 前回までの復習 言語 (languages) 自然言語 (natural languages) 文字言語 (written languages) 音声言語 (spoken languages) 視覚言語 (visual languages) 人工言語 (artificial languages) Programming languages 手続き型言語・関数型言語・論理型言語 オブジェクト指向型言語・アスペクト指向型言語 など Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(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 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 自然言語処理の概要 文字認識(character recognition) 形態素解析(morphological analysis) 統語解析(構文解析, syntactic analysss) 意味解析(semantic analysis) 談話解析(discourse analysis) 状況解析(stuation analysis) 世界解析(他者理解など) 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 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 要素技術の応用分野 文字認識 → スキャナの高度化 形態素解析 → データマイニング 情報検索 統語解析(構文解析) → 機械翻訳 音声対話 意味解析 → (同上) 談話解析 → (同上) 各処理に係る技術は常に変化している。折に触れてサーベイすることを勧めます。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 形態素とは 意味を持つ最小の単位。 例: Beautiful beauti-ful Books book-s 美しい 美し-い 語 形態素?(言や吾が形態素では?) 単語(語) foot - feet tooth - teeth →Word と lexeme という概念もある。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) Chasen, Juman, MeCab 日本語を対象とする形態素解析の代表的なプログラム ChasenかMeCabをインストールして 使ってみよう。 www.vector.co.jp を通じて公開されている。 WinCha というWindowsインタフェースのものもある。(今はメインテナンスされてない?) (ここからダウンロード可能) Chasenは現在の日本語処理における1つの標準的なツールであるので、使い方を少しづつ学ぶことをお勧めする。 その一方、これを超える形態素解析システムが求められていることも忘れてはならない。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) Winchaのインストール例 WinchaとはChasenを元にして作られた 形態素解析プログラムである。 前ページ下のリンクからダウンロード可。 自動解凍形式になっている。 解凍の際はadministrator権限に留意すること Natural Language Processing 2016(Tokyo University of Technology)
自由課題:ツールを使ってデータ処理してみよう! 各自、新聞記事、小説、ブログなどさまざまなジャンルのテキストに対して、形態素解析ツールを利用して形態素解析してみてください。 (後日、レポート課題2として提出してもらいます。今日のレポート課題は別のものです。) Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 実行例 入力:生活の質の向上と技術の発展に 貢献する人材を育成する 出力:生活/の/質/の/向上/と/技術/の/発展/に/貢献/する/人材/を/育成/する 東京工科大学の「基本理念」より引用 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) レポート課題2 形態素解析ツール(Wincha,MeCab, Chasen, Jumanのどれか1つ)を利用して、学長挨拶(http://www.teu.ac.jp/gaiyou/006488.html)を形態素解析しなさい。 提出日は、次回の授業の時とします。 表紙等もいつも通りとします。 (2日目のレポート課題1を参照のこと) Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 参考(学長挨拶本文) 東京工科大学は1986年に工学系単科大学としてスタートしました。以来、日本初のメディア学部の設置など、常に社会のニーズを読みながら進化を続け、現在では5学部と大学院を擁し、蒲田と八王子の2キャンパスを有する総合大学へと発展しています。 本学は、新しい大学です。伝統校のような長い歴史はありませんが、新しい大学には、時代に即応した革命や新たな試みに挑戦できる柔軟な態勢があります。2012年度も新しい試みを実行します。それが「教養学環」の設置です。これにより、今までの教養教育を改革・充実させ、社会で必要とされる社会人基礎力、東京工科大学の学生として身につけてほしい教養を学部横断教育として行っていきます。しっかりとした教養を備えるということは、発展著しい社会の変化に適応できる普遍的な知識を身につけること。これを「東京工科大学教養スタンダード」とし、その後の専門教育の充実や学生の就業力向上をめざします。 東京工科大学の教育の根幹にある考えは「実学主義」です。「実学主義」とは「実社会で役立つ専門的な知識や技術、加えてその基盤となる人間としての適応力を高めるための教育」です。これは単に学問を修めるためだけでなく、卒業後、一人ひとりがそれぞれの分野で学んできたことを活かして、社会で活躍できる実践力を磨くことです。そのために、入学から就職・進学まで、一貫したサポート体制でみなさんの夢の実現を応援します。ぜひ東京工科大学の門を叩いて、飛び込んで来てください。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 今日の後半に移りましょう! Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 構文解析(統語解析) NLPの中心的話題です。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) まずは、背景にある理論から 言語理論 (Theory of Languages) 処理対象そのものを知る 論理学 (Logic) 処理のための理論(NLP in terms of logic) プログラミング (Programming) コンピュータで処理できるために Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) もう少し詳しく述べると... 言語理論 形式言語(言語と文法、文脈自由文法) Formal languages ( language & grammar, context-free grammar ) 論理学 述語論理(推論、レゾリューション法) Predicate logic ( inference/reasoning, resolution method ) プログラミング 論理型プログラミング(Prolog) Logic programming 形式言語:formal languages 述語論理:predicate logic (ひと言メモ) 言語理論と呼ばれるものはたくさんあります。多くの理論は、言語は文法により定義されるとの考えに基づき 「何々文法」と呼ばれています。現在いちばん有名なものは変形文法(Transformational Grammar)でしょう。 これはプログラミング言語とその処理に強い影響を与えているものです。その他にも、結合価文法、概念依存文法、認知文法、 モンタギュー文法などたくさんあります。 一方、論理学にもいろんなものがあります。論理回路設計でおなじみのブール代数は命題論理(propositional logic)、 人工知能や機械学習の分野で注目されているのが述語論理(predicate logic)。その他にも、様相論理、時相論理、線形論理などがそうです。 コンピュータサイエンスの分野では、命題論理・述語論理さらには線形論理あたりが重要です。その延長線上として圏論も重要です。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 学習目標 簡単な構文解析プログラムを 自力で作成できる。 処理対象言語:日本語と英語 使用プログラミング言語:Prolog 「目標=試験に出る」従ってレポート課題もある、ということでしょうか...? Learning goal ・ to be able to design and implement a simple syntactic analyzer (parser) by oneself. Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 準備 次の文の構造を分析してみよう。 Tom broke the cup. Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 文法 G = { Vn, Vt, σ, P } Vn:非終端記号 Vt:終端記号 σ:開始記号 P:書き換え規則 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(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 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) Prologの導入 プログラミング言語としてはJavaやCでもいいのですが、本講義ではプログラミングの負担を減らすため、また、CS学部の学生ならば知っておくべき言語であるという理由から、Prologを用います。 元気な人は、ML, Ocaml, Haskell, Lisp,Python などでプログラミングしてください。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) Prologの動作を理解する。 黒板で説明します。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 予習問題 英文 Tom broke the big cup. に対して以下のことを行え。 統語構造(構文構造)を分析せよ。 この文を処理するための文法G1を書け。 G1を基にPrologプログラムを作成せよ。 Natural Language Processing 2016(Tokyo University of Technology)
Natural Language Processing 2016(Tokyo University of Technology) 次回以降、練習をします。 PrologでNLPシステムを書けるようになりましょう! みんな必ず書けるようになります。 Natural Language Processing 2016(Tokyo University of Technology)