Loading

新検索基盤の形態素解析について

公開日: Jan 31, 2024
説明
2015年4月15日に導入された新検索基盤で利用される「形態素解析」について説明します。
  • 検索処理ではレコード作成後に内部的に検索インデックスが作成されます。
  • 検索結果を得るためには、このインデックスが必要になります。
  • 検索インデックスは、レコード上の項目の値を元に、検索エンジンが利用するアルゴリズムを基準にトークン化します。

英語などは主にスペースや英数字ごとにトークン化される処理となっていますが、中国語、日本語、韓国語、タイ語 (CJKT) などの単語間にスペースのない東アジア言語の場合、 正確な検索結果を得るため、適切なトークン化が必要となります。 

新検索基盤では、このトークン化処理に変更され、 中国語、日本語、韓国語、タイ語 (CJKT) のトークン化にて、旧検索基盤で利用されていた「バイグラム」と呼ばれる方式から「形態素解析」という方式に変更されました。 
解決策
例として「東京都知事」という文字列がについて説明します。 

バイグラムを用いたトークン化処理と検索結果 
旧検索基盤が利用していたバイグラムでは、文字列を 2 文字ごとに分割してインデックスを作成します。「東京都知事」という文字列があった場合、「東京」「京都」「都知」「知事」と分割します。バイグラムの場合、「東京」で検索を行った場合、「東京都知事」を含むレコードが検索でヒットします。しかし、「京都」で検索を行った際にでも、「京都」というトークンがあるため、「東京都知事」を含むレコードが検索でヒットします。 

形態素解析を用いたトークン化処理と検索結果
形態素解析では、トークンを意味を持つ最小の単位に分割に分割します。「東京都知事」という文字列があった場合、「東京」、「都」、「知事」のように分割します。このように分割された場合、「東京」で検索を行った際は、バイグラムと同様に「東京都知事」を含むレコードが検索でヒットします。これに対して、「京都」で検索を行った場合、「東京都知事」を含むレコードでは、「京都」というトークンがないため、検索でヒットしません。

上記の変更により、より正確な検索結果を出力することが可能となりました。 

単語の区切り方について 
トークン化を行うアルゴリズムについては、内部ロジックとなるため公開されておりません。一般的な形態素解析解析自体の区切りのアルゴリズムを簡単に説明すると、基準となるアルゴリズムを元に、各単語の単語コスト、連結コスト、経路コストなどを算出し、最も低いコストを選択し単語分割が行なわれます。

関連記事
新検索基盤導入に伴うひらがな、カタカナ検索の動作変更について
ナレッジ記事番号

000386384

 
読み込み中
Salesforce Help | Article