ソート済みファイルサーチツール: Sorted File Search Tools


ソート済みファイルサーチツール


本ツールは,Alaginフォーラムで公開の単語共起頻度データベースの利用に便利な簡易的なサーチスクリプトツール群です.3つのperlスクリプトが同封されています.
fssとsorted_matrix_searchは,ソート済みファイルを対象とした汎用ツールです.search_co-occurrence_dataは,単語共起頻度データベースに特化したツールです.
いずれのスクリプトも,ソートは,"env LC_ALL=C sort"の文字列による順序と一致していることを想定しています.

目次


新着情報


注意事項


ダウンロード


# 解凍
tar zxvf sorted_file_search_tools.tar.gz
インストール
スクリプト言語perlを使用しているため,本ツール自体のインストールは必要ありません.

動作環境


実行方法と例


解凍したディレクトリ内にあるスクリプトを実行

本例では,すべて単語共起頻度データベースを用いています.
fssの実行方法:

$ perl fss_0.10.pl [行のプレフィックス] [ソート済みファイル]
 
実行例と実行結果: 行のプレフィックスで検索するため、"野球"の後ろに意図的にスペースを入れています.

$ perl fss_0.10.pl "野球 " 500k-5k.100m-docs.w0.dice
 野球 サッカー:0.0519102 テニス:0.0147494 試合:0.0142626 総合情報:0.0135918 
ゴルフ:0.0124798 選手:0.012213 ソフトボール:0.0118052 バット:0.00909228 
ボール:0.00901826 高校野球:0.00893625 アスリート:0.00862841 プロ野球:0.00843285...

sorted_matrix_searchの実行方法:

$ perl sorted_matrix_search_0.10.pl [行のidの文字列] [列のidの文字列] [ソート済み行列ファイル]

実行例と実行結果: 500k-500k.100m-docs.w0.dataから,野球とサッカーの共起頻度を取得

$ perl sorted_matrix_search_0.10.pl 野球 サッカー 500k-500k.100m-docs.w0.data
 サッカー:43534

search_co-occurrence_data.plの実行方法:

$ perl search_co-occurrence_data_0.10.pl
引数は特にありませんが,スクリプト内にある以下の変数を適宜変更してください.
#単語共起データベースの本体.
my $co_occurrence_file=""; # ex:  "/home/user1/1m.100m-docs.df"
# 単語の文書頻度のリスト.本体に対応したリストに変更する.
my $document_frequency_file=""; # ex: "/home/user1/1m-1m.100m-docs.data"

実行例と実行結果: 標準入力にqueryを入力します.使い方は"help"で表示できます."exit"か"quit"か"Ctrl+C"などで終了できます.

$ perl search_co-occurrence_data_0.10.pl
 loading term frequency list: /home/user1/1m.100m-docs.df
done!

co-occurrence data file: /home/user1/1m-1m.100m-docs.data

query> 野球 サッカー
DOC-NUM:99486573
野球:812816
サッカー:1108244
co-occur:348647
pmi:3.65080109698995
d-pmi:3.65078613415211
dice:0.362973566676731
jacc:0.284896785823434
query> D 10 野球
野球:サッカー:0.362973566676731
野球:格闘技:0.227781051708306
野球:プロ野球:0.220464052067301
野球:ゴルフ:0.21034931209686
野球:テニス:0.208742323619557
野球:試合:0.173582466784869
野球:選手:0.158105247351875
野球:高校野球:0.157890948097994
野球:バスケットボール:0.144332264109314
野球:競馬:0.136342177196373
query> help

----help----
特定の2語の共起スコアを検索する場合は、スペース区切りで2語を入力してください.
例:
   query> 野球 サッカー

ある語について,共起スコアのトップN語を獲得する場合は,以下のように入力してください.
    query> (D|J|P|DP|F) N 単語

   D:Dice係数
   J:Jaccerd係数
   P:相互情報量
   DP:ディスカウント相互情報量
   F:頻度

例:
    query> D 10 野球
------------

query> exit
exit!

Copyright




MASTAR プロジェクト
NICT 情報分析研究室(2011年度より言語基盤グループから改称)
独立行政法人情報通信研究機構