タグ

ブックマーク / kento1109.hatenablog.com (2)

  • gensimに依存しない単語の類似度計算 - 機械学習・自然言語処理の勉強メモ

    はじめに 前にgensimによる単語の類似度について書きました。 kento1109.hatenablog.com この手の記事はググればいっぱい出てくるので、gensimでモデルを作って単語の類似度を計算するのは難しくないと思います。 ただ、LSTMなどで学習した後の単語の分散表現の類似度を測定したい場合に、そのためだけにわざわざgensimのモデルを構築するのは面倒ですし、無駄かなと思います。 ある単語と別の単語の類似度を測定するだけの場合、そのベクトル同士で測定すれば良いですが、gensimのmost_similar関数のような「ある単語のベクトルに近いベクトルの単語をN個取ってくる」機能を実現する場合は少し実装が必要です。 1単語ずつループで回してコサイン類似度を計算する、なんてしていては計算速度が遅くなります。 そこで、scipyとnumpyのライブラリを活用した関数を考えました

    gensimに依存しない単語の類似度計算 - 機械学習・自然言語処理の勉強メモ
    knok
    knok 2019/06/27
  • Stan:隠れマルコフモデル① - 機械学習・自然言語処理の勉強メモ

    はじめに 今回は隠れマルコフモデルをStanで実装する。 隠れマルコフモデル自体は以前に書いた。 kento1109.hatenablog.com 今回は教師ありモデルを考える。 教師あり「隠れ状態」が既知のモデル。 前回の例で考えると、「晴れ→雨」などの遷移状態が与えられているモデル。 その状態から、「遷移行列」と「出力行列」を推定する。 モデル コードは以下のようにシンプル。 data { int<lower=1> K; // カテゴリーの数 int<lower=1> V; // 単語(word)の数 int<lower=0> T; // 時点の数 int<lower=1,upper=V> w[T]; // 単語(word) int<lower=1,upper=K> z[T]; // カテゴリー vector<lower=0>[K] alpha; // 推移(transit)確率の事前

    knok
    knok 2018/06/22
  • 1