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」に変更する.
 -パスの設定
 --XPの場合.「システムのプロパティ」の「システム環境変数」の「Path」を選択し「編集ボタン」を押す.パスを追加する.(例「C:\apache-ant\bin;」)
 --Vistaの場合.「コントロールパネル」>「システムとメンテナンス」>「システム」まで行って,左側の「システムの詳細設定」をクリックして「システムのプロパティ」ダイアログを開く.「詳細設定」タブの下にある「環境変数」ボタンを押す.
 
 *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のフォルダの下のdicフォルダへ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の実行ファイルを絶対パスで指定します。
 
 そこで,以下のように入力すると無事ビルドに成功した.(ビルド時間は,Let's note Vistaでは1分33秒)
  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);
 
 
 
 *複合語を利用する [#e8eaed45]
 以下のページにやり方が書いてあります.
 -https://sen.dev.java.net/servlets/ReadMsg?list=dev&msgNo=36
 
 &ref(Image_make_compound.gif);
 
 次に,dicフォルダにあるdictionary.propertiesというファイルに,以下の記述を追加するらしいが確認したら既に記述されている.なぜ?
 
  compound_word_file=compound.csv
  compound_word_table=compound.sen
 
 &ref(Image0002.gif);
 
 
 *13. 連結品詞 [#s2a2856d]
  ある品詞の形態素が連続して出現したときに,一つの形態素として連結して出力させるときに使用する. ¶ ³ (連結品詞((複合名詞) (名詞) (接頭詞名詞接続) (接頭詞数接続))
 ((記号))) µ ´ 例えば,上の記述では以下のように品詞を連結する.
 (a) 連続した「名詞」「接頭詞-名詞接続」「接頭詞-数接続」を連結し「複合名詞」として表示する.な
 お,「複合名詞」は品詞定義ファイルgrammar.cha に記述しておく必要がある.
 (b) 連続した「記号」を連結し,「記号」として表示する.
 *14. 複合語出力 [#ia8b624d]
  形態素辞書ファイル(.dic) 内で定義した複合語について,複合語全体の形態素情報を出力する(“複合
 語”) か,複合語を構成する各単語の形態素情報を出力する(“構成語”) かを選択することができる.デ
 フォルトは“複合語”. ¶ ³ (複合語出力"複合語") µ ´ なお,複合語出力については-Oc, -Os オプションによっても制御することができる.
 
 *参考文献 [#sc1ed08b]
 -[[Senプロジェクトページ:http://ultimania.org/sen/]]
 -[[形態素解析システム Sen:http://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/Sen.html]]
 -[[TECHSCORE:http://www.techscore.com/tech/ApacheJakarta/Lucene/4-2.html]]
 -[[NI-Lab.'s ヅラッシュドット:http://www.nilab.info/zurazure2/000494.html]]
 
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS