AI/ML

SentencePiece + 日本語WikipediaのBERTモデルをKeras BERTで利用する

SentencePiece + 日本語WikipediaのBERTモデルをKeras BERTで利用する

Hideki INOUE
SentencePiece + 日本語WikipediaのBERTモデルをKeras BERTで利用する TL;DR Googleが公開しているBERTの学習済みモデルは、日本語Wikipediaもデータセットに含まれていますが、Tokenizeの方法が分かち書きを前提としているため、そのまま利用しても日本語の分類問題ではあまり高い精度を得ることができません。
sumyを使って青空文庫を要約してみる

sumyを使って青空文庫を要約してみる

Hideki INOUE
sumyを使って青空文庫を要約してみる TL;DR テキスト要約モジュールであるsumyを使って青空文庫の書籍を要約してみました。 sumyを使う部分はけ日記 - Python: LexRankで日本語の記事を要約するを参考にさせていただきました。 同記事ではTokenizerにJanomeを使用していますが、今回はginza(spacy)を使用しています。
自然言語処理で使われるAttentionのWeightを可視化する

自然言語処理で使われるAttentionのWeightを可視化する

Hideki INOUE
自然言語処理で使われるAttentionのWeightを可視化する TL;DR 自然言語処理で使われるAtentionのAttention Weight(Attention Weightを加味した入力シーケンス毎の出力)を可視化します。 これにより、モデルが推論を行った際に入力のどこに注目していたのかをユーザに表示することが可能です。
SentencePiece+word2vecでコーパスによる差を確認してみる

SentencePiece+word2vecでコーパスによる差を確認してみる

Hideki INOUE
SentencePiece+word2vecでコーパスによる差を確認してみる TL;DR SentencePieceとword2vecを前提として、学習に利用したコーパスの違いでどの程度の差がでるか確認しました。 今回は以下のコーパスで比較しました。 Wikipediaja Wikipediaja+現代日本語書き言葉均衡コーパス それぞれのコーパスで学習したモデルを使用し、後述のベンチマーク用データを利用した分類問題の結果を評価しています。
自然言語処理の分類問題の入力信号に、単語単位の入力だけではなく文字単位の入力を使用する

自然言語処理の分類問題の入力信号に、単語単位の入力だけではなく文字単位の入力を使用する

Hideki INOUE
自然言語処理の分類問題の入力信号に、単語単位の入力だけではなく文字単位の入力を使用する TL;DR 自然言語処理の分類問題の入力信号では、単語単位での入力が一般的です。 但し、日本語のような表意文字圏では文字単位での入力にも意味があります。 LSTMを利用したネットワーク構造を利用して、単語単位であるか、文字単位であるか、それぞれ入力信号の違いでどのように結果に違いが出るかを比較してみました。
Self-Attentionを利用したテキスト分類

Self-Attentionを利用したテキスト分類

Hideki INOUE
Self-Attentionを利用したテキスト分類 TL;DR テキスト分類問題を対象に、LSTMのみの場合とSelf-Attentionを利用する場合で精度にどのような差がでるのかを比較しました。 結果、テキスト分類問題においても、Self-Attentionを利用することで、LSTMのみを利用するよりも高い精度を得られることが確認できました。 Self-Attentionの実装としてはkeras-self-attentionを利用しました。
自然言語ベクトル化用Pythonモジュール(text-vectorian)をリリースしました

自然言語ベクトル化用Pythonモジュール(text-vectorian)をリリースしました

Hideki INOUE
自然言語ベクトル化用Pythonモジュール(text-vectorian)をリリースしました TL;DR text-vectgorianは、自然言語をベクトル化するためのPythonモジュールです。 TokenizerやVectorizerの詳細を気にすることなく、任意のテキストから簡単にベクトル表現を取得することが可能です。 日本語Wikipediaで学習済みのモデルを同梱しているため、モジュールをインストールしてすぐに利用することができます。
SageMakerでTensorFlow+Kerasによる独自モデルをトレーニングする方法

SageMakerでTensorFlow+Kerasによる独自モデルをトレーニングする方法

Hideki INOUE
SageMakerでTensorFlow+Kerasによる独自モデルをトレーニングする方法 TL;DR AWS SageMakerにおいて、TensorFlow+Kerasで作成した独自モデルをScript Modeのトレーニングジョブとして実行します。 トレーニングジョブ用のDockerイメージについてはSageMakerが提供するイメージをそのまま利用します。このため、独自のイメージをビルドする必要はありません。
Auto-KerasでTextClassifierを使って見る

Auto-KerasでTextClassifierを使って見る

Hideki INOUE
Auto-KerasでTextClassifierを使って見る TL;DR Auto-KerasでTextClassifierを使って見ました。 Auto-Kerasを利用した画像分類(ImageClassifier)については、Auto-Kerasを使って見るを参照してください。 Auto-Kerasのバージョンは0.3.5です。
Auto-Kerasを使って見る

Auto-Kerasを使って見る

Hideki INOUE
Auto-Kerasを使って見る TL;DR AutoML実装の一つであるAuto-Kerasを使ってみました。 Auto-Kerasのインストールから、チュートリアルにあるMNISTの分類モデルの作成までです。 AutoMLとは AutoML(Automated Machine Learning)は、機械学習プロセスの自動化を目的とした技術のことです。 以下のQiitaの記事がとてもわかりやすいです。