(57)【要約】【課題】文書間の関係を精度よく推定する推定モデルを得ることができるようにする。【解決手段】学習用素性抽出部２３によって、複数の学習用文書からなる学習用文書群における学習用文書間の各々について、学習用文書間のうちの一方の学習用文書をユーザが作成したときに他方の学習用文書がユーザに対して可視であるか否かを示す素性である可視素性を抽出する。モデル学習部２５によって、学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、学習用素性抽出部２３によって学習用文書群における学習用文書間の各々について抽出された可視素性とに基づいて、可視素性から文書間の関係を推定するための推定モデルを学習する。【選択図】図１
2015022721.tif 000002
【特許請求の範囲】
【請求項１】
複数の学習用文書からなる学習用文書群における学習用文書間の各々について、前記学習用文書間のうちの一方の学習用文書をユーザが作成したときに他方の学習用文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出する学習用素性抽出部と、
前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記可視素性とに基づいて、前記可視素性から文書間の関係を推定するための推定モデルを学習するモデル学習部と、
を含む文書間関係推定モデル学習装置。
【請求項２】
前記学習用素性抽出部は、前記学習用文書間の各々について、前記可視素性を示す述語を含む観測述語を抽出し、
前記観測述語及び前記学習用文書間の関係を示す潜在述語を用いて記述された各論理式を、前記論理式を生成するルールが記載されたテンプレートに基づいて作成する学習用論理式生成部を更に含み、
前記モデル学習部は、
前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記観測述語と、前記作成された各論理式とに基づいて、各論理式を用いて構築されるマルコフ論理ネットワーク（ＭＬＮ：Markov Logic Network）における各論理式の重みを用いて、前記マルコフ論理ネットワークにより、推定対象の文書間についての前記観測述語に対して尤もらしい、前記推定対象の文書間の関係を示す潜在述語を推定するための前記推定モデルにおける各論理式の重みを学習する請求項１記載の文書間関係推定モデル学習装置。
【請求項３】
複数の文書からなる文書群における文書間の各々について、前記文書間のうちの一方の文書をユーザが作成したときに他方の文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出する素性抽出部と、
前記文書群における文書間の各々について、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記可視素性と、前記可視素性から文書間の関係を推定するための予め学習された推定モデルとに基づいて、前記文書間の関係を推定する関係推定部と、
を含む文書間関係推定装置。
【請求項４】
前記素性抽出部は、前記文書間の各々について、前記可視素性を示す述語を含む観測述語を抽出し、
前記観測述語及び前記文書間の関係を示す潜在述語を用いて記述された各論理式を、前記論理式を生成するルールが記載されたテンプレートに基づいて作成する論理式生成部を更に含み、
前記関係推定部は、
各論理式を用いて構築されるマルコフ論理ネットワーク（ＭＬＮ：Markov Logic Network）における各論理式の重みを用いて、前記観測述語から文書間の関係を推定するための予め学習された前記推定モデルと、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記観測述語と、前記作成された各論理式とに基づいて、前記マルコフ論理ネットワークにより、前記文書群における文書間の各々について抽出された前記観測述語に対して尤もらしい、前記文書間の関係を示す潜在述語を推定する請求項３記載の文書間関係推定装置。
【請求項５】
学習用素性抽出部、及びモデル学習部を含む文書間関係推定モデル学習装置における文書間関係推定モデル学習方法であって、
前記学習用素性抽出部によって、複数の学習用文書からなる学習用文書群における学習用文書間の各々について、前記学習用文書間のうちの一方の学習用文書をユーザが作成したときに他方の学習用文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出するステップと、
前記モデル学習部によって、前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記可視素性とに基づいて、前記可視素性から文書間の関係を推定するための推定モデルを学習するステップと、
を含む文書間関係推定モデル学習方法。
【請求項６】
素性抽出部、及び関係推定部を含む文書間関係推定装置における文書間関係推定方法であって、
前記素性抽出部によって、複数の文書からなる文書群における文書間の各々について、前記文書間のうちの一方の文書をユーザが作成したときに他方の文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出するステップと、
前記関係推定部によって、前記文書群における文書間の各々について、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記可視素性と、前記可視素性から文書間の関係を推定するための予め学習された推定モデルとに基づいて、前記文書間の関係を推定するステップと、
を含む文書間関係推定方法。
【請求項７】
コンピュータを、請求項１又は２に記載の文書間関係推定モデル学習装置の各部として機能させるためのプログラム。
【請求項８】
コンピュータを、請求項３又は４に記載の文書間関係推定装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書間関係推定モデル学習装置、文書間関係推定装置、方法、及びプログラムに係り、特に、文書間の関係を推定する文書間関係推定モデル学習装置、文書間関係推定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットの普及に伴い、人間がアクセスできるデータの量は飛躍的に増えた。たとえば、インターネット上には今数十億を超える文書があるとされている。これらのデータをすべて読むのは不可能であり、効率的な閲覧手段が必要である。一つの解決策はデータを構造化し、閲覧しやすくすることである。構造化とは、たとえば、データ間に関連性を与え、構造を与えることを指す。もし文書間に関係が付与されていたとすると、ある文書についての反対意見を得たければ、その文書について「反対」の関係にある文書の一覧を取得し、それらのみ閲覧するといったことが可能になる。
【０００３】
しかしながら、現在多くの文書間に関係性が付与されていない。そこで、文書間の関係を自動的に同定し、関係性を付与する手法が提案されている。
【０００４】
非特許文献１では、ＱＡサイトに投稿された発言間の関係性をマルコフロジックネットワーク（ＭＬＮ）と呼ばれる教師あり学習の手法で推定している。関係性としては、「類似」（発言同士が同様の内容を保持している）や「包含」（片方の発言がもう片方の内容を完全に含み、新たな内容も含んでいる）などである。
【０００５】
ＭＬＮについては、非特許文献２に詳述されている。ＭＬＮは、確率的に推論を行う仕組みとして、近年注目されているものである。
【０００６】
ＭＬＮでは重み付きの論理関係を扱うことができ、このため、必ず成り立つわけではないような関係も論理的な関係と同時に扱うことができる。現実的な、おおよそ成り立つ関係について、重みを学習によって決定し、推定に役立てることが可能な学習手法である。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Hikaru Yokono; Takaaki Hasegawa; Genichiro Kikui; Manabu Okumura、「Identification of relations between answers with global constraints for Community-based Question Answering services」、 Proc. IJCNLP、2011年
【非特許文献２】吉川克正、浅原正幸、松本裕治、「Markov Logic による日本語述語項構造解析」、情報処理学会研究報告（NL-199）、2010年.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記の従来技術では、発言間の関係を推定するとき、すべての発言間について推定を行うと、判定する必要のない発言間の可能性も考慮してしまうため、推定精度が低い、という問題があった。
【０００９】
本発明は、上記の事情を鑑みてなされたもので、文書間の関係を精度よく推定する推定モデルを得ることができる文書間関係推定モデル学習装置、方法、及びプログラムを提供することを目的とする。また、文書間の関係を精度よく推定することができる文書間関係推定装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために第１の発明に係る文書間関係推定モデル学習装置は、複数の学習用文書からなる学習用文書群における学習用文書間の各々について、前記学習用文書間のうちの一方の学習用文書をユーザが作成したときに他の学習用文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出する学習用素性抽出部と、前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記可視素性とに基づいて、前記可視素性から文書間の関係を推定するための推定モデルを学習するモデル学習部と、を含んで構成されている。
【００１１】
また、第２の発明に係る文書間関係推定モデル学習方法は、学習用素性抽出部、及びモデル学習部を含む文書間関係推定モデル学習装置における文書間関係推定モデル学習方法であって、前記学習用素性抽出部によって、複数の学習用文書からなる学習用文書群における学習用文書間の各々について、前記学習用文書間のうちの一方の学習用文書をユーザが作成したときに他の学習用文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出するステップと、前記モデル学習部によって、前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記可視素性とに基づいて、前記可視素性から文書間の関係を推定するための推定モデルを学習するステップと、を含む。
【００１２】
第３の発明に係る文書間関係推定装置は、複数の文書からなる文書群における文書間の各々について、前記文書間のうちの一方の文書をユーザが作成したときに他の文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出する素性抽出部と、前記文書群における文書間の各々について、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記可視素性と、前記可視素性から文書間の関係を推定するための予め学習された推定モデルとに基づいて、前記文書間の関係を推定する関係推定部と、を含んで構成されている。
【００１３】
第４の発明に係る文書間関係推定方法は、素性抽出部、及び関係推定部を含む文書間関係推定装置における文書間関係推定方法であって、前記素性抽出部によって、複数の文書からなる文書群における文書間の各々について、前記文書間のうちの一方の文書をユーザが作成したときに他の文書が前記ユーザに対して可視であるか否かを示す素性である可視素性を抽出するステップと、前記関係推定部によって、前記文書群における文書間の各々について、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記可視素性と、前記可視素性から文書間の関係を推定するための予め学習された推定モデルとに基づいて、前記文書間の関係を推定するステップと、を含む。
【００１４】
本発明に係る文書間関係推定モデル学習装置における、前記学習用素性抽出部は、前記学習用文書間の各々について、前記可視素性を示す述語を含む観測述語を抽出し、前記観測述語及び前記学習用文書間の関係を示す潜在述語を用いて記述された各論理式を、前記論理式を生成するルールが記載されたテンプレートに基づいて作成する学習用論理式生成部を更に含み、前記モデル学習部は、前記学習用文書群における学習用文書間の各々について予め定められた学習用文書間の関係と、前記学習用素性抽出部によって前記学習用文書群における学習用文書間の各々について抽出された前記観測述語と、前記作成された各論理式とに基づいて、各論理式を用いて構築されるマルコフ論理ネットワーク（ＭＬＮ：Markov Logic Network）における各論理式の重みを学習するようにすることができる。学習される各論理式の重みは、推定モデルにおける各論理式の重みであり、推定モデルは、前記マルコフ論理ネットワークにより、推定対象の文書間についての前記観測述語に対して尤もらしい、前記推定対象の文書間の関係を示す潜在述語を推定するための推定モデルである。
【００１５】
本発明に係る文書間関係推定モデル学習装置における、前記素性抽出部は、前記文書間の各々について、前記可視素性を示す述語を含む観測述語を抽出し、前記観測述語及び前記文書間の関係を示す潜在述語を用いて記述された各論理式を、前記論理式を生成するルールが記載されたテンプレートに基づいて作成する論理式生成部を更に含み、前記関係推定部は、各論理式を用いて構築されるマルコフ論理ネットワーク（ＭＬＮ：Markov Logic Network）における各論理式の重みを用いて、前記観測述語から文書間の関係を推定するための予め学習された前記推定モデルと、前記素性抽出部によって前記文書群における文書間の各々について抽出された前記観測述語と、前記作成された各論理式とに基づいて、前記マルコフ論理ネットワークにより、前記文書群における文書間の各々について抽出された前記観測述語に対して尤もらしい、前記文書間の関係を示す潜在述語を推定するようにすることができる。
【００１６】
第５の発明に係るプログラムは、コンピュータを、本発明に係る文書間関係推定モデル学習装置の各部として機能させるためのプログラムである。
【００１７】
第６の発明に係るプログラムは、コンピュータを、本発明に係る文書間関係推定装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１８】
以上説明したように、本発明の文書間関係推定モデル学習装置、方法、及びプログラムによれば、学習用文書群における学習用文書間の各々について、一方の学習用文書をユーザが作成したときに、他方の学習用文書が当該ユーザに対して可視であるか否かを示す可視素性を抽出し、予め定められた学習用文書間の関係と、学習用文書間の各々について抽出された可視素性とに基づいて、文書間の関係を推定するための推定モデルを学習することにより、文書間の関係を精度よく推定するための推定モデルを得ることができる、という効果が得られる。
【００１９】
また、本発明の文書間関係推定装置、方法、及びプログラムによれば、文書群における文書間の各々について、一方の文書をユーザが作成したときに他方の文書が当該ユーザに対して可視であるか否かを示す可視素性を抽出し、文書間の各々について抽出された可視素性と、可視素性から文書間の関係を推定するための予め学習された推定モデルとに基づいて、文書間の関係を推定することにより、文書間の関係を精度よく推定することができる、という効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る発言間関係推定装置の構成を示す概略図である。
【図２】述語visibleを抽出する条件を説明するための第１の説明図である。
【図３】述語visibleを抽出する条件を説明するための第２の説明図である。
【図４】本発明の実施の形態に係る発言間関係推定装置におけるモデル学習処理ルーチンの内容を示すフローチャートである。
【図５】本発明の実施の形態に係る発言間関係推定装置における発言間関係推定処理ルーチンの内容を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、マイクロブログサービスであるツイッター（Ｒ）のツイートを発言とみなし、ツイート間の関係を推定する発言間関係推定装置に本発明を適用した場合を例に説明する。
【００２２】
＜システム構成＞
図１に示すように、本発明の実施の形態に係る発言間関係推定装置１００は、ツイートを示すテキストデータの集合が入力され、各ツイート間の関係を出力する。１つのツイートは１つ以上の文を含んで構成されるテキストデータである。この発言間関係推定装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチン及び発言間関係推定処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１に示すように、発言間関係推定装置１００は、入力部１０と、演算部２０と、出力部３０とを備えている。
【００２３】
入力部１０は、入力された複数の学習用ツイートを含んで構成される学習用ツイート集合を受け付ける。本実施の形態の例では、マイクロブログサービスの一つであるツイッター（Ｒ）のツイートを発言として用いる。本実施の形態では、ツイッター（Ｒ）のまとめサイトであるｔｏｇｅｔｔｅｒ（Ｒ）（http://togetter．com/）でまとめられたツイートをクロールすることで、学習用ツイート集合を作成する。なお、特定の検索キーワードが含まれるツイートを検索して取得し、それらを学習用ツイート集合としてもよい。なお、ツイート（発言）は文書の一例である。
【００２４】
また、入力部１０は、学習用ツイート集合と共に、入力された学習用ツイート集合における学習用ツイート間の各々について予め定められた学習用ツイート間の関係を受け付ける。この学習用ツイート集合では、ツイート間の関係として、関係のあるなしを示すラベルが付与されている。また、関係のあるなし以外にも、関係ありの場合はさらに「演繹」「帰納」「矛盾」「類似」「その他」のラベルがツイート間に付与されている。これらは人手で付与したものである。以下、学習用ツイート集合のツイート間の関係を示すラベルを、関係性ラベルと称する。
【００２５】
また、入力部１０は、関係を推定する対象のツイート集合を受け付ける。すなわち、入力部１０は、上記の関係がツイート間にあるかないか、あるとしたらどの関係かを推定するために入力された、ツイート集合を受け付ける。
【００２６】
演算部２０は、発言集合データベース２１、発言間関係データベース２２、学習用素性抽出部２３、学習用論理式生成部２４、モデル学習部２５、モデル記憶部２６、入力発言集合データベース２７、素性抽出部２８、論理式生成部２９、及び関係推定部３１を備えている。
【００２７】
発言集合データベース２１には、入力部１０により受け付けた学習用ツイート集合が記憶される。発言間関係データベース２２には、入力部１０により受け付けた学習用ツイート集合における学習用ツイート間の各々について予め定められた学習用ツイート間の関係が記憶される。
【００２８】
学習用素性抽出部２３は、発言集合データベース２１に記憶されている学習用ツイート集合における学習用ツイート間の各々について、素性を抽出すると共に、学習用ツイートの各々について、素性を抽出する。ここで、素性は述語として表され、抽出される素性を示す述語は観測述語とも呼ばれる。すなわち、学習用素性抽出部２３は、学習用ツイート間の各々、及び学習用ツイートの各々について、観測述語を抽出する。
【００２９】
具体的には、学習用素性抽出部２３は、例えば、ツイートａがあり、ツイートｂにリプライしているとすると、tweet（ａ）、tweet（ｂ）、in_reply_to（ａ、ｂ）という述語を抽出する。これらは、ａがツイートであること、ｂがツイートであること、そして、ａがｂにリプライしていることを表す述語である。
加えて、ツイートａが＠．．．という形でツイートｂのユーザ名に言及している場合、reply（ａ、ｂ）という述語を抽出する。また、ツイートａとツイートｂが同ユーザによるツイートの場合、述語sameuser（ａ、ｂ）を抽出する。その他、ツイートが投稿された時間で並べた場合、ツイートａとツイートｂの間に、ツイートａのユーザによるツイートが存在するかどうかを表す述語や、学習用ツイート集合において、あるツイートが時間的にそのユーザの最初のツイートであるかどうかを表す述語を抽出する。
【００３０】
なお、各ツイートがどのような単語を持つかを表すbag-of-wordsの述語やａとｂとの単語の重複度なども観測述語として抽出する。これらに加え、一般の文書分類において、機械学習の際に用いられるような素性を観測述語として抽出してもよい。
【００３１】
さらに、本実施の形態では、観測述語として、学習用ツイート間のうちの一方の学習用ツイートをユーザが作成したときに、他方の学習用ツイートが当該ユーザに対して可視であるか否かを示す素性である可視素性を導入する。ここでは、あるユーザがツイートを行った時点で、関係性の判定対象となるツイートが可視であったかどうかを表す素性として、ツイートａがツイートｂを行ったユーザから見えているという状態を表す述語visible（ａ、ｂ）を抽出する。
【００３２】
この述語の導出について述べる。ツイートを行ったユーザをＡ、ツイートを見るユーザをＢとしたとき、ユーザＡのツイートがユーザＢ（ユーザＡであってもよい）から見えているためには、以下の（１）〜（４）の少なくとも一つの条件を満たす必要がある。
【００３３】
（１）ユーザＡのツイートが自分自身のツイートであること。
（２）ユーザＢが、ツイートを行ったユーザＡをフォローしており、かつ、当該ツイートが、ユーザＢがフォローしていない別のユーザに対するリプライになっていないこと（ただし、フォローしている別のユーザが、該当するツイートに対してリプライを行った場合、リプライをたどって表示する機能がある）。
（３）ユーザＡのツイートが、ユーザＢがフォローしている別のユーザによってリツイートされたこと。この場合は、ユーザＢがフォローしていないユーザＡに対するリプライであっても見ることができる（ただし、特定のユーザからのリツイートを見ない設定等、twitter（Ｒ）へのアクセス方法によっては表示されない）。
（４）ユーザＡのツイートが、ユーザＢに対するリプライ又はコメント付きリツイートであること。
【００３４】
また、上記の条件の例外として、これ以外にもツイートが見えているための条件として、以下の（５）〜（７）の条件がある。
【００３５】
（５）特定の単語、ハッシュタグについて検索してツイートを表示したこと。
（６）ユーザを指定してツイートの履歴を見たこと。
（７）twitter（Ｒ）あるいは他のサービスによる、ツイートの紹介等があったこと（例えば、話題のツイート等）。
【００３６】
上記（１）〜（７）の条件のうち、明確に外部から見えていた、と判定可能な以下の（ア）〜（カ）の条件を用い、あるツイートが行われた時にユーザから見えていたかどうかの判定を行い、述語visibleを抽出する。
【００３７】
（ア）ユーザ自身のツイートであること。
（イ）ユーザが、ツイートを行ったユーザをフォローしていること。
（ウ）ユーザがフォローしているユーザに対するリプライであること。
（エ）フォローしているユーザのツイートであっても、ユーザがフォローしていない別のユーザに対するリプライではないこと。
（オ）ユーザが、リツイートを行ったユーザをフォローしていること。
（カ）ツイートが自分に対するコメント付きリツイート又はリプライとなっていること。
【００３８】
なお、フォローについては、ツイートが行われた当時フォローしていたかどうかを確実に判定する方法が存在しないため、現時点でのフォロー状態を取得して代用する。
【００３９】
具体的には、学習用素性抽出部２３は、ツイートａ、ｂ間について、以下の（イ）〜（ヘ）の少なくとも１つの条件を満たす場合に、ツイートｂを行ったユーザＢは、ユーザＡが行ったツイートａが見えていたと判定し、述語visibleを抽出する。
【００４０】
（イ）ユーザＡと、ユーザＢとが同一であること。
【００４１】
（ロ）ユーザＢが別のユーザＣをフォローしており、ユーザＡがユーザＣに対して、リプライとしてツイートａを行ったこと。
「リプライ」は、リプライ先のユーザをフォローしているユーザも、リプライの内容を見ることができる。従って、図２（Ａ）に示すように、ユーザＢが別のユーザＣ（リプライ先）をフォローしており、ユーザＡがユーザＣに対して、リプライとしてツイートａを行った場合、ユーザＢは、ユーザＡが行ったツイートａが見えている状態となる。
【００４２】
（ハ）ユーザＢがユーザＡをフォローしており、ユーザＡが行ったツイートａが、別のユーザＣに対するリプライではないこと。
原則として、図２（Ｂ）に示すように、ユーザＢがユーザＡをフォローしていた場合、ユーザＢは、ユーザＡが行ったツイートａが見えている状態となる。しかし、図２（Ｃ）に示すように、ツイートが「リプライ」である場合は、リプライ元のユーザのみをフォローしているユーザは、原則としてリプライの内容を見ることができない。従って、ユーザＢがユーザＡをフォローしており、ユーザＡが行ったツイートａが、別のユーザＣに対するリプライではない場合、ユーザＢは、ユーザＡが行ったツイートａが見えている状態となる。
【００４３】
（ニ）ユーザＢが別のユーザＣをフォローしており、ユーザＣがユーザＡのツイートａに対してリツイートしたこと。
「リツイート」は、リツイートを行ったユーザをフォローしているユーザに対し、その内容が表示される。従って、図３（Ａ）に示すように、ユーザＢが別のユーザＣをフォローしており、ユーザＣがユーザＡのツイートａに対してリツイートした場合、ユーザＢは、ユーザＡが行ったツイートａが見えている状態となる。
【００４４】
（ホ）ユーザＢに対し、ユーザＡがコメント付きリツイート又はリプライとしてツイートａを行ったこと。
「コメント付きリツイート」は、コメント付きリツイートされたツイートを行ったユーザ、及びコメント付きリツイートを行ったユーザをフォローしているユーザに対し、その内容が表示される。従って、図３（Ｂ）に示すように、ユーザＢに対し、ユーザＡがコメント付きリツイート又はリプライとしてツイートａを行った場合、ユーザＢは、ユーザＡが行ったツイートａが見えている状態となる。
【００４５】
また、観測述語に対し、潜在述語というものがある。潜在述語とは、観測述語ではない述語を指し、データそのもの（本実施の形態では、ツイートそのもの）からは得られないものである。潜在述語は機械学習における、推定したいラベルに対応する。
学習用素性抽出部２３は、発言間関係データベース２２に記憶されている学習用ツイート間の関係から、発言集合データベース２１に記憶されている学習用ツイート間の各々について、学習用ツイート間に対する関係性ラベルを示す潜在述語を抽出する。例えば、ツイートａとツイートｂに関係ありとの関係性ラベルが付与されていると、has_aa_relation（ａ、ｂ）という潜在述語が抽出される。has_aa_relationは二つの項の間に関係があるという事を表す述語である。
【００４６】
学習用論理式生成部２４は、論理式を生成するルールが記載されたテンプレートに基づいて、学習用ツイート間の各々又は学習用ツイートの各々の観測述語及び学習用ツイート間の各々の関係を示す潜在述語を用いて記述された各論理式を生成する。
【００４７】
具体的には、学習用論理式生成部２４は、ある観測述語・潜在述語の組み合わせがあるとき、ある潜在述語が成立するということを表す論理式を作成する。たとえば、「tweet（ａ）＆tweet（ｂ）＆in_reply_to（ａ、ｂ）という組み合わせであれば、has_aa_relation（ａ、ｂ）という潜在述語が成立する」という内容の論理式を作成する。どう組み合わせてどの潜在述語に結び付けるかには、人手で作成した論理式生成テンプレートによる。
【００４８】
論理式には、重み付き論理式と重みなし論理式がある。重み付き論理式は、その論理式の成立しやすさを重みとして保持する。重みなし論理式は「制約」とも呼ばれ、必ず成立する論理式である。
【００４９】
本実施の形態では、例えば、述語visibleを他の述語と組み合わせ、以下のテンプレートによる論理式を生成する。
【００５０】
precede（ａ、ｂ）＆tweet（ｂ）＆！visible（ａ、ｂ）＆！in_reply_to（ａ、ｂ）＆！rt（ａ、ｂ）＆！reply（ａ、ｂ）＝＞has_aa_relation（ａ、ｂ）
【００５１】
このテンプレートはツイートａ、ｂ間にツイッター（Ｒ）から得られる情報の範囲で関係がない場合、ａ、ｂは応答関係無しであると判定するためのものである。ここで、テンプレートの左項の述語それぞれは、precede（ａ、ｂ）が「ツイートａがｂに（ツイートの時間軸上で）先行する」、tweet（ｂ）が「ｂがツイートである」、visible（ａ、ｂ）が「ａがｂに対して可視である」、in_reply_to（ａ、ｂ）が「ａに対してｂが明示的にリプライを行なっている」、rt（ａ、ｂ）が「ａに対してｂがリツイートを行なっている」、reply（ａ、ｂ）が「ａに対してｂがメンションを行なっている」、という意味である。また、「！」は述語の否定を表す。
【００５２】
ここで、メンションとは＠ユーザ名を含むツイートを行うことを指し、ツイートの文面に＠ユーザ名が含まれていれば、そのツイートはそのユーザに対するメンションとなる。なお、in_reply_to はツイートが応答先のツイートを明示的に指定していることを表しており、ツイート内容によらない。
【００５３】
メンションとin_reply_toの表面的な違いは、メンションは一つのツイートで複数ユーザに対して行うことが可能だが、in_reply_toは複数のユーザに対して行うことができないところである。
【００５４】
上記に示す論理式により、ユーザに対してツイートが可視ではなかったり、明示的なリプライやリツイートが無いような場合に、どの程度関係を持ちうるのかという重みを学習することが可能となる。ここでは、上記のように生成された論理式を用いるが、述語visibleと潜在述語を関係づける他の論理式を用いてもよい。例えば、「ツイートａが、ツイートｂを行ったユーザＢから可視であれば、ツイートａとツイートｂとに関係がある」については、「visible（ａ、ｂ）＝＞has_aa_relation（ａ、ｂ）」という論理式によって表すことができる。
【００５５】
モデル学習部２５は、学習用素性抽出部２３によって抽出された、観測述語及び潜在述語と、学習用論理式生成部２４によって作成された各論理式とに基づいて、各論理式を用いて構築されるマルコフ論理ネットワーク（ＭＬＮ：Markov Logic Network）における各論理式の重みを用いて、マルコフ論理ネットワーク（以下、ＭＬＮと称する。）により、関係を推定する対象のツイート間についての観測述語に対して尤もらしい、ツイート間の関係を示す潜在述語を推定するための推定モデルにおける各論理式の重みを学習する。
【００５６】
ＭＬＮでは、与えられた論理式について、すべての制約を満たしつつ、観測可能な述語について行われた推論結果が、正解データとして与えられた述語の集合（潜在述語の集合）に近づくように、各論理式の重みが決定される。ここで学習された論理式の重みの集合がモデルとなり、重みの集合を表わすモデルが、モデル記憶部２６に記憶される。
【００５７】
ＭＬＮは、述語の集合Ｘに対してある確率を与える。この確率を最大化する述語の集合（潜在述語を含む）が、ＭＬＮにおける推論結果となる。ＭＬＮは、実際には一階述語論理式の集合として表される。
述語の集合Ｘに対する確率は、述語を論理式中の変数に代入することで成立する（真となる）論理式すべてについて重みの和をとり、exponentialを取り、正規化したものである。例えば、以下の式で表される。
【００５８】
【数１】
2015022721.tif 000003
【００５９】
ここで、Ｚは正規化のための定数であり、ｗｉがｉ番目の論理式に対応する重みである。ｎｉは、述語の集合Ｘ上で真をとるｉ番目の論理式の数であり、例えば、tweet（ａ）＆tweet（ｂ）＆in_reply_to（ａ、ｂ）のそれぞれについて、真をとる場合、カウントが１増える。
【００６０】
論理式の一部のみが真でもカウントはされない。この場合、論理式tweet（ａ）＆tweet（ｂ）＆in_reply_to（ａ、ｂ）が真になる回数ｎｉは、Ｘ中に、この論理式が真になるａとｂの組が存在する数と同じとなる。
【００６１】
より具体的に説明すると、ｉが指しているのは論理式の番号であり、ｎｉ（Ｘ）が指しているものは、述語集合Ｘのなかでｉ番目の論理式が真となる述語の組み合わせの数である。Ｘに含まれている述語が、tweet（ａ）、tweet（ｂ）、tweet（ｃ）とin_reply_to（ａ、ｂ）、in_reply_to（ｂ、ｃ）であり、ｉ番目の論理式がtweet（ｘ）＆tweet（ｙ）＆in_reply_to（ｘ、ｙ）である場合には、
【００６２】
tweet（ａ）＆tweet（ｂ）＆in_reply_to（ａ、ｂ）が真
tweet（ｂ）＆tweet（ｃ）＆in_reply_to（ｂ、ｃ）が真
tweet（ａ）＆tweet（ｃ）＆in_reply_to（ａ、ｃ）が偽
【００６３】
となるため、ｎｉ（Ｘ）＝２となる。
【００６４】
モデル記憶部２６には、モデル学習部２５によって学習された論理式の重みの集合を表わす推定モデルが記憶される。
【００６５】
入力発言集合データベース２７には、入力部１０により受け付けた、関係を推定する対象データとしてのツイート集合が記憶される。
【００６６】
素性抽出部２８は、入力発言集合データベース２７に記憶されているツイート集合におけるツイート間の各々、及びツイートの各々について、学習用素性抽出部２３と同様に、観測述語を抽出する。観測述語は、上記の学習用素性抽出部２３で抽出されるものと同様に、可視素性を示す述語を含む。
【００６７】
論理式生成部２９は、上記の学習用論理式生成部２４と同様に、論理式を生成するルールが記載されたテンプレートに基づいて、ツイート間の各々又はツイートの各々の観測述語及びツイート間の各々の関係を示す潜在述語を用いて記述された各論理式を生成する。
【００６８】
関係推定部３１は、入力発言集合データベース２７に記憶されているツイート間の各々について、モデル記憶部２６に記憶された推定モデルと、素性抽出部２８によって抽出された観測述語と、論理式生成部２９によって作成された各論理式とに基づいて、ＭＬＮにより、素性抽出部２８によって抽出された観測述語の集合に対して尤もらしい、ツイート間の関係を示す潜在述語を推定する。
具体的には、上記（１）式中の尤度を最大化する述語集合を得る。これらが推定結果であり、推定された関係である。例えば、ツイートｘとツイートｙについて、論理式に基づいて、has_aa_relation（ｘ、ｙ）が真だと推論されたとすると、ｘとｙとの間に関係があると出力する。
【００６９】
出力部３０は、関係推定部３１によって推定された潜在述語が表わす各ツイート間の関係を、出力部３０により出力する。
【００７０】
＜発言間関係推定装置の作用＞
次に、本実施の形態に係る発言間関係推定装置１００の作用について説明する。まず、学習用ツイート集合と、各ツイート間に対して手動で付与したツイート間の関係を示す関係性ラベルの集合とが発言間関係推定装置１００に入力されると、発言間関係推定装置１００によって、入力された、学習用ツイート集合が、発言集合データベース２１へ格納され、入力された、ツイート間の関係を示す関係性ラベルが、発言間関係データベース２２に格納される。
【００７１】
そして、発言間関係推定装置１００によって、図４に示すモデル学習処理ルーチンが実行される。
【００７２】
まず、ステップＳ１００において、学習用素性抽出部２３によって、発言集合データベース２１に格納された学習用ツイート間の各々、及び学習用ツイートの各々について、観測述語を抽出する。
【００７３】
次に、ステップＳ１０２において、学習用素性抽出部２３によって、発言間関係データベース２２に記憶されている学習用ツイート間の関係に基づいて、発言集合データベース２１に記憶されている学習用ツイート間の各々について、学習用ツイート間に対する関係性ラベルを示す潜在述語を抽出する。
【００７４】
ステップＳ１０４において、学習用論理式生成部２４によって、論理式を生成するルールが記載されたテンプレートに基づいて、学習用ツイート間の各々及び学習用ツイートの各々についての観測述語、及び学習用ツイート間の各々についての潜在述語を用いて記述された各論理式を生成する。
【００７５】
ステップＳ１０６において、上記ステップＳ１００で抽出された学習用ツイート間の各々及び学習用ツイートの各々についての観測述語と、上記ステップＳ１０２で抽出された学習用ツイート間の各々についての潜在述語とを含んで構成される学習データを生成する。
【００７６】
ステップＳ１０８において、モデル学習部２５によって、上記ステップＳ１０６で生成した学習データ、及び上記ステップＳ１０４で生成した各論理式に基づいて、上記（１）式で表される確率が最大となる各論理式の重みを学習する。
【００７７】
そして、ステップＳ１１０において、モデル学習部２５によって、上記ステップＳ１０８で学習された各論理式の重みを、モデル記憶部２６に格納して、モデル学習処理ルーチンを終了する。
【００７８】
そして、ツイート間の関係を推定する対象のツイート集合が発言間関係推定装置１００に入力されると、発言間関係推定装置１００によって、入力されたツイート集合が、入力発言集合データベース２７へ格納される。
【００７９】
そして、発言間関係推定装置１００によって、図５に示す発言間関係推定処理ルーチンが実行される。
【００８０】
ステップＳ２００において、素性抽出部２８によって、入力発言集合データベース２７に記憶されているツイート集合におけるツイート間の各々、及びツイートの各々について、観測述語を抽出する。
【００８１】
ステップＳ２０２において、論理式生成部２９によって、論理式を生成するルールが記載されたテンプレートに基づいて、ツイート間の各々又はツイートの各々の観測述語と、ツイート間の各々の関係を示す潜在述語を用いて記述された各論理式を生成する。
【００８２】
ステップＳ２０４において、関係推定部３１によって、入力発言集合データベース２７に記憶されているツイート間の各々について、上記ステップＳ１１０でモデル記憶部２６に記憶された推定モデルと、上記ステップＳ２００で抽出された観測述語と、上記ステップＳ２０２で作成された各論理式とに基づいて、ＭＬＮにより、抽出された観測述語の集合に対して尤もらしい、ツイート間の各々の関係を示す潜在述語を推定する。
【００８３】
そして、ステップＳ２０６において、上記ステップＳ２０４で推定されたツイート間の各々の関係を出力部３０により出力して、発言間関係推定処理ルーチンを終了する。
【００８４】
以上説明したように、本実施の形態に係る発言間関係推定装置によれば、学習用ツイート集合における学習用ツイート間の各々について、一方の学習用ツイートをユーザが作成したときに、他方の学習用ツイートが当該ユーザに対して可視であるか否かを示す可視素性を抽出し、予め定められた学習用ツイート間の関係と、学習用ツイート間の各々について抽出された可視素性を含む素性とに基づいて、ツイート間の関係を推定するための推定モデルを学習することにより、ツイート間の関係を精度よく推定するための推定モデルを得ることができる。
【００８５】
また、本実施の形態に係る発言間関係推定装置によれば、ツイート集合におけるツイート間の各々について、一方のツイートをユーザが作成したときに他方のツイートが当該ユーザに対して可視であるか否かを示す可視素性を抽出し、ツイート間の各々について抽出された可視素性を含む素性と、素性からツイート間の関係を推定するための予め学習された推定モデルとに基づいて、ツイート間の関係を推定することにより、ツイート間の関係を精度よく推定することができる。
【００８６】
また、自然言語で書かれたツイート間について、可視素性を導入することで、高精度にツイート間の関係性を推定することができる。
【００８７】
また、ツイート間の可視素性に基づいて関係を推定することにより、関係を持ちうるツイート間に絞り込んで関係を推定することができ、推定精度を高めることができる。
【００８８】
また、ツイート間の関係の推定精度が向上し、インターネット上の膨大なツイートを高精度で構造化できるようになる。ツイートが高精度に構造化できれば、膨大な情報から効率的に内容を閲覧したり、情報を抽出したりすることが可能となる。
【００８９】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００９０】
例えば、本実施の形態では、ツイッター（Ｒ）のツイートを文書とみなし、ツイート間の関係を推定する場合を例に説明したが、これに限定されるものではなく、ツイート間以外の文書間の関係を推定してもよい。
【００９１】
また、ツイート間の関係性の学習及び推定にはＭＬＮを用いる場合を例に説明したが、これに限定されるものではなく、同種の素性（可視素性）が定義できれば、ＳＶＭや単純ベイズ分類器など、一般的な機械学習のアルゴリズムを用いてもよい。
【００９２】
また、発言集合データベース２１、発言間関係データベース２２、及びモデル記憶部２６は、外部に設けられ、発言間関係推定装置とネットワークで接続されていてもよい。
【００９３】
また、推定モデルの学習を、発言間関係推定装置とは別の発言間関係推定モデル学習装置によって行うようにしてもよい。
【００９４】
上述の発言間関係推定装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００９５】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００９６】
１０   入力部
２０   演算部
２１   発言集合データベース
２２   発言間関係データベース
２３   学習用素性抽出部
２４   学習用論理式生成部
２５   モデル学習部
２６   モデル記憶部
２７   入力発言集合データベース
２８   素性抽出部
２９   論理式生成部
３０   出力部
３１   関係推定部
１００ 発言間関係推定装置
【図１】
2015022721.tif 000004
【図２】
2015022721.tif 000005
【図３】
2015022721.tif 000006
【図４】
2015022721.tif 000007
【図５】
2015022721.tif 000008