Miyazawa’s Pukiwiki
Luceneによる動画検索システム
はすでに存在します。
開始行:
#access
#analog
*講演音声検索システムの開発 [#y8668a8d]
-CSJの講演音声の音声認識を行い、キーワード検索を行なうこ...
--音声認識は Julius を使用
--キーワード検索は Lucene を使用
--ウェブアプリサーバには tomcat を使用
***Juliusのインストール [#g30b1c09]
-[[JuliusとJulian]] を参考に、[[Linux版Juliusのバイナリフ...
-&pgid(,JuliusとJulian/音響モデルと言語モデルを差し替える...
***動画(wmv)ファイルから音声を抽出してwavファイルを作り、...
※ 今回は shower の /home/CSJ/disc03/ にある講演の WAV フ...
-[[ここ:http://www.pnkx.com/wp/?p=132]] を参考に...
mplayer WMVファイル -vo yuv4mpeg -ao pcm
--audiodump.wav が取り出した音声ファイル。
***音声認識を実行する [#r5f47040]
-julius の設定ファイルを書き換えます。
emacs julius/dictation-kit-v3.2/fast.jconf
--222行目を「-input rawfile # 音声波形データファ...
--226行目を「#-input mic # マイクから直接入...
--232行目を「-filelist filename # 認識対象ファイルの...
--273行目を「-smpFreq 16000 # サンプリング周波数(...
-認識対象のWAVファイルのリストを作ります。
--[[SearchWavJulius.java:http://shower.human.waseda.ac.jp...
$ java SearchWavJulius /home/CSJ/disc03 result1 searchWa...
--ディレクトリ result1 内に、ファイルリスト (ファイル名)....
--認識実行用シェルスクリプト searchWavJulius.sh ができま...
-認識してみる
--Juliusのデフォルトでは1ファイル=1発話として扱うため、長...
$ chmod 777 /home/m-kouki/julius/julius-4.1.2-linuxbin/b...
$ sh searchWavJulius.sh
-認識結果を解析して、各音声ファイルごとに分ける
--[[editResult.java:http://shower.human.waseda.ac.jp/~m-k...
$ java editResult result2 result1 .ofj log_editResult.txt
---result2 ディレクトリ内に認識結果のtxtファイルができま...
---テキストファイルは Shift-JIS で書き出されます((SHIFT-J...
-認識失敗ファイルを削除する
--0バイトのファイルは、luceneでインデックスを作るときにエ...
$ find result2 -size -1k -exec rm {} \;
---参考:[[ファイルサイズで検索:http://www.atmarkit.co.jp...
***Tomcatのインストール [#o0a9443c]
-[[tomcat導入メモ]] を参照
--上を参考にして、環境変数 $CATALINA_HOME(tomcatインスト...
***Luceneのインストール [#sb44acc9]
-[[Lucene導入メモ]] を参照
--上を参考にして、環境変数、クラスパスの設定まですませて...
-インデックスを作る
$ sh $LUCENE_HOME/bin/mktextindex.sh -create -index resu...
--result3 ディレクトリ内にインデックスファイルができます。
***Webアプリとして実装 [#cac802a5]
-参考:[[卒論要旨検索システムの開発(2008年度ウェブ検索実...
--上記を参考にして、lucene-jaディレクトリにあるwebappディ...
$ mkdir $CATALINA_HOME/webapps/lucene-ja
$ cp -r $LUCENE_HOME/webapp/* $CATALINA_HOME/webapps/luc...
--tomcatを再起動
$ sh $CATALINA_HOME/bin/shutdown.sh
$ sh $CATALINA_HOME/bin/startup.sh
--[[http://shower.human.waseda.ac.jp:8080/lucene-ja/:http...
---「ようこそLuceneのテンプレートアプリケーションへ。 (こ...
-テストページのメッセージに従って、各種ファイルの設定を変...
--lucene-ja設定ファイル
$ emacs $CATALINA_HOME/webapps/lucene-ja/configuration.jsp
---configuration.jsp の以下を修正
/* indexLocationにIndexJHTMLで作成したインデックスを指定...
String indexLocation = "(インデックス出力先)";
/* senHome に Senをインストールしたディレクトリを指定し...
String senHome = "(SENのディレクトリ)";
---(インデックス出力先) は result3 を指定
---(SENのインストールディレクトリ) は $SEN_HOME に入って...
--tomcat設定ファイル server.xml
$ emacs $CATALINA_HOME/conf/server.xml
---94行目に以下の属性を追記
<Connector port="8080" useBodyEncodingForURI="true"
--tomcat設定ファイル catalina.sh
$ emacs $CATALINA_HOME/bin/catalina.sh
---166行目 を以下に修正(参考:[[Lucene-ja:http://www.f.w...
JAVA_OPTS="$JAVA_OPTS "-Dsen.home=(SENのディレクトリ)" "...
--http://shower.human.waseda.ac.jp:8080/lucene-ja/ で確認
---「検索」ボタンを押して、エラーメッセージが出ないことを...
---ヒットはしているようですが、IndexSearcher.search の ur...
-フィールドの情報を書き換える
--$CATALINA_HOME/webapps/lucene-ja/results.jsp の 121 行目
String url = doc.get("url"); //urlフィー...
String doctitle = doc.get("title"); //タイトル...
の部分は、mktextindex.sh でインデックスを作った場合、該当...
--lucene-ja ディレクトリにある lucene-ja-src.jar を解凍し...
$ jar xvf lucene-ja-src.jar
---SearchJFiles.java の 103行目
Document doc = hits.doc(i);
String path = doc.get("path");
if (path != null) {
System.out.println(i + ". " + path + "\tcharset=" + ...
のところが、mktextindex.sh で作られたインデックスの分析結...
---したがって path フィールドと charset フィールドに値が...
--そこで、$CATALINA_HOME/webapps/lucene-ja/results.jsp の...
emacs $CATALINA_HOME/webapps/lucene-ja/results.jsp
---109行目以降
<td>パス</td>
<td>文字コード</td>
---121行目以降
String path = doc.get("path"); //pathフィ...
String charset = doc.get("charset"); //charsetを...
if(path!=null){
%>
<tr>
<td><%=path%></td>
<td><%=charset%></td>
</tr>
<%
--Luceneを再起動
$ sh $CATALINA_HOME/bin/shutdown.sh
$ sh $CATALINA_HOME/bin/startup.sh
--[[http://shower.human.waseda.ac.jp:8080/lucene-ja/ :htt...
---無事、検索結果が表示されました!
#ref(lucene1.jpg)
--確認したらシャットダウンしておく
$ sh $CATALINA_HOME/bin/shutdown.sh
***カスタマイズ [#r3a05a11]
-画面のデザインを変えたい場合は、$CATALINA_HOME/webapps/l...
-検索結果を変えたい場合は、$LUCENE_HOME/lucene-ja-src.jar...
-もしくは results.jsp の中に「パスで指定されたファイルを...
--'''[[修正版results.jsp:http://shower.human.waseda.ac.jp...
---ヒットしたテキストファイルをhtmlに変換してリンクを表示...
終了行:
#access
#analog
*講演音声検索システムの開発 [#y8668a8d]
-CSJの講演音声の音声認識を行い、キーワード検索を行なうこ...
--音声認識は Julius を使用
--キーワード検索は Lucene を使用
--ウェブアプリサーバには tomcat を使用
***Juliusのインストール [#g30b1c09]
-[[JuliusとJulian]] を参考に、[[Linux版Juliusのバイナリフ...
-&pgid(,JuliusとJulian/音響モデルと言語モデルを差し替える...
***動画(wmv)ファイルから音声を抽出してwavファイルを作り、...
※ 今回は shower の /home/CSJ/disc03/ にある講演の WAV フ...
-[[ここ:http://www.pnkx.com/wp/?p=132]] を参考に...
mplayer WMVファイル -vo yuv4mpeg -ao pcm
--audiodump.wav が取り出した音声ファイル。
***音声認識を実行する [#r5f47040]
-julius の設定ファイルを書き換えます。
emacs julius/dictation-kit-v3.2/fast.jconf
--222行目を「-input rawfile # 音声波形データファ...
--226行目を「#-input mic # マイクから直接入...
--232行目を「-filelist filename # 認識対象ファイルの...
--273行目を「-smpFreq 16000 # サンプリング周波数(...
-認識対象のWAVファイルのリストを作ります。
--[[SearchWavJulius.java:http://shower.human.waseda.ac.jp...
$ java SearchWavJulius /home/CSJ/disc03 result1 searchWa...
--ディレクトリ result1 内に、ファイルリスト (ファイル名)....
--認識実行用シェルスクリプト searchWavJulius.sh ができま...
-認識してみる
--Juliusのデフォルトでは1ファイル=1発話として扱うため、長...
$ chmod 777 /home/m-kouki/julius/julius-4.1.2-linuxbin/b...
$ sh searchWavJulius.sh
-認識結果を解析して、各音声ファイルごとに分ける
--[[editResult.java:http://shower.human.waseda.ac.jp/~m-k...
$ java editResult result2 result1 .ofj log_editResult.txt
---result2 ディレクトリ内に認識結果のtxtファイルができま...
---テキストファイルは Shift-JIS で書き出されます((SHIFT-J...
-認識失敗ファイルを削除する
--0バイトのファイルは、luceneでインデックスを作るときにエ...
$ find result2 -size -1k -exec rm {} \;
---参考:[[ファイルサイズで検索:http://www.atmarkit.co.jp...
***Tomcatのインストール [#o0a9443c]
-[[tomcat導入メモ]] を参照
--上を参考にして、環境変数 $CATALINA_HOME(tomcatインスト...
***Luceneのインストール [#sb44acc9]
-[[Lucene導入メモ]] を参照
--上を参考にして、環境変数、クラスパスの設定まですませて...
-インデックスを作る
$ sh $LUCENE_HOME/bin/mktextindex.sh -create -index resu...
--result3 ディレクトリ内にインデックスファイルができます。
***Webアプリとして実装 [#cac802a5]
-参考:[[卒論要旨検索システムの開発(2008年度ウェブ検索実...
--上記を参考にして、lucene-jaディレクトリにあるwebappディ...
$ mkdir $CATALINA_HOME/webapps/lucene-ja
$ cp -r $LUCENE_HOME/webapp/* $CATALINA_HOME/webapps/luc...
--tomcatを再起動
$ sh $CATALINA_HOME/bin/shutdown.sh
$ sh $CATALINA_HOME/bin/startup.sh
--[[http://shower.human.waseda.ac.jp:8080/lucene-ja/:http...
---「ようこそLuceneのテンプレートアプリケーションへ。 (こ...
-テストページのメッセージに従って、各種ファイルの設定を変...
--lucene-ja設定ファイル
$ emacs $CATALINA_HOME/webapps/lucene-ja/configuration.jsp
---configuration.jsp の以下を修正
/* indexLocationにIndexJHTMLで作成したインデックスを指定...
String indexLocation = "(インデックス出力先)";
/* senHome に Senをインストールしたディレクトリを指定し...
String senHome = "(SENのディレクトリ)";
---(インデックス出力先) は result3 を指定
---(SENのインストールディレクトリ) は $SEN_HOME に入って...
--tomcat設定ファイル server.xml
$ emacs $CATALINA_HOME/conf/server.xml
---94行目に以下の属性を追記
<Connector port="8080" useBodyEncodingForURI="true"
--tomcat設定ファイル catalina.sh
$ emacs $CATALINA_HOME/bin/catalina.sh
---166行目 を以下に修正(参考:[[Lucene-ja:http://www.f.w...
JAVA_OPTS="$JAVA_OPTS "-Dsen.home=(SENのディレクトリ)" "...
--http://shower.human.waseda.ac.jp:8080/lucene-ja/ で確認
---「検索」ボタンを押して、エラーメッセージが出ないことを...
---ヒットはしているようですが、IndexSearcher.search の ur...
-フィールドの情報を書き換える
--$CATALINA_HOME/webapps/lucene-ja/results.jsp の 121 行目
String url = doc.get("url"); //urlフィー...
String doctitle = doc.get("title"); //タイトル...
の部分は、mktextindex.sh でインデックスを作った場合、該当...
--lucene-ja ディレクトリにある lucene-ja-src.jar を解凍し...
$ jar xvf lucene-ja-src.jar
---SearchJFiles.java の 103行目
Document doc = hits.doc(i);
String path = doc.get("path");
if (path != null) {
System.out.println(i + ". " + path + "\tcharset=" + ...
のところが、mktextindex.sh で作られたインデックスの分析結...
---したがって path フィールドと charset フィールドに値が...
--そこで、$CATALINA_HOME/webapps/lucene-ja/results.jsp の...
emacs $CATALINA_HOME/webapps/lucene-ja/results.jsp
---109行目以降
<td>パス</td>
<td>文字コード</td>
---121行目以降
String path = doc.get("path"); //pathフィ...
String charset = doc.get("charset"); //charsetを...
if(path!=null){
%>
<tr>
<td><%=path%></td>
<td><%=charset%></td>
</tr>
<%
--Luceneを再起動
$ sh $CATALINA_HOME/bin/shutdown.sh
$ sh $CATALINA_HOME/bin/startup.sh
--[[http://shower.human.waseda.ac.jp:8080/lucene-ja/ :htt...
---無事、検索結果が表示されました!
#ref(lucene1.jpg)
--確認したらシャットダウンしておく
$ sh $CATALINA_HOME/bin/shutdown.sh
***カスタマイズ [#r3a05a11]
-画面のデザインを変えたい場合は、$CATALINA_HOME/webapps/l...
-検索結果を変えたい場合は、$LUCENE_HOME/lucene-ja-src.jar...
-もしくは results.jsp の中に「パスで指定されたファイルを...
--'''[[修正版results.jsp:http://shower.human.waseda.ac.jp...
---ヒットしたテキストファイルをhtmlに変換してリンクを表示...
ページ名:
既存のページ名で編集する