python

【chainer】F.padとF.pad_sequenceの使い方

chainerでpaddingするときの方法、備忘録。パディングするベクトルを用意。 >>> from chainer import functions as F >>> import numpy as np >>> a = np.array([[1,2,3]], 'f') >>> b = np.array([[1,2,3,4]], 'f') >>> a array([[ 1., 2., 3.]], dtype=flo…

pythonで重複の無いリスト

例えばテキストデータを舐めて単語の種類数を求めたいときとか、重複の無いリストが必要になる。 今まで、何も考えずに以下のように書いてた。 良くない例 >>> a = [1,2,2,1,3,4,1,2,3] >>> b = [] >>> for c in a: # aの中身をcで回す ... if c not in b: #…

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日 この前の記事とかツイートででぼやいてたことを、記事にして供養します。 本当は中学生くらいを対象に…