<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>WASS ブログ</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/" />
   <link rel="self" type="application/atom+xml" href="http://www.dasyn.com/wass/blog/atom.xml" />
   <id>tag:www.dasyn.com,2010:/wass/blog//26</id>
   <updated>2010-01-02T07:38:53Z</updated>
   <subtitle>DASYN.com が提供する Wikipedia の検索サービス WASS (Wikipedia Axis-Specified Search) に関するブログです．</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.36</generator>

<entry>
   <title>Ads by Dasyn.com</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/9999/01/ads_by_dasyncom.html" />
   <id>tag:www.dasyn.com,9999:/wass/blog//26.4962</id>
   
   <published>1968-12-22T17:12:16Z</published>
   <updated>2010-01-02T07:38:53Z</updated>
   
   <summary> WASS (Wikipedia Axis-Specified Search) ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="WASS の機能" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="その他" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="アナウンス" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="プログラムの構造とデータ生成法" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<a href="http://www.dasyn.com/wass/blog/2009/12/wass_4.html" target="_blank" /><img alt="WASSad.jpg" src="http://www.kanadas.com/weblog/WASSad.jpg" width="640" height="318" /></a>
<div><a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS (Wikipedia Axis-Specified Search)</a> (Wikipedia の検索エンジン)
</div>
<div><a href="http://www.dasyn.com/wass/blog/2009/12/wass_4.html" target="_blank">WASS のかんたんな説明</a>
</div>
]]>
      
   </content>
</entry>
<entry>
   <title>候補しぼりこみ率の改善</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2010/01/post_4.html" />
   <id>tag:www.dasyn.com,2010:/wass/blog//26.4965</id>
   
   <published>2010-01-06T14:09:24Z</published>
   <updated>2010-01-06T17:22:42Z</updated>
   
   <summary> これまで，カタカナ語やひらがな語の一部の検索にはかなり検索時間がかかっていた．...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
これまで，カタカナ語やひらがな語の一部の検索にはかなり検索時間がかかっていた． 
たとえば 「アイドル」 の検索には検索サーバ側で 16 秒くらいかかっていた． 
その原因はこれらの語の 2 グラム・インデクスがいずれも候補がおおくて，事典項目のしぼりこみがゆるくなっていたためだ． 
それを改善する方法をくふうしてくみこんだので，「アイドル」 などは 14 秒くらいまでは改善されたが，総合的には比較的わずかな改善にとどまった．
</p>
]]>
      <![CDATA[<p>
「アイドル」 の候補しぼりこみには，「アイ」，「イド」，「ドル」 という 3 つの 2 グラム・インデクスを使用する． 
このうちのいずれかの出現箇所がかぎられていれば，候補を十分にしぼりこむことができる． 
ところが，いずれも出現がおおいので，しぼれない． 
そのため，候補を逐次検索するのに時間がかかってしまう．
</p>
<p>
これまでの方法ではひとつの項目のどこかに 「アイ」，「イド」，「ドル」 というつづりがあらわれれば，すべて候補とみなしていた． 
そのため，項目内のはなれた 3 つの位置にこれらがあらわれていれば，候補とみなしていた． 
あたらしいアルゴリズムでは，これらがちかくの段落にあらわれるばあいにかぎって候補としている． 
(N グラムの全文検索アルゴリズムにおいては，さらに段落内の位置までインデクス内にもつが，メモリ量はさらにふえる.)
</p>
<p>
ほんとうは同一の段落にあらわれるときだけ候補としたかったが，すべての段落の情報を (ビット・ベクタとして) 表現すると可変長になって処理速度がかえっておちてしまう． 
この方法もためしたが，これまでの方法で 2 秒で検索できる 「漱石」 の検索に 400 秒かかるようになってしまったので断念した． 
段落情報を 32 bit にとどめるために，段落数がおおいときは，ちかくの段落をくべつしないようにした． 
</p>
<p>
この方法で，これまで候補しぼりこみに約 0.8 秒，「アイドル」 の逐次検索に約 9 秒かかっていたのが，それぞれ 1.2 秒，6.6 秒となった． 
候補数でいうと，これまで 393 万だったのが，243 万まで減少した． 
予想していたほどはへらなかったので，検索時間も劇的には短縮されていないが，一応，効果はあった (へらない原因のひとつは結果数がおおい (約 12 万個) ことであり，これは表示するページを分割しなければ解決しない)． 
そのかわり，インデクスがしめるメモリ量は約 2.4 GB から約 4.5 GB に増加した． 
それでも，なんとか 10 GB のメモリのなかにおさまっている． 
メモリを増設しないかぎりはこれが限界だ． 
</p>
]]>
   </content>
</entry>
<entry>
   <title>ブログのアクセスはふえたが，だれも検索しないのはなぜ?</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2010/01/post_3.html" />
   <id>tag:www.dasyn.com,2010:/wass/blog//26.4961</id>
   
   <published>2010-01-01T05:17:50Z</published>
   <updated>2010-01-01T05:25:28Z</updated>
   
   <summary> このブログへのアクセスはふえてきた．  開設したばかりだが 12 月のアクセス...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="その他" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
このブログへのアクセスはふえてきた． 
開設したばかりだが 12 月のアクセスは 456 件であり，www.dasyn.com と www.kanadas.com をあわせたページ・ランキングで 10 位以内にはいっている． 
ところが，このページには検索ページへのリンクもはってあるのに，検索をためすひとはほとんどいない． 
なんとか，そちらにトラフィックを誘導する方法をかんがえる必要がある． 
また，ほかのプロモーションの方法もかんがえる必要がある．
</p>
]]>
      <![CDATA[<p>
まだ検索性能はあまりよくない． 
そのため，いきなり集中的にアクセスされてダウンするのをおそれて，あまり宣伝してこなかった． 
しかし，だれもアクセスしないのではサイトをつくった意味がない． 
まずはこのブログのトップ・ページにバナー広告をいれてみることにしよう．
</p>
]]>
   </content>
</entry>
<entry>
   <title>候補しぼりこみの高速化　その 2</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/_2.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4937</id>
   
   <published>2009-12-20T03:50:03Z</published>
   <updated>2009-12-20T04:00:37Z</updated>
   
   <summary> 「候補しぼりこみの高速化」 という項目で検索候補しぼりこみに使用しているインデ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
「<a href="http://www.dasyn.com/wass/blog/2009/12/post_1.html" target="_blank">候補しぼりこみの高速化</a>」 という項目で検索候補しぼりこみに使用しているインデクスのアクセス法を改善して 5 割くらい高速化したことを書いた． 
さらにインデクスの検索法を改善して，しぼりこみに関しては数倍の高速化をはかった．
</p>
]]>
      <![CDATA[<p>
しぼりこみに使用しているのは文字インデクスだ． 
検索語がふくむ文字がふくまれていない項目は検索する必要がない． 
しかし，ひらがな，カタカナ，アルファベット 1 文字では項目をしぼることはできない． 
そこで，これらの文字種に関しては 2 文字 (2 グラム) インデクスを使用している． 
</p>
<p>
検索語から 2 文字ずつサブストリングをもとめていくと，最後に 1 文字あまる． 
いままではこの文字のインデクスも検索していたが，これは必要ないのではぶくことにした． 
これによって最後がこれらの文字種でおわる検索語に関しては画期的な高速化をはかることができた． 
たとえば，これまで 「アイドル」 の候補しぼりこみに 4 秒弱かかっていたのが，0.8 秒以下でできるようになった． 
最後の 1 文字の検索にいかに時間がかかっていたかがわかる． 
</p>
<p>
ただし，検索時間全体としては 10% 以下の改善でしかない． 
これをおおきく改善するには，しぼりこみをつよめる必要がある．
</p>
]]>
   </content>
</entry>
<entry>
   <title>Wikipedia のテキストのあつかい</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/wikipedia_1.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4935</id>
   
   <published>2009-12-20T01:15:30Z</published>
   <updated>2009-12-20T01:23:20Z</updated>
   
   <summary> いつも Wikipedia の最新のテキストを検索することができればよいが，軸...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
