studylog/北の雲

chainer/python/nlp

python

CaboCha(python)で辞書指定

mecabの辞書はほぼneologdに切り替えて使っているのだけど、久しぶりにCaboChaをpythonから使おうとしたら辞書の指定の仕方がわからなかったのでメモ。 #デフォルト辞書を使う時 cabocha = CaboCha.Parser("") #辞書指定する場合はこう(ディレクトリは各々の…

pythonのインデント

最初に結論を書くと pythonのインデントはスペース4つ タブを使うと色んなデメリットがある スペース4つ打ちが面倒ならエディタの設定でタブキーをスペース4つに置き換える もうかれこれ4年はpython使っててこれまでインデントについて深く考えた事がありま…

ディープラーニング入門のための入門 その1

このシリーズは何なのか ディープラーニングとやらに興味あるけど何から手を付けていいかわからない そもそも機械学習って何なのかわからない 数式読めない 微分積分わからない 高校卒業してから数学を学んだ事が無い chainerのサンプルを試してみたけれど中…

Requests(python)で文字化けする場合

RequestsはシンプルなHTTPライブラリですがよく文字化けします。Shift_JISのサイトだと多めな印象。 html = requests.get("http://Shift_JISのサイト") print(html.encoding) #=> ISO-8859-1 なのでここを参考に [Python]requestsが正しくエンコード情報を返…

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

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

paramikoでディレクトリを移動したい

pythonからSSHを使う時の定番paramiko。 ディレクトリ移動ではまったのでメモ。exec_command('pwd') #=> /home/kitanokumo と現在のディレクトリが返って来る exec_command('cd ..') #一つ上のディレクトリに移動 exec_command('pwd') #=> /home が返って来…

mongoengineあれこれ

怒濤の連投。 使ってる人がいないのかほとんど日本語の情報が出てこないので小ネタでもいいから書いていく。 クエリについて #新宿が含まれてるの User.objects(address__contains="新宿") #新宿と渋谷がどちらも含まれてるもの・・・といきたいところだとこ…

ここ数年で一気にpython3への対応が進んでた

プログラミングへの情熱がほぼ0だった1年半を経て最近猛烈にコードを書いてる。そんでpython3へのライブラリ等の対応が劇的に進んでる事に気付いた。本ブログの方で「pythonにしたの失敗だったかなあ…って」書いた二週間後にこんなこと言い出すのも何だけど…

collections.Counterの勉強

collectionsモジュールをちゃんと勉強したい。今日はcollections.Counter。 この文章には〜という単語がいくつ含まれているか、みたいなのはこれ使った方が楽。 文章のBoW作る時は絶対これ使いたい。 c = collections.Counter(["tomato" , "orange" ,"apple"…

(未解決)大規模疎行列のコサイン類似度

タスク: 文章同士の類似度をコサインで出したい。次元: 60000単語*1000000文章結果; 破綻どうにかならないものかとnumpy・scipyを使ってみるんだけど行列の知識が無さ過ぎてさっぱりわからない。What's the fastest way in Python to calculate cosine si…

MongoDB3.0とmongoengine

MongoDBが3.0になって大幅に変わっている。性能アップ。 それにともないpymongoも3.0系に上がってる。でもmongoengineの最新0.9.0は対応してないので、結果として現時点ではMongoDB3.0を自分のシステムでは使えない。Mongo 3.0 compatibility · Issue #861 ·…

Djangoでスマホ振り分け

RailsだとjpmobileがあったけどDjangoにはあんまり良さそうなのが見つからないのでPCとスマホを振り分けるコードを書いたミドルウェアのprocess_viewはビュー実行前に通過するのでここでUserAgentより振り分け処理開始 from user_agents import parse class …