コメントの返事とか遅れてしまってすいませんね…他にも色々ペンディングしてますよ…ペンディングリストを書くこともペンディングしてるのでメタペンディング

Wikipedia Formula Search

http://shinh.skr.jp/wfs/

数式って検索できないから不便だよね…と思って、まぁ既存であるかもしれないんですけど、検索エンジンとか作ってみたかったんで作ってみました。

現段階でもそれなりに遊べる…と思います。主な問題点は以下のようなものだと思います。

  • \sin^2 t + \cos^2 t = 1 と入力したら \sin^2 x + \cos^2 x = 1 の結果も出るようにしたいです。実装するつもりで、方法もだいたい考えてありますが、ちょっとめんどくさそうなのでしてません。
  • ja.wikipedia.org からしか検索できません。とりあえず現状 DB がバカでかくなってるのがまず問題です。すぐ小さくできると思ってますので、小さくしたら en.wikipedia.org とかも取り込んでみたいな、と。あと私個人の目的としては quant-ph をローカルででも取り込みたいなと思ってます。
  • \langle が < でも出る、 \iint が \int でも出る、などがあると良いです。
  • できれば意味的に同じ数式を出したい。単純な移行くらいは処理できるといいですね…
  • Firefox でしか見てないので他のブラウザでどうなるやら。

実装を簡単に紹介。眠いのでコードはまた今度。

  • wikipedia のアーカイブ(xml)から tex 部分を抽出。
  • 数式を簡略化する。空白を削除するとか、 \sum_{n=0}^\infty を \sum にするとか、見た目をいじる系統の命令を無視したりとか。
  • この段階で \frac{1}{n} \sum_n x とかが ["\frac", "1", "n", "\sum", "x"] などという配列になってます。
  • これを三つ以上の組み合わせを作っては QDBM に登録。 "\frac1n", "1n\sum", ... という感じ。(これがいいかげんすぎるから DB がバカでかい)
  • 検索は入力された文字列を同じ方式で簡略化して、 QDBM に問いあわせるだけ。

もし意見などあればいただけると嬉しいです。あれが出ないぞ!なんかもぜひ。ほどほどにマジメに作ろうかなーと思ってます。思ってるだけかもしれませんし、まぁ似たもの見つけたらやめる気がしますが。

あとまぁ、なんか割とすぐ (適当に2日くらい) できたのは QDBM が偉いおかげだと思います。

http://qdbm.sourceforge.net/

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h