Office 365に於けるキーワード検索

株式会社エアー 吉井明夫

Office365のコンプライアンスソリューションにはメールの電子情報開示(eDiscovery)、アーカイブ、監査の機能が統合されています。利用者がメールを削除、加工してもアーカイブ領域や追加費用の心配をせずに長期に亘ってメールとその更新履歴を保存できます。ところが保存したメールは「日本語検索がうまくできないので今のところはただ保管しているだけ」という声を聞きます。本Tipではどのような検索ができないか、使い方でどこまで解決できるかについて紹介します。より詳しい検索テクニックについて当社のホームページで解説しています。

1.コンテンツ検索の電子情報開示ツールは日本語キーワード検索に弱いというのは本当でしょうか

東京都、京都大学、経産省、民進党やアベノミクスをキーワードとして検索してもあるはずのメールが見つかりません。民営で検索しても民営化についてのメールが見つかりません。いろいろ試してみるとカレーライスは検索できてもライスカレーは検索できないようです。これらの結果だけからも漢字で2文字を超える単語、略語、カナの単語や新しい単語には何か問題がありそうです。

そこで(東京AND 都)や(京都 AND 大学)のように分解した検索条件を与えると不必要なメールを含む大量のメールが見つかります。しかし(経産 AND省)、(民進 AND党)には反応がありません。アベノミクスは区切り方を変えていろいろ挑戦してもなかなか結果が得られません。

次項では自然言語処理の方法から見た、原因を考察します。

 

2.文書の検索にはどのような自然言語処理の手法があり、
それぞれにはどのような特徴があるのでしょう

欧米語のようなワードの切れ目がない日本語で検索用のインデックスを作るには形態素解析という手法で文章を分かち書きする方法と、言語的な分析はせずに先頭から1文字ずつずらしてN文字単位で区切って分解する方法(N-Gram)があります。他にSuffix Array(接尾辞配列)という方法もあります。

形態素解析では「東京都知事選挙」を「東京/都/知事/選挙」と区切るほか「東京/都知事/選挙」「東京都/知事/選挙」などいくつかの区切り方があります。N-Gramでは「東京/京都/都知/知事/事選/選挙」と機械的に区切ります(これは2文字で区切るbi-gram方式です)。いずれの方法でも分解結果で検索用のインデックスを作り、このインデックスを用いて検索します。

形態素解析でもし「東京都」と「知事」に分解されていると「都知事」で検索しても見つかりませんが、N-Gram方式なら検索キーワードの「都知事」を「都知」と「知事」に分けて調べると見つかります。ではN-Gram方式を採用すればよいではないかと考えますが、都合の悪いことも起こります。

ウエブ検索などで「京都の名刹」「京都の美術館」を調べたときに東京都にあるお寺のホームページや東京都立の美術館まで見つかってしまいます。これは「東京都」の中に「京都」が含まれているからです。これを適合率が低い(検索ノイズが多い)と言います。

近年、自動翻訳やビッグデータ解析のために自然言語解析ツールである形態素解析技術が飛躍的に向上しました。その技術を日本語検索に使い、適合率をあげることが多くなりました。N-Gramは再現率が高いが(検索もれがない)適合率が低いと言われています。

しかし、形態素解析技術は言語学の分野から発展し、現在は自動翻訳の分野での利用が多いことから検索を目的として使うにはいくつかの問題があります。

第一に自動翻訳ではできるだけ自然な訳語を見つけるために複合語も多く辞書に登録し、検索キーワードと最長一致するものを優先的に採用します。たとえば東京と合わせて東京都、東京オリ・パラなども登録します。この場合単純な方法では「東京都」でインデックスが作られた文書は「東京」では検索できません。

 第二に新語、未知語や略称の問題があります。アベノミクスや新進党は最近できた単語、固有名詞ですが形態素解析で分解する時点に参照した国語辞典にはありませんでした。現在は岩波国語辞典第6版(約10年前に編集)を元にした解析用辞書がよく使われています。「新進党=New Frontier Party」を追加辞書登録すれば和英翻訳精度が上がりますが、全文検索の場合は新語の辞書登録の前後で検索の継続性がなくなります。未登録語の民進党は最小単位の1文字ごとに「民/新/党」と分割されているようです。立憲民主党は普通名詞の組み合わせとして「立憲/民主/党」と分割されます。アベノミクスはまだ辞書に登録されていないので意味ある名詞に分割されて「アベ/ノミ/クス」です。2007年にできた防衛省は意味のある最少単位で分解して「防衛/省」ですが、明治初期の官制にある外務省は外務と省の分割は不要です。1000年以上の歴史がある大蔵省はもちろん分割不要です。

3.Office365のコンテンツ検索でうまく日本語を検索するには

文書のインデックスを作るときはMicrosoft社は自社の日本語ワードブレーカーを使用します。仮に文書にある「東京都」が「東京/都」と分割されてインデックスが作られていると「東京都」というキーワードで検索しても検索クエリのワードブレーク結果とインデックスのワードブレーク結果が一致せず、コンテンツがヒットしません。うまく検索するには推測を交えて検索キュアリを分割する必要があります。但し、インデックス作成時のワードブレークを正確に再現することはできないので、ヒット率を少し上げるにすぎません。

  1. 2文字を超える漢字の単語は後述の例外を除いて2文字以下に分解します。
    「会計/検査/院」「東京/大学」「京都/府」です。
  2. 人名は姓と名を分けます。
    「大導寺/信輔」「柳/宗悦」「ドナルド/トランプ」です。
  3. カタカナの外来語
    原語で1ワードの単語はそのまま、「セキュリティ」「バイオメトリクス」「データベース」ですが例外が多いようです。
  4. 英数字の商品番号やカード番号などは英語のワード分解に準じます。
    H-49D300や3456-1234-9012はそのままで検索できますが、間のハイフンが区切り文字と解釈されるのでTHや49D300でも検索可能です。また英字は大文字、小文字を同一視、英数字は全角、半角の同一視も行われますが参拾弐萬圓と320000円は同一視されません。
  5. 分割すると意味が不明瞭になるものは3文字以上でも分割しません。
    大統領、贈収賄、明後日、原水爆、輸出入などです。
  6. 複数に分割した単語はANDよりNEARという検索演算子を使ってキーワードを結合します。
    (京都 AND 大学)では「京都には50以上の大学がある」「京都美術工芸大学」を含むメールも選択されますが(京都NEAR(0)大学)とすると2つのワードの間に0ワードがある場合のみ選択されます。
  7. 形容詞、副詞や動詞も検索キーに使えますが、活用形や時制で語尾が変化しますので、語幹に前方一致を表す*(アスタリスク)を加えます。
    (大き*)は「大きな」「大きい」「大きく」「大きければ」等が対象になります。動詞は基本形でインデックス化されてないので語幹に*をつけますが(取*)などはノイズが多すぎて使い物にならないでしょう。

4.メールアーカイブ、メール監査にOffice365を賢く使いましょう

過去のメールは自動的にアーカイブに移動され、訴訟ホールドを設定すれば証拠として認められ、訴訟終了まで安全に保存できます。日本語全文検索に制約はあるものの、送受信人メールアドレスや送受信日時、含まれるキーワードで検索対象が絞り込めます。

eDiscoveryでは一定期間を区切って数十人の関係者のメールを閲覧し、調査します。対象メール数は数十万に及ぶこともあるので、キーワードを指定して検索し、無関係なメールを除外します。法律的な判断が必要なため、内容の調査は弁護士が中心になって行います。調査が完了すれば証拠開示のためにPSTファイル等でダウンロードします。このPSTファイルをOutlookにインポートすれば訴訟当事者がオフラインで閲覧できます。

オンプレミスのメールアーカイブをお使いの方は検索速度や機能の制約とアーカイブ費用、安全性などのメリットとのトレードオフを考えてOffice365の使用をお考えください。