(57)【要約】  【課題】  所定の文字数以下で、音韻的に繋がりが良く、お互いに区別し易い略語を生成することができる略語生成装置を提供する。  【解決手段】  略語生成装置１は、略語の生成対象となる元文字列を構成する形態素またはその一部からなる候補文字列の集合を生成し、その候補文字列の集合を元文字列のそれぞれの形態素について、候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、候補文字列が元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数として表す。略語生成装置１は、状態変数を変数とする目的関数であって、（１）候補文字列の長さが長いほど値が小さくなり、（２）候補文字列の長さが上限値を超えると値が最小値を取り得ないように設定され、（３）候補文字列に含まれるモーラの親和性が高いほど値が小さくなる目的関数の値を最小にする候補文字列を候補文字列の集合の中から求め、求めた候補文字列を出力する。【選択図】  図２
2014191490.tif 000002
【特許請求の範囲】
【請求項１】
略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力する入力部と、
前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出する構成要素分析部と、
前記構成要素分析部にて抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表す略語候補生成部と、
略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータを記憶したモーラ親和性データ記憶部と、
前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求める最適解探索部と、
前記最適解探索部で求めた候補文字列を出力する出力部と、
を備える略語生成装置。
【請求項２】
前記最適解探索部は、前記目的関数を最小にする候補文字列に加え、前記目的関数を最小にする方から所定個数の候補文字列を求め、
前記出力部は、所定個数の候補文字列と、それに対応する前記目的関数の値を出力する請求項１に記載の略語生成装置。
【請求項３】
前記入力部は、略語の生成対象となる複数の元文字列を入力し、
前記目的関数は、前記（１）〜（３）に加えて、（４）前記元文字列に対応する候補文字列の間のモーラの類似度が低いほど値が小さくなる目的関数であり、
前記最適解探索部は、前記元文字列に対応する候補文字列の組のうち、前記目的関数を最小にする組を求め、
前記出力部は、前記候補文字列の組を出力する請求項１に記載の略語生成装置。
【請求項４】
前記最適解探索部は、前記目的関数を最小にする候補文字列に加え、目的関数を最小にする方から所定個数の候補文字列の組を求め、
前記出力部は、所定個数の候補文字列の組と、それに対応する前記目的関数の値を出力する請求項３に記載の略語生成装置。
【請求項５】
前記目的関数における候補文字列間の類似度の計算には、レーベンシュタイン距離を用いる請求項３または４に記載の略語生成装置。
【請求項６】
前記目的関数は、候補文字列に含まれる形態素間のモーラ親和性と形態素内のモーラ親和性を計算する請求項１乃至５のいずれかに記載の略語生成装置。
【請求項７】
前記略語候補生成部は、元文字列に含まれる形態素の順序を保った候補文字列の集合を生成する請求項１乃至６のいずれかに記載の略語生成装置。
【請求項８】
前記略語候補生成部は、元文字列に含まれる最初の形態素を先頭に持つ候補文字列の集合を生成する請求項１乃至７のいずれかに記載の略語生成装置。
【請求項９】
前記最適化探索部は、最急降下法、モンテカルロ法、または、アニーリング法を用いて、目的関数を最小にする候補文字列を求める請求項１乃至８のいずれかに記載の略語生成装置。
【請求項１０】
略語生成装置によって略語を生成する方法であって、
前記略語生成装置が、略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力するステップと、
前記略語生成装置が、前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出するステップと、
前記略語生成装置が、抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表すステップと、
前記略語生成装置が、略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータをモーラ親和性データ記憶部に記憶するステップと、
前記略語生成装置が、前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求めるステップと、
前記略語生成装置が、求めた候補文字列を出力するステップと、
を備える略語生成方法。
【請求項１１】
略語を生成するためのプログラムであって、コンピュータに、
略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力するステップと、
前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出するステップと、
抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表すステップと、
略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータをモーラ親和性データ記憶部に記憶するステップと、
前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求めるステップと、
求めた候補文字列を出力するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単語、文または名称等の略語を生成する装置に関する。
【背景技術】
【０００２】
与えられた単語（あるいは文字列）の略語（あるいは短縮文字列）を生成する従来技術として、もっとも単純には、単語（以下、単語に対して文字列などの注釈は省略するが、文字列も含むものとする）の先頭から指定の長さまでを残す方法（特許文献１）がある。また、略語辞書を用意する方法（特許文献２）、単語短縮のルールを用意する方法（特許文献３）、確率モデルによる方法（特許文献４、５）なども知られている。
【０００３】
特許文献２における略語辞書を用意する方法では、与えられた単語が略語辞書に登録されている場合に、略語を生成する。また、略語除外辞書も用意されており、略語除外辞書に登録された単語は略語が生成されない。
【０００４】
特許文献３に記載されたルールベースでの略語生成の手法では、まず単語をより基本的な構成要素（例えば、形態素など）へ分割する。その各基本構成要素の属性や単語内の基本要素数などに応じて、各基本要素から何文字を使って、略語を生成するという規則が定められている。
【０００５】
特許文献４に記載された方法では、略語を生成するための尤度モデルが定められている。その尤度モデルは、単語の基本構成要素としてモーラが採用されており、各モーラの単語内での位置、モーラ長、連続したモーラの音韻的な繋がり易さに関する尤度が与えられており、可能な略語全体の中から、尤度が最大となるものを選択する。
【０００６】
特許文献５には、モーラ列に対して、略語に用いるか否かをラベルとし、ラベルをConditional Random Field(CRF)という確率モデルによって定める方法が記載されている。この方法では、事前に学習データとして単語とその略語の組みを複数個用意し、学習データによって確率モデルのパラメタを決定する。このようにすることで、学習データにない一般の単語であっても、略語を生成することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−２２７３１３号公報
【特許文献２】特開２００３−３３３１６１号公報
【特許文献３】特開平１１−２７２７０１号公報
【特許文献４】特許第３７２４６４９号公報
【特許文献５】国際公開番号Ｗ０２００９／０４１２２０
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１のように、単純に単語の先頭から指定の長さまでを残す方法では、略語の長さ制限は容易に満たすことができるが、当然、異なる単語から同じ略語が生成されてしまうという問題がある。例えば、複数の単語の組において、各単語から略語を生成する場合、生成された略語の組において、それらがお互いに識別不可能な場合が頻発することになる。
【０００９】
特許文献２にある方法では、辞書に登録されていない単語に関しては略語が生成できないという問題がある。また、予め略語の長さが決められない場合には、そもそも辞書が略語の長さの条件を満たすように用意することができないという問題もある。あるいは、長さの条件を変えて複数の略語辞書を用意しなければならず、非常に多くの人手を要する。
【００１０】
特許文献３にある方法では、より多くの単語に関して略語を生成することが可能ではあるが、やはり略語の長さに関する条件を後で変更することが難しいという問題がある。仮に、極端な場合として長さ１あるいは２の略語を生成するルールを作っておくことも可能ではあるが、音韻的に繋がりの良い略語が生成されるとは限らない。また、複数の単語の組が与えられた場合に、お互いに区別し易いような略語が生成されるとは限らず、お互いを識別し難い略語からなる組を生成してしまうという問題がある。
【００１１】
特許文献４、５に記載された方法では、音韻的な繋がりの良い略語を生成できるが、やはり、略語の長さを制限したり、あるいは、単語の組に対して生成される略語がお互いに区別し易いように生成するというような条件を満たすことができないという問題がある。また、略語の生成において、単語の構成要素の順序を入れ替えられることがしばしば起こる。例えば、「牛丼梅田」という単語が、「梅牛」のように略されることがある。特許文献４，５の手法では、そのような略語を扱うことができない。
【課題を解決するための手段】
【００１２】
本発明の略語生成装置は、略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力する入力部と、前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出する構成要素分析部と、前記構成要素分析部にて抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表す略語候補生成部と、略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータを記憶したモーラ親和性データ記憶部と、前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求める最適解探索部と、前記最適解探索部で求めた候補文字列を出力する出力部とを備える。
【００１３】
元文字列の形態素またはその一部から構成した候補文字列の集合の中から、目的関数を最小にする候補文字列を求める方法により、目的関数を最小にするような条件、すなわち、上限値以下の文字数で、音韻的に繋がりの良い略語を生成することができる。なお、前記最適化探索部は、最急降下法、モンテカルロ法、または、アニーリング法を用いて、目的関数を最小にする候補文字列を求めてもよい。
【００１４】
本発明の略語生成装置において、前記最適解探索部は、前記目的関数を最小にする候補文字列に加え、前記目的関数を最小にする方から所定個数の候補文字列を求め、前記出力部は、所定個数の候補文字列と、それに対応する前記目的関数の値を出力してもよい。この構成により、複数の略語の中から適切な略語をユーザに選択させることができる。
【００１５】
本発明の略語生成装置において、前記入力部は、略語の生成対象となる複数の元文字列を入力し、前記目的関数は、前記（１）〜（３）に加えて、（４）前記元文字列に対応する候補文字列の間のモーラの類似度が低いほど値が小さくなる目的関数であり、前記最適解探索部は、前記元文字列に対応する候補文字列の組のうち、前記目的関数を最小にする組を求め、前記出力部は、前記候補文字列の組を出力してもよい。
【００１６】
このように複数の元文字列に対応する候補文字列の間のモーラの類似度が低いほど値が小さくなる目的関数を最小にする候補文字列を求めることにより、上限値以下の文字数で、音韻的に繋がりが良く、お互いに区別し易い略語の組を生成することができる。なお、前記目的関数における候補文字列間のモーラの類似度の計算には、レーベンシュタイン距離を用いてもよい。
【００１７】
本発明の略語生成装置において、前記最適解探索部は、前記目的関数を最小にする候補文字列に加え、前記目的関数を最小にする方から所定個数の候補文字列の組を求め、前記出力部は、所定個数の候補文字列の組と、それに対応する前記目的関数の値を出力してもよい。この構成により、複数の略語の組の中から適切な略語をユーザに選択させることができる。
【００１８】
本発明の略語生成装置において、前記目的関数は、候補文字列に含まれる形態素間のモーラ親和性と形態素内のモーラ親和性を計算してもよい。
【００１９】
本発明の略語生成装置において、前記略語候補生成部は、元文字列に含まれる形態素の順序を保った候補文字列の集合を生成してもよい。
【００２０】
このような条件を有する候補文字列の集合の中から略語を探索することにより、探索の範囲が限定されるので計算処理が容易になると共に、多くの略語においては、元文字列の形態素の順序は保持されることから、適切な略語を求めることができる。
【００２１】
本発明の略語生成装置において、前記略語候補生成部は、元文字列に含まれる最初の形態素を先頭に持つ略語候補を生成してもよい。
【００２２】
このような条件を有する候補文字列の集合の中から略語を探索することにより、探索の範囲が限定されるので計算処理が容易になると共に、元文字列の最初の形態素が略語においても最初に用いられることが多いから、適切な略語を求めることができる。
【００２３】
本発明の略語生成方法は、略語生成装置によって略語を生成する方法であって、前記略語生成装置が、略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力するステップと、前記略語生成装置が、前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出するステップと、前記略語生成装置が、抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表すステップと、前記略語生成装置が、略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータをモーラ親和性データ記憶部に記憶するステップと、前記略語生成装置が、前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求めるステップと、前記略語生成装置が、求めた候補文字列を出力するステップとを備える。
【００２４】
本発明のプログラムは、略語を生成するためのプログラムであって、コンピュータに、略語の生成対象となる元文字列と、生成すべき略語の長さの上限値を入力するステップと、前記元文字列を形態素に分解し、分解した形態素から機能語を除いた形態素を抽出するステップと、抽出された形態素またはその一部を組み合わせて構成される候補文字列の集合を生成し、前記元文字列のそれぞれの形態素について、前記候補文字列がその一部を含むか否かを示す第１のインジケータ関数と、前記候補文字列が前記元文字列のそれぞれの文字を含むか否かを示す第２のインジケータ関数とを状態変数とし、前記集合に含まれる前記候補文字列を前記状態変数で表すステップと、略語の事例データを用いた学習によって求めた略語内で任意の二つのモーラが並ぶ可能性を表すモーラ親和性のデータをモーラ親和性データ記憶部に記憶するステップと、前記状態変数を変数とする目的関数であって、（１）前記候補文字列の長さが長いほど値が小さくなり、（２）前記候補文字列の長さが前記上限値を超えると値が最小値を取り得ないように設定され、（３）前記候補文字列に含まれるモーラについて、前記モーラ親和性データ記憶部に記憶されたデータに基づいて計算されるモーラの親和性が高いほど値が小さくなる目的関数、の値を最小にする候補文字列を前記候補文字列の集合の中から求めるステップと、求めた候補文字列を出力するステップとを実行させる。
【００２５】
本発明の方法及びプログラムも、上記した略語生成装置と同様に、上限値以下の文字数で、音韻的に繋がりの良い略語を生成することができるという効果を有する。なお、上記した略語生成装置の各種の構成を本発明の方法及びプログラムに適用することができることは言うまでもない。
【発明の効果】
【００２６】
本発明によれば、元文字列から、上限値以下の文字数で、音韻的にも繋がりの良い略語を生成することが可能となり、かつ、元文字列が複数の場合には、各略語がお互いに区別し易い略語となるようにすることができる。結果として、より分かり易く自然な文章の簡潔化、データリストの簡潔で区別しやすい表示が可能な情報提供システムの実現、略語からの単語推定による情報抽出精度の向上、情報検索における効果的な検索拡張、音声認識システムなどでは、認識率の高い音声コマンドリストを生成することができるようになるという効果がある。
【図面の簡単な説明】
【００２７】
【図１】候補文字列の生成について説明するための図である。
【図２】本実施の形態における略語生成装置の構成を示す図である。
【図３】本実施の形態の略語生成装置のハードウェアを示す図である。
【図４】サポートベクトルマシンによる学習を模式的に示す図である。
【図５】略語生成装置が、候補文字列の集合を生成するまでの動作を示す図である。
【図６】略語生成装置が、候補文字列の集合から略語を決定して出力する動作を示す図である。
【図７】ハミルトニアン最適化の処理の詳細を示す図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態の略語生成装置について図面を参照して説明する。以下では、複数の元文字列の組に対する略語の組の生成について説明するが、一の元文字列の略語生成については、一つのみからなる元文字列を考えればよい。「元文字列」は、略語の生成対象となる文字列である。また、元文字列には、複数の語からなる複合語、文章、単語などが含まれる。
【００２９】
［概略説明］
最初に、実施の形態の略語生成方法の概略について説明する。本実施の形態の略語生成方法は、所定の文字数以下で、音韻的な繋がりが良く、かつ、元文字列が複数の場合には、それに対応する略語の組において、お互いに区別し易い略語を生成するものである。
【００３０】
実施の形態の略語生成方法では、まず、入力された元文字列の構成要素を分析して、元文字列に含まれている形態素または形態素の一部を使って、略語の候補となる複数の候補文字列を生成する。候補文字列の集合は、形態素または形態素の一部のすべての組合せからなる。
【００３１】
図１は、候補文字列の生成について説明するための図である。図１では、「地鶏の唐揚げ」を元文字列の例としている。「地鶏の唐揚げ」を形態素に分解すると、「地」「鶏」「の」「唐」「揚げ」となる。このうち「の」は、機能語である。機能語とは、名詞や動詞などの内容語と共に用いられ、それらの文法的機能を示す語である。例えば、助動詞、冠詞、指示詞、前置詞、接続詞などが機能語である。本実施の形態では、機能語を除外した形態素を元文字列の構成要素として決定する。なお、本書では、日本語の略語を生成する場合を例としているが、本発明は、日本語に限らず、他の言語における略語の生成に用いることができる。
【００３２】
次に、形態素をさらに文字に分解する。ここでは、「揚げ」という形態素は「揚」「げ」に分解される。次に、分解して求めた形態素および形態素の一部を組み合わせて、候補文字列を生成する。後に詳述するが、本実施の形態では、生成された候補文字列を、元文字列に含まれる各形態素またはその一部を含むか否かを示すインジケータ関数、元文字列に含まれる文字を含むか否かを示すインジケータ関数によって表す。図１に、その例を示している。候補文字列の中に元文字列の形態素ｐiが含まれるか否かをμで表しているが、例えば、「地鶏揚」という候補文字列は、元文字列の「地」（１番目の形態素）、「鶏」（２番目の形態素）、「揚げ」（４番目の形態素）の一部である「揚」を含んでいるので、μ＝｛１，１，０，１｝となる。また、候補文字列の中に元文字列の文字ｒiが含まれるか否かをξで表しているが、例えば、「地鶏揚」という候補文字列は、元文字列の「地」（１番目の文字）、「鶏」（２番目の文字）、「揚」（４番目の文字）を含んでいるので、ξ＝｛１，１，０，１，０｝となる。
【００３３】
略語生成方法は、候補文字列（の状態変数）を変数とし、（１）候補文字列の長さが長いほど値が小さくなり、（２）候補文字列の長さが上限値を超えると値が極めて大きくなり、最小値を取り得ないように設定され、（３）候補文字列に含まれるモーラの親和性が高いほど値が小さくなり、（４）元文字列に対応する候補文字列の間のモーラの類似度が低いほど値が小さくなるような目的関数を有している。本書では、この目的関数を「ハミルトニアン」という。なお、「モーラ」とは、音韻上の単位である。略語生成装置は、モーラを定義したデータベースであるモーラ定義部（図２、符号２７参照）を有している。
【００３４】
略語生成方法は、目的関数に対して候補文字列を順次代入し、目的関数の値が最小となるような候補文字列を求める。元文字列が複数の場合には、目的関数を最小にする候補文字列の組を求める。候補文字列の集合が大きい場合には、全ての候補文字列を代入する総当たり方式ではなく、最急降下法や、モンテカルロ法、アニーリング法などの手法を用いて、最適解を探索することとしてもよい。
【００３５】
なお、候補文字列の集合を生成する際に、略語の上限値を満たす候補文字列だけを生成することが可能であり、このような方法を採用してもよい。ただし、本実施の形態では、目的関数を（２）候補文字列の長さが上限値を超えると値が極めて大きくなり、最小値を取り得ないように設定することで、上限値の制約条件を目的関数に含めることとしている。これにより、目的関数を解析的に解くことができるので、上述した各種の最適解探索手法を適用することが可能となる。
【００３６】
本実施の形態の略語生成方法は、以上の方法によって、元文字列に対する略語を生成し、生成した略語を出力する。
【００３７】
［構成・動作］
図２は、本実施の形態における略語生成装置１の構成を示す図である。
略語生成装置１は、元文字列および略語の上限値を入力する入力部１０と、入力された元文字列の構成要素を分析する構成要素分析部１１と、構成要素の分析結果に基づいて略語の候補となる候補文字列の集合を生成する略語候補生成部１５と、候補文字列の中から最適の略語を探索するハミルトニアン最適解探索部１６と、探索された略語を出力する出力部１９とを有している。
【００３８】
入力部１０は、例えばキーボードやマウスなどの入力手段である。また、入力部１０は、例えば、文章などが記載された電子データを読み取る手段であってもよい。出力部１９は、例えば、ディスプレイやスピーカである。
【００３９】
図３は、本実施の形態の略語生成装置１のハードウェアを示す図である。略語生成装置１は、ＣＰＵ３０、ＲＡＭ３１、ＲＯＭ３２、キーボード３４、マウス３５、ディスプレイ３６、スピーカ３７、ハードディスク３８、通信部３９がデータバス４０によって接続されたコンピュータによって構成される。ＣＰＵ３０が、ＲＯＭ３１に書き込まれたプログラム３２に従って演算処理を実行することにより、以下に説明する略語生成装置１の機能が実現される。このようなプログラム３２は、本発明の範囲に含まれる。
【００４０】
構成要素分析部１１は、形態素分析部１２と、機能語抽出部１３とを有している。形態素分析部１２は、図１で説明したように、元文字列を形態素に分解する機能を有している。機能語抽出部１３は、分解された形態素から機能語を抽出する機能を有している。機能語抽出部１３は、日本語の機能語を定義した機能語定義部１４を有している。機能語抽出部１３は、機能語定義部１４を参照して、分解された形態素の中から機能語を抽出する。構成要素分析部１２は、元文字列を分解して得られた形態素から機能語を除外し、内容語からなる形態素を元文字列の構成要素として求める。
【００４１】
略語候補生成部１５は、構成要素分析部１１にて求めた内容語からなる形態素及びその一部を用いて、略語の候補となる候補文字列の集合を生成する機能を有している。
【００４２】
ハミルトニアン最適解探索部１６は、目的関数の最適解を最急降下法によって求める機能を有している。状態変数の配位更新部１７と、ハミルトニアン計算部１８とを有している。状態変数の配位更新部１７は、目的関数に代入する状態変数（つまり候補文字列）を更新する機能を有している。ハミルトニアン計算部１８は、更新された状態変数についてハミルトニアンの値を計算する機能を有している。
【００４３】
ハミルトニアン計算部１８は、形態素内モーラ親和性評価部２０と、形態素間モーラ親和性評価部２１と、略語間類似度計算部２２とに接続されている。モーラ親和性とは、略語において、二つのモーラが並ぶ可能性を定量的に示す値である。例えば、略語において「ア」のモーラの次に「ラ」のモーラが続くことが多ければ、「ア」と「ラ」の親和性があり、「ア」のモーラの次に「ヘ」のモーラが続くことが少なければ、「ア」と「ヘ」には親和性がないことになる。
【００４４】
モーラ親和性評価部２０，２１は、候補文字列に含まれるモーラの並び方をみて、親和性が高いか低いかを評価する。形態素内モーラ親和性評価部２０は、評価の対象が形態素の中でのモーラの並びであり、形態素間モーラ親和性評価部２１は、評価の対象が一の形態素と他の形態素に跨るモーラの並びである。例えば、図１に示す例でいうと、形態素内モーラ親和性とは、「トリ」という形態素の中の「ト」と「リ」の並びの親和性であり、形態素間モーラ親和性とは、「トリ」という形態素と「カラ」という形態素の間の「リ」と「カ」の並びの親和性である。
【００４５】
形態素内モーラ親和性評価部２０は、形態素内モーラの親和性のデータを記憶した形態素内モーラ親和性データベース２３と接続されている。同様に、形態素間モーラ親和性評価部２１は、形態素間モーラの親和性のデータを記憶した形態素間モーラ親和性データベース２４と接続されている。形態素内モーラ親和性データベース２３と形態素間モーラ親和性データベース２４は、いずれも、略語コーパス２５に記憶した略語の事例を学習データとして、学習部２６にて学習して生成したデータベースである。略語コーパス２５に記憶された略語の事例は、実際に存在する略語なので、モーラ間の親和性が「ある」データのみである。学習部２６は、１クラスサポートベクトルマシンによる学習を行うことで、図４に模式的に示すように、モーラ親和性の有無の識別境界を求めることができ、モーラ親和性のデータベースを生成することができる。
【００４６】
次に、ハミルトニアン計算部１８に接続された略語類似度計算部２２について説明する。略語類似度計算部２２は、複数の元文字列が入力された場合に、それらに対するそれぞれの候補文字列のモーラの類似度を計算する機能を有する。略語類似度計算部２２は、候補文字列間の類似度を、候補文字列をモーラ列で表現したときのレーベンシュタイン（Levenstein）距離によって計算する。レーベンシュタイン距離は、情報理論において、二つの文字列がどの程度異なっているかを示す数値であり、具体的には、文字の挿入や削除、置換によって、一つの文字列を別の文字列に変形するのに必要な手順の最小回数として与えられる。
【００４７】
ハミルトニアン計算部１８は、形態素内モーラ親和性評価部２０、形態素間モーラ親和性評価部２１、略語間類似度計算部２２を用いて、設定された状態変数におけるハミルトニアンを求める。ハミルトニアン最適解探索部１６は、状態変数の配位更新部１７にて状態変数を変化させ、変化させた各状態変数におけるハミルトニアンを計算し、ハミルトニアンが最小となる状態変数を最適状態変数、すなわち、最適な略語として求める。出力部１９は、ハミルトニアン最適解探索部１６にて探索された略語を出力する。
【００４８】
図５〜図７は、略語生成装置１の動作について説明する図である。図５は、略語生成装置１が候補文字列の集合を生成するまでの動作を示す。図６は、候補文字列の集合から略語を決定して出力する動作を示す。図７は、図６に示すフローのうち、ハミルトニアン最適化の処理の詳細を示す。
【００４９】
図５に示すように、略語生成装置１は、略語の元となる元文字列と、生成すべき略語の長さの上限値の入力を受け付ける（Ｓ１０）。略語生成装置１に入力する元文字列の数は、１つであっても複数であってもよい。本実施の形態では、複数の元文字列が入力された場合を例として説明する。
【００５０】
略語生成装置１は、入力された元文字列を形態素に分解する（Ｓ１２）。続いて、分解された形態素の中から機能語を抽出し、抽出された機能語を除外して、元文字列を構成する内容語の形態素を求める（Ｓ１４）。続いて、略語生成装置１は、入力された全ての元文字列について、構成要素を求める分析が完了したか否かを判定する（Ｓ１６）。全ての元文字列に対する分析が完了していない場合には（Ｓ１６でＮＯ）、分析を行っていない元文字列を形態素に分解する処理に戻る（Ｓ１２）。
【００５１】
全ての元文字列に対する分析が完了した場合には（Ｓ１６でＹＥＳ）、略語生成装置１は、それぞれの元文字列に対して候補文字列の集合を生成する（Ｓ１８）。
【００５２】
続く動作について、図６を用いて説明する。略語生成装置１は、ハミルトニアンの計算のために状態変数の初期設定を行う（Ｓ２０）。具体的には、略語生成装置１は、候補文字列の集合の中から一の候補文字列を選択し、その状態変数を初期状態として設定する。略語生成装置１は、ハミルトニアンの最適化の処理を行う（Ｓ２２）。
【００５３】
図７を用いて、ハミルトニアンの最適化の処理について説明する。ハミルトニアン計算部１８は、初期設定された状態変数を用いてハミルトニアンを計算し（Ｓ３０）、計算によって求めたハミルトニアンが、これまでに求めたハミルトニアンの最小値か否かを判定する（Ｓ３２）。初期設定された状態では、ハミルトニアンの最初の計算結果なので、ハミルトニアンが最小値であると判定する。
【００５４】
ハミルトニアンが最小値の場合には（Ｓ３２でＹＥＳ）、略語生成装置１は、ハミルトニアンの最小値を更新する処理を行う（Ｓ３４）。具体的には、略語生成装置１は、求めたハミルトニアンの値を最小値として記憶しておく。次回からは、記憶された最小値と新たに計算されたハミルトニアンを比較することになる。また、略語生成装置１は、ハミルトニアンが最小値となったときの状態変数、すなわち候補文字列を最適状態変数として保存する（Ｓ３６）。
【００５５】
続いて、略語生成装置１は、状態を更新する（Ｓ３８）。すなわち、次の候補文字列を選択する。なお、ハミルトニアンの計算結果が最小値か否かの判定において、最小値ではないと判定された場合には（Ｓ３２でＮＯ）、略語生成装置１は、直ちに、この状態更新のステップＳ３８に遷移して状態更新を行う。次に、略語生成装置１は、ハミルトニアン最適化の終了条件を満たすか否かを判定する（Ｓ４０）。終了条件とは、新しい状態がない、すなわち全ての候補文字列について計算を行ったか、あるいは、ハミルトニアンの最小値が収束した場合である。
【００５６】
終了条件を満たさない場合には（Ｓ４０でＮＯ）、更新された状態変数を使って、ハミルトニアンを計算し（Ｓ３０）、その計算結果と記憶されているハミルトニアン最小値とを比較する（Ｓ３２）。計算結果が記憶されたハミルトニアン最小値より小さい場合（Ｓ３２でＹＥＳ）、その計算結果をハミルトニアン最小値として記憶する（Ｓ３４）と共に、そのときの状態変数を最適状態変数として記憶する（Ｓ３６）。そして、さらに状態の更新を行って（Ｓ３８）、終了条件を満たすか否かを判定する（Ｓ４０）。
【００５７】
終了条件を満たす場合には（Ｓ４０でＹＥＳ）、記憶されている最適状態変数を出力し（Ｓ４２）、図６に示すフローに復帰し、初期値についてのループを行うか否かを判定する（Ｓ２４）。初期値についてのループを行う場合には、状態変数の初期設定を行う（Ｓ２０）。このときに設定する初期値は、当然ながら、前回までに設定した初期値とは異なる状態変数とする。そして、異なる初期値を用いてハミルトニアンの最適化を行う（Ｓ２２）。
【００５８】
このように初期値を変えてハミルトニアンの最適化を行う理由は、最急降下法を用いて計算を行っているため、ハミルトニアンの最小値が局所ミニマムに陥ってしまい、真の最小値ではない状態変数を最適状態変数と間違ってしまうリスクを低減させるためである。状態変数をすべて代入してハミルトニアンの最小値を求める場合には、このような処理を行う必要はない。
【００５９】
初期値についてのループを何度か行った後、ハミルトニアンを最小にした最適状態変数を求める。この際、すべての初期値を通じて、ハミルトニアンを最小にした最適状態変数を１つだけ求めてもよいが、本実施の形態では、変更した初期値ごとにハミルトニアンを最小にした最適状態変数の中から、いくつかの最適状態変数を選択する。そして、これらの最適状態変数が表す候補文字列の組をハミルトニアンの小さい順にソートし（Ｓ２６）、求められた略語の組としてディスプレイに出力する（Ｓ２８）。この際、略語の組に対応するハミルトニアンの値を合わせて出力する。
【００６０】
以上のようにして求めた略語の組は、（１）候補文字列の長さが長いほど値が小さくなり、（２）候補文字列の長さが上限値を超えると値が極めて大きくなり、最小値を取り得ないように設定され、（３）候補文字列に含まれるモーラの親和性が高いほど値が小さくなり、（４）前記元文字列に対応する候補文字列の間のモーラの類似度が低いほど値が小さくなるようなハミルトニアンが最小値あるいは最小値に近い値となった略語であるから、所定の文字数以下で、音韻的な繋がりが良く、かつ、元文字列に対応する略語の組において、お互いに区別し易い略語である。
【００６１】
また、複数の略語の組をそのハミルトニアンの値と共に出力するので、ユーザは、提示された略語の組から選択することができる。
【００６２】
［詳細説明］
以下では、上記した本実施の形態の略語生成装置１及び略語生成方法で用いるハミルトニアンについて、具体的な数式を示して詳細に説明する。
【００６３】
以下、個の単語からなる元文字列の組
【数１】
2014191490.tif 000003
に関して、各元文字列ｗαの略語ｖαを生成する方法について説明する。本実施の形態では、略語の長さ制限は、Lとする。
【００６４】
元文字列は、文法的な基本構成要素に分解できるものとし、さらに各基本要素は音韻的な基本構成要素に分解できるものとする。ここでは、特に、日本語を対象として、元文字列の基本構成要素として形態素を考え、音韻的な構成要素としてモーラを考えるものとする。
【００６５】
例えば、「地鶏の唐揚げ」という元文字列の長さは６である。これを形態素に分解すると、例えば、「地」、「鶏」、「の」、「唐」、「揚げ」という形態素が得られる。形態素は元文字列内の活用形のままであっても良いし、基本形に直したものであっても良いが、ここでは基本形に直したものを考える。さらに、形態素をモーラに分割すると、「地」は「チ」であり、「鶏」は「ト」、「リ」となり、「の」は「ノ」、「唐」は「カ」、「ラ」となり、「揚げ」は「ア」、「ゲ」となる。なお、「地」のモーラはその読み方のとおりの「ヂ」であってもよい。
【００６６】
元文字列の表層的な文字列表現を「表現」と呼ぶことにする。元文字列の長さをその表現における文字数として定義する。略語、形態素に関しても同様に、それらの表層的な表現における文字列数により長さを定義する。例えば、「地鶏の唐揚げ」という元文字列の長さは６である。この各形態素、「地」、「鶏」、「の」、「唐」、「揚げ」の長さは、それぞれ、１、１、１、１、２である。
【００６７】
以下、元文字列の長さ（後述するように、ここで長さは文字数、あるいは、それらのモーラ列の長さの和を表す）を｜ｗα｜と表す。略語の長さに関する条件は、
【数２】
2014191490.tif 000004
となる。
略語を生成するに当たり、元文字列の構成要素から略語を構成するために、以下、記号を導入する。
まず、元文字列ｗαの形態素ｐiαへの分割を、
【数３】
2014191490.tif 000005
と表すことにする。以下、特に断らない限り、積の記号Πにおいて、因子は左から右へ並べるものとする。
【００６８】
形態素は一般に、内容語と機能語とに区別することができる。例えば、名詞、動詞、副詞、形容詞などは内容語であり、助詞、助動詞などは機能語と言われる。元文字列の形態素への分割（２）において、機能語は予め排除し、内容語となる形態素のみからなっているものとする。つまり、Ｍαは内容語となる形態素数である。例えば、「地鶏の唐揚げ」であれば、Ｍα＝４であり、「地・鶏・唐・揚げ」という形態素列になっているものとする。
【００６９】
また、形態素ｐiαを表現する文字列を、
【数４】
2014191490.tif 000006
と表すことにする。ここで、Ｎiαは形態素ｐiαの文字数、つまり長さである。
【００７０】
さらに、文字ｒijαのモーラ列をρ(ｒijα)と表すことにする。｜ｒijα|は、長さの定義が文字数のときは１、モーラ列の長さであるときには、１〜２である。
略語ｖαに、形態素ｐiαの一部が含まれるということをｖα∩ｐiα≠φと表すことにする。同様に、形態素ｐiα内の文字ｒijαが、略語ｖαに含まれているということをｖα∩ｒijα≠φと表すことにする。インジケータ関数μ(ｐiα)、ξ(ｒijα)を、
【数５】
2014191490.tif 000007
と定義する。ここで、１[A]も、条件Aが満たされる場合に１、満たされない場合に０となるインジケータ関数を表している。
【００７１】
以下、状態変数μiα、ξijαを、
【数６】
2014191490.tif 000008
と定義する。つまり、状態変数μiα、ξijαは、それぞれ形態素ｐiαと形態素ｐiα内の文字ｒijαの略語ｖαにおける存在の有無を表すインジケータ関数の値を表す。
【００７２】
可能な略語候補の全体は、これらの状態変数の全ての配位（全ての値が0となる場合、便宜的にｖα＝１と表し、長さ0の空文字列と解釈する。）の中で、
【数７】
2014191490.tif 000009
が満たされるものからなる集合で与えられる。
【００７３】
これらの状態変数を使って、略語を次のように表すことにする：
【数８】
2014191490.tif 000010
また、（８）（９）において、因子１は文字を繋げる役割のみを持つ記号であるものとする。つまり、
【数９】
2014191490.tif 000011
などである。
【００７４】
また、略語ではしばしば元文字列における形態素の順序が入れ替えられることがある。そこで、Ｍα次の対称群
【数１０】
2014191490.tif 000012
の元を
【数１１】
2014191490.tif 000013
と置くと、可能な略語は
【数１２】
2014191490.tif 000014
と表すことができる。ゆえに、略語の長さは
【数１３】
2014191490.tif 000015
となる。
【００７５】
数式（９）あるいは（１０）から、我々は略語全体の集合を状態変数(μiα,ξijα;σα)の配位集合、つまり状態空間上の点へ写像することができたことに注意する。厳密には、状態空間は、
【数１４】
2014191490.tif 000016
を満たす状態変数(μiα,ξijα;σα)の配位全体からなるが、以降では、簡単のための、この条件を一旦外し、状態変数(μiα,ξijα;σα)の可能な配位全体を状態空間として考える。但し、後述する目的関数によって、
【数１５】
2014191490.tif 000017
を満たさないような状態は自動的に排除することができることに注意する。
【００７６】
以下、我々は、この状態空間上に目的関数を定義し、その目的関数について最適化することで、略語を決定する。（以下、この目的関数をハミルトニアンと呼ぶ。）
我々の略語決定の基準は、元文字列の組
【数１６】
2014191490.tif 000018
の略語組
【数１７】
2014191490.tif 000019
において、長さ制限（１）が満たされている限り、各略語ｖαがお互いに区別し易いことである。ゆえに、長さの制約条件が見たされている限り、略語の長さが大きいことが望ましいので、まずハミルトニアンへの第１の寄与として、次の形を考える：
【数１８】
2014191490.tif 000020
ハミルトニアン（１３）は、候補文字列の長さが長いほどハミルトニアンの値が小さくなるようにする項である。状態変数(μiα,ξijα)をスピン変数と見なすと、
【数１９】
2014191490.tif 000021
は、それらの間の相互作用の強さを表し、ハミルトニアン（１３）は、強磁性相互作用をするスピン系と見なせる。）ハミルトニアン（１３）は、略語ｖαの長さを出来るだけ大きくし、どの元文字列に関する略語であるかが分かり易くなるようにする効果を与えるものである。また、
【数２０】
2014191490.tif 000022
を満たす方向に作用することにも注意する。
【００７７】
さらに、長さに関する条件を次のような相互作用によって導入する：
【数２１】
2014191490.tif 000023
ここで、パラメタκの値をκ↑∞とすると、数式（１５）は、
【数２２】
2014191490.tif 000024
となる。但し、ここで、Θ(x)は
【数２３】
2014191490.tif 000025
という関数である。
【００７８】
つまり、正値の結合定数Λ1とパラメタκの値を十分に大きくすることによって（理想的にはΛ1↑∞、κ↑∞を考えることによって）、相互作用（１４）、（１５）は、長さに関する制約条件が満たされるようする効果がある。つまり、ハミルトニアン（１４）（１５）は、候補文字列の長さが前記上限値を超えると値が最小値を取り得ないようにする項である。
【００７９】
ハミルトニアン（１３）が強磁性相互作用を持っていたのに対し、ハミルトニアン（１５）または（１６）は、反強磁性相互作用を持っていることに注意する。つまり、略語の長さを短くする効果がある。
数式（１５）は、数式（１６）と異なり、もし状態変数(μiα,ξijα)を連続な変数であると見なしたときに、微分可能であることに注意する。
【００８０】
以上から、ハミルトニアン
【数２４】
2014191490.tif 000026
に関する最適解（ハミルトニアンの値を最小化する状態）
【数２５】
2014191490.tif 000027
を求め、数式（１０）へ代入することで、長さに関する制約条件を満たす略語組
【数２６】
2014191490.tif 000028
が得られる。
【００８１】
ハミルトニアン（１８）には、モーラ間の相互作用や元文字列の間での相互作用などが入っていないので、その最適解から得られる略語組
【数２７】
2014191490.tif 000029
は、音韻的に不自然であったり、お互いに区別がし易いようになっていない可能性がある。そこで、それらの効果を与える相互作用をさらに導入する。
【００８２】
そのために、まず次のような記法を導入する：
【数２８】
2014191490.tif 000030
【００８３】
一つの形態素内で２つのモーラρ(r)、ρ(r')が連続して並ぶことの音韻的な自然さを以下ではモーラ対の形態素内親和性と呼ぶことにする。親和性が良い時には正の値、悪い時には負の値になるようにするものとする。
【００８４】
例えば日本語の場合、モーラの数は１００個以上あるとされている。ゆえに、このとき、モーラ対の組合せは１万個以上あることになり、それら全てを定義すること不可能ではないが、多くの人手を要する。
【００８５】
そこで、今、モーラρ(r)を整数値で表すことにして、モーラ対の形態素内親和性も±１の２値を取るものとし、その値をΨ(ρ(r)，ρ(r'))の符合sgn(Ψ(ρ(r)，ρ(r')))として表すものとする。この関数を次のような識別関数で与えることを考える：
【数２９】
2014191490.tif 000031
ここで、Φ(ρ)，Φ(ρ')は非線形な識別境界面を与えることを可能にするための特徴写像である。w0はバイアス項であり、w1，w2は重み係数である。今、重み係数(w1,w2)と特徴量(Φ(ρ)，Φ(ρ'))をベクトルとして、
【数３０】
2014191490.tif 000032
と表すと、数式（２３）は、ベクトルの内積＜・,・＞をつかって、次のように書ける。
【数３１】
2014191490.tif 000033
【００８６】
略語の事例データがあるものとして、その事例データにある一つの形態素から選ばれたモーラ例
【数３２】
2014191490.tif 000034
を学習データ（図４において、□で囲ったもの）として、数式（２３）の重み係数w1,w2をそれらの特徴写像の線形和で掛けるとする：
【数３３】
2014191490.tif 000035
数式（２４）を数式（２３）に代入し、次を満たすカーネル関数
【数３４】
2014191490.tif 000036
を考える。つまり、数式（２３）の識別関数をカーネル関数によって、次のように書けるものとする：
【数３５】
2014191490.tif 000037
【００８７】
ここでは先に特徴関数Φ(ρ)，Φ(ρ')が定義されているとして説明したが、数式（２６）によれば、特徴関数Φ(ρ)，Φ(ρ')が陽に掛ける必要がないということに注意する。但し、数式（２５）のカーネル関数は対称性と半正定値性を満たしているものとする。
【００８８】
略語の事例データから得られる学習データは、正ラベルのデータのみであるが、１クラス−サポートベクトルマシンによる学習を行うことで、数式（２６）に対して、双対重み係数ωd及びバイアス項w0を決定することができる。
【００８９】
異なる形態素が連結する際に、接するモーラ列に対しても同様に、略語事例データを基に、モーラ対の形態素間親和性を与えることができる。今、それをφ(ρ(r)，ρ(r'))と置くことにする。ここで、ρ(r)とρ(r')は、異なる形態素から選ばれたモーラである。モーラ対の形態素間親和性に関する識別関数φ(ρ(r)，ρ(r'))も、モーラ対の形態素内親和性の識別関数Ψ(ρ(r)，ρ(r'))と同様に、事例から決めることができることに注意する。
【００９０】
形態素内でのモーラ親和性が良い略語を生成するため、次のような相互作用ハミルトニアンを導入する：
【数３６】
2014191490.tif 000038
【００９１】
さらに、異なる形態素のモーラ親和性を良くするために、次の相互作用ハミルトニアンを導入する：
【数３７】
2014191490.tif 000039
ハミルトニアン（２７）〜（３０）は、候補文字列に含まれるモーラの親和性が高いほどハミルトニアンの値を小さくする項である。ハミルトニアン（２７）（２８）は形態素内のモーラ親和性に関する項であり、ハミルトニアン（２９）（３０）は形態素間のモーラ親和性に関する項である。
【００９２】
これまでの相互作用は一つの元文字列の略語内で閉じたものであった。次に略語間での区別のし易さを高める効果を入れるために、略語間の相互作用も導入する。
２つのモーラ列
【数３８】
2014191490.tif 000040
の間の類似度をλ(ρ(vα),ρ(vβ))と置くことにする。
【００９３】
ここでは、モーラの音韻的な類似度も評価するために、モーラの全体に集合を音韻的に似ているモーラのグループへ分類し、各グループを表す類似モーララベルθを導入する。今、類似モーラのグループはT種類あるものとし、ラベルはθ∈｛１，２，・・・Ｔ｝の整数で与えられるものとする。以降、モーラρが属する類似クラスのラベルをθ（ρ）∈｛１，２，・・・Ｔ｝と表すことにする。
【００９４】
類似モーララベル列の空間を
【数３９】
2014191490.tif 000041
とおく。但し、ここで、
【数４０】
2014191490.tif 000042
であり、｛１，２，・・・Ｔ｝dは、整数１、２、…Ｔからなる長さｄの任意の列全体の集合を表す。
【００９５】
略語ｖαのモーラ列ρ(ｖα)を類似モーララベル列へ変換したものをθ（ｖα）あるいはθ（μα，ξα）と表すことにする：
【数４１】
2014191490.tif 000043
略語ｖαとｖβとの音韻的な類似性を、類似モーララベル列としての類似性λ（θ（ｖα），θ（ｖβ））で与えることにする。類似モーララベル列の類似性として、例えばレーベンシュタイン距離などを利用することができる。レーベンシュタイン距離を類似度として用いた場合、類似度が高いほどλ（θ（ｖα），θ（ｖβ））の値は小さくなるということに注意する。
この類似度を下げる、つまりλ（θ（ｖα），θ（ｖβ））の値が大きくなるようにするために、略語間の相互作用を次のように定める：
【数４２】
2014191490.tif 000044
ハミルトニアン（３１）（３２）は、元文字列に対応する候補文字列の間のモーラの類似度が低いほどハミルトニアンの値を小さくする項である。
【００９６】
（３４）式は、類似モーララベル列の類似性により定まる結合定数であり、形式上、２重の和が取られているが、実際には１つの項のみからなる。ここで類似度の対数を取ることで、略語の類似モーララベル列が一致する場合には、ハミルトニアンの値が非常に大きくなるようにしている。（もしパラメタτをτ↓0となると、略語の類似モーララベル列が同一となるものは生成されなくなる。）
【００９７】
一方、（３６）式は、ε↓0のとき、
【数４３】
2014191490.tif 000045
となり、
【数４４】
2014191490.tif 000046
は、状態変数(μα,ξα;σα)の状態
【数４５】
2014191490.tif 000047
への射影演算となっていることに注意する。ゆえに、数式（３３）においても、実際に寄与する項は一つだけである。
【００９８】
以上のように、全体としてハミルトニアンは次で与えられる：
【数４６】
2014191490.tif 000048
【００９９】
数式（３８）の右辺第１項のハミルトニアンは、各略語が長さの条件を満たすようにスピン変数が相互作用することを与えており、右辺第２項のハミルトニアンは、略語内の音韻的な繋がりの良さと略語間の区別の容易さを与えるようにスピン変数が相互作用するようにするものである。これらの各効果の間のバランスは、各相互作用の結合定数
【数４７】
2014191490.tif 000049
の大小関係を調整することで行う。また、他の正則化パラメタκ↑∞，τ↓０，η↓０の調整も適宜行う。
【０１００】
また、数式（３８）の右辺の各項は、状態変数(μα,ξα;σα)に関する微分可能な関数で与えられていることに注意する。
状態空間
【数４８】
2014191490.tif 000050
から、ハミルトニアン（３８）を最小化する状態を求めるには、総当り的に各状態でのハミルトニアンの値を求めて、最小値を求めることができる。元文字列の数及び元文字列の長さがそれほど大きくない限り、この直接的な解法で十分である。
【０１０１】
それ以外に、スピン変数の値を連続値に緩和し、ハミルトニアン（３２）について最急降下法的に最適解の近似解を求め、その近似解に最も近い状態(μα,ξα;σα)を求めることによっても、最適解の近似解を効率良くできる。問題が大規模な場合には、この方法も有効である。このように組合せ的な問題を解析的な手法によって扱うことができるようにした点が、本手法における大きな利点であることに注意する。この場合、異なる初期状態から近似解を複数構成し、その内、もっともハミルトニアンの値が小さいものを最適解として出力する。
【０１０２】
また、数式（３８）を統計力学モデルのハミルトニアンと解釈し、モンテカルロ法、特に、アニーリング法などを利用して、最適解の近似解を構成することもできる。この場合にも、最急降下法の場合と同様に、複数の近似解を探索し、それぞれにおけるハミルトニアンの値がもっとも小さいものを最適解として出力する。
【０１０３】
これらの手法を用いると、最適解やその次に最適となる解を順次得られるので、それらの解から、略語組の候補を複数提示することもできる。その際に、各解のハミルトニアンの値を略語組のスコアとして、そのスコアでソートして略語組としての良さを表現することができることに注意する。
【０１０４】
［候補文字列の集合に制約条件を課す方法］
以上では、任意の略語を対象に最適なものを探索する方法について説明した。しかし、現実には、略語を作成する場合に形態素の先頭の文字が省略されることはほとんどない。
【０１０５】
そこで、自然な制約条件として、形態素の先頭の文字は必ず使用するものとすると、この制約は次のように表現することができる：
【数４９】
2014191490.tif 000051
つまり、変数μiαは変数ξi1αで代用可能となり省略可能である。このことにより、探索すべき状態空間を
【数５０】
2014191490.tif 000052
からより低次元の状態空間
【数５１】
2014191490.tif 000053
へ縮小することができる。つまり、状態空間のサイズは
【数５２】
2014191490.tif 000054
に縮小できる。
【０１０６】
さらに、形態素の置換に関しても通常は考えに入れる必要はないが、強いて言えば最後の形態素を先頭へ移動する程度である。このようにすることで、さらに低次元の状態空間
【数５３】
2014191490.tif 000055
へ縮小することができる。つまり、状態空間のサイズはさらに、
【数５４】
2014191490.tif 000056
に縮小できる。
【０１０７】
以上の制約を導入することで、探索する状態空間のサイズは、全部で
【数５５】
2014191490.tif 000057
に縮小される。
状態空間
【数５６】
2014191490.tif 000058
におけるハミルトニアンは、以下のようになる。まず、略語の表記は
【数５７】
2014191490.tif 000059
となり、ハミルトニアンの各項を全て書き直すと、
【数５８】
2014191490.tif 000060
【０１０８】
このように、ハミルトニアンの数式も単純化されるので、計算コストが削減されることに注意する。
【０１０９】
以上、モーラを有する日本語を事例として略語生成の実施形態を説明してきたが、本発明の適用はこのようなモーラを有する言語に制限されるものではないことに注意する。モーラが存在しない場合には、音節などの他の音韻的な構成単位を考えることで、上記の実施事例と同じく略語生成を行うことが可能である。
【０１１０】
また、ある形態素の一部が略語に含まれるとき、その形態素の最初のモーラが必ず含まれると仮定したが、この仮定は必須ではなく、この仮定を外しても、本実施例に説明した手順と同様に略語生成が可能である。
【産業上の利用可能性】
【０１１１】
本発明は、各元文字列から所定の文字数以下で、音韻的にも繋がりの良い略語を生成することが可能となり、かつ元文字列が複数である場合には、略語組において、各略語がお互いに区別し易い略語となるようにすることができるという効果を有し、簡潔な文章を生成する必要がある情報提供システムあるいは略称を含む文章に対して、略称の原語や異なる略称を検索語として文書検索が行うことができるような情報検索システム、あるいは、文章から所定の情報を略語が使われていても抽出することができるような情報抽出システム、音声コマンドを用いる音声認識システム、あるいは文章を簡潔にまとめる文書要約システムなどに有用である。
【符号の説明】
【０１１２】
１  略語生成装置
１０  入力部
１１  構成要素分析部
１２  形態素分析部
１３  機能語抽出部
１４  機能語定義部
１５  略語候補生成部
１６  ハミルトニアン最適解探索部
１７  状態変数の配位更新部
１８  ハミルトニアン計算部
１９  出力部
２０  形態素内モーラ親和性評価部
２１  形態素間モーラ親和性評価部
２２  略語間類似度計算部
２３  形態素内モーラ親和性データベース
２４  形態素間モーラ親和性データベース
２５  略語コーパス
２６  学習部
２７  モーラ定義部
３０  ＣＰＵ
３１  ＲＡＭ
３２  ＲＯＭ
３３  プログラム
３４  キーボード
３５  マウス
３６  ディスプレイ
３７  スピーカ
３８  ハードディスク
３９  通信部
４０  データバス
【図１】
2014191490.tif 000061
【図２】
2014191490.tif 000062
【図３】
2014191490.tif 000063
【図４】
2014191490.tif 000064
【図５】
2014191490.tif 000065
【図６】
2014191490.tif 000066
【図７】
2014191490.tif 000067