このページでは,TinySVM をRaSCで利用できるようにするための手順を説明します. TinySVM は,ファイルを通じた入出力を行うため, プログラムの変更が必要です(変更の内容については, 既存ツールをRaSCで動かすように改修するには を参照してください).
以下では,プログラムにパッチをあてて変更し,RaSCサービスとして利用するための手順を説明します.
まず,TinySVMのソースを入手し,解凍します.
$ wget http://chasen.org/~taku/software/TinySVM/src/TinySVM-0.09.tar.gz
$ tar zxvf TinySVM-0.09.tar.gz
次にパッチファイルを入手します.
$ wget https://alaginrc.nict.go.jp/rasc/resources/patch_rasc_TinySVM.diff
次にパッチを当てます
$ patch -p0 < patch_rasc_TinySVM.diff
次にビルドを行います
$ cd TinySVM-0.09
$ ./configure
$ make
これにより,RaSCから使えるように改修した実行バイナリ svm_classify が生成されます.
サービス定義XMLに,実行バイナリのパスとモデルファイルを含む,起動コマンドラインを記述してください (ダウンロードできます: サービス定義XML). ___BASE_DIR___ と ___PATH_TO_MODEL_FILE___ を,それぞれ実際に svm_classify がおかれたディレクトリと,モデルファイルのパスに修正してください.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="target"
class="jp.go.nict.langrid.servicecontainer.handler.TargetServiceFactory">
<property name="service">
<bean class="jp.go.nict.wisdom.wrapper.StdIOCommandService">
<property name="cmdLine" value="___BASE_DIR___/src/svm_classify -V - ___PATH_TO_MODEL_FILE___" />
<property name="delimiterIn" value="\n[END_OF_INPUT]\n" />
<property name="delimiterOut" value="EOS\n" />
<property name="delLastNewline" value="true" />
</bean>
</property>
</bean>
</beans>
サービス起動の手順は, MessagePack RPCでユーザプログラムを呼び出す または 各種のネットワーク呼び出しプロトコルに対応させる を参照してください.