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

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

論文

(論文)Cloze-driven Pretraining of Self-attention Networks

はじめに 2018年のNLPの主役は「BERT」で間違いないでしょう。 元の論文はGoogleから発表されており、Googleすごいってなりました。 黙っていないのがPytorchを開発した「Facebook」です。ってことで、彼らの手法でNERのタスクにおいて僅かですがBERTを抜い…

(論文)Pretrained language models

はじめに 以前にPretrained language modelsの基本について書きました。 kento1109.hatenablog.com今回はドメイン領域(Biomedical)での固有表現認識(NER)について適用した論文をまとめます。[1711.07908] Effective Use of Bidirectional Language Model…

(論文)BERT

今日も少し前に流行ったモデルの復習。 今日はBERTに関してまとめる。https://wikiwiki.jp/animegameex/%E3%83%90%E3%83%BC%E3%83%88これもまた既に素晴らしいまとめがあるのでそちらを参考にしながら復習した。 jalammar.github.io towardsdatascience.com …

(論文)Transformer

久しぶりにブログを更新する。今日は「Attention Is All You Need」に関する復習。もはや2年前の論文で、日本語でも丁寧な解説記事がたくさんある。deeplearning.hatenablog.comとっても今更感があるが、自分自身の理解の定着のためにまとめようと思う。 と…

Pretrained language modelsを理解する

はじめに 少し前に「A Review of the Neural History of Natural Language Processing」というまとめ記事を見ました。 blog.aylien.com自然言語処理の発展の歴史みたいなもので、近年のブレイクスルーをまとめてくれています。2018年の注目はELMoに代表され…

TheanoでNER(CRF)

前回まででメインとなるLSTM層を説明した。 kento1109.hatenablog.com今回はCRFによる出力部を見ていく。元となるコードを再掲 github.com CRF 簡単に言うと、「識別モデルを用いて系列ラベリングの問題を学習するもの。」詳しくは前回まとめた。 kento1109.…

TheanoでNER(モデル構築)

前回は前処理部分を簡単に理解した。 kento1109.hatenablog.com 前回も載せたがコードはここ。 github.com今回はメインのモデル構築について整理していく。 モデル構築(model.py) train.pyの f_train, f_eval = model.build(**parameters) でモデルを構築…

TheanoでNER(前処理)

NER(Named Entity Recognition) 系列ラベリングの一種。 日本語では、固有表現抽出と言われるタスク。具体例としてはこんなの 太郎は5月18日に花子に会いに行った。 これに含まれる固有表現を抽出(タグ付け)すると以下となる。 <PERSON>太郎</PERSON>は<DATE>5月18日</DATE>の<TIME>朝9時</TIME>に<PERSON>花</person>…

TheanoでSentiment analysis (CNN)②

前回でマックスプーリングまでの層の定義をまとめた。 kento1109.hatenablog.com 今回は、MLP層についてまとめる。 MLPDropput ここに書いたこととほとんど同じ。 kento1109.hatenablog.com 呼び出し側 classifier = MLPDropout(rng, input=layer1_input, la…

TheanoでSentiment analysis (CNN)①

Sentiment analysis TheanoでCNNによるSentiment analysisのコードを読む。 コードは github.com process_data.py ここは前処理。Theanoでの処理もない。 この前処理でどういうデータセットが出来るかを押さえる。cPickleで保存する変数は、revs, W, W2, wor…