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のインストール [#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」と打つとエラーは無事でなくなった. -ipadic-2.7.0をダウンロード けど,ビルドしようとするとさっきのエラーはでなくなったものの失敗している様子. &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); *関連リンク [#sc1ed08b] [[Senプロジェクトページ:http://ultimania.org/sen/]] *空白を含むパスによるエラー [#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 *参考文献 [#sc1ed08b] -[[Senプロジェクトページ:http://ultimania.org/sen/]] -[[形態素解析システム Sen:http://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sen.html]] |