(57)【特許請求の範囲】
【請求項１】
入力文を形態素解析することで、複数の形態素を作成する形態素解析部と、
前記複数の形態素を係り受け解析することで、前記複数の形態素に関する依存構造グラフを作成する係り受け解析部と、
前記依存構造グラフから複数の部分構造情報を抽出し、前記複数の部分構造情報に対応する形態素列を複数のベクトル値から構成される数値系列に変換することによって文構造ベクトルを作成する文構造ベクトル化部と
を備え、
前記複数のベクトル値の各々は、前記複数の部分構造情報に対応する複数の次元の各々における形態素構造番号の出現の個数であり、
前記形態素構造番号は、Ｎを１以上の整数としたときに、Ｎ個の形態素の係り受け関係と複数の形態素構造番号とを対応付けた形態素構造情報から得られる番号であり、
前記出現の個数は、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在する場合は１であり、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在しない場合は０であるか又は前記出現の個数を示す情報が省略される
ことを特徴とする文構造ベクトル化装置。
【請求項２】
前記文構造ベクトル化部は、
前記複数の形態素の各々と係り受け解析によって得られた係り受け関係を示す情報とのペアを含む複数の形態素情報を作成し、
前記複数の形態素情報から前記複数の部分構造情報を抽出する
ことを特徴とする請求項１に記載の文構造ベクトル化装置。
【請求項３】
Ｎを３以上の整数としたときに、前記複数の部分構造情報は、１個の形態素に関する１形態素構造情報からＮ個の形態素に関するＮ形態素構造情報までを含み、
前記文構造ベクトル化部は、Ｎ−１形態素構造情報と２形態素構造情報とをマージする処理によって前記Ｎ形態素構造情報を作成する
ことを特徴とする請求項１又は２に記載の文構造ベクトル化装置。
【請求項４】
前記文構造ベクトルを記憶する記憶部をさらに備えたことを特徴とする請求項１から３のいずれか１項に記載の文構造ベクトル化装置。
【請求項５】
前記文構造ベクトルを用いた処理を行う処理部をさらに備えたことを特徴とする請求項１から４のいずれか１項に記載の文構造ベクトル化装置。
【請求項６】
前記処理部は、前記文構造ベクトルを用いて、検索対象文書から文書を検索する検索処理部を有することを特徴とする請求項５に記載の文構造ベクトル化装置。
【請求項７】
前記処理部は、前記文構造ベクトルを用いて、検索対象文書の分類を行う分類処理部を有することを特徴とする請求項５又は６に記載の文構造ベクトル化装置。
【請求項８】
コンピュータがソフトウェアとしてのプログラムを実行することによって、実行される文構造ベクトル化方法であって、
入力文を形態素解析することで、複数の形態素を作成するステップと、
前記複数の形態素を係り受け解析することで、前記複数の形態素に関する依存構造グラフを作成するステップと、
前記依存構造グラフから複数の部分構造情報を抽出し、前記複数の部分構造情報に対応する形態素列を複数のベクトル値から構成される数値系列に変換することによって文構造ベクトルを作成するステップと
を有し、
前記複数のベクトル値の各々は、前記複数の部分構造情報に対応する複数の次元の各々における形態素構造番号の出現の個数であり、
前記形態素構造番号は、Ｎを１以上の整数としたときに、Ｎ個の形態素の係り受け関係と複数の形態素構造番号とを対応付けた形態素構造情報から得られる番号であり、
前記出現の個数は、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在する場合は１であり、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在しない場合は０であるか又は前記出現の個数を示す情報が省略される
ことを特徴とする文構造ベクトル化方法。
【請求項９】
入力文を形態素解析することで、複数の形態素を作成する処理と、
前記複数の形態素を係り受け解析することで、前記複数の形態素に関する依存構造グラフを作成する処理と、
前記依存構造グラフから複数の部分構造情報を抽出し、前記複数の部分構造情報に対応する形態素列を複数のベクトル値から構成される数値系列に変換することによって文構造ベクトルを作成する処理と
をコンピュータに実行させる文構造ベクトル化プログラムであって、
前記複数のベクトル値の各々は、前記複数の部分構造情報に対応する複数の次元の各々における形態素構造番号の出現の個数であり、
前記形態素構造番号は、Ｎを１以上の整数としたときに、Ｎ個の形態素の係り受け関係と複数の形態素構造番号とを対応付けた形態素構造情報から得られる番号であり、
前記出現の個数は、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在する場合は１であり、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在しない場合は０であるか又は前記出現の個数を示す情報が省略される
ことを特徴とする文構造ベクトル化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文構造ベクトル化装置、文構造ベクトル化方法、及び文構造ベクトル化プログラムに関する。
【背景技術】
【０００２】
Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの普及拡大により、自然言語で記述された大量の電子化テキスト（以下「テキスト」とも言う。）が蓄積されている。このため、蓄積されたテキストから希望するテキストを探し出す全文検索技術、蓄積されたテキストを記述内容に即して分類する文書分類技術、などの重要性が高まっている。例えば、全文検索技術では、入力されたクエリテキスト（すなわち、質問文テキスト）と検索対象のテキストとの間の内容の類似度に基づいて、検索対象のテキストのランキング（すなわち、順位）が決定される。また、文書分類技術では、テキスト間の内容の類似度に基づいて、各テキストが複数のクラスのいずれかに分類される。【０００３】
テキスト間の内容の類似度、すなわち、テキストに含まれる文の間の意味の類似度を求めるために、テキストから概念ベクトルと称される特徴量を抽出する技術が知られている。例えば、特許文献１は、テキストを形態素解析し、内容語（すなわち、ターム）を抽出するとともにタームによる索引を作成し、各タームをテキスト内における重要度に応じて重み付けされたタームベクトルとして取り扱い、各テキストの特徴量を、タームベクトルを合成して得られたベクトルによって表現するシステムを提案している。検索に際しては、重み付けされたタームベクトルを合成して得られた検索クエリベクトルを用い、クエリテキストと検索対象のテキストとの類似度が計算される。類似度は、例えば、２つのベクトルがなす角の余弦、すなわち、ｃｏｓｉｎｅ類似度である。しかし、この方法では、形態素解析によって得られた個々のタームを用いてベクトルを構成するため、たとえ互いの意味が異なるテキストであっても、内容語群（Ｂａｇ−ｏｆ−Ｗｏｒｄｓ：ＢｏＷ）が同一のテキストについては、類似度が高いと判定されるという問題がある。【０００４】
この問題を解決するため、特許文献２は、テキストの構造を係り受け解析することで、テキストの構造をラベル付き順序木（すなわち、依存構造木）に変換し、この依存構造木の部分構造を特徴量としてベクトル化する方法を提案している。しかし、近年、並列構造などの文の意味構造は、依存構造木によって充分に表現できないことが知られている。【０００５】
この問題を解決するため、非特許文献１は、係り受けのグラフ構造（ｄｅｐｅｎｄｅｎｃｙ  ｇｒａｐｈ）を用いて文の意味構造を表現する方法を提案している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−１４９７０号公報
【特許文献２】特開２００３−２７１５９９号公報
【非特許文献】
【０００７】
【非特許文献１】Ｓｃｈｕｓｔｅｒ，  Ｓｅｂａｓｔｉａｎ、外１名、  “Ｅｎｈａｎｃｅｄ  Ｅｎｇｌｉｓｈ  Ｕｎｉｖｅｒｓａｌ  Ｄｅｐｅｎｄｅｎｃｉｅｓ：  Ａｎ  Ｉｍｐｒｏｖｅｄ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ｆｏｒ  Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  Ｔａｓｋｓ”、  ＬＲＥＣ  Ｓｔａｎｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ、  ＩＤ  ７７９、  ２０１６年
【非特許文献２】Ｍａｒｉｅ−Ｃａｔｈｅｒｉｎｅ  ｄｅ  Ｍａｒｎｅｆｆｅ、外１名、  “Ｓｔａｎｆｏｒｄ  ｔｙｐｅｄ  ｄｅｐｅｎｄｅｎｃｉｅｓ  ｍａｎｕａｌ”、  Ｒｅｖｉｓｅｄ  ｆｏｒ  ｔｈｅ  Ｓｔａｎｆｏｒｄ  Ｐａｒｓｅｒ  ｖ．３．７．０、  ２０１６年９月
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、係り受けのグラフ構造からその部分構造である部分グラフを抽出する場合、抽出される部分グラフの数は、係り受けのグラフ構造のサイズに応じて指数関数的に増加するため、テキストの構造のベクトル化のための計算量が増大するという問題がある。【０００９】
本発明は、上記課題を解決するためになされたものであり、少ない計算量で文構造を適切にベクトル化することを可能にする文構造ベクトル化装置、文構造ベクトル化方法、及び文構造ベクトル化プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る文構造ベクトル化装置は、入力文を形態素解析することで、複数の形態素を作成する形態素解析部と、前記複数の形態素を係り受け解析することで、前記複数の形態素に関する依存構造グラフを作成する係り受け解析部と、前記依存構造グラフから複数の部分構造情報を抽出し、前記複数の部分構造情報に対応する形態素列を複数のベクトル値から構成される数値系列に変換することによって文構造ベクトルを作成する文構造ベクトル化部とを備え、前記複数のベクトル値の各々は、前記複数の部分構造情報に対応する複数の次元の各々における形態素構造番号の出現の個数であり、前記形態素構造番号は、Ｎを１以上の整数としたときに、Ｎ個の形態素の係り受け関係と複数の形態素構造番号とを対応付けた形態素構造情報から得られる番号であり、前記出現の個数は、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在する場合は１であり、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在しない場合は０であるか又は前記出現の個数を示す情報が省略されることを特徴とする。
【００１１】
本発明の他の態様に係る文構造ベクトル化方法は、コンピュータがソフトウェアとしてのプログラムを実行することによって、実行される文構造ベクトル化方法であって、入力文を形態素解析することで、複数の形態素を作成するステップと、前記複数の形態素を係り受け解析することで、前記複数の形態素に関する依存構造グラフを作成するステップと、前記依存構造グラフから複数の部分構造情報を抽出し、前記複数の部分構造情報に対応する形態素列を複数のベクトル値から構成される数値系列に変換することによって文構造ベクトルを作成するステップとを有し、前記複数のベクトル値の各々は、前記複数の部分構造情報に対応する複数の次元の各々における形態素構造番号の出現の個数であり、前記形態素構造番号は、Ｎを１以上の整数としたときに、Ｎ個の形態素の係り受け関係と複数の形態素構造番号とを対応付けた形態素構造情報から得られる番号であり、前記出現の個数は、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在する場合は１であり、前記複数の次元の各々における前記形態素構造番号が前記形態素構造情報内に存在しない場合は０であるか又は前記出現の個数を示す情報が省略されることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、少ない計算量で文構造を適切にベクトル化することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施の形態１に係る文構造ベクトル化装置のハードウェア構成の例を示す図である。
【図２】実施の形態１に係る文構造ベクトル化装置のハードウェア構成の他の例を示す図である。
【図３】実施の形態１に係る文構造ベクトル化装置の構成を概略的に示す機能ブロック図である。
【図４】実施の形態１に係る文構造ベクトル化装置の動作を示すフローチャートである。
【図５】実施の形態１に係る文構造ベクトル化装置に入力される入力文の例を示す図である。
【図６】実施の形態１に係る文構造ベクトル化装置の形態素解析部によって実行される形態素解析の結果の例を示す図である。
【図７】実施の形態１に係る文構造ベクトル化装置の係り受け解析部によって実行される係り受け解析の結果の例を示す図である。
【図８】図７に示される係り受け解析の結果をグラフ構造で示す図である。
【図９】メモリに記憶されたＮグラム番号１〜４の形態素情報を示す図である。
【図１０】（ａ）から（ｄ）は、抽出された２個の形態素に関する情報に、リナンバー形態素番号とリナンバー係り受け番号とを付与することで作成された情報を示す図である。
【図１１】メモリに記憶されたＮグラム番号１〜７の形態素情報を示す図である。
【図１２】部分グラフが２個の形態素から構成されるときの処理に用いられる２形態素構造番号とリナンバー係り受け番号との対応関係を示す図である。
【図１３】（ａ）から（ｅ）は、図１０（ａ）から（ｄ）に示される情報から抽出された情報をマージすることで作成された情報を示す図である。
【図１４】メモリに記憶されたＮグラム番号１〜１０の形態素情報を示す図である。
【図１５】部分グラフが３個の形態素から構成されるときの処理に用いられる３形態素構造番号とリナンバー係り受け番号との対応関係を示す図である。
【図１６】図９から図１５の情報から抽出された文構造ベクトル化に関する情報の例を示す図である。
【図１７】本発明の実施の形態２に係る文構造ベクトル化装置の構成を概略的に示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態に係る文構造ベクトル化装置、文構造ベクトル化方法、及び文構造ベクトル化プログラムを、図面を参照しながら説明する。各図において、同じ構成要素には、同じ符号が付される。また、以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。例えば、各実施の形態の構成を、適宜組み合わせることが可能である。また、本出願では、非特許文献１及び２に示される用語を用いる。
【００１５】
実施の形態１．
先ず、本発明の実施の形態１に係る文構造ベクトル化装置１００の構成を説明する。図１は、実施の形態１に係る文構造ベクトル化装置１００のハードウェア構成の例を示す図である。図１に示される例では、文構造ベクトル化装置１００は、例えば、ソフトウェアとしてのプログラム、すなわち、文構造ベクトル化プログラムを格納するメモリ２０と、メモリ２０に格納されたプログラムを実行する演算処理部としてのプロセッサ１０とを備えている。プロセッサ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの情報処理回路である。メモリ２０は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性の記憶装置である。文構造ベクトル化装置１００は、例えば、コンピュータである。
【００１６】
実施の形態１に係る文構造ベクトル化プログラムは、情報を記録する記録媒体から媒体情報読取装置（図示せず）を介して又はインターネットなどに接続可能な通信インタフェース（図示せず）を介してメモリ２０に格納される。実施の形態１に係る文構造ベクトル化プログラムは、プロセッサ１０によって実行されることができる。また、実施の形態１に係る文構造ベクトル化方法は、メモリ２０に格納される文構造ベクトル化プログラムを実行するプロセッサ１０によって実現されることができる。
【００１７】
文構造ベクトル化装置１００は、マウス、キーボード、タッチパネル、などのユーザ操作部である入力装置が接続される入力インタフェース３０を備えてもよい。また、文構造ベクトル化装置１００は、画像を表示する表示装置が接続される出力インタフェース４０を備えてもよい。また、文構造ベクトル化装置１００は、各種情報を記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、などの記憶装置５０を備えてもよい。記憶装置５０は、文構造ベクトル化装置１００の外部の記憶装置であってもよい。文構造ベクトル化装置１００が外部の装置と通信するための通信インタフェース（図示せず）を備える場合には、記憶装置５０は、通信インタフェースを介して接続可能なクラウド上に存在する記憶装置であってもよい。
【００１８】
図２は、実施の形態１に係る文構造ベクトル化装置１００のハードウェア構成の他の例を示す図である。図２に示される例では、文構造ベクトル化装置１００は、処理回路６０と、入力インタフェースを持つ入力回路７０と、出力インタフェースを持つ出力回路８０と、記憶装置５０とを備えている。処理回路６０は、例えば、専用のハードウェアである。処理回路６０は、メモリに記憶されたプログラムを読み出して実行することにより、各部の機能を実現するプロセッサを含んでもよい。また、処理回路６０の一部を専用のハードウェアで実現し、処理回路６０の他の一部をソフトウェア又はファームウェアを実行するプロセッサを含む回路で実現してもよい。
【００１９】
図３は、実施の形態１に係る文構造ベクトル化装置１００の構成を概略的に示す機能ブロック図である。図３に示されるように、文構造ベクトル化装置１００は、形態素解析部１１０と、係り受け解析部１２０と、文構造ベクトル化部１３０とを備えている。また、文構造ベクトル化装置１００は、生成された文構造ベクトルを記憶する記憶部１４０を備えてもよい。記憶部１４０は、例えば、図１又は図２におけるメモリ２０、記憶装置５０、又はこれらの両方であってもよい。
【００２０】
形態素解析部１１０は、複数の入力文を含むテキストであるクエリテキストを受け取り、複数の入力文の各々を形態素解析によって分割する。この処理は、形態素分割とも呼ばれる。形態素解析部１１０は、形態素解析の結果として複数の形態素を出力する。「形態素」は、意味を持つ表現要素の最小単位である。形態素分割を行うための処理は、公知の技術を用いて実行されることができる。入力文の例は、後述される図５に示される。形態素の例は、後述される図６に示される。
【００２１】
係り受け解析部１２０は、形態素解析部１１０から出力された各入力文に関する複数の形態素における係り受け、すなわち、依存構造を解析する。係り受け解析部１２０は、依存構造の解析の結果として依存構造情報を出力する。「依存構造」は、文の構文構造を示しており、文内の形態素間の依存関係の集合によって、複数の形態素からなる形態素列の構造を表現している。形態素間の依存関係は、形態素間の係り受け関係とも言う。係り受け解析を行うための処理は、公知の技術を用いて実行されることができる。依存構造の例は、後述される図７に示されている。
【００２２】
文構造ベクトル化部１３０は、係り受け解析部１２０から出力された各入力文に関する依存構造情報を受け取り、依存構造に対応する文構造ベクトルを生成する。
【００２３】
次に、実施の形態１に係る文構造ベクトル化装置１００の動作を説明する。図４は、実施の形態１に係る文構造ベクトル化装置１００の動作を示すフローチャートである。また、図５は、文構造ベクトル化装置１００が受け取る入力文の例を示す図である。この入力文の例“Ｔｈｅ  ｂｏｙ  ｗｈｏ  ｌｉｖｅｄ”は、非特許文献１の第４ページの左欄に示されている例から引用したものである。
【００２４】
《ステップＳ１０１：形態素解析》
ステップＳ１０１において、図５に示される入力文２００が形態素解析部１１０に入力されると、形態素解析部１１０は、入力文２００すなわちテキストを形態素解析して、形態素解析の結果を出力する。
【００２５】
図６は、形態素解析部１１０によって実行される形態素解析の結果の例を示す図である。図６には、４個の形態素が示されている。図６に示される形態素解析の結果２１０において、左から２列目には、形態素の例が示されており、左から１列目には、２列目に示されている形態素に付与された形態素番号が示されている。図６において、２列目は、見だし表層形（すなわち、小文字統一文字列）で示されている。
【００２６】
《ステップＳ１０２：係り受け解析》
次のステップＳ１０２において、図６に示される形態素解析の結果２１０が係り受け解析部１２０に入力されると、係り受け解析部１２０は、形態素解析の結果２１０に対する係り受け解析を行う。
【００２７】
図７は、係り受け解析部１２０によって実行される係り受け解析の結果の例を示す図である。図７における１列目及び２列目の情報は、図６における１列目及び２列目の情報と同じである。図７において、３列目は、係り受け番号を示し、４列目は、係り受け関係を示す。ここで、「係り受け番号」は、係り受けにおける主要語（ｈｅａｄ）の形態素番号を示している。また、「係り受け関係」は、ラベルである。係り受け番号及び係り受け関係は、例えば、非特許文献２で説明されている。
【００２８】
図７において、係り受け関係「ｄｅｔ」は、限定詞（ｄｅｔｅｒｍｉｎｅｒ）を示す。係り受け関係「ｎｓｕｂｊ」は、形式主語（ｎｏｍｉｎａｌ  ｓｕｂｊｅｃｔ）を示す。係り受け関係「ｒｅｆ」は、指示対象（ｒｅｆｅｒｅｎｔ）を示す。「ａｃｌ」は、名詞の節修飾語（ｃｌａｕｓａｌ  ｍｏｄｉｆｉｅｒ  ｏｆ  ｎｏｕｎ）を示す。「ｒｅｌｃｌ」は、関係節（ｒｅｌａｔｉｖｅ  ｃｌａｕｓｅ）を示す。係り受け関係「ａｃｌ：ｒｅｌｃｌ」は、名詞の関係節修飾語（ｒｅｌａｔｉｖｅ  ｃｌａｕｓｅ  ｍｏｄｉｆｉｅｒ  ｏｆ  ｎｏｕｎ）を示す。
【００２９】
図８は、図７に示される係り受け解析の結果をグラフ構造で示す図である。このグラフ構造は、「係り受け構造」又は「依存構造グラフ」とも言う。図８において、“ｌｉｖｅｄ”は“ｂｏｙ”を「ｎｓｕｂｊ」として修飾し、“ｂｏｙ”は“ｌｉｖｅｄ”を「ａｃｌ：ｒｅｌｃｌ」として修飾している。つまり、“ｂｏｙ”と“ｌｉｖｅｄ”は、互いに修飾し合っており、グラフ構造２５５内においてループ構造を形成している。したがって、図８に示される係り受け構造は、ループ構造を表現することができない従来の木構造によっては、適切に処理することができない。
【００３０】
《ステップＳ１０３：１グラム抽出》
図９は、図７に示される形態素と係り受け関係とのペアの情報である形態素情報１を、文字順にソートして得られた情報を示す図である。ここでは、文字順は、アルファベット順である。文構造ベクトル化部１３０は、形態素と係り受け関係のペアの情報である形態素情報１を、文字順にソートして、形態素情報１にＮグラム番号を付与する。Ｎは正の整数である。Ｎグラム番号は、１オリジンで（すなわち、１から数え始めて）、図９に示されるように、昇順に付与される。図９には、Ｎ＝１の場合、すなわち、１グラムの場合が示されている。１グラムは、ユニグラムを意味する。図９に示される情報は、メモリ（例えば、図１におけるメモリ２０又は記憶装置５０）に記憶される。例えば、形態素情報「ｂｏｙ．ｎｓｕｂｊ」は、形態素「ｂｏｙ」と係り受け関係「ｎｓｕｂｊ」のペアによって構成される形態素情報である。以上の処理によって、図９に示されるＮグラム番号１〜４の情報３００がメモリに記憶される。
【００３１】
《ステップＳ１０４：２形態素構造情報抽出》
図１０（ａ）から（ｄ）は、抽出された２個の形態素に関する情報に、リナンバー形態素番号とリナンバー係り受け番号とを付与することで作成された情報を示す図である。文構造ベクトル化部１３０は、入力文の各形態素から、係り受け関係にある２個の形態素の情報を抽出する処理を行う。この処理は、入力文のすべての形態素について行われる。ここでは、この処理が、図７に示される形態素番号１〜４の形態素について行われる場合を説明する。
【００３２】
図７において、形態素番号１の形態素“ｔｈｅ”の係り受け番号は「２」である。したがって、文構造ベクトル化部１３０は、図１０（ａ）に情報２３０として示されるように、係り受け関係にある形態素番号１の形態素“ｔｈｅ”と形態素番号２の形態素“ｂｏｙ”に関する２つの情報を抽出して、それらに、１から始まる通し番号であるリナンバー形態素番号を付与する。
【００３３】
リナンバー形態素番号は、図１０（ａ）の１列目に示される。文構造ベクトル化部１３０は、図１０（ａ）に示されるように、形態素番号、形態素、係り受け番号、及び係り受け関係として、図７の情報２２０における形態素番号１の情報及び形態素番号２の情報と同じ情報をメモリに記憶させる。
【００３４】
リナンバー係り受け番号は、図１０（ａ）の２列目に示される。文構造ベクトル化部１３０は、図７において形態素番号１の“ｔｈｅ”についての係り受け番号が「２」であるので、形態素番号２の“ｂｏｙ”のリナンバー形態素番号を参照する。このリナンバー形態素番号は、「２」であるので、文構造ベクトル化部１３０は、同じ数値である「２」をリナンバー係り受け番号としてメモリに記憶させる。
【００３５】
また、文構造ベクトル化部１３０は、図７における形態素番号２の“ｂｏｙ”についての係り受け番号が「４」であるので、形態素番号４を探す。しかし、図１０（ａ）に示される情報２３０には、形態素番号４は存在しないので、文構造ベクトル化部１３０は、形態素番号２の“ｂｏｙ”のリナンバー係り受け番号として、係り先の無いことを意味する記号である「＊」をメモリに記憶させる。
【００３６】
文構造ベクトル化部１３０は、以上と同様の処理を、図７に示される形態素番号２〜４のそれぞれの形態素について行い、図１０（ｂ）から（ｄ）に示される情報２４０，２５０，２６０を作成し、作成された情報２４０，２５０，２６０をメモリに記憶させる。
【００３７】
《ステップＳ１０５：２グラム抽出》
図１１は、文構造ベクトル化部１３０によって、図１０（ａ）から（ｄ）に示される情報から作成された情報を示す図である。文構造ベクトル化部１３０は、図１０（ａ）から（ｄ）に示される情報２３０，２４０，２５０，２６０の各々から２個の形態素における、形態素と係り受け関係とのペアの情報である形態素情報を、文字順にソートして得られた情報を、Ｎグラム番号が１グラム番号であるときに記憶した情報に追加して、メモリに記憶させる。図１１には、Ｎ＝２の場合、すなわち、２グラムの場合が示されている。２グラムは、バイグラムを意味する。
【００３８】
実施の形態１では、図９に示されるように、Ｎグラム番号が１グラム番号であるときに、既にＮグラム番号１〜４の情報がメモリに記憶されている。したがって、文構造ベクトル化部１３０は、Ｎグラム番号が２グラム番号であるときには、Ｎグラム番号５以降の情報をメモリに記憶させる。文構造ベクトル化部１３０は、Ｎグラム番号が１グラム番号であるときと同様により、リナンバー形態素番号１の形態素と係り受け関係の情報を形態素情報１の列に、リナンバー形態素番号２の形態素と係り受け関係の情報を形態素情報２の列に記憶させる。図１１に示されるように、文構造ベクトル化部１３０は、Ｎグラム番号５、６、７の情報を、メモリに記憶させる。以上の処理によって、図１１に示されるＮグラム番号１〜７の情報３１０がメモリに記憶される。
【００３９】
《ステップＳ１０６：Ｎ形態構造情報抽出》
次に、文構造ベクトル化部１３０は、処理対象とする形態素の数をＮとして処理を行う。例えば、Ｎを３以上の整数としたときに、複数の部分構造情報は、１個の形態素に関する１形態素構造情報からＮ個の形態素に関するＮ形態素構造情報までを含み、文構造ベクトル化部１３０は、Ｎ−１形態素構造情報と２形態素構造情報とをマージする処理によってＮ形態素構造情報を作成する。
【００４０】
実施の形態１では、簡単のため、Ｎ＝３までの処理を行う場合を説明する。Ｎ個の形態素を処理するために、Ｎ−１個の形態素の形態素構造情報（すなわち、Ｎ−１形態素構造情報）と、２個の形態素の形態素構造情報（すなわち、２形態素構造情報）とを用いる。ここでは、３個の形態素構造情報を作成するので、Ｎ−１形態素構造情報（すなわち、２形態素構造情報）と、２形態素構造情報とを用いる。文構造ベクトル化部１３０は、図１０（ａ）から（ｄ）におけるすべてのＮ−１（＝２）形態素構造情報について以下の処理を行なう。
【００４１】
図１３（ａ）から（ｅ）は、図１０（ａ）から（ｄ）に示される情報から抽出された情報をマージすることで作成された情報を示す図である。文構造ベクトル化部１３０は、図１０（ａ）の情報２３０の形態素番号１及び形態素番号２に着目して処理を行う。文構造ベクトル化部１３０は、図１０（ａ）の情報２３０の結合相手となり得る他の２形態素構造の情報が存在するかどうかの検索を行う。図１０（ａ）の情報２３０と図１０（ｂ）の情報２４０では、異なる形態素番号として形態素番号１と３が存在し、共通の形態素番号として形態素番号２が存在し、かつ、形態素番号２のリナンバー係り受け番号が「＊」である。このため、これらの情報２３０と２４０は、結合可能、すなわち、マージ可能である。このため、文構造ベクトル化部１３０は、リナンバー形態素番号２の行をマージして、図１３（ａ）の情報２７０を作成し、メモリに３個の形態素に関する形態素構造情報（すなわち、３形態素構造情報）を記憶させる。ここで、「マージ」は、複数の情報を、決められたルールに従って１つに統合することを意味する。
【００４２】
同様に、図１０（ａ）に示される情報２３０と図１０（ｃ）に示される情報２５０では、異なる形態素番号として形態素番号１と４が存在し、共通の形態素番号として形態素番号２が存在する。しかし、図１０（ａ）に示される形態素番号２のリナンバー係り受け番号は「＊」であるのに対して、図１０（ｃ）に示される形態素番号２のリナンバー係り受け番号は「２」である。このため、文構造ベクトル化部１３０は、形態素番号２の行をマージする。この際に、図１０（ｃ）に示されるように、結合させるためのリナンバー係り受け番号２の係り受け番号が「４」であるので、文構造ベクトル化部１３０は、図１０（ｃ）の情報２５０のマージ後のリナンバー形態素番号である「３」をリナンバー係り受け番号として採用してマージすることによって、図１３（ｂ）に示される情報２８０を作成する。この情報２８０は、３形態素構造情報としてメモリに追加記憶される。同様の処理を繰り返すことによって、図１３（ｃ）から（ｅ）に示される３形態素構造情報が作成される。
【００４３】
《ステップＳ１０７：Ｎグラム抽出》
図１４は、文構造ベクトル化部１３０によって、Ｎ個のペアの情報から作成された情報を示す図である。図１４には、Ｎ＝３の場合、すなわち、３グラムの場合が示されている。３グラムは、トライグラムを意味する。図１４では、Ｎ個のペアの情報は、形態素情報１〜３である。文構造ベクトル化部１３０は、文字順にソートすることによってＮグラム番号としてＮ−１グラムで記憶したメモリに追加して記憶させる。次に、文構造ベクトル化部１３０は、図１３（ａ）から（ｅ）に示される形態素と係り受け関係とのＮ個のペアの情報を文字順にソートすることによって得られた情報に、Ｎグラム番号を付与して得られた情報を、図１１に示される情報に追加して、メモリに記憶させる。
【００４４】
実施の形態１では、図１４に示されるように、Ｎグラム番号が２グラム番号であるときに、既にＮグラム番号１〜７の情報がメモリに記憶されている。したがって、文構造ベクトル化部１３０は、Ｎグラム番号が「８」以降の情報をメモリに記憶させる。つまり、文構造ベクトル化部１３０は、図９に示されるＮグラム番号が１グラム番号であるときに記憶されたＮグラム番号１〜４の情報及び図１１に示されるＮグラム番号が２グラム番号であるときに記憶されたＮグラム番号５〜７の情報に加えて、図１４に示されるＮグラム番号が３グラム番号であるときに記憶されたＮグラム番号８〜１０の情報をメモリに記憶させる。具体的には、文構造ベクトル化部１３０は、図１３（ａ）から（ｅ）におけるリナンバー形態素番号１の形態素と係り受け関係の情報を形態素情報１の列に記憶させ、リナンバー形態素番号２の形態素と係り受け関係の情報を形態素情報２の列に記憶させ、リナンバー形態素番号３の形態素と係り受け関係の情報を形態素情報３の列に記憶させる。以上の処理によって、図１４に示されるＮグラム番号１〜１０の情報３２０がメモリに記憶される。
【００４５】
《ステップＳ１０８：終了判定》
次のステップＳ１０８において、文構造ベクトル化部１３０は、すべての文についての処理が終了したか否かを判定する。すべての文についての処理が完了していれば、判断はＹＥＳになり、処理は、ステップＳ１０９に進み、処理が完了していなければ、判断はＮＯになり、Ｎを１インクリメントして、処理は、ステップＳ１０６に戻る。
【００４６】
《ステップＳ１０９：文構造ベクトル出力》
図１６は、図９から図１５の情報から抽出された文構造ベクトル化に関する情報の例を示す図である。図１６は、文構造ベクトル化部１３０によって抽出された、ベクトルの次元に対するベクトル値Ｖｋを示している。文構造ベクトル化部１３０は、ベクトル値Ｖｋからなる数値系列を文構造ベクトルとして出力する。
【００４７】
ステップＳ１０９において、文構造ベクトル化部１３０は、形態素構造情報から、文構造ベクトルを抽出する。
【００４８】
図１６における次元１〜４には、依存構造グラフから抽出された部分構造である部分グラフが１個の形態素からなるときのベクトル値Ｖｋが示される。Ｎグラム番号１〜４の形態素情報が形態素列を構成して、メモリに記憶される。このときの形態素構造番号（すなわち、１形態素構造番号）は、１個の形態素で且つ１種類の形態素に基づく、Ｎ−１＝１−１＝０の計算によって、図１６に示されるように、すべて「０」になる。
【００４９】
続いて、図１６における次元５〜８には、依存構造グラフから抽出された部分構造である部分グラフが２個の形態素からなるときのベクトル値Ｖｋが示される。Ｎグラム番号５〜７の形態素情報が形態素列を構成して、メモリに記憶される。Ｎグラム番号５の形態素構造は、図１０（ｃ）における情報２５０と図１０（ｄ）における情報２６０の２個の情報であるため、形態素構造番号（ここでは、２形態素構造番号である。）を図１２の情報２８５から求めて、それぞれの形態素番号である「０」と「１」を記録する。以下、次元６、７、８について、次元５の場合と同様の処理が行われる。ここで、図１２は、部分グラフが２個の形態素から構成されるときの処理に用いられる２形態素構造番号とリナンバー係り受け番号との対応関係を示す図である。
【００５０】
続いて、図１６における次元９〜１３には、依存構造グラフから抽出された部分構造である部分グラフが３個の形態素からなるときのベクトル値Ｖｋが示される。Ｎグラム番号８〜１０の形態素情報が形態素列を構成して、メモリに記憶される。Ｎグラム番号８の形態素構造は、図１３（ｄ）における情報３００と図１３（ｅ）における情報３１０の２個の情報であるため、形態素構造番号（ここでは、３形態素構造番号である。）を、図１５の情報３１５から求めて、それぞれの形態素番号である「４」と「７」を記録する。以下、次元１０，１１，１２，１３について、次元９の場合と同様の処理が行われる。ここで、図１５は、部分グラフが３個の形態素から構成されるときの処理に用いられる３形態素構造番号とリナンバー係り受け番号との対応関係を示す図である。
【００５１】
実施の形態１では、図１６に示される各次元における形態素構造番号の出現の個数はすべて１であるので、ベクトル値Ｖｋは、すべて１になる。ベクトル化部は１３０、この結果の次元数に対するＶｋの値を持つベクトルを文構造ベクトルとして出力する。出力された文構造ベクトルは、記憶部１４０に格納される。
【００５２】
以上に説明したように、実施の形態１に係る文構造ベクトル化装置１００、文構造ベクトル化方法、又は文構造ベクトル化プログラムを用いれば、係り受け結果の依存構造グラフを、自然言語の言語制約に適した部分構造に展開することができる。例えば、現実に存在し得ない係り受けを除いて、依存構造グラフから部分構造として部分グラフを抽出し、このような部分グラフを用いて文構造ベクトルを作成することができる。したがって、文の意味に応じた適切な文構造ベクトルを作成することができる。
【００５３】
また、実施の形態１では、形態素構造を漸進的にマージする処理によって、処理すべき形態素構造の組み合わせの数を減らすことができる。さらに、ループしたグラフ構造の探索なしに部分構造を決定的に抽出することで、少ない計算量で文構造ベクトルを作成することができる。
【００５４】
なお、上記説明では、入力文に出現する部分構造が１個以上存在する場合を説明しており、部分構造が存在しない場合を示すベクトル値Ｖｋである０を省略して、情報量を削減している。このため、メモリに要求される記憶容量を削減することができる。ただし、出力される文構造ベクトルは、部分構造が存在しない場合を示す０のベクトル値を含むものであってもよい。
【００５５】
また、上記説明では、文構造ベクトル化装置１００への入力文が英語である場合を説明したが、入力文は日本語、韓国語などのような後方係り受け言語であってもよい。後方係り受け言語の場合には、文構造ベクトル化装置１００は、現実に存在し得ない形態素構造番号を削除する処理を行うことによって、計算量、及びメモリに要求される記憶容量を削減してもよい。
【００５６】
実施の形態２．
上記実施の形態１では、入力文をベクトル化する文構造ベクトル化装置１００を説明した。実施の形態２では、上記実施の形態１に係る文構造ベクトル化装置１００によって作成された文構造ベクトルを用いて文書検索又は文書分類を行うことを可能にした文構造ベクトル化装置１００ａを説明する。文構造ベクトル化装置１００ａによれば、従来弁別できなかった高精度な文書検索又は文書分類を行うことができる。
【００５７】
図１７は、本発明の実施の形態２に係る文構造ベクトル化装置１００ａの構成を概略的に示す機能ブロック図である。実施の形態２に係る文構造ベクトル化装置１００ａ、文構造検索方法、及び文構造検索プログラムは、図１又は図２に示されるハードウェア構成と同様のハードウェア構成によって実現されることができる。実施の形態２に係る文構造ベクトル化装置１００ａは、実施の形態１に係る文構造ベクトル化装置１００が実行するプログラムを変更することで実現可能である。
【００５８】
図１７に示されるように、文構造ベクトル化装置１００ａは、ベクトル化部５００と、尤度計算部５２０と、ランキング決定部５３０とを備えている。ベクトル化部５００は、実施の形態１に係る文構造ベクトル化装置１００である。文構造ベクトル化装置１００ａは、検索対象文書を記憶する検索対象文書記憶部５１０と、候補文書を記憶する候補文書記憶部５４０とを備えてもよい。また、文構造ベクトル化装置１００ａは、文の検索処理を行う検索処理部５５０、文の分類処理を行う分類処理部５６０、又はこれらの両方を備えてもよい。文構造ベクトル化装置１００ａが、検索処理部５５０を備える場合には、文構造ベクトル化装置１００ａは、文書検索装置である。文構造ベクトル化装置１００ａが、分類処理部５６０を備える場合には、文構造ベクトル化装置１００ａは、文書分類装置である。図１７では、尤度計算部５２０、ランキング決定部５３０、検索処理部５５０、及び分類処理部５６０は、文構造ベクトルに基づく処理を行う処理部５７０を構成している。
【００５９】
ベクトル化部５００は、入力文を含むテキストであるクエリテキストと検索対象文書記憶部５１０に記憶された検索対象文書のテキストとをベクトル空間モデルを用いてベクトル化する処理を行う。例えば、ベクトル化部５００は、クエリテキストと検索対象文書のテキストの各々のテキスト内におけるｔｆｉｄｆなどの重要度に応じて、各テキストに含まれるタームついての、重み付けされたベクトルを生成する。ここで、「ｔｆｉｄｆ」は、Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ（出現頻度、逆文書頻度）の略語である。ｔｆｉｄｆは、文書のテキスト中に含まれるタームの重要度を評価する公知の方法である。ベクトル化部５００は、各テキストに含まれるタームについての、重み付けされたベクトルを合成することによって、各テキストのベクトルである文構造ベクトルを取得する。
【００６０】
次に、尤度計算部５２０は、取得された２つのベクトルがなす角の余弦、すなわち、ｃｏｓｉｎｅ類似度によって、クエリテキストと検索対象文書のテキストとの尤度を計算する。
【００６１】
次に、ランキング決定部５３０は、尤度計算部５２０によって計算された尤度に基づいて、検索対象文書を、尤度の高い順にランキングした候補文書を候補文書記憶部５４０に出力する。
【００６２】
検索処理部５５０は、文構造ベクトルに基づいて得られた尤度を用いて、検索対象文書から希望する文書を検索することができる。
【００６３】
また、分類処理部５６０は、文構造ベクトルに基づいて得られた尤度を用いて、検索対象文書に含まれる文を複数のクラスに分類することができる。
【００６４】
以上に説明した文構造ベクトル化装置１００ａによれば、高精度な文書検索又は文書分類を実現することができる。
【符号の説明】
【００６５】
１００，１００ａ  文構造ベクトル化装置、  １１０  形態素解析部、  １２０  係り受け解析部、  １３０  文構造ベクトル化部、  １４０  記憶部、  ５００  ベクトル化部、  ５１０  検索文書記憶部、  ５２０  尤度計算部、  ５３０  ランキング決定部、  ５４０  候補文書記憶部、  ５５０  検索処理部、  ５６０  分類処理部、  ５７０  処理部。
【要約】
文構造ベクトル化装置（１００）は、入力文を形態素解析することで、複数の形態素を作成する形態素解析部（１１０）と、複数の形態素を係り受け解析することで、複数の形態素に関する依存構造グラフを作成する係り受け解析部（１２０）と、依存構造グラフから複数の部分構造情報を抽出し、複数の部分構造情報に対応する形態素列を数値系列に変換することによって文構造ベクトルを作成する文構造ベクトル化部（１３０）とを備えている。【図１】
0006689466.tif 000002
【図２】
0006689466.tif 000003
【図３】
0006689466.tif 000004
【図４】
0006689466.tif 000005
【図５】
0006689466.tif 000006
【図６】
0006689466.tif 000007
【図７】
0006689466.tif 000008
【図８】
0006689466.tif 000009
【図９】
0006689466.tif 000010
【図１０】
0006689466.tif 000011
【図１１】
0006689466.tif 000012
【図１２】
0006689466.tif 000013
【図１３】
0006689466.tif 000014
【図１４】
0006689466.tif 000015
【図１５】
0006689466.tif 000016
【図１６】
0006689466.tif 000017
【図１７】
0006689466.tif 000018