らんだむな記憶

blogというものを体験してみようか!的なー

ga136(推論・知識処理・自然言語処理)まとめ (3) — 構文解析・機械翻訳

Week3

構文解析

  • 目的: 文の文法的な構造を定め、後続する処理の入力とする
  • 大きく二つのやり方
    • 句構造解析: 構成素の概念に基づき、文を階層的な木構造として表す
    • 依存構造解析 (係り受け解析): 単語間の修飾・被修飾の関係を定め、文を有向グラフ構造として表す
  • 構文解析器のことをパーサ (parser) と呼ぶ
  • nltk demo: nltk.app.rdparser_app.app()
  • 構文的曖昧性 (syntactic ambiguity)
    • 一般に入力分に対して複数の構文木がありえる
    • 通常は最良の構文木、あるいは、せいぜい上位 n 件の構文木のみに興味がある
    • 構文木をスコア付けする必要がある
  • 日本語係り受け解析
    • 日本語の係り受け構造の性質
      • 文節単位で考えることがほとんど
      • 日本語の係り受け解析の歴史は古い (70 年代から)
      • システム例: CaboCha

まとめ

  • 構文解析の役割: 自然言語文の意味は、構成要素である単語の保つ意味が文の持つ構造によって組合わされることによって定まると考える (構成性の原理) と、文の構造を明らかにする構文解析は重要な処理である
  • 構文解析の方式: 句構造解析と依存構造解析

機械翻訳

  • 規則に基づく MT の限界
    • 1980年代の花形
    • 粒度の細かい言語知識を規則化することの困難さ
    • コーパスに代表される言語資源が整備され、計算機のパワーが増強されるにつれ、データ駆動ん自然言語処理手法が主流となってくる (1990 年代〜)
    • MT の世界では: 統計的機械翻訳 (Statical MT: SMT) へ移行
  • 統計的機械翻訳 (Statical MT)
    • 基本的な考え方: 大量に収集した対訳データ (バイリンガルコーパス) から原言語と目的言語の対応関係を学習する
    • ここ数年前までの主流
  • ニューラル機械翻訳 (Neural MT)
    • 基本的な考え方: 大量に収集した 対訳データ (バイリンガルコーパス) から原言語と目的言語の対応関係を学習する (SMT と同じ)
  • 符号化・復号化モデル

まとめ

  • 機械翻訳自然言語処理の中心的応用の一つであり、多くの要素技術の進展を牽引してきた
  • 依然として (おそらく) 規則に基づく MT や統計翻訳は利用されているが、技術の主流は完全にニューラル翻訳に移っている
  • ただし、ニューラル翻訳には特有の落とし穴もあるので注意が必要…

NLP の方法論: 全体のまとめ

  • 理性的アプローチから経験主義的 (データ駆動) アプローチへ
  • end-to-end アプローチの一般化
    • 入出力のデータが十分にあるならば、ニューラルネットワークによる end-to-end アプローチが有効
    • 精度がよい (ことが多い)
    • モジュール化に伴うエラー伝搬がない
    • 処理がブラックボックス (解釈性, 説明可能性の問題)
    • ちょっとした手直しやチューニングが困難