Refsort/Ruby v3.62 released
辞書参照型ソーティング・フィルタ Refsort/Ruby (新しいほうから *1 *2 *3 *4 *5)の改訂版 v3.62 をリリースしました.今回の改訂の目玉は,v3.60 で新設したオプション "-y, --didyoumean" の拡張版 "-Y, --fullsearch" を追加導入したことです.
入力のキーに指定した文字列が辞書ファイルに見つからないとき,よく似た候補を探して提示するのが "-y, --didyoumean" の機能ですが,これには大量の文字列の比較照合が必要となるため,どうしても実行速度が低下してしまうのが欠点です.そのため "-y, --didyoumean" では,最初の 1 文字が一致する候補だけを探索するという制限を設けることで,実行速度の低下を最小限に抑えています.これでも実用になるのは,どんなにタイプミスや思い違いをしたとしても,最初の 1 文字くらいは正しく入力されているだろうと期待できる場合が多いからです.
しかしこの方法では最初の 1 文字が異なる候補は探索範囲から外れてしまうので,探索は完全ではありません.そこで,実行速度は遅くなってもよいから,辞書ファイルのすべてのレコードを探索して類似度の高い候補をすべてピックアップするというオプション "-Y, --fullsearch" を新設しました.
さらに,文字列の類似度の指標である Damerau-Levenshtein 距離を計算するアルゴリズムを改良して,v3.60 よりも 2--3 倍程度高速に探索できるようになりました.そのおかげで,"-y, --didyoumean" はもちろんのこと "-Y, --fullsearch" を用いた場合でも,待たされてイライラすることは少なくなったと思います.さらにこの改訂版ではスクリプトの冗長な部分を徹底的に取り除き,スクリプトのサイズを v3.61 と比較して 13% 程度縮小することに成功しました.肥大化の傾向にある程度歯止めをかけることができたと思っています.
"-Y, --fullsearch" の使い方は "-y, --didyoumean" と全く同じです.当然この二つを同時に指定することはできません.どちらか片方のみ指定することができます.
以下にスクリーンショットを示しました.Refsort/Ruby v3.61 を用いた最初の実行では,「オオサギ」という誤った入力に対して何も正解候補が提示されませんが,v3.62 とオプション "-Y" を用いた2回目の実行では「アオサギ」という正解候補が提示されています.
また,新しいオプションの追加に対応して Refsort on Excel も v2.40 にアップデートしました.改訂内容は,新オプションに対応したチェックボックスの新設のみです.下にスクリーンショットを示します.Sorting options という枠の中の "full search" と書かれたチェックボックスがそれです.このチェックボックスは "did you mean?" にチェックを入れると有効化されるので,そこでさらにチェックを入れて使うようになっています.
Refsort/Ruby とそれに関するコンテンツのアーカイブを Microsoft One Drive に置いています.画面右側コラムの “Archive” の中の “Refsort/Ruby Archive” をクリックしていただくと,私の OneDrive 上に設けたライブラリが開きますので,そこから過去分も含めてファイルをダウンロードすることができます.Refsort 本体の “refsort.rb” は “refsort_v362.rb” というファイル名でアップロードされていますので,ダウンロード後に適宜 “refsort.rb” に変更するとよいでしょう.改行コードも CR/LF になっていますので,適宜変更してお使いください.
Refsort on Excel v2.40 や日本鳥類目録 v7 に準拠した辞書ファイル,IOC List v11.2 に準拠した辞書ファイル,最新版に準拠したユーザーズガイドやプレゼンテーション用のスライドもこのアーカイブに収録されていますので,どうかご利用ください.
このソフトウェアは,一つの完結したアプリケーションというよりは,grep や sort のような「縁の下の力持ち」的なツールとして使われることを想定しています.しかし,各用途に特化した辞書ファイルという補助役が必要で,それらを含めた全体が一つの生態系として発展していくことが望ましいソフトウェアでもあります.新しい応用先を探索中ですので,何かアイデアがあればぜひお聞かせください.
| 固定リンク | 0
「IT関連情報」カテゴリの記事
- 日本鳥類目録第8版に準拠したRefsort/Ruby用辞書ファイル(2024.10.13)
- Windows11 24H2 にアップデート(2024.10.05)
- IOC List v14.2 Released(2024.08.27)
- Ruby を自力ビルドしてみた(2024.07.25)
- Excel上でPythonが使える(2024.07.15)
「科学」カテゴリの記事
- ナガサキアゲハ(2024.10.16)
- 日本鳥類目録第8版に準拠したRefsort/Ruby用辞書ファイル(2024.10.13)
- IOC List v14.2 Released(2024.08.27)
- 水生植物と食虫植物(2024.08.17)
- 利尻,礼文からの逆カルマン渦列(2024.08.11)
コメント