Python

opencvのインストールログ

環境 Ubuntu 10.04 64ビット python 2.6.5 インストールログ 基本的に http://opencv.willowgarage.com/wiki/InstallGuide%20%3A%20Debian に書いてあるとおり実行しました。 一部インストールするパッケージを変更しています。 IPPやTBBはインストールして…

見出し語化の高速化

nltkのWordNetLemmatizerを力ずくで高速化した。 環境 Python 2.6.5 コード # -*- coding: utf-8 -*- from collections import defaultdict import nltk from nltk.corpus import wordnet as _wordnet _STEMMER = nltk.PorterStemmer().stem _LEMMATIZATION_…

pythonによる文字列の正規化

テキストマイニングなどを行うためには文書、文、単語などの文字列の正規化が重要です。 単語の大文字小文字の統一、半角全角の統一などをする必要があります。 文字列の正規化のために利用しているpythonコードを以下に書いておきます。 今後増える可能性も…

nkf python インターフェースのインストール

環境 Ubuntu 10.04 32ビット python 2.6.5 インストール方法 $ mkdir temp # 作業用ディレクトリの作成 $ cd temp # http://sourceforge.jp/projects/nkf/ から nkf-2.1.1.tar.gz をダウンロード temp$ tar zxvf nkf-2.1.1.tar.gz temp$ cd nkf-2.1.1/ temp/…

Pythonにおける並行処理について

気になったのでPythonのGIL(Global Interpreter Lock)が並行処理にどの程度影響するかについて少し実験しました。 はじめに まず、「並行」処理と「並列」処理という言葉を区別する必要があります。下記参考文献の「並行コンピュータ技法」によると、 システ…

docx, xlsx, pptxファイルからテキストをXMLとして抽出する

MS Office 2007以降のファイル(.docx, .xlsx, .pptx)はZip圧縮されたXMLファイルなので、ファイルからのテキスト抽出などが簡単にできます。 .pptxファイルをZipファイルとして展開すると上記のようになります。 各スライドがXMLファイルとして保存されてい…

不正な(malformed)HTMLテキストを修正する

Web上のHTMLテキストには不正な(malformed)形式を持っている場合があります。 malformedなHTMLテキストにに対してはBeautifulSoupやHTMLParserなどがうまく機能しません。 例えば以下の3つのパターンはBeautifulSoupでは例外が生じます。 1. タグの閉じ>が無…

OpenOffice形式に変換する

OpenOffice形式(ODF:.odt, .ods, .odpなど)はZip圧縮された複数のXMLファイルなので、テキストを抽出したりするのが容易です。 一方、以前のMS Office形式(.doc, .xls, .pptなど)はバイナリ形式なのでテキスト抽出などは困難です。 なのでOpenOffice形式への…