ページの本文へ

Hitachi

ソフトウェア

第1回 「探す」ということ

このコラムでは、「高速全文検索」 というキーワードをテーマに
いろいろなことをできるだけわかりやすくをモットーに進めていきたいと思っています。
今回は初めの第一歩ということで、「検索」=「探す」 がテーマです。

インターネットの普及により、「検索」 といった言葉がすっかり一般的になってきました。
わからないことや調べたいことがあるとインターネットで 「検索」 するといったことが
当たり前の時代になっています。

インターネットで検索する時は通常、

1.わからない/調べたいキーワードを入力する。
2.「検索」ボタンを押す。

という流れになっているかと思います。

ここでみなさんはインターネットで 「検索」 する時、
「これって一体どうやっているんだろう?」とふと不思議に思ったことはありませんか?
この 「検索」=「探す」 という行為なんですが、実はけっこう大変なんです。
それではどういったところがけっこう大変なんでしょうか?

文章というものは大雑把に言うと次の2つの要素から構成されています。

単語 : いわゆるそれだけで意味を成すもの。
      実際はもっと細かく名詞、動詞、形容詞というふうに分類されますが、
      ここでは簡単に 「単語」 と表現します。

接続語 : いわゆるそれだけでは何のことかさっぱりわからないもの。
       例えば「が」「で」「の」といったもの。

一般的にキーワードというものはこの例で言う単語に分類されますが、
この単語を認識するのが実はけっこう大変なのです。

ここでちょっと英語文の場合を考えてみます。

This is the "High speed text search engine" of Hitachi.

この例でわかるように英語文の最大の特長は 「必ず単語に分かれている」 です。
単語と単語の間には必ず空白が置かれています。また、文の途中に改行が入る場合には
"-"でつないで、「この単語はまだ続いていますよ〜」 といったフォローまでしてくれています。

ところが日本語文の場合ではどうでしょう?

これが日立の 「高速全文検索エンジン」 です。

「、」や「。」といった句読点で分割されているとはいえ、
単語という単位では全く分かれていないと言ってよいでしょう。
キーワードを検索する場合、この文章を 「単語に分解する」 といったところが
実はけっこう大変なのです。

次回、日立は日本語文をどのようにして単語に分解しているのかをお話します。