2017-09-01から1ヶ月間の記事一覧
自然言語処理では、ナレッジベース(knowledge base)を使う場合があります。 その際、手軽に使えるナレッジベースとして DBpedia があります。 DBpedia は Web 上でクエリ(SPARQL)を実行できるのですが、利便性を考えるとプログラムからクエリを実行した…
2017/06/21にリリースされた gensim 2.2.0 から Keras との統合機能が導入されました。 具体的には、Word2vec の Keras 用ラッパが導入されました。 これにより、gensim で分散表現を学習した後に、その重みを初期値として設定した Keras の Embedding層を取…
自然言語処理で RNN を使っていると、RNN の内部状態を取得したくなることがあります。 TensorFlow では tf.nn.dynamic_rnn 等の関数を使うと、出力と状態を返してくれます。 しかし、Keras でのやり方については意外と日本語の情報がありませんでした。 本…
Kerasで書かれたコードを読んでいるとふと気がつくことがある。 それは、Conv1D と Convolution1D、MaxPool1D と MaxPooling1D という同じような名前のクラスが出てくるのだ。 一体これらの違いは何なのだろうか?
はじめに 自然言語処理で文書分類は最も基本的なタスクの一つです。 文書分類は、SNSに対する評判分析、ニュースのジャンル分類、メールのスパムフィルタや文書の著者推定といった問題の解決に使われています。 このように基本的なタスクである文書分類は広…
3行まとめ Keras で作成したモデルをデバッグしたい。 Keras には標準でデバッガが用意されていない。 Keras の Session オブジェクトを tfdbg でラップしてデバッグする。 オープンソースのニューラルネットワークライブラリである Keras は計算グラフに基…
Kerasでは様々なレイヤーが事前定義されており、それらをレゴブロックのように組み合わせてモデルを作成していきます。 たとえば、EmbeddingやConvolution, LSTMといったレイヤーが事前定義されています。 通常は、これらの事前定義された便利なレイヤーを使…
TL;DR keras.backendのreshapeを使ってLambda層でreshapeしたい reshapeのshapeにテンソルを指定するとモデルの保存(save)に失敗する saveではなくsave_weightsを使うと保存できる 背景 まず問題が起きる状況について説明しておきたい。 簡単にまとめると以…
Kerasでモデルを学習させるときによく使われるのが、fitメソッドとfit_generatorメソッドだ。 各メソッドについて簡単に説明すると、fitは訓練用データを一括で与えると内部でbatch_size分に分割して学習してくれる。 それに対し、fit_generatorではbatch_si…