NLP勉強会 #1 参加メモ

NLP勉強会 #1に参加してきた。

(再)入門自然言語処理 #01 (yamano357)

自然言語処理でこれだけは覚えておきたい単語

  • 素性(そせい): パターン認識では特徴量と表現するものを、言語処理では慣習的に「そせい」と呼ぶ
  • コーパス: 電子化して大量に蓄積された言語データ全般
  • Bag of Words(BoW): 入力した文を順番を無視した単語の集合と、その頻度で表現
    • 「前処理で大事なことは言語処理で学んだ」→「前:1 処理:2 大事:1 言語:1 学ぶ:1」
  • Support Vector Machine(SVM): なんか凄い機械学習アルゴリズム

自然言語処理の要素技術

  • 形態素解析
    • わかち書き (segmentation)
    • 原形化 (lemmatization):語形・活用変化している単語を原形に戻す
    • 品詞タグ付け (POS Tagging)
  • 統語解析(構文解析
  • 意味解析
    • 「単語自体の意味」と「単語間の意味関係」を解析して文の意味を同定
    • 語義曖昧性解消 (word sense disambiguation; WSD)
      • "bank" は「銀行」?「土手」?
  • 文脈解析
    • 代名詞などが指し示す実体を同定する照応解析、省略された単語を文脈から復元する省略解析
    • 各文がどのように結合してテキストを形成しているかを表すテキスト構造の構築

自然言語処理の周辺技術

自然言語処理の応用技術

  • テキスト分類
  • 情報検索
  • 機械翻訳
  • 情報抽出
  • 自動要約
  • 質問応答
  • 対話システム


すぐに始める言語処理 (yamano357)

形態素解析

  • MeCab: 条件付き確率場(CRF)に基づく解析
  • JUMAN: 人手による連接ルール・コストに基づく解析
  • KyTea: 線形SVMやロジスティック回帰などを用いてそれぞれを個別に推定

係り受け解析器


word2vecのご紹介 (@piroyoung)

1-1. word2vec is 何?

  • 単語に低次元のベクトルを対応させるソフトウェア
  • 入力:単語はスペース区切り、文は改行区切り
  • 出力:単語とベクトルの対応

1-2 単語のベクトル表現

  • 1-of-k 表現
    • すべての単語は等距離.意味の距離は?
    • 次元が大きすぎる

1-3. 単語の低次元ベクトル表現

  • 1-of-k表現(100万次元)に横長い行列をかけることで200次元に落とす。「中間層」の低次元ベクトルを分散表現という
  • 分散表現の次元数をSizeという

2-1. NLPPython

  • pandasの集計がかなり快適・速い
  • gensim : トピックモデルのライブラリ
  • gensimからもword2vecが叩ける

2-2. 前処理と複合語

  • 同じ品詞が続いたときは1つの単語として扱う → 人名、専門用語が拾える

2-3. package : gensim

  • トピックモデルのPythonライブラリ
  • gensim.models.Word2Vec : w2vのクラス

2-5. モデルのベンチマーク

  • word2vec純正のベンチマーク compute-accurancy がある
    • A〜B → C〜?? というアナロジーの問題集 約2万問


言語モデル入門(第二版)(@akkikiki)

  • 言語モデルって何?
    • 人間が用いるであろう言葉らしさ、を確率としてモデル化する
  • スムージング
    • コーパスに登場していない単語(=ゼロ頻度問題)の解決
  • Kneser-neyスムージング
    • 実験的に一番良いスムージング