From: gotoken@... (GOTO Kentaro) Date: 1998-06-24T23:06:02+09:00 Subject: [ruby-dev:3011] Re: casefold bug? in compiled regexps ごとけんです In message "[ruby-dev:3010] casefold bug? in compiled regexps" on 98/06/24, Kazunori NISHI writes: >西@九大です。 >From: Kazunori NISHI >> 失礼しました。「Regexp 関係のバグの露呈」を期待しつつ、C-cC-c > >別に Regexp に恨みがある訳ではないですが、バグっぽいのを発見しました。 > >Regexp .compile(string, casefold) で作られた正規表現が、「大文字小文字」 >を無視してくれないので、困っています。 少なくとも b9_16 ではマニュアル通り動作しますが、 b9_27 だと西さんのおっしゃるとおりですね。 >From: gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) >> ごとけんです > >はじめまして。 >正規表現を参考にさせて頂きました。どうもです。 どもどもあとで見たら少し変な気がしましたが スピードチューニングだったら色々やって見た方が良いと思います。 >> # それよか最後のカッコの中の解析が面倒なんですよ、 >> # フォーマットが変るし (^^;;; > >いやぁ、まったく同感です。実は、上の奴は、ここの 'MT=' とかを検出して >くれないので、気付いたのでした。 えーっと、やっぱりキーワード調査でしたか (^^;;; 僕も随分前に調べてみたことがあります。 これは CGI のホスト名を使って、HTTP_REFERER の ? 以降を 更に scan するのが早そうです。 あと、ワナとしては、CGI が高頻度語や cookie 用の キャッシュを持ってるらしくそのキャッシュのハッシュ値 みたいなのが入った引数が付いてる場合があるのと、 時々 CGI の引数が変更されることです。 前者はお手上げであきらめるしかないけど(多分)、 後者はマメにメンテされてるメタインデックスの フォームを時々チェックするみるという他力本願な対策が 考えられます。やったことないですが。 蛇足ですが、正規表現考えるのがいやとか、この処理を 究めたいとかしたら、この CGI のオプションは (Gold の極限同定の意味で)学習可能だったとおもいます。 つまり、ログファイルから自動的に正規表現を作り出すのが 実効的に可能です。 正例からの概念学習という分野があって、この CGI の オプションのような正規言語のサブクラスは(Angluin が 1980 年頃に正例だけから同定可能であることを示した 有限の厚みをもつ言語のクラスの実例として) Shinohara に よって構成されたパターン言語(pattern langulage)に 属するのだと理解してます。実際アプリケーションとして、 例えるなら BibTeX ファイルのような形式のファイルから 文献アイテムの属性("author = " など)を作り出すモノが 作られていると聞きました。 詳しくは1991年頃の情報処理学会誌に機械学習という特集が 組まれたことがありますのでそちらをどうぞ。 最近は日本語の教科書もあるかも知れません。 -- gotoken