いつも Wikipedia の最新のテキストを検索することができればよいが，軸づけ検索には前処理が必要なのでそうはいかない． 
ときどき全部の項目をかためたファイル (jawiki-latest-pages-articles.xml) をダウンロードして前処理をおこなって使用している．
</p>
]]>
      <![CDATA[<p>
<a href="http://download.wikimedia.org/jawiki/latest/" target="_blank">http://download.wikimedia.org/jawiki/latest/</a> から日本語版 Wikipedia に関するさまざまなファイルをダウンロードすることができる． 
そのなかに jawiki-latest-pages-articles.xml.bz2 というファイルがあるので，これをダウンロードして解凍してつかっている． 
もとのファイルは 1 GB くらいのおおきさだが，解凍すると 4 GB くらいにふくらむ． 
ここからタグづけされたテキストを生成するとやはり 4 GB くらい，それにしぼりこみのためのインデクスが 2.5 GB くらい (ほんとうはもっとメモリがとれればしぼりこみの効果をあげることができる) あり，これらをすべてメモリにのせて処理しようとすると 8 GB をこえるメモリが必要になる． 
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS を工学院大学での講義に使用した</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/post_2.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4930</id>
   
   <published>2009-12-18T16:58:57Z</published>
   <updated>2009-12-19T02:00:30Z</updated>
   
   <summary> 工学院大学で年に 2 コマだけ講義をひきうけている．  そのうちの 1 コマで...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="その他" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
工学院大学で年に 2 コマだけ講義をひきうけている． 
そのうちの 1 コマで軸づけ検索をとりあげているのだが，今年はそのデモに Wikipedia の検索をとりあげてみた． 
インターネット・アクセス環境の制約などのため，かならずしも意図したとおりにはいかなかった．
</p>
]]>
      <![CDATA[<p>
大学からインターネット経由で <a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS のサーバ</a>に接続して，「アイドル」 の年代軸と地域軸の検索をデモした．
</p>
<p>
<img alt="idol-ys.jpg" src="http://www.dasyn.com/wass/blog/idol-ys.jpg" width="480" height="270" align="right" hspace="4" vspace="4" />
年代軸で検索すると，1920 年代から 2040 年までの年代表記がみつかる (図は講義資料からの抜粋)． 
1910 年代以前も表示されるが，それは情報抽出のまちがいのためだ． 
2040 年とか 1941 年とかに現代のアイドルが登場するが，それは仮想的な年代だ． 
</p>
<p>
現代のアイドルも生年などで順序づけられて，それなりに意味がある結果になっている． 
昔の 「アイドル」 については歴史的な意味はあるが，現代の学生にとってはあまり興味はないだろう．
</p>
<p>
検索結果にふくまれる年代表記のところに正規化された年代がタグとしてうめこまれているのをみせたかった． 
しかし，もちこんだ PC でインターネットにつなぐことができず，そなえつけの PC にはふるいインターネット・エクスプローラしかはいっていないため，abbr タグの内容がマウス・ポインタをおいても表示されず，意図したデモ効果がえられなかった．
</p>
<p>
検索時間が 23 秒もかかっているが，これについては現在，最適化中だ．
</p>
<p>
<img alt="idol-gs.jpg" src="http://www.dasyn.com/wass/blog/idol-gs.jpg" width="480" height="275" align="right" hspace="4" vspace="4" />
もっとおもしろいのは地域軸である． 
北海道から沖縄まで，ご当地アイドルがならぶ (図は講義資料からの抜粋)． 
ローカルなアイドルは学生たちも知らないだろうが，名のうれたアイドルももちろん，ふくまれている． 
</p>
<p>
地域軸検索の結果からは Google Map もひらけるようにしたのだが，デモするのをわすれてしまった． 
</p>
<p>
講義の相手は 2 部 (夜間) の学生であり，人数は 10 数人しかいない． 
URL も紹介しておいたが，ほとんどアクセスしていない． 
(でも，0 ではなかったようだ.)
</p>
]]>
   </content>
</entry>
<entry>
   <title>候補しぼりこみの高速化</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/post_1.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4929</id>
   
   <published>2009-12-18T16:08:49Z</published>
   <updated>2009-12-18T16:52:41Z</updated>
   
   <summary> WASS の軸づけ検索では最初に文字インデクスを使用して検索対象をしぼりこむ．...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
WASS の軸づけ検索では最初に文字インデクスを使用して検索対象をしぼりこむ． 
そのためにこれまで Perl の vec() を使用していたが，unpack() を使用する方法にかえて，この部分だけをとると 5 割ほど高速化された．
</p>
]]>
      <![CDATA[<p>
文字インデクスは，すべての文字について，その文字 (ひらがな，カタカナのときは 2 グラム単位) が出現する Wikipedia の項目のリストをふくんでいる． 
文字インデクスがしめるメモリ量をへらすため，文字インデクスは Perl のデータではなく，1 要素 4 バイトに圧縮された表現をつかっている． 
この形式にアクセスするために，これまでは vec 関数を使用してきた． 
すなわち，つぎのようなプログラムをつかってきた．
</p>
<pre>
my $indexVec = $index{$s};
for (my $i = 0; $i < bytes::length($indexVec); $i++) {
    $count{vec($indexVec, $i, 32)}++;
}
</pre>
<p>
しかし，vec 関数は 1 ビットごとのアクセスが可能な汎用の関数であり，そのぶんオーバヘッドがあるとかんがえられる． 
pack 関数を使用して，あらかじめデータを通常の配列にしておくほうが効率的なのではないかとかんがえて，ためしてみた． 
つまり，つぎのようなプログラムにする．
</p>
<pre>
my @indexVec = unpack('N*', $index{$s});
foreach my $index (@indexVec) {
    $count{$index}++;
}
</pre>
<p>
このプログラムも配列への変換という，けっしてかるくない操作をふくんでいるのだが，それでもこのほうが 5 割ほどはやいことがわかった． 
ただし，通常はこのあとの操作のほうがおもいので，全体としての高速化は 3 割，あるいはそれ以下にとどまっている． 
</p>
<p>
なお，unpack するときに 'N' つまり network-byte-order を指定しているのは，vec によってアクセスするときは network-byte-order になるからである． 
これによって，インデクスに格納されたデータは vec, unpack のどちらでもアクセスできるようになる．
</p>
]]>
   </content>
