更新MacPortsメモ
MacPortsのportで更新した内容に関わるメモです。
音声関連 (audio)
音声対話エージェントのMMDAgentは、32ビットのCarbonアプリとしてLionでも動作します。ただし、USBのヘッドセットを使った場合は普通でしたが、MacBook Airの内蔵スピーカでしゃべらせると、ビルド方法を公開した方が指摘していたように変な音声になってしまいました。音声合成システムOpen JTalk単体のport (open_jtalk) では問題ないのですが、惜しいですね。
MMDAgent-1.1をOS X Lionで動かすMacPorts - 自然言語処理 on Mac
http://keny.b.sourceforge.jp/2011/08/17/mmdagent-macosx/
Open JTalkの合成音声をJuliusで音声認識 - 自然言語処理 on Mac
日本語音声合成システムOpen JTalkと音声認識エンジンJuliusのMacPorts - 自然言語処理 on Mac
音声認識エンジンのJuliusのport (julius) が対象としているバージョン4.2は、語彙数の設定に関して不具合があるようです。いずれ修正されることでしょう。
Julius-4.2のMacPortsで日本語音声認識 - 自然言語処理 on Mac
Aquaアプリ (aqua)
Cocoa Emacsのport (emacs-app) に、日本語入力の際に便利なインラインパッチと、表示が波打つ問題に対応したフォントパッチを適用するオプションが追加してあります。なお、この波打ち現象に、MacEmacs JPのメーリングリストでは、ピコピコ問題という名前がついています。
Emacs-23.3+IMEパッチ+フォント設定 - 自然言語処理 on Mac
http://sourceforge.jp/projects/macemacsjp/svn/view/inline_patch/trunk/
Cocoa Emacs のピコピコ問題 (Macemacsjp-users 1678) - MacEmacs JP - OSDN
portのオプションは次のように確認できます:
$ port variants emacs-app emacs-app has the variants: fullscreen: Add fullscreen patch from http://gist.github.com/291150 as mentioned in http://www.sanityinc.com/full-screen-support-for-cocoa-emacs-on-osx inline: Add inline patch from MacEmacsJP jpfont: Add Japanese font patch from MacEmacsJP patches: Add all patches: fullscreen, inline and jpfont * conflicts with fullscreen inline jpfont universal: Build for multiple architectures
上の説明にあるように、+patchesオプションを指定すると、フルスクリーン、インライン、フォントのすべてのパッチがあてられます。フルスクリーンは、M-x ns-toggle-fullscreenで切り替わるので、適当なキー操作に割り当てておくと便利です。なお、このフルスクリーンは、Mac OS X Lionでいうところのフルスクリーンではありません。
Javaアプリ (java)
Apacheから提供されているLuceneベースのSolrは非常に多機能な検索システムです:
Solr+Velocityの多機能検索デモ - 自然言語処理 on Mac
Solr+lucene-gosenで日本語検索 - 自然言語処理 on Mac
Solritas(Solr+Velocityデモ)の日本語化 - 自然言語処理 on Mac
port (apache-solr) は、現時点の最新版3.4.0に対応し、日本語対応のオプション+jaが追加されています。+jaが指定されると、Java版日本語形態素解析エンジンlucene-gosenのportがインストールされ、次にあるように'solr-ja'コマンドを利用して日本語文書を扱うことができます:
$ port notes apache-solr +ja apache-solr has the following notes: To try apache-solr, run 'sudo solr' and open http://localhost:8983/solr/browse. To store sample documents, run 'cd /opt/local/share/java/apache-solr-3.4.0/example/exampledocs && ./post.sh *.xml'. For Japanese texts, please run 'sudo solr-ja' instead of 'sudo solr'. See /opt/local/share/java/apache-solr-3.4.0/example/solr-ja.
なお、lucene-gosenのportは、デフォルトでIPAdicをインストールしますが、NAIST CahSen辞書に変更するオプション(+naist)もあります。
Hadoopのport (hadoop) をインストールすると、hadoopユーザが登録されますが、Lionではログイン画面にユーザとして表示されてしまいます。これを非表示にするにはどうしたらよいのでしょうか…?
Hadoop安定版0.20.203.0 - 自然言語処理 on Mac
MacPortsでHadoopを動かす - 自然言語処理 on Mac
機械学習ツール (math)
自然言語処理に欠かすことの出来ない機械学習ツールですが、実に様々な手法と実装が提案され公開されています。
自然言語処理・機械学習ツールのMacPortsを登録 - 自然言語処理 on Mac
日本語の単語分割 - 自然言語処理 on Mac
この中で、高速線形分類器peccoのデフォルトのデータ構造がdartsではなく、よりコンパクトなdarts-cloneを利用するように変更されています。
pecco - C++ library for efficient classification with conjunctive features
Google Code Archive - Long-term storage for Google Code Project Hosting.
また、オンライン学習ライブラリOLL (oll) とsofia-ml (Suite Of Fast Incremental Algorithms for Machine Learning) のportが加わりました。
Google Code Archive - Long-term storage for Google Code Project Hosting.
Google Code Archive - Long-term storage for Google Code Project Hosting.
テキスト処理 (textproc)
SVMに基づく日本語係り受け解析器CaboChaのport (cabocha) は、UTF-8のMeCabの利用を前提としたバージョン0.60に対応しました。
Google Code Archive - Long-term storage for Google Code Project Hosting.
NICTが公開している意見(評価表現)抽出ツールのport (extractopinion) は、モデル作成ツールを含むVersion 1.1に対応しました。PerlのText::CSV_XSモジュール (p5-text-csv_xs) が必要となります。
NICT公開の意見(評価表現)抽出ツールをMacで動かす - 自然言語処理 on Mac
意見(評価表現)抽出ツール
Text-CSV_XS-0.85 - Comma-Separated Values manipulation routines - metacpan.org
モデルデータ作成スクリプトmakemdl.shにパッチをあてる形で作成されたextractopinion-makemdl.shが利用できます:
#!/bin/sh export LANG=C dir=/opt/local/share/extractopinion-1.1 . $dir/conf.sh export EXOPLIB=$dir/lib cmd=`basename $0` usage() { echo "Usage: $cmd [options] [csvfiles]" echo "Options: -h|--help Show this message" echo " -d|--dictionary dir Specify the dictionary directory" echo " -m|--model base_path Specify the base path of model files" echo " -t|--tmpdir dir Specify the temporary directory" exit -1 } csvfiles=*.csv model=./model while test -n "$1"; do case "$1" in -h|--help) usage ;; -d|--dictionary) dictionary="$2"; shift 2 ;; -m|--model) model="$2"; shift 2 ;; -t|--tmpdir) TMPDIR="$2"; shift 2 ;; *) csvfiles="$@"; break ;; esac done workdir=${TMPDIR}/extractopinion-$$ mkdir -p $workdir/tsv for file in $csvfiles do f=`basename $file .csv` perl -I $dir/lib $dir/makemodel/csv/csv2tsv.pl $file > $workdir/tsv/$f.tsv done cat $workdir/tsv/*.tsv > $workdir/data.tsv cat $workdir/data.tsv > $workdir/data_pol.tsv $dir/_train.sh $model $workdir/data.tsv $workdir/data.tsv $workdir/data.tsv $workdir/data_pol.tsv $workdir/data.tsv rm $workdir/data.tsv $workdir/data_pol.tsv rm -rf $workdir
その他
universalビルドに対応してためにautoreconfを利用していた hts_engine_API, juman, open_jtalk, yamcha の各portは、通常ビルドの際にautoreconfを利用せずビルドの負荷を下げるように変更してあります。
重いMacPortsを軽くする - 自然言語処理 on Mac
JumanのMacPortsを登録しました - 自然言語処理 on Mac