Python

ビッグデータで見るアダルトビデオコミュニティ

※この記事はpandasやMコマンドの練習お題として選んだ「アダルトビデオコミュニティの分析」をコードと共に紹介するシリーズです 以前、アダルトビデオコミュニティの統計データの紹介をしたことがある。 長いこと放置していたが、せっかくなので、このデー…

xargsを使ってお手軽に分散処理をしよう!

複数のパラメータがあって、どのパラメータの組み合わせがいいのか?調べたい。でも多重for文を使うと大変なことに(ただでさえRのforはク・・) →bashコマンドのxargsを併用して、お手軽に分散処理をする。 参考にしたサイト:ここ 用意するもの 1 パラメ…

WebブラウザでIpythonを使おう!(Rstudioのpython版)

なんとIpythonにwebインターフェースが存在するんだそうな。 そんなにメリットがあるとも思えないが、とりあえず使ってみたい! そんな思いからまたサーバーでIpythonを稼働させてみることにした。 使うサーバーは恒例のAmazon EC2。 まずはここを参考にしつ…

numpy型の文字列クラスについて

最近になった知ったことなのだが,NumpyにはPython標準の文字列クラスとは別の'numpy.string_'という型が使われていた. ちなみにunicode型であれば,Numpyでは'numpy.unicode'型に対応している. 調べてみてもそんなに情報がなく,ぼくが見つけられたのは,…

word2vec利用のおぼえ書き

理論的なことはほとんどわかってない. だけど,単語n-gramをembeddingsと呼ばれるベクトル表現にしてくれることだけはわかっている. そのうち,しっかり勉強しますから...そのうち... とりあえず,「toolとして使う.」を第一目標にしてみた. word2…

マルチラベル分類用のライブラリMulanをjythonから使ってみる

マルチラベル問題とは,「ひとつの事例に複数のラベルがつきうる場合の問題」のことを指す. 例えば,文書分類だと,「サッカーのフーリガンのニュース記事はスポーツのジャンルだし,社会のジャンルでもある」っていうラベルが付く場合を指す.こういうマル…

LDAで,トピックと文書の生成確率を考える

ある時,「LDAのトピックと文書の生成(同時)確率」を求めるにはどうすればいいですか?と聞かれた. 正確には,LDAで生成されるトピックをクラスタと考えて,そのクラスタに文書が属する確率が知りたい.できれば,コードがあるとありがたい.とのことだっ…

よくできたstanford-core-NLPのpythonラッパー

