(57)【要約】【課題】文章を高精度に特定すること。【解決手段】情報処理装置１００は、文章を受け付けると、受け付けた文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成し、複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定する。情報処理装置１００は、複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、複数の文章から特定する。【選択図】図２
2019101993.tif 000002
【特許請求の範囲】
【請求項１】
文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成し、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、
複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する
処理をコンピュータに実行させることを特徴とする特定プログラム。
【請求項２】
前記記憶部に記憶された情報は、次元値が基準値を満たす次元の種別と、位置情報とを対応付けたインデックス情報、および、文章とを対応付けた情報であり、
前記ベクトルを生成する処理は、文章を受け付けると、文章に含まれる各文のベクトルを生成し、前記次元を特定する処理は、各文のベクトルに含まれる次元のうち、次元値が基準を満たす次元の種別を更に特定し、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する文章を特定することを特徴とする請求項１に記載の特定プログラム。
【請求項３】
前記ベクトルを生成する処理は、論文の検索条件に関する文章から、ベクトルを生成し、前記記憶部に記憶された情報は、論文に基づいて生成されるインデックス情報と、前記論文とを対応付けた情報であり、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する論文を特定することを特徴とする請求項２に記載の特定プログラム。
【請求項４】
前記ベクトルを生成する処理は、前記文章を受けつけると、受けつけた前記文章に含まれる文の章、節、項、文のいずれかに対応する粒度に基づいて、前記ベクトルを生成することを特徴とする請求項１、２または３に記載の特定プログラム。
【請求項５】
コンピュータが実行する特定方法であって、
文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成し、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、
複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する
処理を実行することを特徴する特定方法。
【請求項６】
文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成する生成部と、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する特定部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定プログラム等に関する。
【背景技術】
【０００２】
何らかの質問文を受け付けた場合に、受け付けた質問に対応するＦＡＱ（Frequently  Asked  Questions）の回答文を検出して応答する質問応答の技術がある。たとえば、質問応答に関する従来技術では、特徴キーワードに対する複数の類語と回答文の候補（以下、回答文候補）とを対応付けたテーブルを用意しておく。そして、従来技術では、質問文を受け付けた場合に、質問文を形態素解析して特徴キーワードを抽出し、抽出した特徴キーワードに対応する類語と、テーブルとの比較により、回答文候補を特定する。
【０００３】
ここで、上記の従来技術では、質問文の形態素解析により、特徴キーワードを抽出し、抽出した特徴キーワードの類語による回答文候補の絞り込みを行っているが、類語の表記ゆれ等により、精度が不安定となる場合がある。
【０００４】
なお、他の従来技術として、通信販売サイトで選択された商品に類似したコンテンツをレコメンドする技術がある。この技術は、予め商品の紹介文をもとにコンテンツの特徴ベクトルを算出し、そのベクトルに対応付けた転置インデックスを作成する。この技術では、顧客が選択した商品の特徴ベクトルを取得し、特徴ベクトルに対応付けた転置インデックスをもとに、類似したコンテンツを検索することで、高速化を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１７１５５０号公報
【特許文献２】特開２０１５−１０６３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、質問文や紹介文などの文章を構成する複数の章や節、項などの粒度と、その文（センテンス）および、その位置を特定することに対応できない、という問題がある。
【０００７】
たとえば、上述した従来技術のように、質問文は５Ｗ１Ｈに関連した複数の文で構成されるから、ＦＡＱの高精度な最尤推定のためには、各文に応じたベクトルを算出する必要がある。
【０００８】
一方、従来の転置インデックスは、質問文などをポインタ（またはＩＤ番号）で識別するため、サイズが大きい。さらに、ベクトルの次元が１００〜１０００であるため、転置インデックスのサイズは相乗的に肥大化する。従って、複数の文に応じた転置インデックスの生成は困難である。なお、ベクトルの次元は、ベクトルの極性とも呼ばれる。
【０００９】
１つの側面では、本発明は、文章を高精度に特定することができる特定プログラム、特定方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の案では、コンピュータに次の処理を実行させる。コンピュータは、文章を受け付けると、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成する。コンピュータは、複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定する。コンピュータは、記憶部に記憶された情報と、特定した次元とを比較することで、特定した次元に対応する文章を、複数の文章から特定する。記憶部に記憶された情報は、特定の文章に含まれる複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報である。
【発明の効果】
【００１１】
文章を高精度に特定することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施例１に係る情報処理装置の処理を説明するための図である。
【図２】図２は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。
【図３】図３は、本実施例１に係る質問文ＤＢのデータ構造の一例を示す図である。
【図４】図４は、文章ベクトル情報を生成する処理の一例について説明するための図である。
【図５】図５は、次元成分の位置関係を特定する処理の一例を説明するための図である。
【図６】図６は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。
【図７】図７は、本実施例２に係る情報処理装置の処理を説明するための図である。
【図８】図８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図９】図９は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。
【図１０】図１０は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する特定プログラム、特定方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
図１は、本実施例１に係る情報処理装置の処理を説明するための図である。本実施例１に係る情報処理装置は、質問文データＦ１を取得すると、質問文データＦ１と、判定テーブル１４０ｂとを基にして、質問文データＦ１に対応する回答文データＦ３を生成する。
【００１５】
本実施例１に係る質問文データＦ１には、一つの「文章」が含まれる。文章は、複数の「文」から成り立つものである。また、文は、句点により区切られた文字列である。たとえば、文章「クラスタ環境を構成しています。操作ミスで共有リソースが全てなくなってしまいました。」には、文「クラスタ環境を構成しています。」、「操作ミスで共有リソースが全てなくなってしまいました。」が含まれる。
【００１６】
図１の説明では、説明の便宜上、質問文データＦ１には、文章ｘが含まれる。また、文章ｘには、文ｘ１、文ｘ２、文ｘ３、・・・、文ｘｎが含まれているものとする。
【００１７】
情報処理装置は、文章ｘに含まれる各文のベクトルを算出することで、文章ベクトル情報Ｆ２を生成する。たとえば、文章ベクトル情報Ｆ２には、文ｘ１〜文ｘｎに対応する文ベクトルｘＶｅｃ１〜ｘＶｅｃｎが含まれる。
【００１８】
情報処理装置が、文ｘ１の文ベクトルｘＶｅｃ１を算出する処理の一例について説明する。情報処理装置は、Word2Vec技術に基づいて、文ｘ１に含まれる各単語の単語ベクトルをそれぞれ算出し、算出した各単語ベクトルを集積することで、文ベクトルｘＶｅｃ１を算出する。情報処理装置は、他の文ｘ２〜文ｘｎについても同様にして、文ベクトルｘＶｅｃ２〜ｘＶｅｃｎを算出する。
【００１９】
たとえば、単語ベクトルは、単語ベクトルの算出対象となる単語の前後で共起する共起単語に基づき、算出されるものであり、共起単語に対応する複数のベクトル成分から構成される。たとえば、単語「リンゴ」の共起単語は、「赤い」、「青い」、「おいしい」等となる可能性が高く、単語「リンゴ」の単語ベクトルに含まれる複数のベクトル成分のうち、「赤い」、「青い」、「おいしい」の成分に対応する値が、大きくなる傾向がある。
【００２０】
情報処理装置は、各文ベクトルｘＶｅｃ１〜ｘＶｅｃｎのうち、予め定められた次元に対応するベクトル成分の値が閾値以上となる文ベクトルを特定する。以下の説明では、適宜、予め定められた次元に対応するベクトル成分を「次元成分」と表記し、次元成分の値を「次元値」と表記する。なお、ベクトルの次元は、ベクトルの極性とも呼ばれる。
【００２１】
本実施例１では、一例として、次元成分を「Ｖｅｃ０００〜Ｖｅｃ２５５」とする。たとえば、各文ベクトルｘＶｅｃ１〜ｘＶｅｃｎのうち、次元値が閾値以上となるベクトルを、文ベクトルｘＶｅｃ２、文ベクトルｘＶｅｃ３とする。文ベクトルｘＶｅｃ２では、次元成分「Ｖｅｃ１８９」の次元値が閾値以上となるものとする。文ベクトルｘＶｅｃ３では、次元成分「Ｖｅｃ０８７」の次元値が閾値以上となるものとする。
【００２２】
これにより、質問文Ｆ１により算出される文章ベクトル情報Ｆ２には、次元成分「Ｖｅｃ０８７」、「Ｖｅｃ１８９」が含まれ、各次元成分の位置関係（順番）は、「Ｖｅｃ１８９」、「Ｖｅｃ０８７」の順となる。
【００２３】
情報処理装置は、文章ベクトル情報Ｆ２から抽出した次元成分の種別および位置関係と、判定テーブル１４０ｂとを比較して、質問文データＦ１に対応する回答文データＦ３を特定する。
【００２４】
判定テーブル１４０ｂは、転置インデックスと、回答文とを対応付けたテーブルである。転置インデックスは、次元成分の位置情報を示すものである。たとえば、転置インデックスＴ２を用いて説明する。転置インデックスＴ２は、横軸にオフセットをとり、縦軸に次元成分の種別をとる。オフセットは、先頭からの位置情報を示すものであり、先頭のオフセットを「０」とする。該当するオフセットに、該当する次元成分が存在する場合には、フラグ「１」が立ち、それ以外は「０」となる。
【００２５】
転置インデックスＴ２では、オフセット「３」に、次元成分「Ｖｅｃ００１」が位置しており、オフセット「２」に、次元成分「Ｖｅｃ００２」が位置していることを示している。また、転置インデックスＴ２では、オフセット「５」に、次元成分「Ｖｅｃ１８９」が位置し、オフセット「６」に、次元成分「Ｖｅｃ０８７」が位置していることを示している。その他の次元成分と位置との関係については説明を省略する。
【００２６】
たとえば、情報処理装置は、次のような処理を行い、予め、判定テーブル１４０ｂを生成しておく。質問文データと回答文データとの関係を学習しておき、かかる質問文データから文章ベクトル情報を生成する。そして、情報処理装置は、生成した文章ベクトル情報を基にして転置インデックスを生成し、生成した転置インデックスと、回答文とを対応付けることで、判定テーブル１４０ｂを生成する。
【００２７】
情報処理装置は、転置インデックスＴ１，Ｔ３についても、転置インデックスＴ２と同様にして、オフセットと、次元のベクトル成分の種別とを対応付ける。なお、転置インデックスＴ１，Ｔ３のフラグの位置は、転置インデックスＴ１，Ｔ３の固有のものとなる。たとえば、図１に示す例では、転置インデックスＴ１は、オフセット「４」に、次元成分「Ｖｅｃ１１１」が位置し、オフセット「１０」に、次元成分「Ｖｅｃ１２３」が位置している。転置インデックスＴ３は、オフセット「１１」に、次元成分「Ｖｅｃ０８７」が位置し、オフセット「２２」に、次元成分「Ｖｅｃ１８９」が位置しているものとする。
【００２８】
以下の説明では、判定テーブル１４０ｂに含まれる転置インデックスＴ１〜Ｔ３、他の転置インデックスをまとめて、適宜、転置インデックスＴと表記する。
【００２９】
ここで、情報処理装置が、文章ベクトル情報Ｆ２と、判定テーブル１４０ｂとを比較して、質問文データＦ１に対応する回答文を判定する処理の一例について説明する。図１で説明したように、文章ベクトル情報Ｆ２には、次元成分「Ｖｅｃ１８９」、「Ｖｅｃ０８７」が含まれ、順番は「Ｖｅｃ１８９」、「Ｖｅｃ０８７」の順となる。
【００３０】
情報処理装置は、文章ベクトル情報Ｆ２の次元成分にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索する。たとえば、文章ベクトル情報Ｆ２に含まれる次元成分「Ｖｅｃ１８９」、「Ｖｅｃ０８７」にフラグ「１」を立てる転置インデックスは、転置インデックスＴ２と転置インデックスＴ３となる。
【００３１】
続いて、情報処理装置は、文章ベクトル情報Ｆ２に含まれる次元成分「Ｖｅｃ１８９」と「Ｖｅｃ０８７」とが含まれ、かつ、次元成分「Ｖｅｃ１８９」の後に、次元成分「Ｖｅｃ０８７」が位置する転置インデックスを特定する。
【００３２】
転置インデックスＴ２は、次元成分「Ｖｅｃ１８９」の後に、次元成分「Ｖｅｃ０８７」が位置していることを示している。一方、転置インデックスＴ３は、次元成分「Ｖｅｃ０８７」の後に、次元成分「Ｖｅｃ１８９」が位置していることを示している。このため、情報処理装置は、文章ベクトル情報Ｆ２の次元成分の種別および位置関係に対応する転置インデックスＴは、転置インデックスＴ２であると判定する。情報処理装置は、転置インデックスＴ２に対応付けられた回答文Ａ２を用いて、回答文データＦ３を生成する。
【００３３】
上記のように、本実施例１に係る情報処理装置は、次元成分の位置情報を定義した転置インデックスＴと回答文とを対応付けた判定テーブル１４０ｂを予め生成しておく。情報処理装置は、質問文データＦ１を取得すると、質問文データＦ１を基にした文章ベクトル情報Ｆ２を生成し、生成した文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係と、転置インデックスＴとを比較して、次元成分の種別および位置関係に対応する転置インデックスを特定する。情報処理装置は、特定した転置インデックスに対応付けられた回答文を用いて、回答文データＦ３を生成する。このように、文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係と、転置インデックスＴとの比較により、回答文（回答文に対応する文章）を特定するため、文章の特定に要する時間を短縮することができる。
【００３４】
次に、本実施例１に係る情報処理装置の構成の一例について説明する。図２は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。図２に示すように、情報処理装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。
【００３５】
通信部１１０は、他の装置とネットワークを介してデータ通信を実行する処理部である。たとえば、通信部１１０は、他の装置から質問文データＦ１を受信し、受信した質問文データＦ１を、制御部１５０に出力する。また、通信部１１０は、制御部１５０から出力される回答文データＦ３を、質問文データＦ１の送信元となる装置に送信する。通信部１１０は、通信装置に対応する。後述する制御部１５０は、通信部１１０を介して、他の装置とネットワークを介してデータをやり取りする。
【００３６】
入力部１２０は、各種の情報を情報処理装置１００に入力する入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部１２０を操作して、質問文データＦ１を、情報処理装置１００に入力しても良い。
【００３７】
表示部１３０は、制御部１５０から出力される情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。表示部１３０は、制御部１５０から、回答文データＦ３を受け付けた場合には、受け付けた回答文データＦ３を表示する。
【００３８】
記憶部１４０は、質問文ＤＢ（Data  Base）１４０ａと、判定テーブル１４０ｂと、静的辞書情報１４０ｃと、動的辞書情報１４０ｄとを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３９】
質問文ＤＢ１４０ａは、質問文データＦ１を格納するデータベースである。図３は、本実施例１に係る質問文ＤＢのデータ構造の一例を示す図である。図３に示すように、この質問文ＤＢ１４０ａは、質問文章番号と、文章内容（質問文データ）とを対応づける。質問文章番号は、質問文章に含まれる複数の文のグループを一意に識別する情報である。文章内容は、質問文章番号に対応する各文章の内容を示すものである。
【００４０】
判定テーブル１４０ｂは、転置インデックスと、回答文とを対応付けたテーブルである。転置インデックスは、次元成分の位置情報を示すものである。図１で説明したように、転置インデックスは、横軸にオフセット、縦軸に次元成分の種別をとり、フラグ「１」を用いて、次元成分の位置情報（オフセット）を示す。その他の説明は、図２で説明した判定テーブル１４０ｂに関する説明と同様である。
【００４１】
静的辞書情報１４０ｃは、単語と、静的コードとを対応付ける情報である。
【００４２】
動的辞書情報１４０ｄは、静的辞書情報１４０ｃで定義されていない単語（あるいは文字列）に動的コードを割り当てるための情報である。
【００４３】
制御部１５０は、受付部１５０ａと、生成部１５０ｂと、特定部１５０ｃと、応答部１５０ｄとを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００４４】
受付部１５０ａは、通信部１１０または入力部１２０から、質問文データＦ１を受け付ける。受付部１５０ａは、受け付けた質問文データＦ１を質問文ＤＢ１４０ａに登録する。受付部１５０ａは、通信部１１０から質問文データＦ１を受け付けた場合には、質問文データＦ１の送信元となる装置の情報を、質問文データＦ１に対応付けて、質問文ＤＢ１４０ａに登録しても良い。
【００４５】
生成部１５０ｂは、質問文ＤＢ１４０ａから、質問文データＦ１を取得し、質問文データＦ１を基にして、文章ベクトル情報Ｆ２を生成する処理部である。生成部１５０ｂは、生成した文章ベクトル情報Ｆ２を、特定部１５０ｃに出力する。
【００４６】
生成部１５０ｂが、文章ベクトル情報Ｆ２を生成する処理の一例について説明する。図４は、文章ベクトル情報を生成する処理の一例について説明するための図である。図４では一例として、文章ｘの文章ベクトル情報Ｆ２を生成する処理について説明する。
【００４７】
たとえば、文章ｘには、文ｘ１、文ｘ２、文ｘ３、・・・、文ｘｎが含まれる。生成部１５０ｂは、文ｘ１の文ベクトルｘＶｅｃ１を次のように算出する。生成部１５０ｂは、静的辞書情報１４０ｃおよび動的辞書情報１４０ｄを用いて、文ｘ１に含まれる各単語を符号化する。
【００４８】
たとえば、生成部１５０ｂは、単語が静的辞書情報１４０ｃにヒットした場合には、単語の静的コードを特定し、特定した静的コードに単語を置き換えることで、符号化を行う。生成部１５０ｂは、単語が静的辞書情報１４０ｃにヒットしない場合には、動的辞書情報１４０ｄを用いて、動的コードを特定する。たとえば、生成部１５０ｂは、単語が動的辞書情報１４０ｄに未登録である場合には、単語を動的辞書情報１４０ｄに登録して、登録位置に対応する動的コードを得る。生成部１５０ｂは、単語が動的辞書情報１４０ｄに登録済みである場合には、既に登録済みの登録位置に対応する動的コードを得る。生成部１５０ｂは、特定した動的コードに単語を置き換えることで、符号化を行う。
【００４９】
図４に示す例では、生成部１５０ｂは、単語ａ１を符号ｂ１に置き換え、単語ａ２を符号ｂ２に置き換え、単語ａ３を符号ｂ３に置き換える。また、単語ａｎを符号ｂｎに置き換えることで、符号化を行う。
【００５０】
生成部１５０ｂは、各単語の符号化を行った後に、Word2Vec技術に基づいて、各単語（各符号）の単語ベクトルを算出する。Word2Vec技術は、ある単語（符号）と、隣接する他の単語（符号）との関係に基づいて、各符号のベクトルを算出する処理を行うものである。図４に示す例では、生成部１５０ｂは、符号ｂ１から符号ｂｎの単語ベクトルａＶｅｃ１〜ａＶｅｃｎを算出する。生成部１５０ｂは、各単語ベクトルａＶｅｃ１〜ａＶｅｃｎを集積することで、文ｘ１の文ベクトルｘＶｅｃ１を算出する。生成部１５０ｂは、文ｘに含まれる単語（符号）の数で、集積したベクトルを除算することで、平均化を行い、平均化を行ったベクトルを、文ベクトルｘＶｅｃ１としても良い。
【００５１】
上記のようにして、生成部１５０ｂは、文ｘ１の文ベクトルｘＶｅｃ１を算出する。特定部１５０ｃは、文ｘ２〜文ｎｘについても同様の処理を行うことで、文ベクトルｘＶｅｃ２〜ｘＶｅｃｎを算出する。このようにして、生成部１５０ｂは、文章ベクトル情報Ｆ２を生成し、生成した文章ベクトル情報Ｆ２を、特定部１５０ｃに出力する。
【００５２】
ここでは、生成部１５０ｂが、文章に含まれる文の粒度で、文章ベクトル情報Ｆ２を生成する例について説明したが、生成部１５０ｂは、他の粒度で文章ベクトル情報Ｆ２を生成してもよい。たとえば、生成部１５０ｂは、文の章、節、項のいずれかを粒度として、文章ベクトル情報Ｆ２を生成してもよい。生成部１５０ｂが、章を粒度とする場合には、章に含まれる単語ベクトルを集積することで、章ベクトルを算出する。生成部１５０ｂは、他の章についても同様に処理を行うことで、各章ベクトルを算出する。文の節、項を粒度とする場合も同様にして、節ベクトル、項ベクトルを算出する。
【００５３】
特定部１５０ｃは、文章ベクトル情報Ｆ２と、判定テーブル１４０ｂを基にして、質問文データＦ１に対応する回答文を特定する処理部である。まず、特定部１５０ｃは、文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係を下記のように特定する。
【００５４】
特定部１５０ｃは、予め、次元のベクトル成分の種別の情報を保持している。本実施例１では一例として、次元成分の種別を「Ｖｅｃ０００〜Ｖｅｃ２５５」とする。特定部１５０ｃは、文章ベクトル情報Ｆ２に含まれる文ベクトルｘＶｅｃ１に含まれるベクトル成分のうち、次元成分の次元値と、閾値とを比較し、次元成分の次元値が閾値以上となる次元成分が含まれるか否かを判定する。特定部１５０ｃは、文章ベクトル情報Ｆ２に含まれる文ベクトルｘＶｅｃ２〜ｘＶｅｃｎについても同様の処理を繰り返し実行する。
【００５５】
特定部１５０ｃは、次元値が閾値以上となる次元成分を有する文ベクトルと、この文ベクトルに含まれる次元値が閾値以上となる次元成分の種別を特定する。また、次元値が閾値以上となる次元成分を有する文ベクトルの位置関係を特定する。ここで、次元値が閾値以上となる次元成分を有する文ベクトルの位置関係を特定することは、文章ベクトル情報Ｆ２に含まれる次元成分の種別と、各次元成分の位置関係を特定することに対応する。
【００５６】
たとえば、図１に示した説明では、文ベクトルｘＶｅｃ１〜ｘＶｅｃｎのうち、次元値が所定の閾値以上となる次元成分を有するベクトルは、文ベクトルｘＶｅｃ２、文ｘＶｅｃ３である。また、文ベクトルｘＶｅｃ２は、次元成分「Ｖｅｃ１８９」の次元値が所定の次元値以上となり、文ベクトルｘＶｅｃ３は、次元成分「Ｖｅｃ０８７」の次元値が所定の次元値以上となる。次元値が閾値以上となる次元成分の種別および位置関係は、「Ｖｅｃ１８９」、「Ｖｅｃ０８７」の順となる。
【００５７】
ここで、特定部１５０ｃが、文章ベクトル情報Ｆ２に含まれる次元成分の位置関係を特定する処理の一例について説明する。図５は、次元成分の位置関係を特定する処理の一例を説明するための図である。図５では一例として、次元成分「Ｖｅｃ０８７」、「Ｖｅｃ１８９」の位置関係を特定する場合について説明する。
【００５８】
特定部１５０ｃは、文章ベクトル情報Ｆ２を走査して、ビットマップ２０、２１、２２を生成する。各ビットマップの横軸はオフセットを示し、先頭のオフセットを「０」とする。各ビットマップでは、該当する情報のオフセットにフラグ「１」が立てられる。
【００５９】
ビットマップ２０は、次元値が閾値以上となる次元成分を有する文ベクトルの先頭位置を示すものである。図１で説明したように、文章ベクトル情報Ｆ２のうち、次元値が閾値以上となる次元成分を有する文ベクトルの先頭は、２番目の文ベクトルｘＶｅｃ２である。このため、特定部１５０ｃは、ビットマップ２０のオフセット「１」にフラグ「１」を立てる。
【００６０】
ビットマップ２１は、次元成分「Ｖｅｃ１８９」の次元値が閾値以上となる文ベクトルの位置を示すものである。図１で説明したように、文章ベクトル情報Ｆ２のうち、次元成分「Ｖｅｃ１８９」の次元値が閾値以上となる文ベクトルは、２番目の文ベクトルｘＶｅｃ２である。このため、特定部１５０ｃは、ビットマップ２１のオフセット「１」にフラグ「１」を立てる。
【００６１】
ビットマップ２２は、次元成分「Ｖｅｃ０８７」の次元値が閾値以上となる文ベクトルの位置を示すものである。図１で説明したように、文章ベクトル情報Ｆ２のうち、次元成分「Ｖｅｃ０８７」の次元値が閾値以上となる文ベクトルは、３番目の文ベクトルｘＶｅｃ３である。このため、特定部１５０ｃは、ビットマップ２１のオフセット「２」にフラグ「１」を立てる。
【００６２】
ステップＳ１０について説明する。特定部１５０ｃは、ビットマップ２０とビットマップ２１とをＡＮＤ演算することで、ビットマップ３０を得る。ビットマップ３０には、オフセット「１」にフラグ「１」が立っているため、特定部１５０ｃは、先頭に次元成分「Ｖｅｃ１８９」が位置すると特定する。
【００６３】
ステップＳ１１について説明する。特定部１５０ｃは、ビットマップ３０に対して左シフトを実行し、ビットマップ３１を生成する。特定部１５０ｃは、ビットマップ３１とビットマップ２２とをＡＮＤ演算することで、ビットマップ３２を得る。ビットマップ３２には、オフセット「２」にフラグ「１」が立っているため、特定部１５０ｃは、先頭の次の位置に次元成分「Ｖｅｃ０８７」が位置すると特定する。
【００６４】
特定部１５０ｃは、図５に示す処理を実行することで、文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係を特定する。なお、特定部１５０ｃは、他の処理を行って、文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係を特定してもよい。
【００６５】
特定部１５０ｃは、次元成分の種別および位置関係を特定した後に、特定した次元成分の種別および位置関係と、判定テーブル１４０ｂの転置インデックスＴとを比較して、質問文データＦ１に対応する回答文を特定する。
【００６６】
特定部１５０ｃは、次元値が閾値以上となる次元成分の種別にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索する。たとえば、文章ベクトル情報Ｆ２から特定した、次元値が閾値以上となる次元成分を「Ｖｅｃ１８９」、「Ｖｅｃ０８７」とすると、特定部１５０ｃは、図１に示した転置インデックスＴ２と転置インデックスＴ３とを特定する。
【００６７】
特定部１５０ｃは、複数の転置インデックスを特定した場合には、文章ベクトル情報Ｆ２から特定した次元成分の種別および位置関係をキーとして、転置インデックスの絞り込みを行う。たとえば、特定部１５０ｃは、次元成分「Ｖｅｃ１８９」の後に、次元成分「Ｖｅｃ０８７」が出現するものは、転置インデックスＴ２であるため、最終的に、転置インデックスＴ２を特定する。特定部１５０ｃは、転置インデックスＴ２に対応する回答文Ａ２を、判定テーブル１４０ｂから取得し、応答部１５０ｄに出力する。
【００６８】
なお、特定部１５０ｃは、次元値が閾値以上となる次元成分の種別にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索し、単一の転置インデックスのみ存在する場合には、位置関係に関係無く、単一の転置インデックスを特定してもよい。特定部１５０ｃは、特定した転置インデックスに対応する回答文を、判定テーブル１４０ｂから取得し、応答部１５０ｄに出力する。
【００６９】
応答部１５０ｄは、特定部１５０ｃから取得する回答文を基にして、回答文データＦ３を生成し、生成した回答文データＦ３を質問文データＦ１の送信元となる装置に送信する処理部である。質問文データＦ１を、入力部１２０から受け付けている場合には、応答部１５０ｄは、回答文データＦ３を、表示部１３０に出力して表示させる。
【００７０】
次に、本実施例１に係る情報処理装置１００の処理手順の一例について説明する。図６は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。図６に示すように、情報処理装置１００の受付部１５０ａは、質問文データＦ１を取得する（ステップＳ１０１）。
【００７１】
情報処理装置１００の生成部１５０ｂは、質問文データＦ１に含まれる各文から、文ベクトルをそれぞれ算出し、文章ベクトル情報Ｆ２を生成する（ステップＳ１０２）。情報処理装置１００の特定部１５０ｃは、文章ベクトル情報Ｆ２に含まれる文ベクトルのうち、次元値が閾値以上となる次元成分を有する文ベクトルを特定する（ステップＳ１０３）。
【００７２】
特定部１５０ｃは、文章ベクトル情報Ｆ２に基づく、次元成分の種別および位置関係（順序）を特定する（ステップＳ１０４）。特定部１５０ｃは、次元成分の種別および位置関係に対応する転置インデックスを特定する（ステップＳ１０５）。特定部１５０ｃは、特定した転置インデックスに対応する回答文を取得する（ステップＳ１０６）。応答部１５０ｄは、回答文データＦ３を、質問文データＦ１の送信元の装置に送信する（ステップＳ１０７）。
【００７３】
次に、本実施例１に係る情報処理装置１００の効果について説明する。情報処理装置１００は、次元成分の位置情報を定義した転置インデックスＴと回答文とを対応付けた判定テーブル１４０ｂを予め生成しておく。情報処理装置１００は、質問文データＦ１を取得すると、質問文データＦ１を基にした文章ベクトル情報Ｆ２を生成し、生成した文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係と、転置インデックスＴとを比較して、次元成分の種別および位置関係に対応する転置インデックスを特定する。情報処理装置１００は、特定した転置インデックスに対応付けられた回答文を用いて、回答文データＦ３を生成する。このように、文章ベクトル情報Ｆ２に含まれる次元成分の種別および位置関係と、転置インデックスＴとの比較により、回答文（回答文に対応する文章）を特定するため、文章を構成する複数の文とその位置を高精度に特定することができる。
【実施例２】
【００７４】
図７は、本実施例２に係る情報処理装置の処理を説明するための図である。実施例２に係る情報処理装置は、検索条件を記載した検索文データＦ１１を取得すると、検索文データＦ１１と、判定テーブル２４０ｂとを基にして、検索データＦ１１に対応する検索結果データＦ１３を生成する。
【００７５】
本実施例２に係る検索文データＦ１１には、一つの「文章」が含まれる。文章は、複数の「文」から成り立つものである。また、文は、句点により区切られた文字列である。文章に関する説明は、実施例１で説明した質問文データＦ１で行った説明と同様である。
【００７６】
図７の説明では、説明の便宜上、検索文データＦ１１には、文章ｘが含まれる。また、文章ｘには、項ｘ１、項ｘ２、項ｘ３、・・・、項ｘｎが含まれる。さらに、項ｘ１には、文ｘ１１、文ｘ１２、文ｘ１３、・・・、文ｘ１ｎ（図示略）が含まれているものとする。項ｘｍには、文ｘｍ１、文ｘｍ２、・・・、文ｘｍｎ（図示略）が含まれているものとする。
【００７７】
情報処理装置は、文章ｘに含まれる各文のベクトルを算出することで、文章ベクトル情報Ｆ１２を生成する。たとえば、文章ベクトル情報Ｆ１２には、項ｘｍの文ｘｍ１〜文ｘｍｎに対応する文ベクトルｘＶｅｃｍ１〜ｘＶｅｃｍｎが含まれる。
【００７８】
情報処理装置が、項ｘｍの文ｘｍ１の文ベクトルｘＶｅｃｍ１を算出する処理の一例について説明する。情報処理装置は、Word2Vec技術に基づいて、文ｘｍ１に含まれる各単語の単語ベクトルをそれぞれ算出し、算出した各単語ベクトルを集積することで、文ベクトルｘＶｅｃｍ１を算出する。情報処理装置は、他の文ｘｍ２〜文ｘｍｎについても同様にして、文ベクトルｘＶｅｃｍ２〜ｘＶｅｃｍｎを算出する。
【００７９】
情報処理装置は、各文ベクトルｘＶｅｃｍ１〜ｘＶｅｃｍｎのうち、予め定められた次元成分の次元値が閾値以上となる文ベクトルを特定する。
【００８０】
本実施例２では、実施例１と同様にして、次元成分を「Ｖｅｃ０００〜Ｖｅｃ２５５」とする。たとえば、各文ベクトルｘＶｅｃｍ１〜ｘＶｅｃｍｎのうち、次元値が閾値以上となるベクトルを、文ベクトルｘＶｅｃｍ２、文ベクトルｘＶｅｃｍ３とする。文ベクトルｘＶｅｃｍ１では、次元成分「Ｖｅｃ１２２」の次元値が閾値以上となるものとする。文ベクトルｘＶｅｃｍ２では、次元成分「Ｖｅｃ０３３」の次元値が閾値以上となるものとする。
【００８１】
これにより、検索文データＦ１１により算出される文章ベクトル情報Ｆ１２には、次元成分「Ｖｅｃ０３３」、「Ｖｅｃ１２２」が含まれ、各次元成分の順番（位置関係）は、「Ｖｅｃ１２２」、「Ｖｅｃ０３３」の順となる。
【００８２】
情報処理装置は、文章ベクトル情報Ｆ１２から抽出した次元成分の種別および位置関係と、判定テーブル２４０ｂとを比較して、検索文データＦ１１に対応する検索結果データＦ１３を特定する。
【００８３】
判定テーブル２４０ｂは、転置インデックスと、回答文とを対応付けたテーブルである。転置インデックスは、次元成分の位置情報を示すものである。転置インデックスは、オフセットと、次元成分の種別との関係をフラグ「１」によって示す情報である。その他の転置インデックスの説明は、実施例１の図１で説明した転置インデックスの説明と同様である。
【００８４】
なお、転置インデックスＴ１１では、オフセット「４」に、次元成分「Ｖｅｃ０３３」が位置しており、オフセット「１０」に、次元成分「Ｖｅｃ１２２」が位置していることを示している。転置インデックスＴ１２では、オフセット「１０」に、次元成分「Ｖｅｃ１２２」が位置しており、オフセット「１１」に、次元成分「Ｖｅｃ０３３」が位置していることを示している。転置インデックスＴ１３では、オフセット「１１」に、次元成分「Ｖｅｃ０３３」が位置しており、オフセット「２２」に、次元成分「Ｖｅｃ１８９」が位置していることを示している。その他の次元成分と位置との関係については説明を省略する。以下の説明では、判定テーブル２４０ｂに含まれる転置インデックスＴ１１〜Ｔ１３、他の転置インデックスをまとめて、適宜、転置インデックスＴと表記する。
【００８５】
たとえば、情報処理装置は、次のような処理を行い、予め、判定テーブル２４０ｂを生成しておく。論文データを収集しておき、かかる論文データから文章ベクトル情報を生成する。そして、情報処理装置は、生成した文章ベクトル情報を基にして転置インデックスを生成し、生成した転置インデックスと、転置インデックスの生成元となる論文データとを対応付けることで、判定テーブル２４０ｂを生成する。
【００８６】
ここで、情報処理装置が、文章ベクトル情報Ｆ１２と、判定テーブル２４０ｂとを比較して、検索文データＦ１１に対応する検索結果データＦ１３を判定する処理の一例について説明する。図７で説明したように、文章ベクトル情報Ｆ１２には、次元成分「Ｖｅｃ１２２」、「Ｖｅｃ０３３」が含まれ、位置関係は「Ｖｅｃ１２２」、「Ｖｅｃ０３３」の順となる。
【００８７】
情報処理装置は、文章ベクトル情報Ｆ１２の次元成分にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索する。たとえば、文章ベクトル情報Ｆ１２に含まれる次元成分「Ｖｅｃ１２２」、「Ｖｅｃ０３３」にフラグ「１」を立てる転置インデックスは、転置インデックスＴ１１と転置インデックスＴ１２となる。
【００８８】
続いて、情報処理装置は、文章ベクトル情報Ｆ１２に含まれる次元成分「Ｖｅｃ１２２」と「Ｖｅｃ０３３」とが含まれ、かつ、次元成分「Ｖｅｃ１２２」の後に、次元成分「Ｖｅｃ０３３」が位置する転置インデックスを特定する。
【００８９】
転置インデックスＴ１１は、次元成分「Ｖｅｃ０３３」の後に、次元成分「Ｖｅｃ１２２」が位置していることを示している。一方、転置インデックスＴ１２は、次元成分「Ｖｅｃ１２２」の後に、次元成分「Ｖｅｃ０３３」が位置していることを示している。このため、情報処理装置は、文章ベクトル情報Ｆ１２の次元成分の種別および位置関係に対応する転置インデックスＴは、転置インデックスＴ１２であると判定する。情報処理装置は、転置インデックスＴ１２に対応付けられた論文Ｂ２を用いて、検索結果データＦ１３を生成する。
【００９０】
上記のように、本実施例２に係る情報処理装置は、次元成分の位置情報を定義した転置インデックスＴと論文とを対応付けた判定テーブル２４０ｂを予め生成しておく。情報処理装置は、検索文データＦ１１を取得すると、検索文データＦ１１を基にした文章ベクトル情報Ｆ１２を生成し、生成した文章ベクトル情報Ｆ１２に含まれる次元成分の種別および位置関係と、転置インデックスＴとを比較して、次元成分の種別および位置関係に対応する転置インデックスを特定する。情報処理装置は、特定した転置インデックスに対応付けられた論文を用いて、検索結果データＦ１３を生成する。このように、文章ベクトル情報Ｆ１２に含まれる次元成分の種別および位置関係と、転置インデックスＴとの比較により、論文（論文に対応する文章）を特定するため、文章の特定に要する時間を短縮することができる。
【００９１】
次に、本実施例２に係る情報処理装置の構成の一例について説明する。図８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。図８に示すように、情報処理装置２００は、通信部２１０と、入力部２２０と、表示部２３０と、記憶部２４０と、制御部２５０とを有する。
【００９２】
通信部２１０は、他の装置とネットワークを介してデータ通信を実行する処理部である。たとえば、通信部２１０は、他の装置から検索文データＦ１１を受信し、受信した検索文データＦ１１を、制御部２５０に出力する。また、通信部２１０は、制御部２５０から出力される検索結果データＦ１３を、検索文データＦ１の送信元となる装置に送信する。通信部２１０は、通信装置に対応する。後述する制御部２５０は、通信部２１０を介して、他の装置とネットワークを介してデータをやり取りする。
【００９３】
入力部２２０は、各種の情報を情報処理装置２００に入力する入力装置である。たとえば、入力部２２０は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部１２０を操作して、検索文データＦ１１を、情報処理装置２００に入力しても良い。
【００９４】
表示部２３０は、制御部２５０から出力される情報を表示する表示装置である。たとえば、表示部２３０は、液晶ディスプレイ、タッチパネル等に対応する。表示部２３０は、制御部１５０から、検索結果データＦ１３を受け付けた場合には、受け付けた検索結果データＦ１３を表示する。
【００９５】
記憶部２４０は、検索文ＤＢ２４０ａと、判定テーブル２４０ｂと、静的辞書情報２４０ｃと、動的辞書情報２４０ｄとを有する。記憶部２４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。
【００９６】
検索文ＤＢ２４０ａは、検索文データＦ１１を格納するデータベースである。たとえば、検索文ＤＢ２４０ａは、検索文章番号と、文章内容（検索文データ）とを対応づける。検索文章番号は、検索文章に含まれる複数の文のグループを一意に識別する情報である。文章内容は、検索文章番号に対応する各文章の内容を示すものである。
【００９７】
判定テーブル２４０ｂは、転置インデックスと、論文とを対応付けたテーブルである。転置インデックスは、次元成分の位置情報を示すものである。図７で説明したように、転置インデックスは、横軸にオフセット、縦軸に次元成分の種別をとり、フラグ「１」を用いて、次元成分の位置情報（オフセット）を示す。その他の説明は、図７で説明した判定テーブル２４０ｂに関する説明と同様である。
【００９８】
静的辞書情報２４０ｃは、単語と、静的コードとを対応付ける情報である。
【００９９】
動的辞書情報２４０ｄは、静的辞書情報２４０ｃで定義されていない単語（あるいは文字列）に動的コードを割り当てるための情報である。
【０１００】
制御部２５０は、受付部２５０ａと、生成部２５０ｂと、特定部２５０ｃと、応答部２５０ｄとを有する。制御部２５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部２５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【０１０１】
受付部２５０ａは、通信部２１０または入力部２２０から、検索文データＦ１１を受け付ける。受付部２５０ａは、受け付けた検索文データＦ１１を検索文ＤＢ２４０ａに登録する。受付部２５０ａは、通信部２１０から質問文データＦ１を受け付けた場合には、検索文データＦ１１の送信元となる装置の情報を、検索文データＦ１１に対応付けて、検索文ＤＢ２４０ａに登録しても良い。
【０１０２】
生成部２５０ｂは、検索文ＤＢ２４０ａから、検索文データＦ１１を取得し、検索文データＦ１１を基にして、文章ベクトル情報Ｆ１２を生成する処理部である。生成部２５０ｂは、生成した文章ベクトル情報Ｆ１２を、特定部２５０ｃに出力する。生成部２５０ｂが、検索文データＦ１１から、文章ベクトル情報Ｆ１２を生成する処理は、生成部１５０ｂが、質問文データＦ１から、文章ベクトル情報Ｆ２を生成する処理と同様である。
【０１０３】
特定部２５０ｃは、文章ベクトル情報Ｆ１２と、判定テーブル２４０ｂを基にして、検索文データＦ１１に対応する論文を特定する処理部である。まず、特定部２５０ｃは、文章ベクトル情報Ｆ１２に含まれる次元成分の種別および位置関係を下記のように特定する。
【０１０４】
特定部２５０ｃは、予め、次元のベクトル成分の種別の情報を保持している。本実施例２では一例として、次元成分の種別を「Ｖｅｃ０００〜Ｖｅｃ２５５」とする。特定部２５０ｃは、文章ベクトル情報Ｆ１２に含まれる文ベクトルｘＶｅｃ１に含まれるベクトル成分のうち、次元成分の次元値と、閾値とを比較し、次元成分の次元値が閾値以上となる次元成分が含まれるか否かを判定する。特定部２５０ｃは、文章ベクトル情報Ｆ１２に含まれる文ベクトルｘＶｅｃ２〜ｘＶｅｃｎについても同様の処理を繰り返し実行する。
【０１０５】
特定部２５０ｃは、次元値が閾値以上となる次元成分を有する文ベクトルと、この文ベクトルに含まれる次元値が閾値以上となる次元成分の種別を特定する。また、次元値が閾値以上となる次元成分を有する文ベクトルの位置関係を特定する。ここで、次元値が閾値以上となる次元成分を有する文ベクトルの位置関係を特定することは、文章ベクトル情報Ｆ１２に含まれる次元成分の種別と、各次元成分の位置関係を特定することに対応する。
【０１０６】
たとえば、図７に示した説明では、文ベクトルｘＶｅｃ１〜ｘＶｅｃｎのうち、次元値が所定の閾値以上となる次元成分を有するベクトルは、文ベクトルｘＶｅｃ２、文ｘＶｅｃ３である。また、文ベクトルｘＶｅｃ２は、次元成分「Ｖｅｃ１２２」の次元値が所定の次元値以上となり、文ベクトルｘＶｅｃ３は、次元成分「Ｖｅｃ０３３」の次元値が所定の次元値以上となる。次元値が閾値以上となる次元成分の種別および位置関係は、「Ｖｅｃ１２２」、「Ｖｅｃ０３３」の順となる。
【０１０７】
特定部２５０ｃは、次元成分の種別および位置関係を特定した後に、特定した次元成分の種別および位置関係と、判定テーブル２４０ｂの転置インデックスＴとを比較して、検索文データＦ１１に対応する論文を特定する。
【０１０８】
特定部２５０ｃは、次元値が閾値以上となる次元成分の種別にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索する。たとえば、文章ベクトル情報Ｆ１２から特定した、次元値が閾値以上となる次元成分を「Ｖｅｃ１２２」、「Ｖｅｃ０３３」とすると、特定部２５０ｃは、図７に示した転置インデックスＴ１１と転置インデックスＴ１２とを特定する。
【０１０９】
特定部２５０ｃは、複数の転置インデックスを特定した場合には、文章ベクトル情報Ｆ１２から特定した次元成分の種別および位置関係をキーとして、転置インデックスの絞り込みを行う。たとえば、特定部２５０ｃは、次元成分「Ｖｅｃ１２２」の後に、次元成分「Ｖｅｃ０３３」が出現するものは、転置インデックスＴ１２であるため、最終的に、転置インデックスＴ１２を特定する。特定部２５０ｃは、特定した転置インデックス１２に対応する論文Ｂ２を、判定テーブル２４０ｂから取得し、応答部１５０ｄに出力する。
【０１１０】
なお、特定部２５０ｃは、次元値が閾値以上となる次元成分の種別にフラグ「１」を立てる転置インデックスを、転置インデックスＴから検索し、単一の転置インデックスのみ存在する場合には、位置関係に関係無く、単一の転置インデックスを特定してもよい。特定部２５０ｃは、特定した転置インデックスに対応する論文を、判定テーブル２４０ｂから取得し、応答部２５０ｄに出力する。
【０１１１】
応答部２５０ｄは、特定部２５０ｃから取得する論文を基にして、検索結果データＦ１３を生成し、生成した検索結果データＦ１３を検索文データＦ１１の送信元となる装置に送信する処理部である。検索文データＦ１１を、入力部２２０から受け付けている場合には、応答部２５０ｄは、検索結果データＦ１３を、表示部２３０に出力して表示させる。
【０１１２】
次に、本実施例２に係る情報処理装置２００の処理手順の一例について説明する。図９は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。図９に示すように、情報処理装置２００の受付部２５０ａは、検索文データＦ１１を取得する（ステップＳ２０１）。
【０１１３】
情報処理装置２００の生成部２５０ｂは、検索文データＦ１１に含まれる各文から、文ベクトルをそれぞれ算出し、文章ベクトル情報Ｆ１２を生成する（ステップＳ２０２）。情報処理装置２００の特定部２５０ｃは、文章ベクトル情報Ｆ１２に含まれる文ベクトルのうち、次元値が閾値以上となる次元成分を有する文ベクトルを特定する（ステップＳ２０３）。
【０１１４】
特定部２５０ｃは、文章ベクトル情報Ｆ１２に基づく、次元成分の種別および位置関係（順序）を特定する（ステップＳ２０４）。特定部２５０ｃは、次元成分の種別および位置関係に対応する転置インデックスを特定する（ステップＳ２０５）。特定部２５０ｃは、特定した転置インデックスに対応する論文を取得する（ステップＳ２０６）。応答部２５０ｄは、検索結果データＦ１３を、検索文データＦ１１の送信元の装置に送信する（ステップＳ２０７）。
【０１１５】
次に、本実施例２に係る情報処理装置２００の効果について説明する。情報処理装置２００は、次元成分の位置情報を定義した転置インデックスＴと論文とを対応付けた判定テーブル２４０ｂを予め生成しておく。情報処理装置２００は、検索文データＦ１１を取得すると、検索文データＦ１１を基にした文章ベクトル情報Ｆ１２を生成し、生成した文章ベクトル情報Ｆ１２に含まれる次元成分の種別および位置関係と、転置インデックスＴとを比較して、次元成分の種別および位置関係に対応する転置インデックスを特定する。情報処理装置２００は、特定した転置インデックスに対応付けられた論文を用いて、検索結果データＦ１３を生成する。このように、文章ベクトル情報Ｆ１２に含まれる次元成分の種別および位置関係と、転置インデックスＴとの比較により、論文（論文に対応する文章）を特定するため、文章を構成する章や節、項などの粒度に応じて、文とその位置を高精度に特定することができる。
【０１１６】
次に、上記実施例に示した情報処理装置１００，２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１０は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【０１１７】
図１０に示すように、コンピュータ５００は、各種演算処理を実行するＣＰＵ５０１と、ユーザからのデータの入力を受け付ける入力装置５０２と、ディスプレイ５０３とを有する。また、コンピュータ５００は、記憶媒体からプログラム等を読み取る読み取り装置５０４と、有線または無線ネットワークを介して収録機器等との間でデータの授受を行うインターフェース装置５０５とを有する。また、コンピュータ５００は、各種情報を一時記憶するＲＡＭ５０６と、ハードディスク装置５０７とを有する。そして、各装置５０１〜５０７は、バス５０８に接続される。
【０１１８】
ハードディスク装置５０７は、受付プログラム５０７ａ、生成プログラム５０７ｂ、特定プログラム５０７ｃ、応答プログラム４０７ｄを有する。ＣＰＵ５０１は、各プログラム５０７ａ〜５０７ｄを読み出してＲＡＭ５０６に展開する。
【０１１９】
取得プログラム５０７ａは、受付プロセス５０６ａとして機能する。生成プログラム５０７ｂは、生成プロセス５０６ｂとして機能する。特定プログラム５０７ｃは、特定プロセス５０６ｃとして機能する。応答プログラム５０７ｄは、応答プロセス５０６ｄとして機能する。
【０１２０】
受付プロセス５０６ａの処理は、受付部１５０ａ，２５０ａの処理に対応する。生成プロセス５０６ｂの処理は、生成部１５０ｂ，２５０ｂの処理に対応する。特定プロセス５０６ｃの処理は、特定部１５０ｃ，２５０ｃの処理に対応する。応答プロセス５０６ｄの処理は、応答部１５０ｄ，２５０ｄの処理に対応する。
【０１２１】
なお、各プログラム５０７ａ〜５０７ｄについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくても良い。例えば、コンピュータ５００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ５００が各プログラム５０７ａ〜５０７ｄを読み出して実行するようにしても良い。
【０１２２】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２３】
（付記１）文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成し、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、
複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する
処理をコンピュータに実行させることを特徴とする特定プログラム。
【０１２４】
（付記２）前記記憶部に記憶された情報は、次元値が基準値を満たす次元の種別と、位置情報とを対応付けたインデックス情報、および、文章とを対応付けた情報であり、
前記ベクトルを生成する処理は、文章を受け付けると、文章に含まれる各文のベクトルを生成し、前記次元を特定する処理は、各文のベクトルに含まれる次元のうち、次元値が基準を満たす次元の種別を更に特定し、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する文章を特定することを特徴とする付記１に記載の特定プログラム。
【０１２５】
（付記３）前記ベクトルを生成する処理は、論文の検索条件に関する文章から、ベクトルを生成し、前記記憶部に記憶された情報は、論文に基づいて生成されるインデックス情報と、前記論文とを対応付けた情報であり、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する論文を特定することを特徴とする付記２に記載の特定プログラム。
【０１２６】
（付記４）前記ベクトルを生成する処理は、前記文章を受けつけると、受けつけた前記文章に含まれる文の章、節、項、文のいずれかに対応する粒度に基づいて、前記ベクトルを生成することを特徴とする付記１、２または３に記載の特定プログラム。
【０１２７】
（付記５）コンピュータが実行する特定方法であって、
文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成し、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、
複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する
処理を実行することを特徴する特定方法。
【０１２８】
（付記６）前記記憶部に記憶された情報は、次元値が基準値を満たす次元の種別と、位置情報とを対応付けたインデックス情報、および、文章とを対応付けた情報であり、
前記ベクトルを生成する処理は、文章を受け付けると、文章に含まれる各文のベクトルを生成し、前記次元を特定する処理は、各文のベクトルに含まれる次元のうち、次元値が基準を満たす次元の種別を更に特定し、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する文章を特定することを特徴とする付記５に記載の特定方法。
【０１２９】
（付記７）前記ベクトルを生成する処理は、論文の検索条件に関する文章から、ベクトルを生成し、前記記憶部に記憶された情報は、論文に基づいて生成されるインデックス情報と、前記論文とを対応付けた情報であり、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する論文を特定することを特徴とする付記６に記載の特定方法。
【０１３０】
（付記８）前記ベクトルを生成する処理は、前記文章を受けつけると、受けつけた前記文章に含まれる文の章、節、項、文のいずれかに対応する粒度に基づいて、前記ベクトルを生成することを特徴とする付記５、６または７に記載の特定方法。
【０１３１】
（付記９）文章を受け付けると、受け付けた前記文章に基づき、複数の次元にそれぞれに対応付けられた複数の次元値を含むベクトルを生成する生成部と、
前記複数の次元のうち、対応付けられた次元値が基準を満たす次元を特定し、複数の文章それぞれについて、該文章のベクトルに含まれる次元のうち、対応付けられた次元値が基準を満たす次元を有するベクトルと、該ベクトルの位置とをそれぞれ対応付ける情報を記憶する記憶部と、特定した次元とを比較することで、特定した次元に対応する文章を、前記複数の文章から特定する特定部と
を有することを特徴とする情報処理装置。
【０１３２】
（付記１０）前記記憶部に記憶された情報は、次元値が基準値を満たす次元の種別と、位置情報とを対応付けたインデックス情報、および、文章とを対応付けた情報であり、
前記生成部は、文章を受け付けると、文章に含まれる各文のベクトルを生成し、前記特定部は、各文のベクトルに含まれる次元のうち、次元値が基準を満たす次元の種別を更に特定し、前記文章を特定する処理は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する文章を特定することを特徴とする付記９に記載の情報処理装置。
【０１３３】
（付記１１）前記生成部は、論文の検索条件に関する文章から、ベクトルを生成し、前記記憶部に記憶された情報は、論文に基づいて生成されるインデックス情報と、前記論文とを対応付けた情報であり、前記特定部は、特定した次元の種別および位置関係と、前記インデックス情報とを基にして、特定した次元の種別および位置関係に対応する論文を特定することを特徴とする付記１０に記載の情報処理装置。
【０１３４】
（付記１２）前記生成部は、前記文章を受けつけると、受けつけた前記文章に含まれる文の章、節、項、文のいずれかに対応する粒度に基づいて、前記ベクトルを生成することを特徴とする付記９、１０または１１に記載の情報処理装置。
【符号の説明】
【０１３５】
１００，２００  情報処理装置
１１０，２１０  通信部
１２０，２２０  入力部
１３０，２３０  表示部
１４０，２４０  記憶部
１４０ａ  質問文ＤＢ
１４０ｂ，２４０ｂ  判定テーブル
１４０ｃ，２４０ｃ  静的辞書情報
１４０ｄ，２４０ｄ  動的辞書情報
１５０、２５０  制御部
１５０ａ，２５０ａ  受付部
１５０ｂ，２５０ｂ  生成部
１５０ｃ，２５０ｃ  特定部
１５０ｄ，２５０ｄ  応答部
２４０ａ  検索文ＤＢ
【図１】
2019101993.tif 000003
【図２】
2019101993.tif 000004
【図３】
2019101993.tif 000005
【図４】
2019101993.tif 000006
【図５】
2019101993.tif 000007
【図６】
2019101993.tif 000008
【図７】
2019101993.tif 000009
【図８】
2019101993.tif 000010
【図９】
2019101993.tif 000011
【図１０】
2019101993.tif 000012