studylog/北の雲

chainer/python/nlp

nlp

NN言語モデルの低頻度単語とメモリ問題

低火力ディープラーニングにつきまとう問題として第一にGPUのメモリ問題がある。 個人で用意できるレベルのハードではとにかく足りない。以下言語モデル構築の話。 wikipediaの1/50コーパスをneologdで分かち書きしたときに語彙は25万ぐらい。 これを全部語…

fastTextのsubword(部分語)の弊害

nlp

札幌は1桁まで最低気温が下がってきました。寒いです。Facebookが開発したfastTextを使ってみました。word2vecっぽくword embeddingをCPU環境で高速に生成してくれます。 github.compythonラッパーもありますが生成時に進行状況が表示されないので、生成時は…

mecab-NEologdを使うと語彙はどのくらい増えるのか

nlp

mecab-ipadic-neologdを使って形態素解析すると語彙が増えすぎてしまうんじゃないかという心配があったので調べてみた。 (追記訂正:最初のデータは間違っていました。ごっそり消してwikipediaの詳細データだけ掲載します。すみません。) コーパスのテキスト…

RNNいわく「ソクラテスの哲学量は131位(2013年、6.6%)」

nlp

RNNで思わずクリックしたくなるようなweb記事のタイトルを生成してみた。 ビジネス分野 「味の素」を亡くした金融市場:日経ビジネスオンライン 【やじうまPCWatch】タカラトミー、おしゃべりで爆誕 ぱっと見ではよく意味がわからない。味の素って何かアクシ…

シンプルなRNN/LSTMだけでまともな文章はできない

nlp

「プログラムが自動で文章を生成する」昔からこれにロマンを感じてる。 やってて面白い。暇つぶしになるし、副次的に色んなことの勉強になるし、もしかしたらいつかいいプログラムが作れてお金になるかもしれない、なんてぼーっと考えてる。今年に入ってから…

RNNでのテキスト生成

nlp

最近RNNを使ってのテキスト生成で遊んでます。 色んなやり方があるのでメモ。呼び名は適当に命名しています。 ○はRNNに与える単語で、?が予想して出力する単語。 1.順生成 ○○○○○○?最も一般的。文章の時間軸に沿って単語を予測する。 2.逆生成 ?○○○○○○○文章を…

文字を流し込むだけのRNNを試してみた

yusuketomoto/chainer-char-rnngithub.com こちらのchainerで実装されたRNNを試してみました。 RNNやLSTMの理屈や構造はさっぱりわかりませんが、連続して与えられた文字列から次の文字を予測するというもの。サンプルを見るとシェークスピアの文字列を構文…

構築済みの日本語のWordEmbeddingベクトルがあればいいのに

nlp

と常々思っていたのだけど、探しても見つからなかった。 自分で作るのは結構時間がかかるし、その道の専門家の人がきちんと作ったものじゃないと精度が低いだろうし…。なんて思ってたらこんなのが。 word-vector-web-api/README.ja.md at master · overlast/…

gemsimのWord2vecファイルをpy2系と3系でやり取りしたい

以前python3系のgensimのword2vecで作ったデータを2系で読もうとしたらエラーraise ValueError, "unsupported pickle protocol: %d" % proto ValueError: unsupported pickle protocol: 3pickleのプロトコルが違うらしい ValueError: unsupported pickle pro…

Pylearn2チュートリアルではまったとこメモ(python3)

nlp

DeepLearning - Pylearn2を使って手書き文字認識を行う - Qiitaqiita.comここ参考にPylearn2のチュートリアルやってたんだけどはまったのでメモ。 元を書いた人はprintの仕様から多分py2系なんだと思う。学習終わって最後のtest_result.pyのところのpickle.l…