stanford-core-NLPは英語の上でNLPをやっている人なら知ってるものだと思う. 既存のNLP技術を色々盛り込んで一気に使えるようにしてくれている,かなりの優れものだ. スタンフォード大学はこういう点で,本当によい仕事をしていると思う(上から目線だけど…

Gensimを使ったトピック単語抽出 LSAを使ったトピック語抽出まで

以前,ちょろっとだけGensimを使ったことがあったんだけど,久しぶりに本格的に使うことになりそうなので,メモに残しておく Gensimでのコーパスの作り方 - kensuke-miの日記 gensim 文章をベクトル空間にする方法 - kensuke-miの日記インストールができてな…

pythonの内部表現からxmlへの出力

主に使うのは,etreeオブジェクト.これは標準で入っているモジュール(のはず)なので,一般的な話ができるはず.基本的な書き方は DrunkBoarder · yuki_B's web site XML ドキュメントを作成する - Python Module of the Week を見りゃいいのだが,細かい…

perlexのバグ情報

Perlexは何度もこのページで紹介しているが,要は形態素辞書.しかし,よくよく調べてみると,不可解な現象がいくつも発生していた. 例えば,以下 anga¹tn 108 V [pred="anga¹tn_____1",cat=V,@2*3plPreparfFam] anga¹tn_____1 Default 2*3p…

acute accentの処理

世の中にはacute accentという文字があるそうだ. Charbase U+00B4: ACUTE ACCENTアポストロフィーに形が似ているが,その実体はラテン系の言語に使用するアクセント記号である.Latin-1 supplemetの文字セットの中に含まれている.ところで,acute accentを…

Pythonのxmlパーザ minidom

以前に,xmlからデータの抽出を行う xml.dom.minidom - kensuke-miの日記で,自分で書いたにもかかわらず,また忘れていたので,今回はもう少し書く.あるコーパスがあって,xmlで保存されているのだが,いろいろと扱いづらい(タグが日本語で記述されている…

Pythonスクリプト内でbashコマンドを呼び出す

方法はcommandモジュールを使うか,subprocessモジュールを使うか?という選択肢があるようだ.で,commandモジュールには前に失敗した記憶があるので(自分が悪い),どっちかというとsubprocessを好んでいる.使い方は,importして import subprocesssubpr…

xmlからデータの抽出を行う xml.dom.minidom

基本的な追加方は19.7. xml.dom.minidom — 軽量な DOM 実装 — Python 2.7ja1 documentationを見ればわかることなのが.ただ,ちょっとわかりにくいので,Python で XML 操作 | TM Lifeを見た方がよい.ところで,「コメントのみを記述したxmlノードを抽出す…

Pythonでスマートなファイルの読み込み方法は?

元は http://blog.lampetty.net/blog_ja/index.php/archives/418あまり考えてなかったんだけど,どでかいファイルを扱う時はメモリの消費を抑える書き方が一番いい(特にNLPはメモリの消費がデカい場合がそれなりにある)結論からいうと,「ぼくの書き方はま…

ギブスサンプリングの実装

長いことわかっていなかったのだが、実装してようやく頭に入って来た気がする。今回は「道具としてのベイズ統計」涌井良幸 日本実業社 の説明にあるギブスサンプリングをPythonで実装してみた。 パラメータは全部、本にある通り。 #! /usr/bin/python # -*- …

Pythonの絶対パスの範囲の拡張をするには?

http://www-al.nii.ac.jp/~kameda/blog/cmlog/1102051601.htm

Emacsでのpython環境

自分のローカル環境ではemacs+jediでpythonの自動補完を行っている(これはこれでインストールが苦労したのだが...) ただ、サーバーの方ではまだ未設定で、長い変数名とか、めんどくさい状態だった。そこで、きちんと補完機能を入れようとした時のまとめまず…

Subdirectoryのfileまでを自動的に獲得

例えば、ファイルが大量にあって、そのすべてに同じ処理を施した時、しかも、階層構造になっている。 こんな時には、 ・ファイルを全部くっつけてまとめて処理してしまう(テキストファイルだと割と使える手) ・連続的にファイルを処理するがあるけど、メン…

Pythonzの後日談

Pythonzをインストールしたはいいものの,それからというもののうまくいってない.えー,どうして?? ということで地道にいろんな可能性をつぶしていったんだけど....それでもうまくいかない.... あー,もうあかんわ! ってなったときに,ふと.bashrcに記述…

Pythonz

研究室のサーバーが更新されたので、それに伴っていくつかのライブラリが消えてしまったらしい。(だいたい、国立大学の研究室のサーバーはリース契約なので、数年にまとめて新しいものに更新される)具体的には、lxmlというpythonのモジュールが使えなくな…

Bitbucketからリポジトリ削除して、新しくpushするまでのまとめ

コードの共有をするためにBitbucketを使っている(Gitリポジトリをそのまま使える。っていうくらいの認識しかないが)けど、何をとち狂ったか、前回のpush時に巨大モデルファイル(少なくとも3GB超)をいくつもpushしてしまった。単純に.gitignoreを書き忘れ…

リストのコピーをするには?

要は[:]を使えばいいらしい. コピーもとがls_orgで,コピー先がls_targだった場合, ls_targ = ls_org[:]でリストの内容はまるまるコピーされる.ただし,二次元配列のときはちょっと違うようだ.詳しくは http://tsuchiya-yoshihiro.blogspot.jp/2008/03/p…

Emacsをpythonでより快適に。しようとして、すべてマニュアルインストールしたまとめ

EmacsでPythonの自動補完をしようとした。ので、その時のまとめを書いてみる。まずは手動インストールを試みる。 http://www.sakito.com/2012/11/emacs-python-jedi.htmlなんか、すげー簡単そうに書いてあるけども、実際はぜんぜん簡単ではない。 この人の場…

stanford POS tagger をPythonで呼び出すまとめ

Stanford POS tagger といえば、最大エントロピー法を利用したPOS Taggerだが(知ったかぶり)、これはjavaで書かれている。 それはいいとして、Pythonで呼び出すには、すでになかなか便利な方法が用意されている。Pythonの自然言語処理パッケージのnltkを使…

PythonでKNPのパーサーを書いてみた

他の用事で使うことがあったのを、焼き増ししただけのコード。 でも一応は動いている。特に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の文字列削除について

Pythonで標準的に用意されている文字列削除のコマンドといったら、 lstrip rstrip stripあたりがよく使われるんだろうが、私は大きな勘違いをしていた。 というのもstripを使えば、文字列の中にあるすべてに対してその処理をしてくれるもんだと思っていたが…