/var/log/study

つまり雑記

入門自然言語処理 第1章

2017年度上期目標達成プロジェクトの第1週目

方針

  • 本はpython2だがpython3で通す
  • 本を読んでpython3対応するのがめんどくさくなったら以下を読む

python2 -> python3 のマイグレーション

  • nltk.download() がさっくり動かない
    • 止まった所はちまちまダウンロードする
    • それでも1こだけダウンロードできなかったやつがある
      • 一旦無視 こまったら考える
  • nltk.text.Text の generateメソッドが使えない
  • python3の dict_keys でindexへのアクセスができなくなってる
  • nltk.probability.FreqDist でplotした時の縦軸が%ではなく単語の総数となっている
    • 英語サイトを見たら、%表示では無くなってるのでまぁよしとする
      • (が,正直, plotした時の値は%軸の方が良い気がする)
  • bigrams関数が無い
    • from nltk.util import * で使えるようになる
      • generatorなのでforで回す

雑なメモ

  • 語義曖昧性解消
    • 文章内の単語と単語をくっつけて、文章の意味を正しく解釈する
  • 代名詞解析
    • 文章の流れから代名詞(theyとか)を正しく推測する
  • 言語出力の生成
    • 問に対する答えを作る?
  • 機械翻訳
  • 音声対話システム
    • bot的なもの
    • 知っている?という問いに対してyes no ではなく, 推論して解答を返す
  • 含意関係
    • 1つの文章から, 別の文章の真偽をチェックする

雑な感想

  • たしか大学の教科書って聞いてた
    • pythonの基本的な説明が多い
    • 個人的には不要
    • 初心者にはありがたいかもしれないが、python2なので改定が必要そう
  • python3でも意外と動いたり動かなかったり
  • 言語処理100本ノック
    • 1日1問くらいで、現在30問目くらい
    • 100本ノックの際はnltkがアレばだいたいokでは?って思えた
      • 便利
        • bigrams
        • collocations
  • nltk.chat.chatbots()が面白い
    • Iesha (teen anime junky)
    • が中身はちょっとしょぼい?
  • 各章ごとに演習問題がついている
    • 2章からは取り組もうとおもう
      • 正直pythonの基礎文法をやるのは怠いので