DocuSleuth の基本的な考え方は厳密すぎないということです。システムを作る際、どうしても厳密に物事を考えてしまうところがありますが、実際のところ厳密であるべき所と厳密でなくても良いところの両方があります。この二つを混同しないというのが厳密すぎないという考え方の具体的な内容となります。
これは、当たり前と思う方も多いかもしれません。実際当たり前です。ですが、厳密であるべき所・厳密でなくても良いところの区別というものが実はとても難しい問題で、この区別を間違えるとシステムはあっという間に破綻してしまいます。この二つを適切に分けるということが、システムを作り上げる上での基礎となっています。
さて、この考え方を用いたとき、あいまい検索というものをどう考えるべきかという問題に直面します。システムが厳密に作らなければいけないが、判定は厳密であってはいけない。ここがポイントです。
厳密である必要がないのは検索で用いる単語の比較です。
ですから、単語を厳密に一致するものを調べるのではなく、少しだけ余裕を持たせて一致するものを探すようにしています。これが、一番肝心なところです。
こうすることで利点が生まれます。具体的には以下です。
文章中には、キーとなる単語に類似した単語も多数含まれるケースが多い。類似した単語も加味することで、検索キーの効果が数倍になり、検索精度が向上する。
つまり、キーワード検索よりもトータルで良い検索結果が得られるようになります。もちろん、内部のスコア計算式はもうちょっと複雑なことをしていますが、イメージ的にはこれで十分です。
単語についてはあいまいに、結果については厳密に。これが DocuSleuth の厳密すぎない考え方の根幹となっています。
厳密なところは、例えばファイルの権限です。ここは誤ると致命的な問題となります。また、DocuSleuth で管理する場合、管理の複雑化を招き、結果として使い勝手の悪いシステムになります。
ですから、DocuSleuth では、権限管理は既にあるシステムに任せるという選択肢をとりました。要は、今のファイルのアクセス権限がそのまま検索結果に反映されるということです。
このように、厳密であるべき所と厳密でなくても良いところのバランスを取りつつ開発することで、現在の DocuSleuth が誕生しました。
DocuSleuth は誕生して間もないシステムです。ですから、今後問題点なども発生するかもしれません。ですが、基本方針を維持しつつ、今後も皆様の要望におこたえしながら進化をしていく予定です。