プログラム

Embedの速度比較

単語埋め込みとかで使う、onehotとlook-up tabelの内積計算を比較する。埋め込み操作(embedding)の式は以下のとおり。xは[0,1,0,0,0]って感じのonehotベクトル。欲しいインデックスにビットが立ってて、Wと内積とると欲しいベクトルが引き抜かれる感じ。これ…

pythonでひらがな、カタカナ判定をする

一覧をリストにしてinで比較してもいいんだけど、もうちょっとスマートにやりたい。 ユニコードとかアスキーとかをちゃんと勉強した人にとっては多分当たり前のことなんだと思う。ひらがなの「も」 カタカナの「モ」を判別する時、以下のように書くことが可…

【chainer】 crf1d, CRF1dの使い方

chainerのlinks.CRF1dとfunctions.crf1dの使い方メモ。 crfと同様に系列を扱うNStepLSTMとかと同じ気分で使うと事故る。 概要 functions.crf1d(cost, xs, ts) 遷移スコア、タグスコア、正解ラベルをそれぞれ受け取って、最適パスをVariableのlistで返す。 遷…

文系のための自然言語処理入門としての「botの作り方」

毎夏、ついったーのbotを作ろうみたいな連載系動画を投稿しようと計画立てるけど、結局やらないまま夏が終わる— 明太子熊 (@mentaiko_guma) 2017年7月8日 この前の記事とかツイートででぼやいてたことを、記事にして供養します。 本当は中学生くらいを対象に…

言語の広がりをシミュレートしてみた

…という動画をシリーズもので投稿している。 先日最新版を投稿したので、ブログにも書いておこうかなという次第。 これは何?と言う方に簡単に説明すると、 ライフゲームの陣取り合戦にいくつかルールを与えて、言語の広がりを模してみようというもの。 ひと…

地形の自動生成の話

以前、中点変位法を用いた地形の自動生成について書いたことがある。 この方法は、四隅の座標の高さの平均を使ってその中点に高さを与えるやり方。 平均値に適当な乱数を足してやることで自然な地形を生成することができる。 先日これを再利用する機会があっ…