単語辞書を使う
前回(関連記事)説明した2つの分かち書きアルゴリズムは、「スペース(空白文字)」「文字の種類」という、文字列の「字面」のみに頼ったものでした。一応、「人間の都合」を反映してはいるのですが、まだまだ不十分です。
「単語」という「意味のまとまり」の根拠が何だったのか、もう一度思い出してみましょう。そう、「みんなの合意」という、あやふやな根拠でしたね。偉大な先人たちは、ことばについての「みんなの合意」を明文化するために、とっておきの道具「辞書」を発明しました。いろいろな種類の辞書を使えば、世の中にどんな単語が存在するのか、私たちはすぐに調べられます。
辞書も文書の一種なので、当然パソコンに格納できます。たとえば、「自然言語処理」「面白い」という単語が、あらかじめ辞書としてパソコンに与えられているとしましょう。「自然言語処理は面白い」という文から、辞書を使って単語を抜き出すアルゴリズムを考えてみてください。以下に1つの例を示します。
辞書に含まれる単語をあらかじめすべてハッシュ表(関連記事=第4回)に格納しておきます。アルゴリズムは、文の先頭の文字「自」をスタート地点として、「自」「自然」「自然言」「自然言語」「自然言語処」「自然言語処理」……「自然言語処理は面白い」という文字列を順番に取り出し、それぞれの文字列がハッシュ表の中に存在するかをすべて調べます。その結果、「自然言語処理」がハッシュ表の中に見つかります。アルゴリズムは、見つかった単語「自然言語処理」を単語として採用し、次のスタート地点を直後の「は」 にしてふたたび同じ処理を繰り返していきます。最終的に、「自然言語処理」「面白い」を単語として切り出せました。