機械学習・自然言語処理の勉強メモ

学んだことのメモやまとめ

2018-03-01から1ヶ月間の記事一覧

Pytorch:単語のベクトル表現をセットする(torchtext)

はじめに Pytorchの処理で学習済みの単語分散表現(Word2Vec, Glove等)を使いたい場合がある。直接、Embedding層にセットする場合が以下の方法で問題ない。 kento1109.hatenablog.com前処理として、torchtextを利用する場合はそうはいかない。 torchtextは…

Pytorch:テキストのバッチ化(BucketIterator)

前回、torchtextに関する基本をまとめた。kento1109.hatenablog.com今回、もう少し実用的なことをメモする。 BucketIterator テキストを学習データとする場合、当然、文章の系列長は異なる。文章をバッチ化する場合、パディングして系列長を揃える必要がある…

Pytorch:Embeddingに学習済みの重みを使う

やりたいこと 事前にWord2Vecなどで学習した分散表現をネットワークの重みとして用いる。結論としては、Embedding層の重みにテンソル型に変換した分散表現行列をセットするだけで良かった。備忘録としてコードを残しておく。 (ここでは、Googleの学習済みの…

PyTorch:Bi-LSTM+CRF②(予測)

はじめに 前回は学習に関するコードを読んだ。 kento1109.hatenablog.com今回は「予測」の部分を読んでいく。 予測 予測時は、viterbi algorithm を用いて効率的に計算する。 最後に_viterbi_decode関数を確認する。 _viterbi_decode グラフの最短経路を求め…

PyTorch:Bi-LSTM+CRF①(学習)

はじめに 今回は、Bi-LSTM+CRFに関して整理する。 最近の深層学習を用いた系列ラベリングに関する論文は、この手法でSOTAを達成していることが多い。尚、Bi-LSTM+CRFの基本的なことに関しては、以前のTheanoでの記事で述べた。 kento1109.hatenablog.comTh…

PyTorch:LSTMの実践(CoNLL)

はじめに 前回、LSTMの基礎的な使い方を整理した。 kento1109.hatenablog.comだいたい、使い方は分かったので実際にタスクに取り組んでみる。今回は「固有表現抽出」で試してみる。 CoNLLについて CoNLLは、「Conference on Computational Natural Language …

PyTorch:LSTMの基礎

はじめに 今回はNLPでよく使われるLSTMネットワークについて整理する。 自分で各ゲートのパラメータを記述したTheanoに比べると簡単。 下記のTutorialのコードを説明しながらLSTMの書き方について理解していく。 Sequence Models and Long-Short Term Memory…