Tag Archives: Javascript

このところ開発中のオーサリングツールに、入力補完機能をJavaScript/jQueryで実装しようとしていますが、いろいろと苦戦中です。(ちなみに、ここでの入力補完とは、IMEとは少し違って、基本的には用語検索におけるサジェスト機能です。)

時間との兼ね合いもあり、一から作るのではなく、既存のライブラリをあさっています。それぞれのライブラリはかなり完成されているものも多く、それ自体にそれほど手を加えなくても使えるのですが、他のライブラリや既に実装している機能との干渉があったりで、思うようには使いこなせていません。

探した中では、以下のライブラリ・プラグインが良さそうでした(まだまだたくさんありますが…)。

  1. Autocomplete (jQuery UI)
  2. suggest.js
  3. jquery.ajaxComboBox.js

1.は有名なjQueryUIの中の1つのライブラリです。2.のsuggest.jsはシンプルですが、一通りの入力補完には十分です。3.のjquery.ajaxComboBox.jsは、かなり高機能で、個人的にはおすすめです。データベースと連携しながら、用語の詳しい背景も含めて、サジェストすることができる一方で、用語リストの下準備や環境構築にそれなりに手間がかかります。

今回作っているツールにおいては、とりわけ以下のポイントに注意:

  1. 潜在的に言い表したい用語(言語表現)に「なんとなく辿りつける」ように検索のアクセスポイントを適度に増やすこと。
  2. 複数の候補から1つに絞り込む意思決定に必要な判断材料を適度に提示すること。

そもそも「知らない用語」を探すことは、原理的に難しく、1.のポイントを本格的に達成することは厳しいですが、用語にまとわりついている(と想像できる)手がかりから、もしかしたらその用語にアクセスできるという可能性は残っており、その想像可能な手がかりをいかに配置・活用するかがここで問われています。

2.のポイントは、やっていることはIMEでの同音異義語の使い分け補助機能(例えば「図る」「計る」「測る」の語義説明のようなもの)に近いですが、ここでは「複数の可能な候補の中から、現実的にありうる用語を実際に選択する、という行為をいかに支援しうるか」という問いに言い換えられます。

1.と2.は、利用者(検索者)の側から見ると、異なる位相にある行為であり、個別に議論しうるテーマですが、提供者(開発者)の側から見ると、実は結構重なりが大きく、ほとんど(あくまで「ほとんど」ですが)似たようなアプローチで取り組める気がします。

用語(言語表現)を、いかようにでも再利用可能な形で切り出し集積するのではなく、その文脈・出自を付着させたまま集蔵することで、それに「思わず引っかかる」ことも、「自信を持ってふるい落とす」こともできるのではないでしょうか。

 

Top