CS224n「Lecture1 Intro to NLP and Deep Learning」
CS224D Lecture 1 - 29th Mar 2016 - Introduction.mp4
Deep Learningを研究する理由
DLが効果を発揮した分野
Phonology・Morphology・Word・Syntax・Semantics
- Phonology:ある言語の音の体系およびその音素の分析と分類の研究
- Morphology:形態。容認可能な単語を形成するための規則の研究。
- word
- syntax
- semantics
- DLは上記すべてvectorとして表現する。
- その他にも
- Sentiment Analysis
- Question Answering
- Machine Translation
リンク
Chainerで「CS224d: Deep Learning for Natural Language Processing」
勉強の仕方
- Amazon Fire TV Stick
- Youtube
- 上記を使うと、字幕付きでお家のテレビで見られるの完全に近未来
リンク
- material
- video
- 講義まとめ:自然言語処理のための深層学習(CS224d) - Qiita
Chainerで「Python機械学習プログラミング」の例題を解く~感情分析~
目的
Python機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)
- 作者: Sebastian Raschka,株式会社クイープ,福島真太朗
- 出版社/メーカー: インプレス
- 発売日: 2016/06/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
- 上記の本の解説部分(1章~6章)は読み終わったので実際に例題を解いてみたい。
- どうせなら流行りのDeep LearningライブラリChainerを使って解いてみたい。
Chainerにコントリビュート ~Documentation編~
Chainerにコントリビュートしよう
- 以下がDocumentationに関するIssue。
- その中でも関数の説明に関するIssueがこれ。
作業手順
手順の確認
[WIP] Improve docs of functions and links · Issue #2182 · pfnet/chainer · GitHubに手順が書いてるので確認
gitレポジトリの準備
- 自分のスペースにchainerをforkする(pfnet/chainerのmasterと自分のmasterが追従するようにはここ )
- documentation用のbranchを作成する(ex. improve-docs-examples)
softmax関数にDocumentationを追加してみよう
- 様子を見る
- chainer/softmax.py at master · pfnet/chainer · GitHub
- 関数にはdocは付いているが、クラスにはついていない。
- 既にDocumentation済みの関数を見てみる
- 同様に、関数にはdocは付いているが、クラスにはついていない。
- ただ、よりtemplateに近い形になるように関数のdocが修正されている。
テンプレートを見る
真似して書く
- ちゃんと生成できるかチェックする
- プルリクエスト作成
Chainer導入
前提
Python
- Python 2.7.6+, 3.4.3+, 3.5.1+, 3.6.0+が入っている
- NumPy 1.9, 1.10, 1.11, 1.12が使える
- six 1.9が使える
- cythonが入っている
- virtualenvが使える
CUDA
- CUDA 8.0のインストールが済んでいる
- g++ 4.8.4+が入っている
Install
- 基本はここ
手順
- 適当な場所で
git clone git@github.com:pfnet/chainer.git
- virtualenvの環境作成
~/dev/chainer$ virtualenv venv --python=/usr/bin/python3.4 ~/dev/chainer$ source activate venv/bin/activate
- cuDNN用の環境マネージメントツールcudnnenvでcuDNNを入れる
$ pip install cudnnenv $ cudnnenv install v5-cuda8 $ cudnnenv activate v5-cuda8 $ cudnnenv version v5-cuda8
- 必要な環境変数を設定する
$ tail -n 11 ~/.bashrc #path for cuDNN export LD_LIBRARY_PATH=~/.cudnn/active/cuda/lib64:$LD_LIBRARY_PATH export CPATH=~/.cudnn/active/cuda/include:$CPATH export LIBRARY_PATH=~/.cudnn/active/cuda/lib64:$LIBRARY_PATH # path for chainer export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH export CFLAGS=-I~/.cudnn/active/cuda/include export LDFLAGS=-L~/.cudnn/active/cuda/lib64 export LD_LIBRARY_PATH=~/.cudnn/active/cuda/lib64:$LD_LIBRARY_PATH
- 開発者ようにchainerをビルドする
~/dev/chainer$ python setup.py develop ... ... Finished processing dependencies for chainer==1.21.0
これからのパーソナルデータの話(1) ~はじめに~
はじめに
個人の情報の活用が進む現在
日々、SNSやWebサービスを利用する中で、私たち自身の個人の情報がサービス提供者に収集され、私たちユーザーの利便性向上のために活用されていることを感じます。例えば、Twitter広告[1]では、広告主がユーザーの性別、行動履歴、興味などで広告を出したいユーザー層を指定することができます。これは、Twitterがユーザーの情報を収集することで実現ができています。同様のサービスは、Google、Facebook、国内ではヤフーなども提供しています。
個人の情報を利用してユーザーの利便性を向上を目指す動きは、広告分野だけではなく他の分野でも行われています。amazonなどのeコマース分野、Apple・Youtubeなどの音楽・動画配信分野、Facebook・LINEなどのSNS分野も挙がるでしょう。
個人の情報の活用の背景
上記を見るとわかるように、Webサービスを提供する大企業のほとんど全てが、個人の情報を用いてユーザーの利便性の向上を目指しています。この理由として、様々な要因が挙げられますが主に以下の3つが要因だと考えられます。
今回は項目として上げるだけで詳しくは話しませんが、簡単に説明します。上記3つの要因により個人のデータに対して以下のような変化が生まれました。
- 「スマートデバイスの普及」により大量のデータが生成されるようになった
- 「深層学習に代表される機械学習、AI技術の進化ハードウェア・ソフトウェア技術の進化」により対象のデータを分析できるようになった
- 「ハードウェア・ソフトウェア技術の進化」により大規模なデータを高速に利用できるようになった
このように、大規模なデータを生成・分析・利用できるようになったことが背景にあると考えられます。
この文章を書く理由
まだ、しっかりと書きたいことの方向性が決まっていませんが、以下のような疑問を持つようになり、それについて調べたいと思っています。
- パーソナルデータって何なの?
- 個人情報とパーソナルデータの法律的解釈
- 企業のプライバシポリシーの変遷
- これからのパーソナルデータの定義
- パーソナルデータはどのように活用されるの?
- パーソナルデータは大企業に専有されていいの?
- 大量のデータを持つ企業が勝ち残るのか
- 他の企業は生き残れないのか
- 個人としてパーソナルデータを活用するには?
- パーソナルデータの持ち主はだれか
- パーソナルデータをユーザー自ら活用できないのか