</entry>
<entry>
   <title>地域軸検索からの地図表示機能の追加</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/post.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4926</id>
   
   <published>2009-12-14T15:33:56Z</published>
   <updated>2009-12-20T14:34:24Z</updated>
   
   <summary> 「発見ナビ」 と初期の 「ネットで百科」 の 「テーマ地名検索」 (地域軸検索...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
「発見ナビ」 と初期の 「ネットで百科」 の 「テーマ地名検索」 (地域軸検索) には，検索結果からその地域の地図をひらく機能があった． 
しかし，WASS の開発をはじめてからつい最近まで，地図表示についてはなにもかんがえずにきた． 
やっとそれに気がついて，Google Map 表示機能をつけた．
</p>
]]>
      <![CDATA[<p>
緯度・経度が指定されていれば，Google Map をつかえば容易に地図を表示することができる． 
日本地名に関してはもとのデータベース (<a href="http://www.lasdec.nippon-net.ne.jp/" target="_blank">LASDEC</a> の地方公共団体コード) に緯度・経度がふくまれていないので，世界地名のデータベースである <a href="http://www.geonames.org/" target="_blank">GeoNames</a> からその情報をとることにした． 
ただし，このデータベースでは地名がアルファベット表記されていて，まだ完全にマッチングがとれていない． 
そのために地図を表示できない地名もある． 
また，まだマッチングをとるためのプログラムもさぼっているため，都道府県のうち県以外は表示できていない． 
この問題については数日中に対策するつもりだ． 
</p>
<p>
世界地名に関してはもともと GeoNames を使用しているため，それがふくんでいる緯度・経度をそのまま使用した． 
</p>
<p>
いずれにおいても地図を表示する際にはズームの指定が必要だ． 
ズームは適当にきめているが，うまくいっていないばあいもある． 
つまり，地図が拡大されすぎていて，なにを表示しているのかがわかりにくいことがときどきある． 
また，逆に表示するべき地域がちいさすぎることもある． 
</p>
<p>
すこしはずれた場所が表示されることもあるが，これはデータベースの緯度・経度がまちがっているからだろうか? 
まだ原因をしらべていない．
</p>
<p>2009-12-20 追記:<br />
東京都と北海道については，ついにプログラム上に手で情報をかきくわえることにした． 
他の府県や市に関しては，だいたいもとのデータベースにあるものは表示できるようになった． 
しかし，まだ地図に表示できない市がかなりある． 
これは，GeoNames にそれが登録されていないためだ． 
また，東京の区は地名抽出でサボっていて，タグすらつけられていない． 
東京以外は 「区」 というと市の下位にあるからまあよいが，東京 23 区は市に属していないからすっかり情報がおちてしまう． 
</p>
<p>2009-12-20 追記:<br />
上記の東京 23 区が検索されないという問題もきょう修正した． 
地名リストをつくるプログラムに 1 文字 「区」 という文字をくわえて，テキストを生成しなおしただけである． 
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS サーバの仮想メモリを最小化!</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/wass_5.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4925</id>
   
   <published>2009-12-14T15:15:43Z</published>
   <updated>2009-12-14T15:29:50Z</updated>
   
   <summary> WASS のサービスに使用している PC は，最初は仮想メモリを規定値にしてい...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="ハッキング" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
WASS のサービスに使用している PC は，最初は仮想メモリを規定値にしていた． 
ところが，これでアイドル状態がつづくと，せっかく主記憶に展開した Wikipedia のテキストがディスクにおいだされて，検索がおそくなってしまう． 
それをさけるために，とりあえず仮想メモリを 800 MB にまでちぢめた．
</p>
]]>
      <![CDATA[<p>
本来はメモリの内容がディスクにおいだされないように陽に設定するべきだろう． 
しかし，その方法もわかっていないので，とりあえず仮想メモリのためのディスクのわりあてを最小限にすることにした． 
「システム」 のコントロールパネルをひらいて，おもいきって仮想メモリにちいさな値を指定すると，Windows 7 においては，800 MB ないとシステムエラー時に詳細情報が記録できない可能性があるという警告が表示される． 
それではというので 800 MB を指定することにした． 
</p>
<p>
これでほぼ Wikipedia のテキストはメモリ上に保持されるようになり，検索性能が維持されるようになった． 
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS 試行サービスの開始</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/12/wass_4.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4917</id>
   
   <published>2009-12-13T09:32:02Z</published>
   <updated>2009-12-28T11:38:39Z</updated>
   
   <summary> 日本語版 Wikipedia のあたらしい検索サービス WASS (Wikip...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="アナウンス" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
<a href="http://ja.wikipedia.org/" target="_blank">日本語版 Wikipedia</a> のあたらしい検索サービス <strong><big><a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS (Wikipedia Axis-Specified Search)</a></big></strong> の試行を予定どおり 2009 年 12 月 13 日に開始しました． 
<strong><big><a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS</a></big></strong> をつかうとなにができるかについては，「<a href="http://www.dasyn.com/wass/blog/2009/11/wass_wikipedia.html" target="_blank">WASS - Wikipedia から整理された検索結果をえる検索サービス</a>」 や 「<a href="http://www.dasyn.com/wass/man/2009/11/post.html" target="_blank">機能の概要</a>」 をみてください． 
まだ不十分ですが，<a href="http://www.dasyn.com/wass/man/" target="_blank">使用の手引</a>も一応，用意してあります．
</p>
]]>
      <![CDATA[<p>
ここにあげた例では， 「龍馬」 (坂本龍馬) の検索結果を<strong><big>年表</big></strong>のようなかたちで出力しています． 
ほかに，検索結果を<strong><big>地域で整理</big></strong>する機能もあります． 
「<a href="http://www.dasyn.com/wass/blog/2009/12/post_2.html" target="_blank">WASS を工学院大学での講義に使用した</a>」 には 「アイドル」 の検索例について書きました (2009-12-19 追記)．
</p>
<p align="center">
<a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank"><img alt="Menu-YS-Ryoma.jpg" src="http://www.dasyn.com/wass/man/Menu-YS-Ryoma.jpg" width="640" height="59" /></a>
<br />
中略<br />
<a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank"><img alt="Result-YS-Ryoma.jpg" src="http://www.dasyn.com/wass/man/Result-YS-Ryoma.jpg" width="640" height="432" /></a>
</p>
<p>
まだ課題がいろいろあるので，あまり宣伝してはいません． 
課題としては，まだ検索がおそいこと，PC 1 台でサービスしているので一度にひとり (かつ 1 分に数人) しか検索できないこと，まだバグがおおいことなどがあります． 
一応 24 時間サービスしようとはしていますが，サーバがダウンしてもすぐに回復できる体制にはなっていないので，しばらくとまってしまう可能性もあります．
</p>
<p>関連ページ (2009-12-19 追記):
<ul>
<li><a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS (Wikipedia Axis-Specified Search)</a>
</li>
</ul>
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS における年代表記や地名のタグづけ</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/11/wass_3.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4892</id>
   
   <published>2009-11-30T12:19:05Z</published>
   <updated>2009-11-30T12:45:10Z</updated>
   
   <summary> WASS においては，タグづけサブシステムにおいて，テキストがふくむ年代表記や...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="プログラムの構造とデータ生成法" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
WASS においては，タグづけサブシステムにおいて，テキストがふくむ年代表記や地名にタグが挿入される． 
ここでは，どういうタグが挿入されるかを説明する．
</p>
]]>
      <![CDATA[<p>
タグづけサブシステムにおいてどのようなタグが挿入されるかを下図にに例示する． 
タグの形式は Microformats [Mic 09] に準拠 (年代表記の場合) もしくはできるだけ Microformats にちかい形式 (地域の場合) としている． 
Microformats は Web ドキュメントにタグづけするための形式を定義している．
</p>
<p>
タグが挿入された HTML ファイルは Web ブラウザによって通常どおりに表示することができ，かつタグがうめこまれた場所にマウスポインタをおくことによって，タグの内容が表示される． 
また，Web ブラウザとして Firefox を使用したときは，タグがうめこまれた場所に下線が表示されるので，タグの有無を容易にみてとることができる．
</p>
<p>
検索・整列サブシステムにおいては検索用のテキストをメモリにロードし，逐次検索によって検索している． 
逐次検索は原始的なアルゴリズムであり大規模な検索システムには適さないが，この検索システムは 1 人または少人数による使用を前提として設計しているため，また現在のパソコンでは世界大百科事典程度のテキスト量の検索のためには逐次検索でも実用になるため，このような方法をとっている．
</p>
<p>
また，検索・整列サブシステムにおいては，単純な全文検索だけでなく，タグの情報を利用して特定の範囲の年代や特定の地域の情報をふくむ段落を検索することができる． 
また，検索結果を年代や地域によって整列して表示することができる． 
すなわち，検索結果を年表のような形式で表示したり，(日本の地域に関するものは) 北から南へ順に表示したりすることができる． 
さらに，検索結果の各段落はそれがふくむ文ごと (正確には 「句」 ごと) に自動的にスコアが付与され，その結果を使用して段落ごとにランクづけされる． 
スコアにしたがって段落のなかの重要な部分だけを表示するようにしたり，ランキングによって結果を順序づけたりすることができる．
</p>
<p align="center">
<img alt="YearTag.jpg" src="http://www.dasyn.com/wass/blog/YearTag.jpg" width="640" height="178" /><br />
年代表記の抽出と正規化
</p>
<p align="center">
<img alt="GeoNameTag.jpg" src="http://www.dasyn.com/wass/blog/GeoNameTag.jpg" width="640" height="212" /><br />
地名の抽出と正規化
</p>

<h3>参考文献</h3>

<ul>
<li>[Mic 09]	Microfotmats Community, “<a href="http://microformats.org/wiki/ja" target="_blank">Microformats Wiki</a>”.
</li>
</ul>

]]>
   </content>
</entry>
<entry>
   <title>WASS のプログラムのつくり</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/11/wass_2.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4891</id>
   
   <published>2009-11-30T10:39:55Z</published>
   <updated>2009-11-30T12:31:09Z</updated>
   
   <summary> 検索のしくみに興味があるひとだけ，読んでください． ...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="プログラムの構造とデータ生成法" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
検索のしくみに興味があるひとだけ，読んでください．
</p>
]]>
      <![CDATA[<p>
WASS はつぎの 3 つのサブシステムによって構成されている．
</p>
<dl>
<dt>タグづけサブシステム</dt>
<dd>Wikipedia のテキストを入力し，テキスト中に出現する年代・地名などの情報にタグを挿入した検索用テキストを生成するサブシステムである． 
タグづけサブシステムの主要部分は wifss_gen.pl という Perl プログラムである． 
ただし，このプログラムは地名データベースを使用するため，それを生成するためのプログラム (area-list-japan.pl, area-list-world.pl) やそれらの入出力データなども用意している． 
</dd>
<dt>しぼりこみインデクス生成サブシステム</dt>
<dd>	wifss_genIX.pl というプログラムを使用して，Wikipedia のテキストを入力し，候補をしぼりこんで検索時間を短縮するためのインデクスを生成する． 
このインデクスをつかうことによって，検索語がふくむすべての文字がその段落にあらわれるかどうかをしらべることができる． 
あらわれない文字がある段落は候補からはずされる． 
</dd>
<dt>検索・整列サブシステム</dt>
<dd>検索用テキストをメモリ上に展開し，タグをたよりに指定された検索語，年代，地名などをふくむ段落を検索し，検索結果を整理して表示するシステムである． 
検索・整列サブシステムは Web サーバとくみあわせることによって (CGI (Common Gateway Interface) というしくみを使用して) 動作し，検索サーバ・プログラム wifss_server.pl と検索クライアント・プログラム wifss_jp.pl とによって構成されている (下図参照)． 
検索サーバは Wikipedia がふくむ段落のなかで候補にならないものを，しぼりこみインデクスを使用してみつけだし，候補となるものだけを検索する． 
また，検索用 GUI (グラフィカル・ユーザ・インタフェース) としては Mozilla Firefox や Internet Explorer  のような Web ブラウザを使用する． 
</dd>
</dl>
<p>
候補とされた段落は逐次検索によって検索されるので，このアルゴリズムはもっとも効率的なアルゴリズムだとはいえない． 
しかし，テキスト全文をメモリにおくことによって，単純なわりには高速に検索することができる．
</p>
<p>
<img alt="WASSstructure.jpg" src="http://www.dasyn.com/wass/blog/WASSstructure.jpg" width="640" height="410" hspace="4" vspace="4" />
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS における地名データベースの生成</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/11/wass_1.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4888</id>
   
   <published>2009-11-29T08:20:39Z</published>
   <updated>2009-11-30T12:31:27Z</updated>
   
   <summary> WASS の地域軸検索を実現するために，地名データベースをつかっている．  W...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="プログラムの構造とデータ生成法" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
WASS の地域軸検索を実現するために，地名データベースをつかっている． 
Web 上で利用可能な地名の情報をもとにしてそれをつくっている． 
検索サービス公開前にはあまり興味をひかないとはおもうが，あらかじめ WASS における地名データベースの生成法について書いておくことにする．
</p>
]]>
      <![CDATA[<p>
HTML テキストから地名を抽出する際には，つぎの 2 種類の地名データベースを使用している．
</p>
<dl>
<dt>地方公共団体コード (日本)</dt>
<dd>日本地名のデータベース (area-parent.txt) を生成するために LASDEC (財団法人 地方自治情報センター，http://www.lasdec.nippon-net.ne.jp/cms/1,0,14.html) の地方公共団体コードのデータベースを使用している． 
LASDEC は JIS X 0401, 0402 によってさだめられたコードを拡張して，日本全国の地方公共団体のコード表を提供している． 
このコードにおいては，全国の地名がほぼ北から南へ整列されていて，検索結果を整列させるのに適切なコード体系となっている． 
このデータベースを使用して，現在有効な都道府県名および市町村名とそれらが存在する郡名 (コードは付与されていないのでコードをわりあてている) とをデータベース化している． 
すなわち area-list-japan.pl というプログラムによって，上記の Web サイトからえたデータを wifss_gen.pl が入力するファイルの形式に変換している．
</dd>
<dt>GeoNames (海外)</dt>
<dd>海外地名のデータベース (area-parent-world.txt) を生成するために GeoNames (http://www.geonames.org/) が提供する地名データベースを使用している． 
海外地名に対しては ISO 3166-2 によってコードがわりあてられているが，その形式は国ごとにちがっていて，地名を整列するのに適当な形式ではない． 
より検索・整列に適した地名データベースは GeoNames (http://www.geonames.org/) によって提供されている． 
GeoNames はさまざまなデータベースを提供していて，そのなかには日本語の情報もふくまれている． 
しかし，日本語の情報は比較的かぎられているため，現在は世界の主要 1000 都市のデータ (cities1000.txt) を使用している． 
しかし，GeoNames のコードは地理的な位置や関係によるものではなく，整列のために使用するのはかならずしも適切ではない． 
そのため，代案の検討が必要だとかんがえられる．
</dd>
</dl>
<p>
日本地名のデータベース (area-parent.txt) を生成するには，c:\wikipedia\areacode-jp というディレクトリにおいて市町村名のリスト (AllJapan.txt) とともに都道府県名のリスト (prefectures.txt) を使用し，area-list-japan.pl というプログラムを使用して地名とその上位地名との対応表 (area-parent-japan.txt) を生成する． 
つぎのコマンドを実行することによって，この表が生成される． 
</p>
<p>
run.bat
</p>
<p>
この表においては，たとえば南部町という地名に対してはつぎのようなレコードがあたえられている． 
</p>
<ul>
<li>南部町:青森県.三戸郡:なんぶちょう:024457
</li>
<li>南部町:山梨県.南巨摩郡:なんぶちょう:193666
</li>
<li>南部町:鳥取県.西伯郡:なんぶちょう:313891
</li>
</ul>
<p>
これは，南部町の上位地名として 「青森県.三戸郡」，「山梨県.南巨摩郡」，「鳥取県.西伯郡」  の  3 つがあり，よみはいずれも 「なんぶちょう」であり，コードが  015458, 193666, 313891 であることをあらわしている． 
世界地名のデータベース (area-parent-world.txt) を生成するには，c:\wikipedia\areacode というディレクトリにおいて主要 1000 都市のデータ (cities1000.txt) とともに国名とコードのリスト (country-Code.txt) を使用し，area-list-world.pl というプログラムを使用して地名とその完全地名 (上位地名 + その地名) との対応表 (area-parent-world.txt) を生成する． 
すなわち，つぎのコマンドを入力することによって area-parent-world.txt を生成することができる．
</p>
<p>
run.bat
</p>
<p>
生成された表においては，たとえばフィラデルフィアという地名に対してはつぎのようなレコードがあたえられている．
</p>
<p>
フィラデルフィア:アメリカ合衆国.ペンシルベニア州.フィラデルフィア:-Philadelphia:39.952335,-75.163789:4560349
</p>
<p>
これは，フィラデルフィアの上位地名が 「フィラデルフィア:アメリカ合衆国.ペンシルベニア州」 であり，つづりが Philadelphia，緯度, 経度が 39.952335, -75.163789 であり，コードが 4560349 であることをあらわしている． 
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS 試行サービス開始への準備</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/11/wass.html" />
   <id>tag:www.dasyn.com,2009:/wass/blog//26.4879</id>
   
   <published>2009-11-29T03:40:58Z</published>
   <updated>2009-12-01T12:47:01Z</updated>
   
   <summary> WASS 試行サービスが 12 月 13 日に開始できるように準備しています．...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="アナウンス" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
WASS 試行サービスが 12 月 13 日に開始できるように準備しています． 
これまでどういう準備をしているかについては，<a href="http://www.kanadas.com/weblog/2009/11/wikipedia.html" target="_blank">べつのブログの項目</a>などに書いています． 
</p>
]]>
      <![CDATA[<p>
このサービスの内容については 「<a href="http://www.dasyn.com/wass/blog/2009/11/wass_wikipedia.html" target="_blank">WASS - Wikipedia から整理された検索結果をえる検索サービス</a>」 でかんたんに紹介しました． 
今後も開発の状況や検索例などをこのブログに書いていくつもりです．
</p>
]]>
   </content>
</entry>
<entry>
   <title>WASS - Wikipedia から整理された検索結果をえる検索サービス</title>
   <link rel="alternate" type="text/html" href="http://www.dasyn.com/wass/blog/2009/11/wass_wikipedia.html" />
   <id>tag:www.dasyn.com,2009:/wifss/blog//26.4878</id>
   
   <published>2009-11-29T02:12:05Z</published>
   <updated>2009-12-13T01:45:46Z</updated>
   
   <summary> 日本語版 Wikipedia のあたらしい検索サービス WASS の試行を 2...</summary>
   <author>
      <name></name>
      
   </author>
         <category term="WASS の機能" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="ja" xml:base="http://www.dasyn.com/wass/blog/">
      <![CDATA[<p>
<a href="http://ja.wikipedia.org/" target="_blank">日本語版 Wikipedia</a> のあたらしい検索サービス <a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS</a> の試行を 2009 年 12 月 13 日に開始する予定です． 
<a href="http://110.5.47.94/cgi-bin/wass/wass_jp.pl" target="_blank">WASS (Wikipedia Axis-Specified Search)</a> は Wikipedia を検索して，年代や地名によって整列した結果をえる検索サービスです． 
WASS をつかえば，特定のテーマに関する年表をつくったり，特定のテーマに関する記述を地域ごとにまとめたりすることができます． 
このような検索のインターフェースは開発者が 「<a href="http://www.kanadas.com/research-themes-j/0000/01/axisspecified_search_thematic.html" target="_blank">軸づけ検索</a>」 と呼んできたものです．
</p>
]]>
      <![CDATA[<p>
開発中の WASS による検索結果の例を下図にしめします (公開版のインターフェースはこれとちがうかもしれません)． 
これは 「慶喜」 (徳川慶喜) の検索結果です． 
Wikipedia のテキストを段落単位に検索して，「慶喜」 という検索語のちかくにあらわれる年代表記の順にならべています． 
段落全体を表示するとながくなるため，検索語と年代表記の周辺だけを表示するようにしています． 
各項目の最後に括弧にいれて表示しているのが Wikipedia の項目名とその段落の評価値です． 
項目名をクリックするとその項目をひらくことができます． 
</p>
<p>
検索結果はほかにもいろいろな内容をふくんでいますが，それらは使用の手引やこのブログで説明することにします．
</p>
<p align="center">
<img alt="Menu-YS-Yoshinobu.jpg" src="http://www.dasyn.com/wass/blog/Menu-YS-Yoshinobu.jpg" width="640" height="74" />
</p>
<p align="center">中略</p>
<p align="center">
<img alt="Result-YS-Yoshinobu.jpg" src="http://www.dasyn.com/wass/blog/Result-YS-Yoshinobu.jpg" width="640" height="352" />
</p>
<p>
もうひとつの検索結果を図にしめします． 
これも 「慶喜」 に関する検索結果の一部ですが，こちらは地名によって整列しています． 
くわしい説明はここでははぶきます．
</p>
<p align="center" >
<img alt="Result-GS-Yoshinobu.jpg" src="http://www.dasyn.com/wifss/blog/Result-GS-Yoshinobu.jpg" width="640" height="529" align="center" />
</p>
]]>
   </content>
</entry>

</feed>
