Python
※この記事はpandasやMコマンドの練習お題として選んだ「アダルトビデオコミュニティの分析」をコードと共に紹介するシリーズです 以前、アダルトビデオコミュニティの統計データの紹介をしたことがある。 長いこと放置していたが、せっかくなので、このデー…
複数のパラメータがあって、どのパラメータの組み合わせがいいのか?調べたい。でも多重for文を使うと大変なことに(ただでさえRのforはク・・) →bashコマンドのxargsを併用して、お手軽に分散処理をする。 参考にしたサイト:ここ 用意するもの 1 パラメ…
なんとIpythonにwebインターフェースが存在するんだそうな。 そんなにメリットがあるとも思えないが、とりあえず使ってみたい! そんな思いからまたサーバーでIpythonを稼働させてみることにした。 使うサーバーは恒例のAmazon EC2。 まずはここを参考にしつ…
最近になった知ったことなのだが,NumpyにはPython標準の文字列クラスとは別の'numpy.string_'という型が使われていた. ちなみにunicode型であれば,Numpyでは'numpy.unicode'型に対応している. 調べてみてもそんなに情報がなく,ぼくが見つけられたのは,…
理論的なことはほとんどわかってない. だけど,単語n-gramをembeddingsと呼ばれるベクトル表現にしてくれることだけはわかっている. そのうち,しっかり勉強しますから...そのうち... とりあえず,「toolとして使う.」を第一目標にしてみた. word2…
マルチラベル問題とは,「ひとつの事例に複数のラベルがつきうる場合の問題」のことを指す. 例えば,文書分類だと,「サッカーのフーリガンのニュース記事はスポーツのジャンルだし,社会のジャンルでもある」っていうラベルが付く場合を指す.こういうマル…
ある時,「LDAのトピックと文書の生成(同時)確率」を求めるにはどうすればいいですか?と聞かれた. 正確には,LDAで生成されるトピックをクラスタと考えて,そのクラスタに文書が属する確率が知りたい.できれば,コードがあるとありがたい.とのことだっ…
stanford-core-NLPは英語の上でNLPをやっている人なら知ってるものだと思う. 既存のNLP技術を色々盛り込んで一気に使えるようにしてくれている,かなりの優れものだ. スタンフォード大学はこういう点で,本当によい仕事をしていると思う(上から目線だけど…
以前,ちょろっとだけGensimを使ったことがあったんだけど,久しぶりに本格的に使うことになりそうなので,メモに残しておく Gensimでのコーパスの作り方 - kensuke-miの日記 gensim 文章をベクトル空間にする方法 - kensuke-miの日記インストールができてな…
主に使うのは,etreeオブジェクト.これは標準で入っているモジュール(のはず)なので,一般的な話ができるはず.基本的な書き方は DrunkBoarder · yuki_B's web site XML ドキュメントを作成する - Python Module of the Week を見りゃいいのだが,細かい…
Perlexは何度もこのページで紹介しているが,要は形態素辞書.しかし,よくよく調べてみると,不可解な現象がいくつも発生していた. 例えば,以下 anga¹tn 108 V [pred="anga¹tn_____1",cat=V,@2*3plPreparfFam] anga¹tn_____1 Default 2*3p…
世の中にはacute accentという文字があるそうだ. Charbase U+00B4: ACUTE ACCENTアポストロフィーに形が似ているが,その実体はラテン系の言語に使用するアクセント記号である.Latin-1 supplemetの文字セットの中に含まれている.ところで,acute accentを…
以前に,xmlからデータの抽出を行う xml.dom.minidom - kensuke-miの日記で,自分で書いたにもかかわらず,また忘れていたので,今回はもう少し書く.あるコーパスがあって,xmlで保存されているのだが,いろいろと扱いづらい(タグが日本語で記述されている…
方法はcommandモジュールを使うか,subprocessモジュールを使うか?という選択肢があるようだ.で,commandモジュールには前に失敗した記憶があるので(自分が悪い),どっちかというとsubprocessを好んでいる.使い方は,importして import subprocesssubpr…
基本的な追加方は19.7. xml.dom.minidom — 軽量な DOM 実装 — Python 2.7ja1 documentationを見ればわかることなのが.ただ,ちょっとわかりにくいので,Python で XML 操作 | TM Lifeを見た方がよい.ところで,「コメントのみを記述したxmlノードを抽出す…
元は http://blog.lampetty.net/blog_ja/index.php/archives/418あまり考えてなかったんだけど,どでかいファイルを扱う時はメモリの消費を抑える書き方が一番いい(特にNLPはメモリの消費がデカい場合がそれなりにある)結論からいうと,「ぼくの書き方はま…
長いことわかっていなかったのだが、実装してようやく頭に入って来た気がする。今回は「道具としてのベイズ統計」涌井良幸 日本実業社 の説明にあるギブスサンプリングをPythonで実装してみた。 パラメータは全部、本にある通り。 #! /usr/bin/python # -*- …
http://www-al.nii.ac.jp/~kameda/blog/cmlog/1102051601.htm
自分のローカル環境ではemacs+jediでpythonの自動補完を行っている(これはこれでインストールが苦労したのだが...) ただ、サーバーの方ではまだ未設定で、長い変数名とか、めんどくさい状態だった。そこで、きちんと補完機能を入れようとした時のまとめまず…
例えば、ファイルが大量にあって、そのすべてに同じ処理を施した時、しかも、階層構造になっている。 こんな時には、 ・ファイルを全部くっつけてまとめて処理してしまう(テキストファイルだと割と使える手) ・連続的にファイルを処理するがあるけど、メン…
Pythonzをインストールしたはいいものの,それからというもののうまくいってない.えー,どうして?? ということで地道にいろんな可能性をつぶしていったんだけど....それでもうまくいかない.... あー,もうあかんわ! ってなったときに,ふと.bashrcに記述…
研究室のサーバーが更新されたので、それに伴っていくつかのライブラリが消えてしまったらしい。(だいたい、国立大学の研究室のサーバーはリース契約なので、数年にまとめて新しいものに更新される)具体的には、lxmlというpythonのモジュールが使えなくな…
コードの共有をするためにBitbucketを使っている(Gitリポジトリをそのまま使える。っていうくらいの認識しかないが)けど、何をとち狂ったか、前回のpush時に巨大モデルファイル(少なくとも3GB超)をいくつもpushしてしまった。単純に.gitignoreを書き忘れ…
要は[:]を使えばいいらしい. コピーもとがls_orgで,コピー先がls_targだった場合, ls_targ = ls_org[:]でリストの内容はまるまるコピーされる.ただし,二次元配列のときはちょっと違うようだ.詳しくは http://tsuchiya-yoshihiro.blogspot.jp/2008/03/p…
EmacsでPythonの自動補完をしようとした。ので、その時のまとめを書いてみる。まずは手動インストールを試みる。 http://www.sakito.com/2012/11/emacs-python-jedi.htmlなんか、すげー簡単そうに書いてあるけども、実際はぜんぜん簡単ではない。 この人の場…
Stanford POS tagger といえば、最大エントロピー法を利用したPOS Taggerだが(知ったかぶり)、これはjavaで書かれている。 それはいいとして、Pythonで呼び出すには、すでになかなか便利な方法が用意されている。Pythonの自然言語処理パッケージのnltkを使…
他の用事で使うことがあったのを、焼き増ししただけのコード。 でも一応は動いている。特にjumanとKNPの呼び出しなんかは標準入出力を使っているあたりにサボリが見られる。 ほんとは http://blog.higasy.net/?p=11 みたいにサーバーモードで呼び出しできた…
滅多に使わないから忘れていたが、Pythonの配列では−のインデックスが利用できる。なので、最後の要素にアクセスしたいなら、-1とすればいいわけだ。例 >a = [1,2,3]>a[-1] 3とね。
リスト型配列がlstだった場合、lst.reverse()とすると逆順にソートされる。 意外に忘れがちなので、便利http://www.python-izm.com/contents/application/reverse.shtml
Pythonで標準的に用意されている文字列削除のコマンドといったら、 lstrip rstrip stripあたりがよく使われるんだろうが、私は大きな勘違いをしていた。 というのもstripを使えば、文字列の中にあるすべてに対してその処理をしてくれるもんだと思っていたが…