DIAVIS-wiki
[[:private]]

#contents

*Sen [#m94a4215]
-Javaで書かれた日本語形態素解析器
-C++で開発されているMeCabをJavaに移植した.
-IPAの辞書を利用.MeCab、茶筌と同じもの.
-辞書の構築にはAntが必要


*インストール [#hbfb9d61]
**ビルドツールAntのインストール [#z4018ca4]
-[[Antプロジェクトページ:http://ant.apache.org/bindownload.cgi]]からapache-ant-1.7.0-bin.zipをダウンロードし解凍.
-クラスパスを通す前に,フォルダ名を「apache-ant-1.7.0」から「apache-ant」に変更する.
-「システムのプロパティ」の「システム環境変数」の「Path」を選択し「編集ボタン」を押す.パスを追加する.(例「C:\apache-ant\bin;」)

*Senのインストール [#v751287b]
-[[Sen配布ページ:https://sen.dev.java.net/servlets/ProjectDocumentList?folderID=755&expandFolder=755&folderID=0]]からsen-1.2.2.1.zipをダウンロード.解凍.

-環境変数にSEN_HOMEを新規作成.解凍したフォルダへのパスを追加する.
-Java の CLASSPATH に sen.jar と commons-logging.jar (jakarta project のロギングライブラリ) を追加する必要がある。なお、commons-logging.jar は Sen に同梱されている。 

*ActivePerlのインストール [#b7f23633]
-[[ActiveStateのActivePerlのページ:http://www.activestate.com/products/activeperl/]]へアクセス
-WindowsのMSI(ActivePerl-5.6.1.638-MSWin32-x86)をダウンロード.
--ver.5.6.1 Build638(2007年2月20日現在)
-無料だけどダウンロードするには氏名を入力する必要がある.
-ダウンロードしたファイルを実行するとインストーラーが起動する.

*辞書の作成 [#w6440d0f]
-Windowsの「スタート」メニューから「ファイル名を指定して実行」を選択.プログラム名「cmd」を入力し「OK」しコマンドラインを表示.
-先ほど解凍したSenのフォルダへcdコマンドにより移動する.
 c:\> cd フォルダまでのパス

antを実行しようとすると以下のようなエラーがでた.
tools.jarを使用するらしいんだけど,tools.jarはJREには含まれていないらしい.ちなみに,tools.jarはjavacなどで利用されるみたい.
とりあえず,JDK5.0をダウンロードしてクラスパスにtools.jarまでのフルパスを追加してみる.けど,同じエラーが出た.
 Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre1.5.0_11\lib\tools.jar
まだ,jreのほうを見に行っている.
インストールしたjdkのフォルダを探しに行ってほしい.
環境変数に「JAVA_HOME」を追加.コマンドラインのウィンドウを一度閉じて再表示.(こうしないと,変更が反映されないみたいなので.)
で,「C:\> ant」と打つとエラーは無事でなくなった.

けど,ビルドしようとするとさっきのエラーはでなくなったものの失敗している様子.
&ref(cmdexe_faild.gif);

調べていたら,
http://ultimania.org/sen/の「インストール>辞書作成」に以下のような記述を発見.
> Widowsで辞書を作成するには、プロパティperl.binに対して下記のようにperlの実行ファイルを絶対パスで指定します。

そこで,以下のように入力すると無事ビルドに成功した.
 ant -Dperl.bin=C:\Perl\bin\perl.exe -buildfile build.xml
&ref(cmdline_build_successful.gif);

*空白を含むパスによるエラー [#v3cdc785]
senを起動すると以下のエラーが発生する場合がある.
 Exception in thread "main" java.lang.NoClassDefFoundError: and
空白のあるパス(Documents and SettingsやProgram Files)が原因

javaとsenを空白を含まないパスへ再インストールしてみる.

でもsen.batが動かない.javaにはパスが通っているはずなので,以下のように変更.無事動作.コマンドラインから日本語が打てないのでペーストで入力.きちんと解析できました.
 @java -Dsen.home=%SEN_HOME% -classpath %CLASSPATH% StringTaggerDemo ${1+"$@"}

*プログラムからの利用 [#jed0f695]
**Senへのパスの設定 [#qe72235c]
+プログラム内で設定
 System.setProperty("sen.home","path"); 
+引数(Dsen.home)として指定
 >java -cp commons-logging.jar;sen.jar; -Dsen.home=sen-1.2.2.1 program
**サンプルプログラム [#t2ed9b02]
-Senによる解析アプリのサンプル(eclipseプロジェクト)
--&ref(046_SenStudy_01.zip);
--辞書データ(作成するのがめんどくさい場合.使えるかは不明)
--http://diavis.info/programs/dic.zip

+左側のテキストエリアに文字列を入力するかコピペする.
+画面下のボタンを押す.
+結果が右側のテキストエリアに表示される.
+側のテキストエリアをマウスでクリックするとリセット.

&ref(morphologicAnalysiser.gif);

*参考文献 [#sc1ed08b]
-[[Senプロジェクトページ:http://ultimania.org/sen/]]
-[[形態素解析システム Sen:http://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sen.html]]
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS