(57)【要約】【課題】２つの文字列が同義語であるか否かを効率的に判定すること。【解決手段】同義語判定装置１０は、判定対象である第１文字列と第２文字列を取得する判定対象文字列取得部１２と、複数のウェブ文書を記憶するウェブ文書記憶部１４から、第１文字列に関連する第１関連テキストと第２の文字列に関連する第２関連テキストとを取得する関連テキスト取得部１６と、第１関連テキストにおける第２文字列の出現頻度と第２関連テキストにおける第１文字列の出現頻度とに基づいて、スコアを算出するスコア算出部２２と、スコア算出部２２により算出されるスコアに基づいて、第１文字列と第２文字列が同義語であるか否かを判定する同義語判定部２４と、を含む。【選択図】図１
2008293231.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得ステップと、
前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定ステップと、
を含むことを特徴とする同義語判定方法。
【請求項２】
請求項１に記載の同義語判定方法において、
前記関連テキスト取得ステップは、前記文書記憶手段から前記第１の文字列に関連する文書の少なくとも一部を前記第１のテキストとして取得し、前記文書記憶手段から前記第２の文字列に関連する文書の少なくとも一部を前記第２のテキストとして取得する、
ことを特徴とする同義語判定方法。
【請求項３】
請求項１または２に記載の同義語判定方法において、
前記同義語判定ステップは、
前記第１のテキストと前記第２のテキストに共通して出現する語である共通出現語を選出する共通出現語選出ステップを含み、
前記第１のテキストにおける前記各共通出現語の出現頻度と、前記第２のテキストにおける前記各共通出現語の出現頻度と、にさらに基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する、
ことを特徴とする同義語判定方法。
【請求項４】
請求項３に記載の同義語判定方法であって、
前記同義語判定ステップは、
前記共通出現語選出ステップで選出される共通出現語ごとに、前記第１のテキストにおける出現頻度と前記第２のテキストにおける出現頻度との合計値を算出する合計出現頻度算出ステップをさらに含み、
前記合計出現頻度算出ステップで算出される合計値が上位所定数に入る共通出現語の中に前記第１の文字列または前記第２の文字列が占める割合に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する、
ことを特徴とする同義語判定方法。
【請求項５】
請求項１から４のいずれかに記載の同義語判定方法であって、
前記文書は、ウェブ文書である、
ことを特徴とする同義語判定方法。
【請求項６】
複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得手段と、
前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定手段と、
を含むことを特徴とする同義語判定装置。
【請求項７】
複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得手段、
前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの文字列が同義語であるか否かを判定する同義語判定方法、同義語判定装置、およびプログラムに関する。
【背景技術】
【０００２】
従来、既知の用語とその同義語とが相互に関連づけられた同義語辞書（シソーラス、類義語集）と呼ばれるものがある。ここでいう同義語には、「ベートーヴェン」と「ベートーベン」、「引越」と「引っ越し」といったいわゆる表記ゆれの他に、「漫画」と「マンガ」（漢字の仮名表記）、「ロケーション」と「ロケ」、「短期大学」と「短大」（略語）、「タレント」と「芸能人」（同一概念の別表現）、などの類型がある。
【０００３】
この同義語辞書の用途は多岐にわたるが、たとえば、情報検索システムの中には、情報の検索漏れを低減するために、入力された検索語に同義語が存在するか否かを同義語辞書に基づいて判定し、存在する場合には当該検索語による検索結果とその同義語による検索結果の両方を取得するようにしているものがある。また、文書作成・編集システムでも、表記ゆれを検出または補正する機能を実現するために同義語辞書が使われている。
【０００４】
なお、特許文献１には、所与の同義語辞書から、特定の場所に関連した行動の同義語を抽出する同義語抽出システムが開示されている。
【特許文献１】特開２００６−３２３５９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の同義語辞書は人手により作成されていたため、新しく作られたまたは新たな用法ができた未知の用語（未知語、新語ともいう。）への対応が困難であった。
【０００６】
本発明は、２つの文字列が同義語であるか否かを効率的に判定することができる同義語判定方法、同義語判定装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る同義語判定方法は、複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得ステップと、前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定ステップと、を含むことを特徴とする。
【０００８】
本発明によれば、「同じ文書に出現しやすい」という同義語の特性を利用することにより、第１の文字列に関連するテキストに第２の文字列が出現する頻度と、第２の文字列に関連するテキストに第１の文字列が出現する頻度と、に基づいて、それら第１の文字列と第２の文字列が同義語であるか否かを判定する。このため、人手によることなく、２つの文字列が同義語であるか否かを効率的に判定することができる。
【０００９】
また、本発明の一態様では、前記関連テキスト取得ステップは、前記文書記憶手段から前記第１の文字列に関連する文書の少なくとも一部を前記第１のテキストとして取得し、前記文書記憶手段から前記第２の文字列に関連する文書の少なくとも一部を前記第２のテキストとして取得する。すなわち、本ステップでは、指定された文字列に関連する文書の全体を当該文字列に関連するテキストとして取得してもよいし、当該文書のうち当該文字列に関連する部分の抜粋や要約を当該文字列に関連するテキストとして取得してもよい。
【００１０】
また、本発明の一態様では、前記同義語判定ステップは、前記第１のテキストと前記第２のテキストに共通して出現する語である共通出現語を選出する共通出現語選出ステップを含み、前記第１のテキストにおける前記各共通出現語の出現頻度と、前記第２のテキストにおける前記各共通出現語の出現頻度と、にさらに基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する。この態様によれば、第１のテキストと第２のテキストに共通して出現する語の出現頻度をさらに考慮して同義語判定を行うため、より精度の高い同義語判定が可能となる。
【００１１】
また、本発明の一態様では、前記同義語判定ステップは、前記共通出現語選出ステップで選出される共通出現語ごとに、前記第１のテキストにおける出現頻度と前記第２のテキストにおける出現頻度との合計値を算出する合計出現頻度算出ステップをさらに含み、前記合計出現頻度算出ステップで算出される合計値が上位所定数に入る共通出現語の中に前記第１の文字列または前記第２の文字列が占める割合に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する。この態様によれば、第１の文字列と第２の文字列が、第１のテキストと第２のテキストにそれぞれ共通して出現し、かつ、その出現頻度が高い場合に、それら第１の文字列と第２の文字列が同義語であると判定されるため、より精度の高い同義語判定が可能となる。
【００１２】
また、本発明の一態様では、前記文書は、ウェブ文書である。この態様によれば、未知語（新語）を数多く含むウェブページ（たとえば、ウェブログや掲示板）内の文書のうち、第１の文字列に関連する部分と、第２の文字列に関連する部分と、における文字列の出現頻度に基づいて同義語判定を行うため、より精度の高い未知語（新語）の同義語判定が可能となる。
【００１３】
また、本発明に係る同義語判定装置は、複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得手段と、前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定手段と、を含むことを特徴とする。
【００１４】
また、本発明に係るプログラムは、複数の文書を記憶する文書記憶手段から、第１の文字列に関連する第１のテキストと、第２の文字列に関連する第２のテキストと、を取得する関連テキスト取得手段、前記第１のテキストにおける前記第２の文字列の出現頻度と、前記第２のテキストにおける前記第１の文字列の出現頻度と、に基づいて、前記第１の文字列と前記第２の文字列が同義語であるか否かを判定する同義語判定手段、としてコンピュータを機能させるためのプログラムである。
【００１５】
なお、上記プログラムは、コンピュータ読み取り可能な情報記録媒体に記憶されてもよく、情報記録媒体としては、たとえば、磁気テープ、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤ−ＲＯＭ、ＩＣカードなどを用いることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態を図面に基づいて詳細に説明する。
【００１７】
図１は、本発明の一実施形態に係る同義語判定装置１０の機能ブロック図である。同義語判定装置１０は、ＣＰＵなどのプログラム実行手段、メモリやハードディスク記憶装置などの記憶手段、キーボードやマウスなどの入力手段、およびモニタなどの表示手段、を含む公知のコンピュータであり、機能的には、同図に示すように、判定対象文字列取得部１２、ウェブ文書記憶部１４、関連テキスト取得部１６、出現頻度リスト作成部１８、高頻度共通出現語選出部２０、スコア算出部２２、同義語判定部２４を含んで構成されている。このうち、判定対象文字列取得部１２、関連テキスト取得部１６、出現頻度リスト作成部１８、高頻度共通出現語選出部２０、スコア算出部２２、同義語判定部２４が有する機能は、たとえば同義語判定装置１０のハードディスク記憶装置に記憶されたプログラムをＣＰＵが実行することにより実現される。
【００１８】
判定対象文字列取得部１２は、同義語判定の対象である２つの文字列（第１文字列、第２文字列）を、キーボードなどの入力手段またはネットワークを介して同義語判定装置１０に接続された他の装置から取得する。
【００１９】
ウェブ文書記憶部１４は、たとえばハードディスク記憶装置を含んで構成され、インターネットに接続された複数のウェブサーバ（図示せず）から収集されたウェブページ内の文書情報（以下単に「ウェブ文書」という。）および当該ウェブ文書を高速に検索するためのインデックス情報を複数記憶している。ウェブ文書記憶部１４に記憶されるウェブ情報には、未知語（新語）を含むウェブログ（ブログ）や掲示板への投稿記事、ニュース記事などが数多く含まれており、これらの情報は定期的に追加・更新されるようになっている。
【００２０】
関連テキスト取得部１６は、判定対象文字列取得部１２により取得される文字列（第１文字列、第２文字列）に関連するウェブ文書の少なくとも一部を当該文字列の「関連テキスト」（第１関連テキスト、第２関連テキスト）としてウェブ文書記憶部１４から取得する。ここで取得される関連テキストは、ウェブ文書そのものであってもよいし、当該ウェブ文書のうち当該文字列に関連する部分（たとえば、ウェブ文書の検索結果における各ウェブ文書の抜粋または要約）であってもよい。
【００２１】
出現頻度リスト作成部１８は、関連テキスト取得部１６により取得される関連テキスト（第１関連テキスト、第２関連テキスト）を所定の形態素解析アルゴリズムを用いて形態素（単語または自立語でもよい）に分解する。そして、第１関連テキストと第２関連テキストそれぞれについて、分解された形態素（名詞だけでもよい）ごとにその出現頻度を集計し、分解された形態素とその出現頻度との組合せからなる「出現頻度リスト」（第１出現頻度リスト、第２出現頻度リスト）を作成する。たとえば、文字列“ベートーヴェン”によるウェブ文書の検索結果（以下単に「ウェブ検索結果」という。）から作成される名詞別の出現頻度リストは、｛“国立音楽大学”：２，“自由”：１，“権限”：１，・・・，“ベートーベン”：２，“ベートーヴェン”：３３，・・・｝となり、文字列”ベートーベン”によるウェブ検索結果から作成される名詞別の出現頻度リストは、｛“父”：１，“青年”：１，“自由”：２，・・・，“ベートーベン”：３３，“ベートーヴェン”：１，・・・｝となる。
【００２２】
高頻度共通出現語選出部２０は、出現頻度リスト作成部１８により作成される第１出現頻度リストと第２出現頻度リストに共通して出現する形態素を「共通出現語」として選出し、選出された共通出現語とその出現頻度の組合せからなる「共通出現頻度リスト」を作成する。この共通出現頻度リストにおける各出現頻度は、第１出現頻度リストにおける各出現頻度と、第２出現頻度リストにおける各出現頻度と、の合計値である。さらに高頻度共通出現語選出部２０は、こうして作成された共通出現頻度リストにおいて、出現頻度が上位所定数（たとえば上位２位まで）に入る共通出現語を「高頻度共通出現語」として選出する。
【００２３】
図２は、判定対象文字列（“ベートーヴェン”と“ベートーベン”）それぞれによる２つのウェブ検索結果から高頻度共通出現語を選出する処理の一例を示す図である。同図に示すように、文字列“ベートーヴェン”によるウェブ検索結果と文字列“ベートーベン”によるウェブ検索結果から、それらに共通して出現する名詞（“ベートーヴェン”、“ベートーベン”、”自由”、・・・）が「共通出現語」として選出される。そして、それら共通出現語の中から、上記ウェブ検索結果における出現頻度が特に高い（出現頻度が１位と２位の）名詞が「高頻度共通出現語」として選出される。
【００２４】
スコア算出部２２は、高頻度共通出現語選出部２０により選出される高頻度共通出現語の中に判定対象文字列取得部１２により取得された第１文字列または第２文字列が占める割合に応じたスコアを算出する。具体的には、高頻度共通出現語の中に、第１文字列が含まれていればスコアに１を加算し（スコアＳ＝Ｓ＋１）、第２文字列が含まれていればさらに１を加算する（Ｓ＝Ｓ＋１）。そして、このスコアを判定対象文字列の数である２で割ることにより（Ｓ＝Ｓ／２）、０〜１に正規化されたスコア（０，０．５，または１）を得る。
【００２５】
同義語判定部２４は、スコア算出部２２により算出されるスコアに基づいて、判定対象文字列取得部１２により取得された第１文字列または第２文字列が同義語であるか否かを判定する。たとえば、スコアが１であれば同義語であると判定し、スコアが０．５または０であれば同義語ではないと判定する。
【００２６】
次に、同義語判定装置１０の動作を図３および図４に基づいて説明する。図３は、同義語判定装置１０による同義語判定処理を示すフロー図である。
【００２７】
同図に示すように、まず、判定対象文字列取得部１２が同義語判定の対象である第１文字列と第２文字列を入力手段または他の装置から取得すると（Ｓ１００）、関連テキスト取得部１６は、第１文字列によるウェブ検索結果である第１関連テキストと、第２文字列によるウェブ検索結果である第２関連テキストと、をウェブ文書記憶部１６から取得する（Ｓ１０２）。次に、出現頻度リスト作成部１８は、Ｓ１０２で取得された第１関連テキストと第２関連テキストから、それら各テキストに含まれる形態素（単語、自立語、または名詞でもよい）とその出現頻度との組合せからなる第１出現頻度リストと第２出現頻度リストをそれぞれ作成する（Ｓ１０４）。
【００２８】
次に、高頻度共通出現語選出部２０は、Ｓ１０４で作成された第１出現頻度リストと第２出現頻度リストに共通して出現する形態素を共通出現語として選出し、選出された共通出現語とその出現頻度の組合せからなる共通出現頻度リストを作成する（Ｓ１０６）。さらに、Ｓ１０６で作成された共通出現頻度リストにおいて、出現頻度が上位所定数（たとえば上位２位まで）に入る共通出現語を高頻度共通出現語として選出する（Ｓ１０８）。
【００２９】
Ｓ１０８で高頻度共通出現語が選出されると、スコア算出部２２は、その高頻度共通出現語の中にＳ１００で取得された第１文字列または第２文字列が占める割合に応じたスコアを算出する（Ｓ１１０）。ここで、このスコア算出処理を図４に基づいてより詳細に説明する。
【００３０】
同図に示すように、スコア算出処理では、まずスコア算出部２２が、スコアを０に初期化する（Ｓ２００）。次に、Ｓ１０８で選出された高頻度共通出現語の中に第１文字列が含まれるか否かを判定し（Ｓ２０２）、含まれる場合に限りスコアに１を加算する（Ｓ２０４）。同様に、Ｓ１０８で選出された高頻度共通出現語の中に第２文字列が含まれるか否かを判定し（Ｓ２０６）、含まれる場合に限りスコアに１を加算する（Ｓ２０８）。最後に、スコアを判定対象文字列の数である２で割ることにより、０〜１に正規化されたスコアを得る（Ｓ２１０）。
【００３１】
スコア算出処理が終わると、同義語判定部２４は、図３のＳ１１０（図４のＳ２１０）で得られたスコア（０，０．５，または１）に基づいて、Ｓ１００で取得された第１文字列または第２文字列が同義語であるか否かを判定する（Ｓ１１２）。
【００３２】
以上説明した同義語判定装置１０によれば、「同じ文書に出現しやすい」という同義語の特性を利用することにより、第１文字列に関連するウェブ検索結果（第１関連テキスト）と第２文字列に関連するウェブ検索結果（第２関連テキスト）に共通して出現する語であってその出現頻度が高い語（高頻度共通出現語）の中に、第１文字列または第２文字列が占める割合に基づいて、第１文字列と第２文字列が同義語であるか否かを判定する。このため、２つの判定対象文字列の少なくとも一方が未知語（新語）であっても、人手によることなく、それら２つの文字列が同義語であるか否かを効率的に判定することができる。
【００３３】
なお、本発明は、上記実施形態に限定されるものではなく、種々の変形実施が可能である。たとえば、上記実施形態では、同義語判定装置１０が複数のウェブ文書を記憶するウェブ文書記憶部１６を含んでいるが、同義語判定装置１０以外の装置がこの文書記憶機能を有していてもよい。また、記憶される文書は、ウェブ文書に限定されず、未知語（新語）を含み得る文書であればいかなる種類の文書であってもよい。
【００３４】
また、上記実施形態に係る同義語判定において、公知のアルゴリズムにより判定される判定対象文字列間の類似度（ｃｏｓｉｎｅ距離、Ｓｉｍｐｓｏｎ係数、Ｊａｃｃａｒｄ係数など）をさらに考慮して、スコアを算出（補正）してもよい。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施形態に係る同義語判定装置の機能ブロック図である。
【図２】２つのウェブ検索結果から高頻度共通出現語を選出する処理の一例を示す図である。
【図３】本発明の実施形態に係る同義語判定処理を示すフロー図である。
【図４】本発明の実施形態に係るスコア算出処理を示すフロー図である。
【符号の説明】
【００３６】
１０  同義語判定装置、１２  判定対象文字列取得部、１４  ウェブ文書記憶部、１６  関連テキスト取得部、１８  出現頻度リスト作成部、２０  高頻度共通出現語選出部、２２  スコア算出部、２４  同義語判定部。
【図１】
2008293231.tif 000003
【図２】
2008293231.tif 000004
【図３】
2008293231.tif 000005
【図４】
2008293231.tif 000006