nginxをCentOS6にインストール
入門 自然言語処理
「入門 自然言語処理」関連のページ
原著の1版
原著のPython3対応の奴
原著のerrata
Confirmed Errata | O'Reilly Media Natural Language Processing with Python
Unconfirmed Errata | O'Reilly Media Natural Language Processing with Python
日本語版の日本語に関する12章
Python による日本語自然言語処理 http://www.nltk.org/book-jp/ch12.html#id36
12.2.2 文字単位分かち書きを使う なお、TinySegmenter in Python の最新版は https://code.google.com/p/mhagiwara/source/browse/trunk/nltk/jpbook/jptokenizer.py から入手することができる。
上記URLからのダウンロードはできなくなった模様。下記URLに移動?
nltk/jptokenizer.py at master · mhagiwara/nltk https://github.com/mhagiwara/nltk/blob/master/jpbook/jptokenizer.py
続きを読む
Summpyの動かせる環境を作る楽な手順
pythonは色んな選択肢があるようで、なかなか迷ってしまった。
なんやかんやで楽だったのは下記のような手順になろうか。
python2.7系で動くのでそんな感じの環境を作る。
MacのYosemiteでやってみた場合。
- pyenv入れる
- pyenvでAnaconda 4.1.0以上入れる
- pip install janome
- pip install summpy
開発環境とは別のサーバにあげて動かす時は、pip freezeで追加パッケージの名前とバージョンをrequirements.txtに書き出したものから不要なものを消してサーバにインストールする。
% pip freeze > requirements.txt % pip install -r requirements.txt
ApacheでPythonアプリのデプロイ
いやー、沼だ。PythonでWebアプリをまるっと作ろうとすると、初心者には荷が重い。
足掻くだけあがいたが、わからないなりに多少は目星がついてくるのが救いか。
でPythonでFlaskとかで作ったアプリのデプロイをApacheでやろうとする場合、mod_wsgiを使うといいらしい。
で更に、デーモンモードと、組み込みモードがあると(また選択肢があるんかい)。
参考ページ:
- Apache+mod_wsgi+Flaskインストール | Zafiel
- mod_wsgi (Apache) — Flask Documentation (0.11)
- Google Code Archive - Long-term storage for Google Code Project Hosting.
- Python: mod_wsgi の組み込みモードとデーモンモードについて - CUBE SUGAR CONTAINER
- Apache と mod_wsgi 環境で Django を使う方法 — Django 1.4 documentation
- mod_wsgi — mod_wsgi 4.5.6 documentation
- mod_wsgi は VirtualHost 単位でないと Daemon を分けられない? - methaneのブログ
- mod_wsgiでDjangoを動かすまでを淡々と記録する - スコトプリゴニエフスク通信
文書の要約技術について
文書の要約技術について。
下記書籍参照。
文書要約の分類
- 単一文書要約
- リード法
- 文書の最初の数行を提示
- 単純だが強力
- ニュース記事などに特に有用
- リード法
複数文書要約
抽出型要約
- 文を抽出して変更せずに提示
- 実用化されている手法のほとんどはこれ
- MMR(maximal marginal relevance)
- なるべく代表的な文を選択しながら、なるべく冗長でない文を選択
- 類似度に基づく尺度
- コサイン類似度など
- 抽象型要約
- 新しい文章を生成しながら内容を抽象的に要約
日本語の要約に関して。
日本語要約の実装例
過去にググった時の記事
要約とはまた違うけど日本語関係のPyPI
Tensorflowで要約
スライド資料等
VimでPython
インデントとかシンタックスハイライティングとか。
インデントに関してはpythonファイルとして読み込まれたファイルにpython式のインデントを施す為に、下記の設定を。
~/.vim/ftplugin/python.vim
を作成- 下記内容を記述
set tabstop=8 set expandtab set shiftwidth=4 set softtabstop=4
シンタックスハイライトはバージョンによってはデフォルトで有効になっている。
有効になっていない場合は下記の設定を。
設定ファイルは/etc/vimrc
か、できれば、ホームディレクトリの.vimrc
。
syntax on
黒画面でやるなら下記設定を追加するといい感じにカラーリング。
set background=dark
vimでフォーマット
vim - Reformat a Python file to have 4 space indentations - Stack Overflow
↑このページだと、いい感じにしてくれるPythonのスクリプト?として、下記のものが紹介されている。
Reindent 0.1.0 : Python Package Index
:%! reindent
autopep8 1.2.4 : Python Package Index
:%! autopep8 -
あとはVimのプラグインとして、汎用のフォーマッタ?もあるようだ。
↑のプラグインをVimにNeoBundleとかでインストールして、言語ごとのフォーマッタ(前述のautopep8とか)インストールした後、
:Autoformat
で整形。
Python限定ならautopep8 1.2.4 : Python Package Index入れるだけでも楽かな?
NeoBundle
NeoBundleが便利そうとのことでインストール。
でも
Note: Active developement on NeoBundle has stopped. The only future changes will be bug fixes.
参考URL:
GitHub - Shougo/neobundle.vim: Next generation Vim package manager
"NeoBundle Scripts----------------------------- if &compatible set nocompatible " Be iMproved endif " Required: set runtimepath^=/Users/ken/.vim/bundle/neobundle.vim/ " Required: call neobundle#begin(expand('/Users/ken/.vim/bundle')) " Let NeoBundle manage NeoBundle " Required: NeoBundleFetch 'Shougo/neobundle.vim' " Add or remove your Bundles here: NeoBundle 'Shougo/neosnippet.vim' NeoBundle 'Shougo/neosnippet-snippets' NeoBundle 'tpope/vim-fugitive' NeoBundle 'ctrlpvim/ctrlp.vim' NeoBundle 'flazz/vim-colorschemes' " You can specify revision/branch/tag. NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' } " Required: call neobundle#end() " Required: filetype plugin indent on " If there are uninstalled bundles found on startup, " this will conveniently prompt you to install them. NeoBundleCheck "End NeoBundle Scripts-------------------------