(57)【特許請求の範囲】
【請求項１】
入力された各テキストデータに含まれる各文字列に対して語義を付与する語義付与部と、
前記語義付与部で同じ語義gが付与された文字列を含むテキストデータの集合をテキストデータ集合dgとし、語義gの全体集合をGとし、前記テキストデータ集合dgが含む文字列の集合を文字列集合wgとし、前記テキストデータ集合dgが与えられたときの前記文字列集合vgの条件付き確率をp(wg|dg)とし、前記テキストデータ集合dg中の文字列vの出現回数をn(dg,v)とし、文字列vの全体集合をVとし、トピック情報zが与えられたときの文字列vの条件付き確率p(v|z)である多項分布パラメータをβzvとし、テキストデータ集合dgが与えられたときのトピック情報zの条件付き確率p(z|dg)である多項分布パラメータをηgzとし、トピック情報zの全体集合をZとした場合におけるトピックモデル
【数１２】
0005342574.tif 000016
の前記多項分布パラメータβzvを得るモデル計算部と、
を有するトピックモデリング装置。
【請求項２】
請求項１のトピックモデリング装置であって、
前記モデル計算部は、
多項分布パラメータηgz(t)及びβzv(t)を用い、文字列vとすべてのトピック情報z∈Z、文字列v∈V及びテキストデータ集合dg(g∈G)についての前記多項分布パラメータηgz(t)及びβzv(t)とが与えられたときの前記テキストデータ集合dg中の文字列vのトピック情報zgvの条件付き確率
【数１３】
0005342574.tif 000017
を得る第１更新部と、
前記出現回数n(dg,v)及び前記条件付き確率P(zgv|v,η(t),β(t))を用い、前記テキストデータ集合dgの全体集合{dg|g∈G}をDとした場合における多項分布パラメータ
【数１４】
0005342574.tif 000018
を得る第２更新部と、を含み、
前記第１更新部の処理及び前記第２更新部の処理を含む繰り返し処理が、繰り返しのたびにt+1を新たなtとしながら実行され、
前記多項分布パラメータβzvは、終了条件を満たした際のβzv(t+1)又はβzv(t)である、
ことを特徴とするトピックモデリング装置。
【請求項３】
請求項１又は２のトピックモデリング装置であって、
前記語義付与部は、
前記テキストデータに含まれる前記文字列の当該テキストデータに対する特徴を表す情報を当該文字列の素性の少なくとも一部とする素性付与部と、
任意の文字列の素性を入力として当該任意の文字列の語義を特定するための情報を得るモデルに、前記テキストデータに含まれる前記文字列の素性を入力して当該文字列の語義を得る識別部と、を含む、
ことを特徴とするトピックモデリング装置。
【請求項４】
請求項１から３の何れかのトピックモデリング装置であって、
前記文字列の素性は、当該文字列が文字列の語義を表す辞書に含まれるか否かを表す情報を含む、
ことを特徴とするトピックモデリング装置。
【請求項５】
請求項４のトピックモデリング装置であって、
前記辞書は前記文字列の語義の的確性を表し、
前記文字列の素性は当該文字列の語義の的確性を表す情報を含む、
ことを特徴とするトピックモデリング装置。
【請求項６】
請求項１から５の何れかのトピックモデリング装置であって、
入力テキストデータd'と前記多項分布パラメータβzvとが入力され、前記入力テキストデータd'が含む文字列の集合を入力文字列集合w'とし、前記入力テキストデータd'が与えられたときの前記入力文字列集合w'の条件付き確率をp(w'|d')とし、前記入力テキストデータd'中の文字列v'∈Vの出現回数をn(d',v')とし、前記入力テキストデータd'が与えられたときのトピック情報zの条件付き確率p(z|d')である多項分布パラメータをηd’zとした場合における
【数１５】
0005342574.tif 000019
の前記多項分布パラメータηd’zを得るモデル適用部をさらに有する、
ことを特徴とするトピックモデリング装置。
【請求項７】
請求項１から５の何れかのトピックモデリング装置であって、
前記多項分布パラメータβzvが入力され、前記多項分布パラメータβzvと入力テキストデータd'中の文字列vの出現確率p(v)との比rzvを得るモデル適用部をさらに有する、
ことを特徴とするトピックモデリング装置。
【請求項８】
(a) 語義付与部で、入力された各テキストデータに含まれる各文字列に対して語義を付与するステップと、
(b) 前記ステップ(a)で同じ語義gが付与された文字列を含むテキストデータの集合をテキストデータ集合dgとし、語義gの全体集合をGとし、前記テキストデータ集合dgが含む文字列の集合を文字列集合wgとし、前記テキストデータ集合dgが与えられたときの前記文字列集合wgの条件付き確率をp(wg|dg)とし、前記テキストデータ集合dg中の文字列vの出現回数をn(dg,v)とし、文字列vの全体集合をVとし、トピック情報zが与えられたときの文字列vの条件付き確率p(v|z)である多項分布パラメータをβzwとし、テキストデータ集合dgが与えられたときのトピック情報zの条件付き確率p(z|dg)である多項分布パラメータをηgzとし、トピック情報zの全体集合をZとした場合におけるトピックモデル
【数１６】
0005342574.tif 000020
の前記多項分布パラメータβzvをモデル計算部で得るステップと、
を有するトピックモデリング方法。
【請求項９】
請求項１から７の何れかのトピックモデリング装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキストデータに含まれる文字列に対応するトピックのモデリング技術に関する。
【背景技術】
【０００２】
現在様々な自然言語処理技術の研究開発が進み、前後数単語の局所的な文脈情報だけでなく、テキストデータのトピックを捉えることができるトピックモデルの利用が盛んになっている。「トピックモデル」とは、文書などのテキストデータに対応するトピックに対応するトピック情報とそのテキストデータが含む単語などの文字列との関係を記述するモデル（関数、数式）を意味する。「トピック」とは、ジャンルや書き手のスタイル等を含む大域的な情報を表す。テキストデータがトピックを表す文字列そのものを含んでいるとは限らない。
【０００３】
テキストデータのトピックを的確に捉えることで、当該テキストデータではそのトピックに関連性の強い文字列の出現確率が高いという情報を得ることができる。例えば文書のトピックがスポーツであるなら、その文書には「サッカー」といったスポーツに関する単語が出現しやすく、「国会」といった単語が出現しにくい、といった大域的情報を得ることができる。トピックに対応するトピック情報はテキストデータに付与されたラベル情報等（例えば新聞の場合だと「スポーツ面」等の見出し）から得られる場合もあるが、常にそのように明示的なトピック情報がテキストデータに付与されているとは限らない。そのため、たとえラベル情報が付与されていないテキストデータであってもトピックを捉えることができるトピックモデルの利用価値は高い。
【０００４】
トピックモデルの先行技術としては、LSA(Latent Semantic Analysis，非特許文献１)、PLSA(Probabilistic Latent Semantic Analysis，非特許文献２)、LDA(Latent Dirichlet Allocation)等が知られている。トピックモデルの先駆けはLSAである。LSAでは、単語と文書の共起行列を特異値分解して次元圧縮を行ってモデルを得る。これを確率的に拡張させたモデルがPLSAである。また、LSAやPLSAが直接単語と文書の関係からトピックモデルを生成するのに対し、単語と語義の関係からトピックモデルを生成する技術としてConceptron（特許文献１）が知られている。以下にPLSAとConceptronの概要について述べる。
【０００５】
＜PLSA＞
PLSAは２つの確率分布パラメータによって文書を表現する。１つ目はある文書dにおける各トピック情報zの生成し易さを表す多項分布パラメータp(z|d)で、２つ目はトピック情報zにおける各単語vの生成し易さを表す多項分布パラメータp(v|z)である。PLSAは以下の式で定義される。
【数１】
0005342574.tif 000002
【０００６】
ここでwdは文書d中の単語集合、zdnは文書d中のn(n=1,...,Nd)番目の単語wnのトピック情報、Σzdは文書dにおける単語トピック情報系列の全ての可能な組み合わせの和、γzwはトピック情報zにおける単語vの多項分布（ユニグラム確率）パラメータp(v|z)、δdz(Σzδdz=1)は文書dにおけるトピック情報zの多項分布パラメータp(z|d)、n(d,v)は文書d中の単語vの出現回数、Zはトピック情報の全体集合、Vは単語vの全体集合を表す。PLSAはその確率的理論に基づくロバスト性からLSAよりも性能が高いことが知られており、さらに後のLDAへ拡張されるように、モデルとしての拡張性も高い。
【０００７】
＜Conceptron＞
LSAやPLSAが直接単語と文書の関係からトピックモデルを生成したのに対し、Conceptronは単語と語義の関係からトピックモデルを生成する。「語義」とは、各文字列の意味を考慮して各文字列に付与された分類を表す。語義の例は、日本語語彙大系において単語や固有表現などの各文字列に付与された分類の１クラスである。「日本語語彙大系」とは、日本語の単語を人手によって2715の意味クラスに分類したものを指す。例えば「快速」という単語には「乗り物(本体(移動(陸圏)))」という語義がある。Conceptronでは、文書中の単語vと共起した語義gの数を数え上げることで単語vと語義gの共起行列を作り、それを特異値分解して次元圧縮を行ってモデルを得る。
【０００８】
Conceptronでは、人間が定めた語義にトピックを従わせることができるため、人間の直観に合ったトピックモデリングが得られる。またConceptronでは、モデル学習中に語義総数|G|×単語総数|V|の共起行列の次元圧縮を行ってモデルを得る。語義総数|G|は文書総数|D|よりも非常に小さい（|G|≪|D|）。よってConceptronでは、文書数|D|×単語数|V|の共起行列を特異値分解して次元圧縮を行ってモデルを得るLSAよりも、小さな主記憶装置でも実装可能でかつ高速である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第4099197号公報
【非特許文献】
【００１０】
【非特許文献１】Deerwester, S. C. et al., “Indexing by Latent Semantic Analysis,” Journal of the American Society for Information Science, 1990.
【非特許文献２】Hofmann, T., “Probabilistic Latent Semantic Indexing,” In Proc. of the 22nd Annual ACM Conf. on Research and Development in Information Retrieval, 1999.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
PLSAでは単語の語義が考慮されていないため、生成されたトピックモデルを用いて得られるトピックが人間にとって理解しづらいという問題がある。また、式(1)に示した多項分布パラメータδdzは文書dとトピック情報zとの組ごとに対応し、トピックモデルを構成するパラメータの数が多いという問題もある。Conceptronでは、単語の語義を考慮したトピックモデルを生成することができるが、確率的に解釈することができるトピック情報を得ることができないという問題がある。
【００１２】
本発明はこのような点に鑑みてなされたものであり、従来よりも人間にとって理解し易く、確率的に解釈可能なトピック情報を得ることができ、パラメータ数が少ないトピックモデルを生成できる技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では、入力された各テキストデータに含まれる各文字列に対して語義を付与し、語義gが付与された文字列を含むテキストデータの集合をテキストデータ集合dgとし、語義gの全体集合をGとし、テキストデータ集合dgが含む文字列の集合を文字列集合wgとし、テキストデータ集合dgが与えられたときの文字列集合wgの条件付き確率をp(wg|dg)とし、テキストデータ集合dg中の文字列vの出現回数をn(dg,v)とし、文字列vの全体集合をVとし、トピック情報zが与えられたときの文字列vの条件付き確率p(v|z)である多項分布パラメータをβzvとし、テキストデータ集合dgが与えられたときのトピック情報zの条件付き確率p(z|dg)である多項分布パラメータをηgzとし、トピック情報zの全体集合をZとした場合におけるトピックモデル
【数２】
0005342574.tif 000003
の多項分布パラメータβzvを得る。
【発明の効果】
【００１４】
本発明では、語義を考慮したトピックモデルを生成できるため人間にとって理解し易いトピック情報を得ることができる。また、本発明のトピックモデルを適用して得られるトピック情報は確率的に解釈可能な情報となる。さらに、多項分布パラメータηgzはテキストデータ集合dgとトピック情報zとの組ごとに対応するため、従来よりもトピックモデルを構成するパラメータの数が少ない。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施形態のトピックモデリング装置の機能構成を例示するためのブロック図である。
【図２】図２Ａは、実施形態のトピックモデリング方法を例示するためのフローチャートである。図２Ｂは、ステップＳ１２の処理を例示するためのフローチャートである。
【図３】図３は、実施形態の共起行列を例示するための図である。
【図４】図４は、第２実施形態の語義付与部の機能構成を例示するためのブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。
〔原理〕
実施形態の原理を説明した後、各実施形態の説明を行う。
各実施形態では、入力された各テキストデータに含まれる各文字列に対して語義を付与し、以下のトピックモデルの多項分布パラメータβzvを得る。
【数３】
0005342574.tif 000004
ここで、同じ語義gが付与された文字列を含むテキストデータの集合をテキストデータ集合dgとし、語義gの全体集合をGとし、テキストデータ集合dgが含む文字列の集合を文字列集合wgとし、テキストデータ集合dgが与えられたときの文字列集合wgの条件付き確率（事後確率）をp(wg|dg)とし、テキストデータ集合dg中の文字列vの出現回数をn(dg,v)とし、文字列vの全体集合をVとし、トピック情報zが与えられたときの文字列vの条件付き確率p(v|z)である多項分布パラメータをβzvとし（p(v|z)はユニグラム確率）、テキストデータ集合dgが与えられたときのトピック情報zの条件付き確率p(z|dg)である多項分布パラメータをηgzとし、トピック情報zの全体集合をZとする。本形態のβzv=p(v|z)はユニグラム確率であり、ηgzはΣz∈Zηgz=1を満たす。
【００１７】
「語義」とは、各文字列の意味を考慮して各文字列に付与された分類を表す。「テキストデータ」とは文字及び／又は記号を含むデータを意味する。テキストデータの具体例は、文書、各段落の文書、単語列、フレーズ、文、クエリ、語句を含む図表、記号列などである。「文字列」の具体例は、単語、単語列、フレーズ、文、文字、固有表現、記号、記号列などである。「トピック」とは、ジャンルや書き手のスタイル等を含む大域的な情報を表す。テキストデータに対応するトピックの具体例は、テキストデータの題目、話題、事柄、出来事、論題、分類、様式、言語、ジャンルなどや、テキストデータの書き手のスタイルなどである。テキストデータがトピックを表す文字列そのものを含んでいるとは限らない。「トピック情報」は、テキストデータに対応するトピックに対応する情報であればどのようなものであってもよい。例えば、テキストデータに対応するトピックの候補（例えば<球団名>や<企業名>など）ごとに、当該テキストデータに対応する各トピックの候補の適切さを表す指標（例えば、確率、重み係数、確率や重み係数の関数値であるスコアなど）が与えられ、それらの指標の少なくとも一部が当該テキストデータのトピック情報とされてもよい。
【００１８】
本形態では、語義を考慮したトピックモデルを生成できるため人間にとって理解し易いトピック情報を得ることができる。また、多項分布パラメータηgzはテキストデータ集合dgとトピック情報zとの組ごとに対応するため、従来よりもトピックモデルを構成するパラメータの数が少ない。すなわち、PLSAでのパラメータ数が|V|×|Z|+|Z|×|D|であるのに対し、本形態におけるパラメータ数は|V|×|Z|+|Z|×|G|であり、|D|>>|V|>>|G|であることを考えると、大幅にパラメータ数を削減できる。なお、|V|は単語総数、|Z|はトピック情報の総数、|D|は文書総数である。
【００１９】
さらに、本形態のトピックモデルを適用して得られるトピック情報は確率的に解釈可能な情報となる。トピック情報を確率的に取り扱うことにより、その用途が広がる。例えば、或るトピックにおいて或る単語がどれくらい出現し易いかということや、文書Aと文書Bのどちらの方がよりスポーツについて述べられているかということや、トピック毎の特徴的単語（後述する）はどのようなものであるかということなども評価できるようになる。また、トピック情報が確率的に表現されるモデルにすることにより、トピック情報の正規化が自然になされ、かつ目的関数がL2ノルムからKL-divergenceに変わることで、ロバストなモデル推定が可能となる。
【００２０】
多項分布パラメータβzvの計算方法に限定はないが、例えばEMアルゴリズムを用いた学習やベイズ学習などによって多項分布パラメータβzvを得ることができる。EMアルゴリズムが用いられる場合のE-step及びM-stepは以下のようになる。
【数４】
0005342574.tif 000005
【００２１】
ここで、tはイテレーションの回数を表し、ηgz(t)及びβzv(t)はt回目のイテレーションでの多項分布パラメータを表し、ηgz(0)及びβzv(0)は多項分布パラメータの初期値を表し、η(t)はt回目のイテレーションでのすべてのトピック情報z∈Z及びテキストデータ集合dg(g∈G)についての多項分布パラメータηgz(t)の集合を表し、β(t)はt回目のイテレーションでのすべてのトピック情報z∈Z及び文字列v∈Vについての多項分布パラメータβzv(t)の集合を表す。zgvはテキストデータ集合dg中の文字列vのトピック情報を表し、P(zgv|v,η(t),β(t))はv,η(t),β(t)が与えられたときのトピック情報zgvの条件付き確率を表す。argmaxη,β[・]は「・」を最大化するη(t)及びβ(t)を表す。
【００２２】
式(4)の各項に対してラグランジュの未定係数法を用いることで以下の更新式が得られる。
【数５】
0005342574.tif 000006
【００２３】
すなわち、EMアルゴリズムが用いられる場合には、多項分布パラメータηgz(t)及びβzv(t)を用いて式(3)に従って条件付き確率P(zgv|v,η(t),β(t))を得るE-stepと、出現回数n(dg,v)及び条件付き確率P(zgv|v,η(t),β(t))を用いて式(5)(6)に従って多項分布パラメータηgz(t+1)及びβzv(t+1)を得るM-stepとを含む繰り返し処理が、繰り返しのたびにt+1を新たなtとしながら実行される。このような繰り返し処理は終了条件を満たすまで実行され、終了条件を満たした際のβzv(t+1)又はβzv(t)が多項分布パラメータβzvとされる。多項分布パラメータηgz(t)及びβzv(t)の初期値ηgz(0)及びβzv(0)は任意値でよい。
【００２４】
また、入力された各テキストデータに含まれる各文字列に対して語義を付与するための方法に限定はない。例えば、文字列とそれに対応する語義とが対応付けられたテーブルである辞書を参照して、各文字列に対して語義を付与されてもよい。このような辞書の例は、各単語が日本語語彙大系のどの分類（語義）になり易いかが順位として記述された辞書（以下これを日本語語彙大系辞書と呼ぶ）などである。しかしながら、このような辞書によって付与される語義の正確性が低い場合があり、このような辞書がカバーする単語などの文字列にも限りがある。よって、このような方法では適切な語義を付与することができない場合がある。例えばConceptronでは、入力された文書が含む単語に対し、日本語語彙大系辞書で最も高い順位が付与されている分類を常にその単語の語義として選択する。そのため、付与された語義が正しくない場合もある。例えば「東京」という単語の語義は、文脈に応じて「都」「大学・高専」「駅名等」「中・高校」「地区名」などとなる可能性があるが、Conceptronでは文脈にかかわらず「東京」に対して常に同一の語義が選択される。また、日本語語彙大系辞書では「巨人」という単語に対して「男」「魔物・化け物」「偉人」「幹部」などの分類が対応しているが、「球団名」は対応していない。これは日本語語彙大系辞書の「球団名」の分類には「巨人軍」という単語が対応付けされているからであるが、これも語義を正確に付与する上での課題となる。
【００２５】
そのため、文字列に対して適切な語義を自動的に付与するモデルである語義タガーを生成し、このような語義タガーを用い、各テキストデータに含まれる各文字列に対して語義を付与してもよい。これにより、付与される語義の精度が向上し、式(2)のトピックモデルの多項分布パラメータβzvの算出精度が向上する。
【００２６】
語義タガーの従来技術としては、HMMを用いた参考文献１（H. Taira, S. Yoshida and M. Nagata, "BaseNP Supersense Tagging for Japanese Texts," PACLIC, 2009.）のものがある。その他、ロジスティック回帰モデルやサポートベクタマシン等の分類モデルやHMMやCRF等のシーケンシャルモデルなどを語義タガーとして用いることができる。ただし、シーケンシャルモデルを用いた場合には計算量が膨大となり、全クラスをカバーするには多くの記憶容量を必要とする。そのため、計算量や記憶容量の削減という観点からは、分類モデルを本形態の語義タガーとして用いることが望ましい。分類モデルを語義タガーとする場合の学習方法は以下の通りである。
【００２７】
［学習データの素性変換］
初めに文書などのテキストデータに含まれる単語などの文字列に対して語義の付与された学習データを用意しておき、テキストデータに含まれる文字列の当該テキストデータに対する特徴を表す情報を当該文字列の素性として付与する。例えば、素性化の対象となる文字列（対象文字列）の周辺情報、係り受け情報、単語を構成する文字等から当該対象文字列を素性変換（素性化）する。例えば、テキストデータに含まれる対象文字列から前後所定単語数以内（第１正例テキスト内）に位置する単語（周辺単語）の表記と当該対象文字列に対する当該周辺単語の相対位置を表す情報との組（表層素性）、対象文字列又は周辺単語の品詞情報（品詞素性）や固有名詞情報（固有名詞素性）や構文情報（構文素性）、テキストデータ内での対象文字列の出現回数やテキストデータの集合内での対象文字列の出現回数（出現回数素性）のうち、少なくとも一つに対応する情報を対象文字列の素性とする。
【００２８】
また、対象文字列が日本語語彙大系辞書などの辞書に含まれるか否かを表す情報を対象文字列の素性の少なくとも一部としてもよい。すなわち、日本語語彙大系辞書などの文字列の語義を表す辞書に含まれる単語などの文字列については、辞書において対応付けられている語義をそのまま付与することで、或る程度の精度で語義を付与できると考えられる。しかしながら、辞書の語義をそのまま付与したのでは前述の日本語語彙大系辞書のような問題がある。そのため、対象文字列が辞書に含まれていること自体を素性とし、精度の高い語義タガーを生成する。辞書が文字列の語義の的確性を表す場合には、学習データに含まれる対象文字列に対応する語義の的確性を表す情報を当該対象文字列の素性の少なくとも一部としてもよい。この例の語義の的確性を表す情報は、文字列が含まれるテキストデータの文脈に依存せずに文字列ごとに設定された語義の的確性を表す情報である。語義の的確性を表す情報の例は、前述した日本語語彙大系辞書に記述された各単語に対応する分類の順位である。例えば、学習データが含む対象文字列αとそれに対応する語義C(α)との組が辞書においても組みとして記述されており、かつ、辞書においてその語義C(α)の順位も記述されている場合、当該辞書に記述された語義C(α)の順位に対応する情報を当該対象文字列αの素性の一部としてもよい。この場合には、語義C(α)の順位を表す情報を当該対象文字列αの素性の一部としてもよいし、語義C(α)の順位が高いこと（例えば１位〜５位であること）を表す情報を当該対象文字列αの素性の一部としてもよい。これにより、順位が高い語義C(α)に対応する対象文字列αの素性の重みが大きくなるように学習されることが期待される。
【００２９】
［語義タガーの学習］
上述のように文字列に対して付与された素性と当該文字列に付与された語義との組が教師あり学習データすることで、「任意の文字列の素性を入力として当該任意の文字列の語義を特定するための情報を得るモデル」である語義タガーを生成することができる。このようなモデルであればどのようなモデルを語義タガーとしてもよく、その学習方法も通常の方法でよい。例えば、正則化項付き最大エントロピーモデル（参考文献２「Berger, A.L. , Pietra, V.J.D. and Pietra, "A maximum entropy approach to natural language processing", S.A.D. 1996.」）、正則化項付きの条件付きランダム場(CRFs、参考文献３「Lafferty, J. and McCallum, A. and Pereira, F. "Conditional random fields: Probabilistic models for segmenting and labeling sequence data", MACHINE LEARNING, pp. 282-289, 2001.」、サポートベクタマシン(SVMs、参考文献４「Vapnik, V. N. "The nature of statistical learning theory", Springer Verlag, 1995.」)などの分類モデルを語義タガーとして利用でき、それらの学習方法はよく知られている。以下、正則化項付き最大エントロピーモデルを語義タガーとする場合の学習方法を例示する。
【００３０】
正則化項付き最大エントロピーモデルが語義タガーとして用いられる場合、文字列に対応する素性xと当該文字列に付与された語義yとの組が学習データ(x,y)とされ、条件付き確率
【数６】
0005342574.tif 000007
に対するエントロピー
【数７】
0005342574.tif 000008
を最大化する各重み（パラメータ）λqに対応するPλ(y|x)であるP(y|x)が語義タガーとされる。ただし、
【数８】
0005342574.tif 000009
であり、qは各学習データ(x,y)の組にそれぞれ対応するラベルであり、p'(x)は学習データ(x,y)におけるxの出現頻度であり、fq(x,y)はqに対応する素性関数(feature function)である。
【００３１】
［語義タガーを用いた語義の付与］
語義タガーを用いてテキストデータに含まれる文字列に対する語義を付与する方法を説明する。まず、入力されたテキストデータに含まれる任意の文字列を上述の［学習データの素性変換］と同様に素性化する。学習データの素性変換方法と同様に行うのであれば、入力されたテキストデータに含まれる文字列の当該テキストデータに対する特徴を表す情報を当該文字列の素性の少なくとも一部してもよいし、当該文字列が辞書に含まれるか否かを表す情報を当該文字列の素性の少なくとも一部としてもよいし、当該文字列の語義の的確性を表す情報当該文字列の素性の少なくとも一部としてもよい。
【００３２】
入力されたテキストデータに含まれる任意の文字列の素性は語義タガーに入力され、当該語義タガーを用いることで得られた当該文字列の語義が当該文字列に付与される。例えば、語義タガーが文字列に対応する語義の確率を出力する場合には、最も確率の高い語義がその文字列に付与される。例えば、正則化項付き最大エントロピーモデルが語義タガーとして用いられる場合には、任意の文字列の素性xに対する条件付き確率P(y|x)を最大とするyが当該文字列の語義とされる。
【００３３】
〔第１実施形態〕
本発明の第１実施形態を説明する。第１実施形態ではEMアルゴリズムを用い、式(2)のトピックモデルの多項分布パラメータβzvを求める。
＜構成＞
図１に例示するように、本形態のトピックモデリング装置１は、制御部１１と記憶部１２，１３と語義付与部１４と共起行列変換部１５とモデル計算部１６とを有する。この例のモデル計算部１６は、第１更新部１６ａと第２更新部１６ｂと判定部１６ｃとを有する。なお、トピックモデリング装置１は、例えば、CPU(central processing unit)、RAM(random-access memory)及びROM(read-only memory)等を含む公知又は専用のコンピュータに特別なプログラムが読み込まれて構成される特別な装置である。例えば、記憶部１２，１３はハードディスクや半導体メモリなどであり、制御部１１と語義付与部１４と共起行列変換部１５とモデル計算部１６とは、特別なプログラムが読み込まれたCPUなどである。これらの少なくとも一部が集積回路などによって構成されてもよい。トピックモデリング装置１は制御部１１の制御のもとで各処理を行い、各処理で得られたデータは一時メモリ（図示せず）に格納され、必要に応じて呼び出されて他の処理で利用される。図１に表記された矢印は情報の流れを表すが、表記の都合上一部の矢印が省略されている。
【００３４】
＜事前処理＞
事前処理として、記憶部１２に処理対象のテキストデータの集合Tが格納され、記憶部１３に各文字列の語義を表す辞書Wが格納される。本形態では、形態素解析、固有表現抽出、係り受け解析、文境界同定などの前処理を行った後の文書データの集合（コーパスを）をテキストデータの集合とし、日本語語彙大系辞書を辞書とした例を示す。
【００３５】
＜トピックモデリング処理＞
図２Ａを用いて本形態のトピックモデリング処理を説明する。
記憶部１２に格納されたテキストデータの集合Tに含まれる各テキストデータが語義付与部１４に入力される。語義付与部１４は、記憶部１３に格納された辞書を用い、入力された各テキストデータに含まれる各文字列に対して語義を付与する。テキストデータとそれに含まれる各文字列とそれらに付与された語義とは互いに対応付けられ、共起行列変換部１５に送られる（ステップＳ１１）。
【００３６】
共起行列変換部１５は、語義付与部１４で同じ語義g∈Gが付与された文字列を含むテキストデータの集合をテキストデータ集合dgとする。例えば、或るテキストデータに含まれる各文字列がX種類の語義g1,...,gX∈Gに分類される場合、このテキストデータはX個のテキストデータとして複製され、各語義g1,...,gXにそれぞれ対応するX個のテキストデータ集合dg1,...,dgXの一部とされる。本形態の共起行列変換部１５は、テキストデータ集合dgごとに、それに含まれる文字列と各語義との共起回数をカウントし、各テキストデータ集合dgにそれぞれ対応する共起行列を生成する。すなわち、テキストデータ集合dgに含まれる文字列と語義との共起回数を各要素とする共起行列が当該テキストデータ集合dgに対して生成される（図３）。図３の例では、文字列（例えば「ＮＴＴ」）に対する各語義（「企業」「通信」「人（管理職）」「長」「発言」）の各共起回数が、当該文字列に対応する行の各要素とされる。図３の例では、テキストデータ集合dgに含まれる文字列「ＮＴＴ」と語義「企業」「通信」「人（管理職）」「長」「発言」との共起回数がそれぞれ1,1,0,0,0であるため、共起行列の文字列「ＮＴＴ」に対応する行の要素が1,1,0,0,0とされる。各テキストデータ集合dgに対応する各共起行列は対応するテキストデータ集合dgに対応付けられてモデル計算部１６に送られる（ステップＳ１２）。
【００３７】
モデル計算部１６は各テキストデータ集合dgに対応する各共起行列を用い、テキストデータ集合dgごとに、式(2)で表されるトピックモデルの多項分布パラメータβzvを得る（ステップＳ１３）。本形態ではEMアルゴリズムを用いて多項分布パラメータβzvを得る例を示す。
【００３８】
[ステップＳ１３でEMアルゴリズムを用いる例]
図２Ｂに例示するように、モデル計算部１６の第１更新部１６ａは、t=0とし、多項分布パラメータの初期値ηgz(0)及びβzv(0)を定める。ηgz(0)及びβzv(0)は任意の値でよく、例えば０以上１以下の規定値がηgz(0)及びβzv(0)とされる（ステップＳ１３１）。
【００３９】
モデル計算部１６の第１更新部１６ａは、ηgz(t)及びβzv(t)を用い、式(3)に従って[E-step]の処理を行って条件付き確率P(zgv|v,η(t),β(t))を求める。条件付き確率P(zgv|v,η(t),β(t))は第２更新部１６ｂに送られる（ステップＳ１３２）。
【００４０】
第２更新部１６ｂは、条件付き確率P(zgv|v,η(t),β(t))と出現回数n(dg,v)とを用い、式(5)(6)に従って[M-step]の処理を行って多項分布パラメータηgz(t+1)及びβzv(t+1)を求める。出現回数n(dg,v)はテキストデータ集合dgに対応する共起行列を用いて特定される。図３に例示した共起行列の場合、例えばn(dg,“NTT”)=2, n(dg,“は”)=6,..., n(dg,“語る”)=3となる。多項分布パラメータηgz(t+1)及びβzv(t+1)は、第１更新部１６ａと判定部１６ｃに送られる（ステップＳ１３３）。
【００４１】
判定部１６ｃは、終了条件を満たしたかを判定する。以下に終了条件を例示する。
[終了条件の例１]
テキストデータ全体に対する対数尤度の変化率Σg∈G log Pt+1(wg|dg)/Σg∈G log Pt(wg|dg)が規定値以上であることを終了条件とする。ただし、
【数９】
0005342574.tif 000010
である。
[終了条件の例２]
ｔ回目のイテレーションで得られたβ(ｔ)、η(ｔ)とｔ+1回目のイテレーションで得られたβ(ｔ+1)、η(ｔ+1)との変化率や変化量が規定値以下であることを終了条件とする。例えば、ｔ回目のイテレーションで得られたβ(ｔ)、η(ｔ)を要素とするベクトルと、ｔ+1回目のイテレーションで得られたβ(ｔ+1)、η(ｔ+1)を要素とするベクトルとの距離が規定値以下であることを終了条件とする。
[終了条件の例３]
tが所定のイテレーション回数に達したことを終了条件とする。
[終了条件の例４]
終了条件の例１−３の終了条件のうちのいずれか複数を満たすことを終了条件とする（終了条件の例の説明終わり）。
【００４２】
終了条件を満たしていないと判定された場合には、t+1を新たなtとしてステップＳ１３２に進む（ステップＳ１３５）。終了条件を満たしたと判定された場合には、ステップＳ１３の処理を終了し、判定部１６ｃはβzv(t+1)を多項分布パラメータβzvとして出力する。多項分布パラメータβzvを出力するのはトピックモデルを適用する際にはβzvがあれば十分であるからであるが、必要に応じてηgz(t+1)を多項分布パラメータηgzとして出力されてもよい。また、βzv(t)が多項分布パラメータβzvとして出力されてもよいし、ηgz(t)が多項分布パラメータηgzとして出力されてもよい（ステップＳ１４）。
【００４３】
〔第２実施形態〕
第２実施形態は第１実施形態の変形例であり、語義タガーを用いて文字列に語義が付与される形態である。以下では第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については、第１実施形態と同じ参照番号を用いて説明を省略する。
＜構成＞
図１に例示するように、本形態のトピックモデリング装置２は、制御部１１と記憶部１２，１３と語義付与部２４と共起行列変換部１５とモデル計算部１６とを有する。第１実施形態との相違点は語義付与部２４のみである。図４に例示するように、語義付与部２４は、記憶部２４１と素性化部２４２と学習部２４３と語義識別部２４４とを有する。
【００４４】
＜事前処理＞
事前処理として、第１実施形態と同様に、記憶部１２に処理対象のテキストデータの集合Tが格納され、記憶部１２に各文字列の語義を表す辞書Wが格納される。
さらに本形態では語義タガーの学習が行われ、それによって得られた語義タガーが記憶部２４１に格納される。すなわち、文書などのテキストデータに含まれる単語などの文字列に対して語義の付与された学習データTRが素性化部２４２（図４）に入力される。素性化部２４２は、前述したように（[学習データの素性変換]及び[語義タガーの学習]）、学習データが含む文字列を素性変換し、文字列に対応する素性と当該文字列に付与された語義との組を用いて前述のような学習を行い、「任意の文字列の素性を入力として当該任意の文字列の語義を特定するための情報を得るモデル」である語義タガーMを生成して記憶部２４１に格納する。
【００４５】
＜トピックモデリング処理＞
図２Ａを用いて本形態のトピックモデリング処理を説明する。
記憶部１２に格納されたテキストデータの集合Tに含まれる各テキストデータが語義付与部２４に入力される。語義付与部２４は、記憶部２４１に格納された語義タガーMを用い、入力された各テキストデータに含まれる各文字列に対して語義を付与する。すなわち語義付与部２４の素性化部２４２（図４）は、入力されたテキストデータに含まれる文字列を前述のように素性化する。例えば、入力されたテキストデータに含まれる文字列の当該テキストデータに対する特徴を表す情報や、文字列が文字列の語義を表す辞書Wに含まれるか否かを表す情報や、辞書Wに示された文字列の語義の的確性を表す情報などが当該文字列の素性の少なくとも一部とされる。入力されたテキストデータに含まれる文字列の素性は語義識別部２４４に送られる。語義識別部２４４は、記憶部２４１から読み込んだ語義タガーMに、テキストデータに含まれる文字列の素性を入力し、前述のように（[語義タガーを用いた語義の付与]）当該文字列の語義を求める。テキストデータとそれに含まれる各文字列とそれらに付与された語義とは互いに対応付けられ、共起行列変換部１５に送られる（ステップＳ２１）。
【００４６】
それ以降の処理は第１実施形態と同じであるため説明を省略する。
【００４７】
〔第３実施形態〕
第３実施形態は第１及び第２実施形態の応用例であり、第１又は第２実施形態で得られたトピックモデルの適用方法を例示するものである。本形態では、得られたトピックモデルを用い、入力テキストデータにトピック情報を付与する。以下では、第１及び第２実施形態との相違点のみを説明する。
【００４８】
＜構成＞
図１に例示するように、本形態のトピックモデリング装置３は、第１実施形態のトピックモデリング装置１又は第２実施形態のトピックモデリング装置２にモデル適用部３７が付加されたものである。
【００４９】
＜事前処理・トピックモデリング処理＞
第１及び第２実施形態で説明した通りである。
【００５０】
＜モデル適用処理＞
モデル適用部３７に、第１又は第２実施形態の判定部１６ｃから出力された多項分布パラメータβzvが入力される。さらに、入力テキストデータd'がモデル適用部３７に入力される。モデル適用部３７は、入力テキストデータd'が含む文字列の集合を入力文字列集合w'とし、入力テキストデータd'が与えられたときの各文字列v'∈Vの条件付き確率をp(v'|d')とし、入力テキストデータd'中の文字列v'∈Vの出現回数をn(d',v')とし、入力テキストデータd'が与えられたときのトピック情報zの条件付き確率p(z|d')である多項分布パラメータをηd’zとした場合における
【数１０】
0005342574.tif 000011
の多項分布パラメータηd’zを求めて出力する。多項分布パラメータηd’zは、入力テキストデータd'に対応するトピック情報がz∈Zであることの条件付き確率p(z|d')である。
【００５１】
多項分布パラメータηd’zの生成方法には限定はないが、例えばEMアルゴリズムを用いることができる。この場合には、以下のE-stepとM-stepとを、繰り返しのたびにt+1を新たなtとしながら繰り返し、終了条件を満たした際のηd’z(t+1)又はηd’z(t)を多項分布パラメータηd’zとすればよい。この繰り返し処理のηd’z(t)の初期値P(zd’v|v,η(0),β)及びηd’z(0)は任意な値でよく、この繰り返し処理で多項分布パラメータβzvは更新されない。
【数１１】
0005342574.tif 000012
【００５２】
＜実験＞
本発明の実施形態の手法（p-Conceptron）と従来手法（Conceptron）を比較するために文書分類実験を行った。すなわちp-Conceptronを用いて条件付き確率p(z|d')（トピック重み）を求め、それらを文書分類のための素性の一部として文書分類を行った場合と、従来手法のConceptronで得られたトピックを文書分類のための素性の一部として用いて文書分類を行った場合とで分類性能を比較した。この実験では、毎日新聞の記事文書をテキストデータとし、単語を文字列とし、新聞記事の文書を分類する。毎日新聞の記事には記事ラベルがついている。これを分類の正解ラベルとし、正解ラベルを知ることなくp-Conceptron及びConceptronがいかに正しくラベルを推測できるかを比べ、p-Conceptron及びConceptronの性能を比較する。総ラベル種は１７種類である。上述のトピック重みやトピック以外の素性としては文書に含まれる単語のユニグラム素性（単語そのもの）を用いる。実験に用いたConceptron及びp-Conceptronのトピックモデルは毎日新聞2001年版から2007年版から学習されたものである。
【００５３】
[クローズテスト]
毎日新聞2001年版からランダムに10000記事をトピックモデルの学習用に用い、それらの記事に含まれる1000記事を分類テスト用に用いた。Conceptronと実験条件を揃えるため、p-Conceptronのトピックモデルの学習には語義タガーを用いていない。トピックモデルの学習にはEMアルゴリズムを採用した。また、Conceptronとp-Conceptronとに共通する素性としてユニグラム素性を用い、さらに素性としてp-Conceptronのトピックモデルで得られるすべてのトピック重みを用いた場合と、Conceptronのトピックモデルで得られるトピックを用いた場合とで、テスト用の1000記事の分類性能が変化したかをみる。なお、テスト用の1000記事にも正解ラベルが存在するが、分類処理にはそれらの正解ラベルはConceptron及びp-Conceptronは与えられていない。
【００５４】
Conceptron、p-Conceptronのそれぞれにおいて10、50、100、500トピックの４つのモデルを作成し、最も性能の高かったものを比べる。p-Conceptronのトピック重みの素性化として、全てのトピックの重みを利用した場合と、最大の重み（最大確率）を持つトピックについてだけ素性化することとして場合について実験を行った。実験結果を以下に示す。
【表１】
0005342574.tif 000013
括弧内は最適だったトピック数（混合数）を示す。ユニグラム素性のみを用いた場合のベースラインの正解率が58.7%だったのに対し、p-Conceptronで最大確率のトピック利用の100トピック（100混合）において正解率63.8%とベースラインに比べて5.1ポイントの精度向上を達成した。さらにConceptronに対しては1ポイントの精度向上を達成した。
【００５５】
[オープンテスト]
トピックモデルの学習に用いた記事に含まれない記事についても分類結果を比較した。毎日新聞1997年版からランダムに10000記事をトピックモデルの学習用に用い、学習用の10000記事を除く1000記事を分類テスト用に用いた。素性はクローズテストと同様に設定した。以下に実験結果を示す。
【表２】
0005342574.tif 000014
ユニグラム素性のみを用いた場合のベースラインの正解率が58.7%だったのに対し、最高値p-Conceptronの50トピック（50混合）においてベースラインに比べて1.4ポイントの精度向上を達成した。さらにConceptronに対しては0.7ポイントの精度向上を達成した。
【００５６】
〔第４実施形態〕
第４実施形態は第１及び第２実施形態の応用例であり、第１又は第２実施形態で得られたトピックモデルの他の適用方法を例示するものである。本形態では、得られたトピックモデルを用い、各トピックにおいて特徴的な単語などの文字列を得る。以下では、第１及び第２実施形態との相違点のみを説明する。
【００５７】
＜構成＞
図１に例示するように、本形態のトピックモデリング装置４は、第１実施形態のトピックモデリング装置１又は第２実施形態のトピックモデリング装置２にモデル適用部４７が付加されたものである。
【００５８】
＜事前処理・トピックモデリング処理＞
第１及び第２実施形態で説明した通りである。
【００５９】
モデル適用部４７に、第１又は第２実施形態の判定部１６ｃから出力された多項分布パラメータβzvが入力される。さらに、入力テキストデータd'がモデル適用部４７に入力される。モデル適用部４７は、多項分布パラメータβzvと入力テキストデータd'中の文字列vの出現確率（ユニグラム確率）p(v)との比rzvを求めて出力する。例えば、モデル適用部４７は、rzv=βzv／p(v)を求めて出力する。p(v)に対するβzv=p(v|z)の比率が大きい文字列vほどトピック情報zに対応するトピックにおいて特徴的な単語であると見込まれる。
【００６０】
以下に、テキストデータが文書であり、それに含まれる文字列が単語である場合に本形態を適用した結果を例示する。以下では、各トピックについてrzv=βzv／p(v)の高い順に上位１０個の単語を列挙する。なお、左側カラムのトピック名は特徴的単語を見て人手で付与されたラベル名である。
【表３】
0005342574.tif 000015
このように、本形態の方法によって各トピックにおいて特徴的な単語を抽出できることが分かる。
【００６１】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば上記の各実施形態ではステップＳ１２で共起行列を生成し、生起行列を用いてトピックモデルを生成していた。しかし、生起行列を生成することなく、入力された各テキストデータに含まれる各文字列に対して語義を付与して得られるデータからn(dg,v)を求め、トピックモデルを生成してもよい。また、ＥＭアルゴリズムの更新の順序に限定はなく、M-stepを実行してからE-stepを実行する繰り返し処理が実行されてもよい。この場合のM-stepでのP(zgv|v,η(t),β(t))の初期値P(zgv|v,η(0),β(0))は任意値でよい。
【００６２】
第１又は第２実施形態で得られたトピックモデルの適用方法にも限定はなく、多様な用途に適用できる。すなわち、得られたトピックモデルは文書に対するトピック付与のみでなく、文や段落などといったテキストに対するトピック付与に利用されてもよい。また、得られたトピックモデルの多項分布パラメータの距離や類似度を指標として、対応する文書等のテキストデータの類似度を判定してもよい。
【００６３】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００６４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、非一時的（non-transitory）な記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
【００６５】
このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００６６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００６７】
また、上記の実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００６８】
１−４  トピックモデリング装置
【図１】
0005342574.tif 000021
【図２】
0005342574.tif 000022
【図３】
0005342574.tif 000023
【図４】
0005342574.tif 000024