[実施形態]
以下、図面を参照して、この発明の一実施形態について説明する。
図1に、類似文書検索装置の構成例を示す。類似文書検索装置は、図1に示すように、単語抽出部1、単語属性記憶部2、属性頻度系列情報生成部3、属性頻度系列情報記憶部4、類似性計算部5、類似文書情報出力部6及び表示部7を例えば備えている。表示部7は、粒度設定部71及び入力部72を含んでいる。
類似文書検索方法は、類似文書検索装置の各部が、図2に示すステップS1からステップS7の処理を行うことにより例えば実現される。
類似性計算装置20は、図1に示すように、単語抽出部1、単語属性記憶部2、属性頻度系列情報生成部3、属性頻度系列情報記憶部4、類似性計算部5を例えば備えている。
類似性計算方法は、類似性計算装置の各部が、図2に示すステップS1からステップS5の処理を行うことにより例えば実現される。
<単語抽出部1>
単語抽出部1は、文書を入力とし、入力された各文書を構成する複数のセグメントのそれぞれに含まれる単語を抽出し(ステップS1)、抽出した単語を属性頻度系列情報生成部3に出力する。
文書は、文字や絵が記載された、書籍、雑誌、新聞等の紙媒体の文書であってもよいし、ウェブページ、電子書籍、ソースコード等の電子媒体の電子文書であってもよい。文書の一例は、絵本である。また、電子文書の例は、XML等のマークアップ言語で記述され、構造化された電子文書である。
文書は、その文書を所定の単位で分割することにより得られる複数のセグメントにより構成されているとする。所定の単位は、センテンス、ページ、段落、章等の文書を構成する単位のことである。このように、所定の単位は、ページ等の表示上の制約による区切りであってもよいし、作者が意図的に話を区切った区切りである段落、章(章は作者がストーリーの展開をまとめているもの)であってもよい。
文書がXML等のマークアップ言語で記述され、構造化された電子文書である場合には、構造化された電子文書の要素を所定の単位とすることができる。所定の単位は、上記に例示した文書を構成する単位の複数個であってもよい。例えば、所定の単位は、1ページであってもよいし、2ページであってもよい。なお、後述するように、粒度設定部71により、所定の単位の大きさが設定される場合がある。
例えば、文書が絵本である場合には、表示上の制約による区切りの例であるページを所定の単位としてもよい。これは、絵本は、絵と文字が相補的に用いられているコンテンツであり、ページを1つの単位としてデザインされていることが多いため、ページを所定の単位とすることによりストーリー展開が表しやすくなるためである。
比較的低年齢に向けて書かれており、見開きの2ページを1つの単位としてデザインされている絵本が文書である場合には、2ページを所定の単位としてもよい。
また、文書が児童書及び小説等のストーリーが比較的長く複雑な文書である場合には、作者が意図的に話を区切った区切りの例である章を所定の単位としてもよい。これは、このような文書に対しては、単に「表示上の制約による区切り」を所定の単位とするよりも「作者が意図的にお話を区切った区切り」を所定の単位とした方がストーリー展開を表しやすいためである。
単語の抽出は、例えば、文書を形態素解析した後に、その形態素解析の結果から自立語(名詞、動詞、形容詞等それ自体で意味をなす語)と打消し表現(助動詞「ない」、形容詞「悪い」など)を抜き出すことにより行うことができる。形態素解析処理によって、入力文書の分割を行い、品詞単位での分割による単語列を抽出し、それぞれの単語に品詞を付与し、特定の品詞に該当する単語を取り出す処理を行うことによって、自立語とそれに付随する打消し表現を抜き出す。
所定の単位が1ページである場合には、各文書のページごとに、各ページに含まれる単語が抽出される。例えば、ある文書のページ1に「戦争がはじまった。肉食獣は殺された。」という文章が記載され、ページ2に「ゾウは素晴らしい芸をするが、動物園職員は楽しめない。」、ページ3に「結局、ゾウも死んだ。」と記載されているとする。この場合、ページ1からは、「戦争がはじまった。肉食獣は殺された。」という文章から、形態素解析器を用いることで例えば下記のような形態素解析結果が得られる。
戦争 名詞,サ変接続,*,*,*,*,戦争,センソウ,センソー
が 助詞,格助詞,一般,*,*,*,が,ガ,ガ
はじまっ動詞,自立,*,*,五段・ラ行,連用タ接続,はじまる,ハジマッ,ハジマッ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
肉食 名詞,サ変接続,*,*,*,*,肉食,ニクショク,ニクショク
獣 名詞,接尾,一般,*,*,*,獣,ジュウ,ジュウ
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
殺さ 動詞,自立,*,*,五段・サ行,未然形,殺す,コロサ,コロサ
れ 動詞,接尾,*,*,一段,連用形,れる,レ,レ
た 助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。 記号,句点,*,*,*,*,。,。,。
EOS
もとの文章から分かち書かれた単語の出現形の後に、コンマ区切りで品詞情報(最初の2要素)やその標準形(6番目の要素)が得られる。品詞情報が自立語に該当するものの標準形を抽出すると、自立語である「戦争」「はじまる」「肉食」「獣」「殺す」という単語が得られる。また、ページ2からは、「ゾウは素晴らしい芸をするが、動物園職員は楽しめない。」という文章から、例えば下記のような形態素解析結果が得られる。
ゾウ 名詞,普通名詞,一般,*,*,*,ゾウ,象,ゾウ,ゾー,ゾウ,ゾー,漢,*,*,*,*
は 助詞,係助詞,*,*,*,*,ハ,は,は,ワ,は,ワ,和,*,*,*,*
素晴らしい 形容詞,一般,*,*,形容詞,連体形-一般,スバラシイ,素晴らしい,素晴ら しい,スバラシー,素晴らしい,スバラシー,和,*,*,*,*
芸 名詞,普通名詞,一般,*,*,*,ゲイ,芸,芸,ゲー,芸,ゲー,漢,*,*,*,*
を 助詞,格助詞,*,*,*,*,ヲ,を,を,オ,を,オ,和,*,*,*,*
する 動詞,非自立可能,*,*,サ行変格,終止形-一般,スル,為る,する,スル,する,スル, 和,*,*,*,*
が 助詞,接続助詞,*,*,*,*,ガ,が,が,ガ,が,ガ,和,*,*,*,*
、 補助記号,読点,*,*,*,*,,、,、,,、,,記号,*,*,*,*
動物 名詞,普通名詞,一般,*,*,*,ドウブツ,動物,動物,ドーブツ,動物,ドーブツ,漢,*,*,*,*
園 接尾辞,名詞的,一般,*,*,*,エン,園,園,エン,園,エン,漢,*,*,*,*
職員 名詞,普通名詞,一般,*,*,*,ショクイン,職員,職員,ショクイン,職員,ショクイン,漢,*,*,*,*
は 助詞,係助詞,*,*,*,*,ハ,は,は,ワ,は,ワ,和,*,*,*,*
楽しめ 動詞,一般,*,*,下一段-マ行,未然形-一般,タノシム,楽しむ,楽しめ,タノシメ,楽しめる,タノシメル,和,*,*,*,*
ない 助動詞,*,*,*,助動詞-ナイ,終止形-一般,ナイ,ない,ない,ナイ,ない,ナイ,和,*,*,*,*
。 補助記号,句点,*,*,*,*,,。,。,,。,,記号,*,*,*,*
EOS
前述の方法と同様の方法により、「ゾウ」「素晴らしい」「芸」「動物」「園」「職員」「楽しむ」という単語が抽出され、そのうち、「楽しむ」には直後に否定あるいは打ち消しを表す助動詞「ない」が存在することから、「楽しむ(打ち消し)」と記録する。また、ページ3からは、「結局、ゾウも死んだ。」という文章から例えば下記のような形態素解析結果が得られる。
結局 名詞,副詞可能,*,*,*,*,結局,ケッキョク,ケッキョク
、 記号,読点,*,*,*,*,、,、,、
ゾウ 名詞,一般,*,*,*,*,ゾウ,ゾウ,ゾー
も 助詞,係助詞,*,*,*,*,も,モ,モ
死ん 動詞,自立,*,*,五段・ナ行,連用タ接続,死ぬ,シン,シン
だ 助動詞,*,*,*,特殊・タ,基本形,だ,ダ,ダ
。 記号,句点,*,*,*,*,。,。,。
EOS
前述の方法と同様の方法により、「結局」「ゾウ」「死ぬ」という単語が抽出される。
なお、ページ2の「ゾウは素晴らしい芸をするが、動物園職員は楽しめない。」という文章の中の「楽しめない」という部分に対応する単語として「楽しむ」「ない」という単語が形態素解析により得られるとする。上記の「楽しむ(打消し)」という単語は、「楽しむ」から3単語以内に「ない」という打ち消しの助動詞があったために、「楽しむ」という単語の出現とその文書内での役割を補正する必要があることを意味する単語である。このように、形態素解析により得られた単語列において、ある単語Aから所定の個数の単語(上記の例では3単語)以内に打ち消しの助動詞「ない」及び形容詞「悪い」等の否定的な表現が出現する場合には、単語Aを「単語A(打消し)」としてもよい。
<単語属性記憶部2>
単語属性記憶部2には、複数の単語のそれぞれに対応する属性が記憶されている。
属性の例は、「positive」「negative」という極性である。言い換えれば、単語に対応する属性は、その単語がポジティブな印象とネガティブな印象のどちらを与えるかについての情報である。例えば、日本語評価極性辞書(例えば、参考文献1,2参照。)では、各単語に、「positive」という属性、又は、「negative」という属性が割り当てられている。各単語の属性として、この日本語評価極性辞書で割り当てられた「positive」又は「negative」という極性を用いることができる。
〔参考文献1〕小林のぞみ,乾健太郎,松本裕治,立石健二,福島俊一, "意見抽出のための評価表現の収集", 自然言語処理,Vol.12, No.3, pp.203-222, 2005.
〔参考文献2〕東山昌彦, 乾健太郎, 松本裕治, "述語の選択選好性に着目した名詞評価極性の獲得", 言語処理学会第14回年次大会論文集, pp.584-587, 2008.
例えば、「戦争」という単語に対応する属性として「negative」という極性が割り当てられており、「素晴らしい」という単語に対応する属性として「positive」という極性が割り当てられており、「楽しむ」という単語に対応する属性として「positive」という極性が割り当てられており、「死ぬ」という単語に対応する属性として「negative」という極性が割り当てられているとする。
単語の属性として、「positive」「negative」という2種の極性以外の属性を用いてもよい。例えば、上記日本語評価極性辞書に登録されていない又は単語属性記憶部2に記憶されていない単語の属性を「even」とすることにより、「positive」「negative」「even」という3種の極性を用いてもよい。また、「喜」「怒」「哀」「楽」等の上記の「positive」「negative」という2種の評価極性を更に細分化した4種の極性を用いてもよい。また、単語の属性は、「positive」又は「negative」という1種の極性だけであってもよい。このように、単語の属性は、1種類であっても、2種以上であってもよい。
さらに、辞書に記載されている単語群に属するか否かの情報を属性とするなど、所定の辞書に載っている単語であるか否かの情報を属性としてもよい。例えば、ある単語が、発達心理学等で重要視される「こころの発達」に寄与する所定の単語群に属するか否かをその単語の属性としてもよい。こころの発達に寄与する単語とは、言い換えれば子どもの感情に関わる単語のことである。
この場合、幼児のこころの発達に寄与する単語が載っている辞書やリストを用意し、ある単語が、辞書やリストに記載されている単語、例えば、「思う」「考える」といった単語群に属するか否かの情報を属性とする。
こころの発達に寄与する単語については、参考文献3,4を参照のこと。例えば、この参考文献3,4に載っている幼児のこころの発達に寄与する単語のリストを用いることができる。
〔参考文献3〕Simon Baron-Cohen, Ofer Golan, Sally Wheelwright, Yael Granader, and Jacqueline Hill1, "Emotion Word Comprehension from 4 to 16 Years Old: A Developmental Survey", Frontiers in Evolutionary Neuroscience 2(109):109 November 2010
〔参考文献4〕渡辺 弥生, 藤野 沙織, "児童の感情リテラシーの発達−感情表現に焦点を当てて−", Bulletin of Faculty of Letters, Hosei University (73), 83-97, 2016
このように、単語の属性の割り当てに、上記日本語評価極性辞書等の評価辞書や、上記発達心理学等で重要視される「こころの発達」に寄与する所定の単語群等のある業界の人が評判解析に用いる単語群等の既存の単語セットを用いてもよい。
また、各単語が、異なる少なくとも1つのグループの何れかに属するように、グループ分けされている場合には、各単語が属するグループを属性として用いることができる。各単語のグループ分けは、例えば参考文献5に記載されたトピックモデルを用いたトピック抽出の手法を用いることにより行うことができる。
〔参考文献5〕David M. Blei, Andrew Y. Ng, Michael I. Jordan, "Latent Dirichlet Allocation", JMLR2003
トピックモデルを用いたトピック抽出では、所定のトピック数及び特定の文書集合を入力とすることにより、入力した特定の文書集合に含まれる単語を、所定のトピック数のトピック(=グループ)に分けることができる。例えば、このトピックモデルを用いたトピック抽出により得られたトピックへの所属の有無を属性とすることで、入力した特定の文書集合に適した単語の属性を与えることができる。トピックモデルを用いたトピック抽出、及び、このトピック抽出により得られた属性を用いた単語の属性の割り当ては、図1に破線で示した属性割当部8により例えば行われる。類似性計算装置20及び類似文書検索装置は、属性割当部8を更に備えていてもよい。
このように、既存の単語セットを用いずに、特定の文書集合に適した単語の属性の割り当てを行ってもよい。
例えば、特定の文書集合として、検索対象とする文書集合を用いてもよい。すなわち、検索対象とする文書に含まれる一部又は全部の単語について、各単語が異なる少なくとも1つのグループに属するように所定のグループ化手法によりグループ分けして、単語が属するグループ、又は、単語が何れのグループにも属さないという属性をその単語に対応する属性としてもよい。これにより、検索対象とする文書集合に適した単語の属性の割り当てを行うことができる。
以下、特定の文書集合を用いて、各単語が異なる少なくとも1つのグループの何れかに属するようにグループ分けするトピックモデルを用いた手法以外の方法である<方法1><方法2>について説明する。
<方法1>
方法1は、word2vecとクラスタリングを用いるものである。
まず、属性割当部8は、特定の文書集合を入力として、文書中に登場する単語をword2vecを利用してユークリッド空間に埋め込む(ステップG11)。特定の文書集合の例は、検索対象とする文書集合である。word2vecを利用したユークリッド空間への単語の埋め込みの詳細については、例えば、参考文献6参照を参照のこと。
〔参考文献6〕Suzuki Jun, Nagata Masaaki, “Right-truncatable Neural Word Embeddings”, Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, pp.1145--1151,
そして、属性割当部8は、ユークリッド空間に埋め込まれた単語群を、クラスタリングによってk個のクラスタ(単語集合あるいは単語のグループ)に分割する(ステップG12)。kは予め定められた正の整数である。クラスタリングには、k-means法、random forest等の既存の方法を用いればよい。<方法1>の場合、クラスタリングにより得られた各グループのいずれかひとつ、あるいは複数への所属の有無を属性とすればよい。
<方法2>
方法2は、いわゆるbag of wordsとクラスタリングを用いるものである。文書をいくつかの重要な言葉(word)が入った袋(bag)として表現するので、以下に説明するベクトルの作り方はbag of wordsと呼ばれる。
まず、属性割当部8は、文書に登場する自立語を特定の文書集合に含まれるC冊の文書1,…,Cのすべてについて調べて、文書に出現する自立語辞書を作成する(ステップG21)。特定の文書集合の例は、検索対象とする文書集合である。
作成された辞書に掲載された自立語の種類がV個あったとする。すなわち、文書1,…,Cに出現する自立語は1,…,Vであったとする。属性割当部8は、V個の自立語について、それぞれが登場する文書の冊数をカウントする(ステップG22)。すなわち、自立語「オオカミ」は20冊の文書に登場する、自立語「××」は…冊の文書に登場する等の各単語についてのいわゆるdf(document frequency)を調べる。
属性割当部8は、ある閾値Dを決めて、dfが上位D位以上の自立語を洗い出す(ステップG23)。Dは、予め定められた正の整数である。dfがD未満の自立語を切り捨てることで、計算コストを削減することができる。
v=1,…,Vとし、Dを予め定められた正の整数として、ステップG22及びステップG23の処理により得られる、上記検索対象とする文書集合の中の自立語vが出現する文書の数df(v)が大きい方からD個の自立語を1,…,Dとする。
属性割当部8は、ステップG23で求まったD位以上の自立語D種が、それぞれの文書に何種類出現したか調べる(ステップG24)。すなわち、属性割当部8は、例えば、文書「あかずきん」には、df 1位の自立語「おおかみ」、df D位の自立語「××」の2種類が現れるということを調べる。
なお、このとき、属性割当部8は、登場する自立語の種類の数が少ない下位の文書を切り捨てることで、これ以降の計算量を削減してもよい。すなわち、文書の数が少なければ切り捨てはしなくてもよい。
c=1,…,Cとし、Nを予め定められた正の整数として、ステップG24の処理に得られる、検索対象とする文書集合に含まれる文書cに出現するD個の自立語の中の自立語の数M(c)が大きい方からN個の文書を1,…,Nとする。N<Cである場合は、登場する自立語の種類の数が少ない下位N-C個の文書を切り捨てることに対応している。N=Cである場合は、切り捨てを行わないことに対応している。
ステップG24の処理により、自立語と文書それぞれが選抜されたものが残っている。残った自立語と文書のそれぞれを自立語集合V'={1,…,D}と文書集合E’={1,…,N}とし、それぞれ自立語集合V'については多くの文書に現れる順、文書集合E’については多くの自立語を含む順に並んでいるとする。
このとき、属性割当部8は、ある自立語が文書集合E'中の文書にそれぞれ何回現れるかをその自立語の特徴ベクトルとする(ステップG25)。例えば、自立語「オオカミ」は、文書 1位の「あかずきん」に15回、文書 2位の「おおかみと7ひきのこやぎ」に10回、…、文書 |E'|位の「ごんぎつね」に0回現れたとすると、自立語「オオカミ」の特徴ベクトルは|E'|次元のベクトル(15,10,…,0)になる。ここで、|E'|は、文書集合E'に含まれる文書の数(ここでは、N)とする。
d=1,…,Dとし、n=1,…,Nとし、自立語dが文書nに出現する回数をO(n,d)として、ステップG25の処理により得られる、自立語dに対応するベクトルは(O(1,d),…,O(N,d))となる。
ステップG21からステップG25の処理により、各自立語が|E'|次元の特徴空間に配置される。属性割当部8は、|E'|次元の特徴空間に配置された自立語をk個のクラスタ(単語集合あるいは単語のグループ)に分割する(ステップG26)。すなわち、対応するベクトルに基づいて自立語1,…,Dをクラスタリングすることにより各自立語1,…,Dをグループ分けする。
kは予め定められた正の整数である。クラスタリングの方法、及び、クラスタリング後の各グループの属性としての扱い方は、<方法1>のステップG12で説明したものと同様である。
なお、1つの単語に対して、複数の属性が割り当てられていてもよい。
<属性頻度系列情報生成部3>
属性頻度系列情報生成部3には、単語抽出部1で抽出された単語が入力される。
属性頻度系列情報生成部3は、単語抽出部1で抽出された単語に対応する属性を単語属性記憶部2から読み込み、各文書を構成する複数のセグメントのそれぞれに含まれる単語に対応する属性の頻度をカウントすることにより、各文書を構成する複数のセグメントのそれぞれに含まれる単語に対応する属性の頻度の系列を表す情報である属性頻度系列情報を求める(ステップS3)。属性頻度系列情報生成部3の出力する各文書の属性頻度系列情報は、各文書を識別する情報とセグメントを識別する情報と対応付けられて、属性頻度系列情報記憶部4に記憶される。
所定の単位が1ページである場合には、属性頻度系列情報生成部3は、各ページに含まれる単語に対応する属性の頻度をカウントする。
例えば、属性は「positive」と「negative」の2種類であり、単語属性記憶部2に記憶されていない単語に属性を割り当てないとする。そして、ページ1には「戦争がはじまった。肉食獣は殺された。」が記載されているとすると、単語抽出部1で抽出され属性頻度系列情報生成部3に入力される単語は、「戦争」「はじまる」「肉食獣」「殺す」となる。
単語属性記憶部2で「戦争」という単語に「negative」という属性が付与されている場合、属性頻度系列情報生成部3は、「negative」という属性の頻度としてカウントする。具体的には、初期値が“0”の「negative」という属性の頻度を“1”だけ加算する。「はじまる」「肉食獣」「殺す」という単語の属性は単語属性記憶部2に記憶されていない場合、「positive」及び「negative」のいずれの属性の頻度としてもカウントしない。このカウントの処理により、ページ1に含まれる単語に対応する属性の頻度は「positive」:0,「negative」:1となる。
同様の処理を、ページ2、ページ3、…に対して行う。例えば、ページ2に含まれる単語に対応する属性の頻度は「positive」:1,「negative」:1、ページ3に含まれる単語に対応する属性の頻度は「positive」:0,「negative」:1、というように、ページごとに各ページに含まれる単語に対応する属性の頻度をカウントする。
なお、属性頻度系列情報生成部3は、単語抽出部1でページ2から抽出された「楽しむ(打消し)」のように補正の必要性を示す付随情報のついた単語については、単語属性記憶部2を参照することによりみつけた評価極性を反転した評価極性を持つ単語の出現として計数してもよい。例えば、単語属性記憶部2において「楽しむ」という単語に対応する属性として「positive」という極性が割り当てられている場合には、属性頻度系列情報生成部3は、「楽しむ(打消し)」の属性は、「positive」という極性を反転した「negative」であるとして頻度を計数してもよい。または、属性頻度系列情報生成部3は、単語の正負の評価極性が打ち消し表現によって失われたとみなして、いずれの評価極性の計数もしないとしてもよい。
このように、ページごとにカウントされた各ページに含まれる単語に対応する属性の頻度が、属性頻度系列情報の一例である。
なお、ある文書は、S個のセグメント1,…,Sで構成されているとし、単語に対応する属性はA個の属性1,…,Aであるとし、s=1,…,S,として、a=1,…,Aとし、セグメントsに含まれる単語tの頻度を表す指標をHs(t)とし、セグメントsに含まれる対応する属性がaである単語ts(a)の集合を{ts(a)}とし、セグメントsにおける属性aの頻度Fs(a)はFs(a)=Σts(a)∈{ts(a)}Hs(ts(a))であるとして、上記ある文書の属性頻度系列情報は、((F1(1),…,F1(A)),…,(FS(1),…,FS(A))を表す情報であってもよい。
ここで、セグメントsに含まれる単語tの頻度を表す指標Hs(t)は、上記ある文書の中の単語tが含まれるセグメントの個数が多いほど小さな値を取ってもよい。具体的には、セグメントsに含まれる単語tの頻度をHs(t)'とし、上記ある文書の中の単語tが含まれるセグメントの個数をf(t)として、Hs(t)=Hs(t)'×log(S/f(t))としてもよい。ここで、対数の底は、e、10等の所定の1以外の正の実数である。
例えば、1個目のセグメント1であるページ1から、「おおかみ」「あらし」「よる」「おおかみ」「羊」「おおかみ」という単語が抽出され、属性頻度系列情報生成部3に入力されたとする。また、単語に対応する属性は、「positive」及び「negative」の2種類であるとする。
この場合、属性頻度系列情報生成部3は、ページ1に含まれる「おおかみ」という単語の頻度をカウントし、その頻度を“3”とする(ステップS31)。
次に、属性頻度系列情報生成部3は、「おおかみ」という単語の属性を、単語属性記憶部2から読み込む(ステップS32)。単語属性記憶部2で「おおかみ」という単語に「negative」という属性が付与されている場合、属性頻度系列情報生成部3は、「おおかみ」という単語の属性を「negative」とする。
この例では、ページ1以外の他のページにも「おおかみ」という単語が多く含まれているとする。この場合、「おおかみ」という単語が多く含まれていることに起因して、「negative」の数が多くなってしまい、正確なストーリー展開の抽出ができなくなる可能性がある。そこで、この例では、属性頻度系列情報生成部3は、複数セグメントにわたって登場する単語の影響を低減する重みを考慮することにする。重みの例は、「おおかみ」という単語が含まれるセグメントの個数をf(おおかみ)として、log(S/f(おおかみ))である。この重みは、文書の特徴付けを行う際に用いられるTF-IDF(Term Frequency-Inverse Document Frequency)を応用したものであり、TF-IPF(Term Frequency-Inverse Page Frequency)とも言える。もちろん、重みとして、TF-IPF以外の、ある文書の中の単語tが含まれるセグメントの個数が多いほど小さな値を取る重みを用いてもよい。
属性頻度系列情報生成部3は、ページ1に含まれる「おおかみ」という単語の頻度である“3”に上記の“log(S/f(おおかみ))”をかけた値“3×log(S/f(おおかみ))”を、ページ1に含まれる単語「おおかみ」の頻度を表す指標“H1(おおかみ)”とする(ステップS33)。なお、H1(おおかみ)における「おおかみ」は、H1という単語を引数とする関数の入力が単語「おおかみ」であることを表す。
このように、セグメントsに含まれる単語tの頻度を表す指標Hs(t)は、例えば、セグメントsに含まれる単語tの頻度をTF-IPF等の重みにより補正した値である。なお、Hs(t)は、セグメントsに含まれる単語tの頻度自体であってもよい。
属性頻度系列情報生成部3は、「おおかみ」という単語の属性を「negative」であるため、言い換えれば、「おおかみ」という単語はページ1に含まれる対応する属性が「negative」である単語t1(positive)の集合{t1(positive)}に含まれるため、ページ1の「negative」の頻度を表す変数F1(negative)にH1(おおかみ)を加算する(ステップS34)。
属性頻度系列情報生成部3は、ステップS31からステップS34の処理をページ1の各単語について行うことにより、ページ1における「negative」という属性の頻度F1(negative)=Σt1(negative)∈{t1(negative)}H1(t1(negative))と、ページ1における「positive」という属性の頻度F1(positive)=Σt1(positive)∈{t1(positive)}H1(t1(positive))とを求める(ステップS35)。(F1(positive),F1(negative))が、ページ1の属性頻度系列情報の例である。
属性頻度系列情報生成部3は、ステップS31からステップS35の処理を各ページについて行うことにより、各ページの属性頻度系列情報((F1(positive),F1(negative)),…,(FS(positive),FS(negative))を求める(ステップS36)。例えば、このようにして求まる((F1(positive),F1(negative)),…,(FS(positive),FS(negative))を表す情報が、属性頻度系列情報の一例である。
このように、属性頻度系列情報は、文書を構成する複数のセグメントのそれぞれに含まれる単語に対応する属性の頻度の系列を表すヒストグラムであってもよい。なお、以下に述べるように、属性頻度系列情報は、そのヒストグラムの近似曲線であってもよい。
なお、各文書を構成する複数のセグメントのそれぞれに含まれる単語に対応する属性の頻度を表す指標の系列を重み付き加算した系列を属性頻度系列情報としてもよい。例えば、セグメントs(s=1,…,S)のある属性a(i=1,…,A)の頻度を表す指標をHiaとし、属性aの重みをαaとし、Hs=Σi=1 AαiHisとした場合、H1,…,HSが属性頻度系列情報となる。
例えば、属性が「positive」「negative」である場合には、属性「positive」の重みを“1”とし、属性「negative」の重みを“−1”とする。
また、属性の頻度の系列の重み付き加算により生成された属性頻度系列情報H1,…,HSの近似曲線を属性頻度系列情報とすることにより、文書の属性頻度系列情報を一本の曲線で表してもよい。属性頻度系列情報生成部3は、属性頻度系列情報H1,…,HSを例えばスプライン補間することにより、近似曲線を得ることができる。文書の属性頻度系列情報を一本の曲線で表すことにより、ストーリー展開をわかりやすく表現することができる。
図3及び図4に、属性頻度系列情報の他の例を示す。図3及び図4は、ページごとの「positive」「negative」に含まれる単語に対応する頻度の系列の近似曲線を表したものである。属性頻度系列情報生成部3は、「positive」及び「negative」のそれぞれに含まれる単語に対応する頻度の系列を例えばスプライン補間することにより、近似曲線を得ることができる。このように、属性頻度系列情報は、属性の頻度の系列を表すヒストグラムの近似曲線であってもよい。図3及び図4において、横軸はページ番号であり、縦軸は頻度であり、実線は「positive」の属性に属する単語の出現頻度を表し、破線は「negative」の属性に属する単語の出現頻度を表す。
図3は、典型的な「ハッピーエンド」のストーリー展開を有する文書の属性頻度系列情報の例である。図3では、「negative」が「positive」を上回る部分が途中にあるが、最終的に「positive」が「negative」を上回るので、「ハッピーエンド」のストーリー展開が表されていると言える。
図4は、典型的な「悲しいお話」のストーリー展開にを有する文書の属性頻度系列情報の例である。図4では、「positive」が「negative」を上回る部分もあるが、ほとんどの部分で「negative」が「positive」を上回っており、「negative」が「positive」を上回ったまま終わっているため、「悲しいお話」のストーリー展開が表されていると言える。
このように、ある文書の属性頻度系列情報は、その文書のストーリー展開を表す。このため、後述する類似性計算部5及び類似文書情報出力部6の処理で属性頻度系列情報が類似している文書を探すことにより、ストーリー展開が似た文書の検索が可能となるのである。
属性頻度系列情報生成部3は、例えば上記の処理により得られた属性頻度系列情報にローパスフィルタをかける等の手法により平滑化してもよい。例えば、比較的低年齢に向けて書かれており、見開きの2ページを1つの単位としてデザインされている絵本について、見開きの2ページを所定の単位として属性頻度系列情報の生成を行ったとき、見開き2ページの左のページにテキストが記載されており、見開き2ページの右のページに絵のみが記載されている等の場合に、属性頻度系列情報の凹凸が極端となる可能性がある。このような場合に、属性頻度系列情報を平滑化することにより、属性頻度系列情報の凹凸を平坦にすることができる。これにより、類似文書の検索の精度を高めることができる。
属性頻度系列情報生成部3は、処理対象の全ての文書について属性頻度系列情報を生成したかどうかを判断し、まだ属性頻度系列情報を生成していない文書がある場合には、その文書についてステップS1及びステップS3の処理を行う。すなわち、処理対象の全ての文書について属性頻度系列情報が生成されるまで、ステップS1及びステップS3の処理が繰り返し行われる。
<属性頻度系列情報記憶部4>
属性頻度系列情報記憶部4には、属性頻度系列情報生成部3で生成された属性頻度系列情報が、文書の識別番号(ID等)と対応づけられて記憶される。
なお、後述するように、属性頻度系列情報生成部3で生成された属性頻度系列情報が、文書の識別番号(ID等)と、所定の単位と対応づけられて記憶されていてもよい。
なお、単語抽出部1及び属性頻度系列情報生成部3の処理は、言い換えれば各文書の属性頻度系列情報を属性頻度系列情報記憶部4に記憶させる処理は、類似性計算部5、類似文書情報出力部6及び表示部7の処理に先だって行われる。検索対象とする文書集合を変更しない限り、各文書の属性頻度系列情報を属性頻度系列情報記憶部4に記憶させる処理はやり直す必要はない。
<類似性計算部5>
類似性計算部5には、表示部7を通じてユーザにより選択又は描写された検索のクエリとなる文書の属性頻度系列情報が入力される。表示部7を通じた、ユーザによるクエリとなる文書の属性頻度系列情報の入力については後述する。
ユーザにより、検索のクエリとなる文書の属性頻度系列情報が描写された場合には、そのユーザにより描写された、検索のクエリとなる文書の属性頻度系列情報がそのまま類似性計算部5に入力される。
ユーザにより、検索のクエリとなる文書が選択された場合には、類似性計算部5は、ユーザにより選択された文書の属性頻度系列情報が、属性頻度系列情報記憶部4に記憶されているか否かを判断する。ユーザにより選択された文書の属性頻度系列情報が属性頻度系列情報記憶部4に記憶されている場合には、類似性計算部5は、ユーザにより選択された文書の属性頻度系列情報を属性頻度系列情報記憶部4から読み込む。ユーザにより選択された文書の属性頻度系列情報が属性頻度系列情報記憶部4に記憶されていない場合には、ユーザにより選択された文書について、単語抽出部1及び属性頻度系列情報生成部3によるステップS1及びステップS3の処理が行われ、この処理により得られたユーザにより選択された文書の属性頻度系列情報が類似性計算部5に入力される。なお、この場合に、この処理により得られたユーザにより選択された文書の属性頻度系列情報を属性頻度系列情報記憶部4に記憶させることにより、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報のデータベースを更新してもよい。
類似性計算部5は、属性頻度系列情報記憶部4から読み込んだ各文書の属性頻度系列情報と、入力された属性頻度系列情報との類似性を計算する(ステップS5)。計算された類似性は、文書の識別情報とセットで類似文書情報出力部6に出力される。
2個の属性頻度系列情報の関係を比べることについてここまで類似性で説明を行ってきたが、類似性としては、Bhattacharyya Coefficient等の類似度、Kullback-Leibler divergence、Itakura-Saito divergence、Bregman divergence等の非類似度、ローカルディスタンスとしてユークリッド距離を用いた場合のDynamic Time Warping、Earth mover's distance等の距離尺度を用いることができる。もちろん、2個の属性頻度系列情報間の類似性を測ることができれば、上記以外の類似性を表す指標を用いてもよい。
属性頻度系列情報が属性の頻度の系列を表すヒストグラムである場合には、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムのビンの数が異なる場合がある。例えば、所定の単位の大きさが1ページであり、これらの2個の文書のページ数が異なる場合には、これらの2個の文書の属性頻度系列情報であるヒストグラムのビンの数は異なることになる。
ここで、類似性としてBhattacharyya Coefficient等のビンの数が同一であることを前提とする指標を用いる場合には、2個の文書の属性頻度系列情報であるヒストグラムのビンの数を同一にする必要がある。
この場合、類似性計算部5は、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムのビンの数が所定のビンの数になるように、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムを正規化し、正規化されたヒストグラムに基づいて類似性を計算する。所定のビンの数は、予め定められた固定の値(例えば、「起」「承」「転」「結」を想定して“4”とする。)でもよいし、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムのビンの数の中の少ない方のビンの数でもよいし、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムのビンの数の中の多い方のビンの数でもよいし、互いの類似性を計算する2個の文書の属性頻度系列情報であるヒストグラムのビンの数の最大公約数でもよい。また、所定のビンの数は、後述する粒度設定部71により設定されたビンの数であってもよい。
以下、ヒストグラムの正規化の例について説明する。図5に表された、文書Aの属性頻度系列情報であるヒストグラムのビンの数は4であり、文書Bの属性頻度系列情報であるヒストグラムの数は6である。図5のグラフの横軸はビンであり、図5のグラフの縦軸は総頻度に占める割合である。
これらのヒストグラムをビンの数が4になるように正規化することを考える。文書Aのヒストグラムのビンの数は元々4であるため、文書Aのヒストグラムについては何もしない。
一方、文書Bのヒストグラムのビンの数は6であるため、例えば図6に示すように、6/4=1.5の大きさのビンごとに頻度を振り分ける必要がある。図6では、2個目のビン及び5個目のビンが、1.5の大きさのビンによる振り分けによる振り分け境界に位置している。このように、振り分け境界に位置するビンの頻度の頻度は、例えば按分により行う。この例では、2個目のビン及び5個目のビンの頻度を50%ずつ振り分ける。その結果、文書Bのヒストグラムは図7のようになる。例えば、このように、ヒストグラムの正規化を行ってもよい。
以下、ユーザによる、検索のクエリとなる文書の属性頻度系列情報の選択の例について説明する。
液晶ディスプレイ、CRT等の表示装置である表示部7には、図8の表示がされているとする。ユーザは、図8の左上のタイトル又は著者等を入力するテキストボックスに、検索のクエリとなる文書の情報をキーボード、タッチパネル等の入力装置により入力する。図8の例では、タイトルのテキストボックスに「かわいそうなきりん」というタイトルが入力されている。
この状態で、ユーザが「検索」のボタンを、マウス、タッチパネル等のポインティングデバイスによりクリックすると、図示していない検索装置は、クリックされた位置である「検索」のボタンに対応づけられた検索処理、即ち、テキストボックスに入力された情報を基に前方一致検索等の検索処理を行い、その検索結果を図8の右欄に表示する。図8の例では、「かわいそうなきりん」という文字列で始まる文書の検索結果として、「かわいそうなきりん」という一件が検索結果として表示されている。ユーザが、ポインティングデバイスにより「かわいそうなきりん」という検索結果を選択すると、表示部7には図9の表示がされる。
図9では、検索結果の表示画面上に、更に「キャラクタや出来事が似ている絵本」と、「ストーリー展開が似ている絵本」という2個のボタンが重畳してポップアップ表示される。ここで、ユーザがポインティングデバイスにより「ストーリー展開が似ている絵本」をクリックすると、クエリとなる文書として「かわいそうなきりん」というタイトルが類似文書検索装置の類似性計算部5に入力される。
類似性計算部5は、「かわいそうなきりん」というタイトルを入力として、「かわいそうなきりん」というタイトルの文書の属性頻度系列情報を属性頻度系列情報記憶部4から読み込み、検索のクエリとなる文書の属性頻度系列情報とする。「かわいそうなきりん」というタイトルの文書の属性頻度系列情報が属性頻度系列情報記憶部4に記憶されていない場合には、「かわいそうなきりん」というタイトルの文書について、単語抽出部1と属性頻度系列情報生成部3の処理が行われ、この処理により得られた属性頻度系列情報が類似性計算部5に入力される。
なお、ユーザがポインティングデバイスにより「キャラクタや出来事が似ている絵本」をクリックすると、「かわいそうなきりん」というタイトルの文書にキャラクタや出来事が似ている絵本が、この発明による類似文書検索装置とは異なる文書検索装置により検索され、その検索結果が表示される。文書検索装置の例は、例えば特開2014−235723号公報又は特開2016−148927号公報に記載された情報提示装置である。
特開2016−148927号公報の情報提示装置は、入力されたクエリ(上記の例では、「かわいそうなきりん」というタイトルの文書)から「きりん」「動物園」など登場するキャラクタや絵本の舞台などを表す文書中の特徴語や著者等の書誌情報を特徴として抽出し、クエリの特徴との類似度が所定値以上の特徴を含む(すなわち共通のキャラクタや舞台が登場する、あるいは、同一著者によって著されているなどの共通点を有する)オブジェクト情報(例えば絵本)を複数探索する。特開2016−148927号公報の情報提示装置は、探索された複数のオブジェクト情報の各々を示すノードの各々の二次元平面座標を、各ノードが示すオブジェクト情報の特徴間の類似度が高いほどノード間の距離が近くなるように算出し、オブジェクト情報とクエリとの類似度が高いほど高くなるノードの標高を算出し、算出された二次元平面座標及び高さ情報が示す三次元座標位置にノードの各々をプロットし、クエリから所定の範囲にプロットされるオブジェクトを探索結果として提示するものである。
図8及び図9に示した表示部7の表示画面が、ユーザにより選択された属性頻度系列情報の入力を受け付ける入力部72の一例である。
以下、ユーザによる、検索のクエリとなる文書の属性頻度系列情報の選択の他の例について説明する。
表示部7には、図10の表示がされているとする。図10では、図10の左側にハッピーエンドを表す属性頻度系列情報の例が示されており、図10の右側に悲しいお話を表す属性頻度系列情報の例が示されている。図10において、属性頻度系列情報は一本の曲線で表されており、横軸は物語の進行度合いを表し、縦軸は上に行くほどpositive度合いが高く下に行くほどnegative度合いが低くなるようなスコアを意味するとする。ユーザが、図10の左のハッピーエンドのグラフをポインティングデバイスにより選択すると、そのハッピーエンドのグラフに対応する属性頻度系列情報が選択される。また、ユーザが、図10の右の悲しいお話のグラフをポインティングデバイスにより選択すると、その悲しいお話のグラフに対応する属性頻度系列情報が選択される。
図10に示した表示部7の表示画面が、ユーザにより選択された属性頻度系列情報の入力を受け付ける入力部72の一例である。
以下、ユーザによる、検索のクエリとなる文書の属性頻度系列情報の描写の例について説明する。図11では、属性頻度系列情報を一本の曲線で表している。属性頻度系列情報を一本の曲線で表すことにより、属性頻度系列情報を二本の以上の曲線で表すよりもユーザが直感的に属性頻度系列情報を入力することができるため、属性頻度系列情報を描写するユーザの入力の際の負担を軽減することができる。
図11の曲線の描写領域をポインティングデバイスでユーザがクリックすると頂点を指定することができる。図11では、頂点を○で表している。そして、ユーザが複数の頂点を指定すると、指定された頂点を通るn次スプライン曲線等の曲線が生成される。曲線上をクリックすると新たな頂点の指定をすることができ、頂点をドラックすることにより曲線の形状を変更可能であってもよい。例えば、このようにして属性頻度系列情報を表す曲線が描写される。
図11に示した表示部7の表示画面が、ユーザにより描画された属性頻度系列情報の入力を受け付ける入力部72の一例である。
また、図11では、曲線の描写領域の横に、「ハッピーエンド」のストーリーを有する文書の属性頻度系列情報に対応する曲線の例、「悲しいお話」のストーリーを有する文書の属性頻度系列情報に対応する曲線の例が表示されている。このように、各ストーリーを有する文書の属性頻度系列情報に対応する曲線の例を表示することで、ユーザが曲線を描写する際のお手本にすることができるので、ユーザの曲線の描写が容易となる。
例えば、このようにして描写された曲線である属性頻度系列情報がそのまま検索のクエリとなる文書の属性頻度系列情報として類似性計算部5に入力されてもよいし、曲線である属性頻度系列情報が所定のビンの数のヒストグラムに変換され、変換されたヒストグラムが検索のクエリとなる文書の属性頻度系列情報として類似性計算部5に入力されてもよい。
ここで、ある文書の属性頻度系列情報は、その文書のストーリー展開を表す。このため、属性頻度系列情報が似ている文書は、ストーリーが似ている文書である可能性が高い。このため、属性頻度系列情報が似ている文書を見つけることで、ストーリーが似ている文書を見つけることができるのである。そのため、類似性計算部5は、属性頻度系列情報の類似性を計算しているのである。
<類似文書情報出力部6>
類似文書情報出力部6は、類似性計算部5で計算された類似性が高い文書についての情報を表示部7に出力する(ステップS6)。
類似文書情報出力部6は、類似性が所定の閾値よりも高い文書についての情報を表示部7に出力してもよいし、類似性が高い方から所定の個数の文書についての情報を表示部7に出力してもよい。
所定の閾値及び所定の個数は、求められる仕様に応じて適宜決定される。例えば、図12のようにディスプレイに絵本の表紙一覧を出す場合、題名が読める程度のサイズに表示しつつ一覧性を保つ程度の値を予め設定しておいてもよい。
<表示部7>
表示部7は、類似文書情報出力部6が出力した類似性が高い文書についての情報を類似文書検索結果として表示する(ステップS7)。例えば、類似文書検索結果として、文書のタイトルが表示される。また、類似文書検索結果には、文書のタイトルだけではなく、文書の属性頻度系列情報等の文書に関する情報が含まれていてもよい。
以下、表示部7に表示される類似文書検索結果の例について説明する。
図12では、「かわいそうなきりん」というタイトルの文書の属性頻度系列情報と類似性が高い15件の文書が表示されている。
図12の表示において、ポインティングデバイスでユーザが類似性が高い文書をロールオーバー又は選択すると、図13に示すように、その類似性が高い文書の属性頻度系列情報が類似文書検索結果として表示されてもよい。
図13では、「5ひきのいぬ」という文書がロールオーバー又は選択されたため、「5ひきのいぬ」というタイトルの文書の属性頻度系列情報がポップアップ表示されている。
また、図13では、検索のクエリとなる「かわいそうなきりん」というタイトルの文書の属性頻度系列情報が更に表示されている。このように、検索のクエリとなる文書の属性頻度系列情報を類似文書検索結果として更に表示することで、2個の文書の属性頻度系列情報がどの位類似しているのかをユーザが把握することができ、属性頻度系列情報の類似性、すなわち、例えば「positive」「negative」度合いの推移(物語の進行)によるストーリーとしての類似性を直観的に把握することができる。
この例では、クエリである「かわいそうなきりん」というタイトルの文書の属性頻度系列情報と、検索結果の「5ひきのいぬ」というタイトルの文書の属性頻度系列情報とは、実線で示された「positive」が破線で示された「negative」を上回る部分もあるが、ほとんどの部分で「negative」が「positive」を上回っている点、「negative」が「positive」を上回ったまま終わっている点が類似している。言い換えれば、全体的にも最終的にも悲しいお話を表しているという点で類似している。このように、クエリである「かわいそうなきりん」というタイトルの文書は、全体的にも最終的にも「negative」属性を有する単語の数が「positive」属性を有する単語の数を上回る悲しいお話であるため、同様に全体的にも最終的にも「negative」属性を有する単語の数が「positive」属性を有する単語の数を上回るという意味で、属性頻度系列情報が「かわいそうなきりん」と類似し、同様に悲しいお話である、検索結果の「5ひきのいぬ」というタイトルの文書と似ていると判定されている。
ここで、ある文書の属性頻度系列情報は、その文書のストーリー展開を表す。このため、属性頻度系列情報が似ている文書は、ストーリーが似ている文書である可能性が高い。このため、属性頻度系列情報が似ている文書を見つけることで、ストーリーが似ている文書を見つけることができるのである。これにより、話の類型に基づく絵本等の文書の検索を行うことができる。
ここで、表示された、検索のクエリとなる「かわいそうなきりん」というタイトルの文書の属性頻度系列情報の曲線をユーザが調整可能であってもよい。この場合、調整後の属性頻度系列情報に対応する類似文書検索結果がリアルタイムに表示されてもよい。
[変形例]
<変形例1>
異なる複数の所定の単位のそれぞれに対応する各文書の属性頻度系列情報が、単語抽出部1及び属性頻度系列情報生成部3により生成され、所定の単位と対応づけられて属性頻度系列情報記憶部4に記憶されていてもよい。例えば、所定の単位を1ページとしたときの各文書の属性頻度系列情報と、所定の単位を2ページとしたときの各文書の属性頻度系列情報とが、単語抽出部1及び属性頻度系列情報生成部3により生成され、属性頻度系列情報記憶部4に記憶されていてもよい。
なお、文書を構成する最小の単位を所定の単位とした場合の各文書の属性頻度系列情報が、単語抽出部1及び属性頻度系列情報生成部3により生成され、所定の単位と対応づけられて属性頻度系列情報記憶部4に記憶されていてもよい。この場合、異なる複数の単位のそれぞれと最小の単位との関係を示す情報も、属性頻度系列情報記憶部4に記憶されているとする。このとき、後述する粒度設定部71により所定の単位が設定された場合には、その設定された所定の単位と最小の単位との関係に基づいて、その設定された所定の単位に対応する各文書の属性頻度系列情報が計算され、類似性計算部5に出力される。
例えば、最小単位としてページを単位とする各文書の属性頻度系列情報が、所定の単位と対応づけられて属性頻度系列情報記憶部4に記憶される。さらに、最小単位であるページとページより大きな単位である章について、各章とページとの対応関係(1章は10ページ、2章は12ページで構成されている、等)が属性頻度系列情報記憶部4に記憶される。粒度設定部71により所定の単位が「章」に設定された場合には、所定の単位「章」と最小の単位「ページ」との関係に基づいて、1から10ページ目までの属性頻度系列情報から「1章」の属性頻度系列情報が計算され、同様に11から22ページ目までの属性頻度系列情報から「2章」の属性頻度系列情報が計算され、それぞれ類似性計算部5に出力される。なお、所定の単位と最小の単位との関係は、章とページの関係に限られない。例えば、文を最小単位とした場合には、所定の単位はページであってもよいし、章であってもよい。すなわち、所定の単位と最小の単位との関係は、ページと文の関係や、章と文の関係であってもよい。
この場合、表示部7には、所定の単位を設定可能な粒度設定部71が表示されていてもよい。粒度設定部71の例は、図14から図18を用いて説明する、ボタン、スライダーバー及びプルダウンメニューである。
図14の「ストーリー展開が似ている絵本」の中の「おおまか」「詳細」というボタンである。「おおまか」のボタンには、「詳細」のボタンに対応付けられている単位の大きさよりも大きな単位が対応付けられているとする。
ユーザがポインティングデバイスにより「おおまか」のボタンをクリックすると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、「おおまか」のボタンに対応付けられている大きさの単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。例えば、「おおまか」のボタンには、検索対象の文書集合に属する文書の平均的な長さを基準としてストーリーの概要に着目した文書検索を行うことができる単位を対応付けておき、「おおまか」のボタンをクリックすることにより検索を行うことで、ストーリーの概要に着目した文書検索を行うことができる。
また、ユーザがポインティングデバイスにより「詳細」のボタンをクリックすると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、「詳細」のボタンに対応付けられている大きさの単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。「詳細」のボタンをクリックすることにより検索を行うことで、ストーリーの細部に着目した文書検索を行うことができる。
なお、図15に示すように、「ストーリー展開が似ている絵本」の中に所定の単位を設定可能なスライダーバーと「検索」のボタンとが表示されていてもよい。このスライダーバーのつまみをポインティングデバイスで移動させることにより、所定の単位を設定することができる。スライダーバーのつまみは、連続的に移動可能であってもよいし、所定の複数の位置のみに非連続的に移動可能となっていてもよい。この所定の複数の位置は、文書を分割可能な複数の単位に対応している。この所定の複数の位置は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報に対応する異なる複数の所定の単位に対応していてもよい。
スライダーバーのつまみを所望の位置に置いた状態で「検索」のボタンをクリックすると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、その位置に対応する単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。
なお、図15の例では、スライダーバーの両端に、所定の単位を所定の大きさに設定可能なボタンが表示されている。「よりおおまか」のボタンには、「より詳細」のボタンに対応付けられている単位の大きさよりも大きな単位が対応付けられているとする。
ユーザがポインティングデバイスにより「よりおおまか」のボタンをクリックすると、「よりおおまか」のボタンに対応付けられている大きさの単位分だけ、その時点で設定されている第1の所定の単位(例えば、その時点でスライダーバーがのつまみが置かれている位置に対応する第1の所定の単位)より大きな単位を第2の所定の単位とし、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、第2の所定の単位に対応する属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。「よりおおまか」のボタンがクリックされると、スライドバーのつまみが第2の所定の単位に対応する位置に自動的に移動するようにしてもよい。
また、ユーザがポインティングデバイスにより「より詳細」のボタンをクリックすると、「より詳細」のボタンに対応付けられている大きさの単位分だけ、その時点で設定されている第3の所定の単位(例えば、その時点でスライダーバーがのつまみが置かれている位置に対応する第3の所定の単位)より小さな単位を第4の所定の単位とし、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、第4の所定の単位に対応する属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。「より詳細」のボタンがクリックされると、スライドバーのつまみが第4の所定の単位に対応する位置に自動的に移動するようにしてもよい。
また、図16に示すように、「ストーリー展開が似ている絵本」の中にプルダウンメニューがあり、このプルダウンメニューにより所望の単位を設定可能であってもよい。図16の例では、プルダウンメニューにより「おおまか」「詳細」という項目が展開されている。「おおまか」の項目には、「詳細」の項目に対応付けられている単位の大きさよりも大きな単位が対応付けられているとする。
ユーザがポインティングデバイスにより、プルダウンメニューの中から「おおまか」の項目を選択すると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、「おおまか」の項目に対応付けられている大きさの単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。
また、ユーザがポインティングデバイスにより、プルダウンメニューの中から「詳細」の項目を選択すると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、「詳細」の項目に対応付けられている大きさの単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。
図14から図16を用いて説明したように、検索前にユーザが粒度設定部71を用いて所定の単位を設定可能であってもよい。
一方、図9、図17及び図18を用いて以下に説明するように、検索前はユーザが粒度設定部71を用いて所定の単位を設定可能ではなく予め定められた単位を所定の単位として検索が行われるが、検索後は類似文書検索結果の表示画面に表示された粒度設定部71を用いてユーザが所定の単位を設定可能であってもよい。
図9に示すように、「ストーリー展開が似ている絵本」の中に「おおまか」「詳細」というボタンがなくてもよい。この場合、「ストーリー展開が似ている絵本」のボタンをクリックすると、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、予め定められた単位を所定の単位とする属性頻度系列情報に基づいて、類似性計算部5、類似文書情報出力部6及び表示部7の処理が行われる。
この場合、図17に示すように、表示部7の類似文書検索結果の表示画面に、所定の単位を設定可能なスライダーバーが表示されていてもよい。ユーザは、このスライダーバーのつまみをポインティングデバイスで移動させることにより、所定の単位を設定することができる。スライダーバーのつまみは、連続的に移動可能であってもよいし、所定の複数の位置のみに非連続的に移動可能となっていてもよい。この所定の複数の位置は、文書を分割可能な複数の単位に対応している。この所定の複数の位置は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報に対応する異なる複数の所定の単位にそれぞれ対応していてもよい。スライダーバーのつまみの初期位置は、表示部7の類似文書検索結果を得る際に用いた所定の単位、言い換えれば所定の単位の初期値に対応しているとする。
図17の例では、スライダーバーの両端に、所定の単位を所定の大きさに設定可能なボタンが表示されている。「よりおおまか」のボタンには、「より詳細」のボタンに対応付けられている単位の大きさよりも大きな単位が対応付けられているとする。また、「よりおおまか」のボタンには所定の単位の初期値よりも大きな単位が対応付けられており、「より詳細」のボタンには所定の単位の初期値よりも小さな単位が対応付けられているとする。このように、互いに異なる大きさの単位が対応付けられている少なくとも1つのボタンが表示部7に表示されていてもよい。
スライダーバー又はボタンにより所定の単位を設定した場合には、設定後の所定の単位に対応する類似文書検索結果がリアルタイムに表示されてもよい。すなわち、粒度設定部71による設定前の所定の単位を第一の所定の単位とし、粒度設定部71による設定後の所定の単位を第二の所定の単位として、表示部7は、粒度設定部71による設定前の第一の所定の単位に基づく第一の類似文書検索結果を表示するとともに、粒度設定部71による設定後の第二の所定の単位に基づく第二の類似文書検索結果を表示してもよい。これにより、ユーザは、粒度設定部71による設定後の所定の単位が、適切なものであったかどうかを確認することができる。
なお、図17の表示において、ユーザがポインティングデバイスでクエリとの類似性が高い文書として表示されている文書のうちの1つをロールオーバー又は選択すると、その類似性が高い文書の属性頻度系列情報が類似文書検索結果として表示される。また、図17の表示において、検索のクエリとなる文書の属性頻度系列情報が類似文書検索結果として更に表示されている。
なお、粒度設定部71による設定前の所定の単位を第一の所定の単位とし、粒度設定部71による設定後の所定の単位を第二の所定の単位として、図18に示すように、表示部7は、第一の所定の単位に基づく検索のクエリとなる文書の属性頻度系列情報及び第二の所定の単位に基づく検索のクエリとなる文書の属性頻度系列情報を並べて表示してもよい。図18では、左上に検索のクエリとなる文書の第一の所定の単位に基づく属性頻度系列情報が表示され、左下に同一の文書の第二の所定の単位に基づく属性頻度系列情報が表示されている。
粒度設定部71による設定前の第一の所定の単位に基づく類似文書検索結果を第一の類似文書検索結果とし、粒度設定部71による設定後の第二の所定の単位に基づく類似文書検索結果を第二の類似文書検索結果としたとき、ユーザがポインティングデバイスで第二の類似文書検索結果に含まれる類似性が高い文書をロールオーバー又は選択すると、選択された類似性が高い文書の属性頻度系列情報が表示されてもよい。ユーザは、所定の単位を設定する前後の異なる所定の単位に基づく、検索のクエリとなる文書の属性頻度系列情報を同時に把握することができるため、設定後の所定の単位が適切なものであったかどうかを更に容易に確認することができる。
なお、この設定後の所定の単位に対応する類似文書検索結果の表示は、複数回行うことが可能であってもよい。すなわち、スライダーバー又はボタンにより所定の単位が設定される度ごとに、設定後の所定の単位に対応する類似文書検索結果が、粒度設定部71による設定前の類似文書検索結果と共にリアルタイムに表示されてもよい。
なお、図17及び図18において、スライダーバーとボタンから構成された粒度設定部71に代えて、ボタンのみ、又は、プルダウンメニューで構成された粒度設定部71が設けられており、このボタンのみ、又は、プルダウンメニューで構成された粒度設定部71でユーザが所定の単位を設定可能であってもよい。
なお、図14から図16を用いて説明したように、検索前にユーザが粒度設定部71を用いて所定の単位を設定可能である場合においても、図17及び図18を用いて説明したのと同様の方法により類似文書検索結果の表示画面に表示された粒度設定部71を用いてユーザが所定の単位を設定可能であってもよい。
<変形例2>
なお、属性頻度系列情報が、文書を構成する複数のセグメントのそれぞれに含まれる単語に対応する属性の頻度の系列を表すヒストグラムであるとし、互いの類似性を計算する2個の属性頻度系列情報であるヒストグラムのビンの数が所定のビンの数になるように上記互いの類似性を計算する2個の属性頻度系列情報であるヒストグラムが正規化され、正規化されたヒスグラムに基づいて上記2個の類似性が計算される場合には、粒度設定部71は、所定のビンの数を設定可能であってもよい。
粒度設定部71の例は、図14から図17を用いて説明する、ボタン、スライダーバー及びプルダウンメニューである。
例えば、図14の「おおまか」のボタンには、「詳細」のボタンに対応付けられている数よりも小さな数が対応付けられているとする。
ユーザがポインティングデバイスにより「おおまか」のボタンをクリックすると、「おおまか」のボタンに対応付けられているビンの数を所定のビンの数として類似性計算部5の処理が行われる。すなわち、粒度設定部71は、「おおまか」のボタンに対応付けられているビンの数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。例えば、「おおまか」のボタンには、検索対象の文書集合に属する文書の平均的な長さを基準としてストーリーの概要に着目した文書検索を行うことができるビンの数を対応付けておき、「おおまか」のボタンをクリックすることにより検索を行うことで、ストーリーの概要に着目した文書検索を行うことができる。
また、ユーザがポインティングデバイスにより「詳細」のボタンをクリックすると、「詳細」のボタンに対応付けられているビンの数を所定のビンの数として類似性計算部5の処理が行われる。すなわち、粒度設定部71は、「詳細」のボタンに対応付けられているビンの数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。「詳細」のボタンをクリックすることにより検索を行うことで、ストーリーの細部に着目した文書検索を行うことができる。
なお、図15に示すように、「ストーリー展開が似ている絵本」の中に所定のビンの数を設定可能なスライダーバーと「検索」のボタンとが表示されていてもよい。このスライダーバーのつまみをポインティングデバイスで移動させることにより、ビンの数を設定することができる。スライダーバーのつまみは、連続的に移動可能であってもよいし、所定の複数の位置のみに非連続的に移動可能となっていてもよい。この所定の複数の位置は、所定の複数のビンの数に対応している。
スライダーバーのつまみを所望の位置に置いた状態で「検索」のボタンをクリックすると、そのつまみの位置に対応するビンの数を所定のビンの数として類似性計算部5処理が行われる。すなわち、粒度設定部71は、そのつまみの位置に対応付けられているビンの数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。
なお、図15の例では、スライダーバーの両端に、所定のビンの数を所定の大きさに設定可能なボタンが表示されている。「よりおおまか」のボタンには、「より詳細」のボタンに対応付けられているビンの数の大きさよりも小さなビンの数が対応付けられているとする。
ユーザがポインティングデバイスにより「よりおおまか」のボタンをクリックすると、「よりおおまか」のボタンに対応付けられている大きさのビンの数の分だけ、その時点で設定されている第1の所定のビンの数(例えば、その時点でスライダーバーがのつまみが置かれている位置に対応する第1の所定のビンの数)より小さなビンの数を第2の所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。「よりおおまか」のボタンがクリックされると、スライドバーのつまみが第2の所定のビンの数に対応する位置に自動的に移動するようにしてもよい。
また、ユーザがポインティングデバイスにより「より詳細」のボタンをクリックすると、「より詳細」のボタンに対応付けられている大きさのビンの数のだけ、その時点で設定されている第3の所定のビンの数(例えば、その時点でスライダーバーがのつまみが置かれている位置に対応する第3の所定のビンの数)より大きなビンの数を第4の所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。「より詳細」のボタンがクリックされると、スライドバーのつまみが第4の所定のビンの数に対応する位置に自動的に移動するようにしてもよい。
また、図16に示すように、「ストーリー展開が似ている絵本」の中にプルダウンメニューがあり、このプルダウンメニューにより所望のビンの数を設定可能であってもよい。図16の例では、プルダウンメニューにより「おおまか」「詳細」という項目が展開されている。「おおまか」の項目には、「詳細」の項目に対応付けられているビンの数の大きさよりも小さなビンの数が対応付けられているとする。
ユーザがポインティングデバイスにより、プルダウンメニューの中から「おおまか」の項目を選択すると、「おおまか」の項目に対応付けられているビンの数を所定のビンの数として類似性計算部5の処理が行われる。すなわち、粒度設定部71は、「おおまか」の項目に対応付けられているビンの数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。
また、ユーザがポインティングデバイスにより、プルダウンメニューの中から「詳細」の項目を選択すると、「詳細」の項目に対応付けられているビンの数を所定のビンの数として類似性計算部5の処理が行われる。すなわち、粒度設定部71は、「詳細」の項目に対応付けられている数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。
図14から図16を用いて説明したように、検索前にユーザが粒度設定部71を用いて所定のビンの数を設定可能であってもよい。
一方、図9及び図17を用いて以下に説明するように、検索前はユーザが粒度設定部71を用いて所定のビンの数を設定可能ではなく予め定められたビンの数を所定のビンの数として検索が行われるが、検索後は類似文書検索結果の表示画面に表示された粒度設定部71を用いてユーザが所定のビンの数を設定可能であってもよい。
図9に示すように、「ストーリー展開が似ている絵本」の中に「おおまか」「詳細」というボタンがなくてもよい。この場合、「ストーリー展開が似ている絵本」のボタンをクリックすると、予め定められたビンの数を所定のビンの数として類似性計算部5の処理が行われる。すなわち、粒度設定部71は、予め定められたビンの数を所定のビンの数として類似性計算部5に出力し、類似性計算部5は、入力された所定のビンの数に基づいて上記説明したステップS5の処理を行う。
この場合、図17に示すように、表示部7の類似文書検索結果の表示画面に、所定のビンの数を設定可能なスライダーバーが表示されていてもよい。ユーザは、このスライダーバーのつまみをポインティングデバイスで移動させることにより、所定のビンの数を設定することができる。スライダーバーのつまみは、連続的に移動可能であってもよいし、所定の複数の位置のみに非連続的に移動可能となっていてもよい。この所定の複数の位置は、所定の複数のビンの数に対応している。スライダーバーのつまみの初期位置は、表示部7の類似文書検索結果を得る際に用いた所定のビンの数、言い換えれば所定のビンの数の初期値に対応しているとする。
図17の例では、スライダーバーの両端に、所定のビンの数を所定の数に設定可能なボタンが表示されている。「よりおおまか」のボタンには、「より詳細」のボタンに対応付けられているビンの数よりも小さなビンの数が対応付けられているとする。また、「よりおおまか」のボタンには所定のビンの数の初期値よりも小さなビンの数が対応付けられており、「より詳細」のボタンには所定のビンの数の初期値よりも大きなビンの数が対応付けられているとする。このように、互いに異なる大きさのビンの数が対応付けられている少なくとも1つのボタンが表示部7に表示されていてもよい。
スライダーバー又はボタンにより所定のビンの数を設定した場合には、設定後の所定のビンの数に対応する類似文書検索結果がリアルタイムに表示されてもよい。すなわち、粒度設定部71による設定前の所定のビンの数を第一の所定のビンの数とし、粒度設定部71による設定後の所定のビンの数を第二の所定のビンの数として、表示部7は、粒度設定部71による設定前の第一の所定のビンの数に基づく第一の類似文書検索結果を表示するとともに、粒度設定部71による設定後の第二の所定のビンの数に基づく第二の類似文書検索結果を表示してもよい。これにより、ユーザは、粒度設定部71による設定後の所定のビンの数が、適切なものであったかどうかを確認することができる。
なお、図17の表示において、ユーザがポインティングデバイスでクエリとの類似性が高い文書として表示されている文書のうちの1つををロールオーバー又は選択すると、その類似性が高い文書の属性頻度系列情報が類似文書検索結果として表示される。また、図17の表示において、検索のクエリとなる文書の属性頻度系列情報が類似文書検索結果として更に表示されている。
なお、粒度設定部71による設定前の所定のビンの数を第一の所定のビンの数とし、粒度設定部71による設定後の所定のビンの数を第二の所定のビンの数として、表示部7は、第一の所定のビンの数により正規化された検索のクエリとなる文書の属性頻度系列情報であるヒストグラムと、第二の所定のビンの数により正規化された検索のクエリとなる文書の属性頻度系列情報であるヒストグラムとを並べて表示してもよい。例えば、表示部7の表示画面の左上に検索のクエリとなる文書の第一の所定のビンの数により正規化された属性頻度系列情報であるヒストグラムが表示され、表示部7の表示画面の左下に同一文書の第二の所定のビンの数により正規化された属性頻度系列情報であるヒストグラムが表示されてもよい。
粒度設定部71による設定前の第一の所定のビンの数に基づく類似文書検索結果を第一の類似文書検索結果とし、粒度設定部71による設定後の第二のビンの数に基づく類似文書検索結果を第二の類似文書検索結果としたとき、ユーザがポインティングデバイスで第二の類似文書検索結果に含まれる類似性が高い文書をロールオーバー又は選択すると、選択された類似性が高い文書の属性頻度系列情報が表示されてもよい。ユーザは、異なるビンの数に基づく、検索のクエリとなる文書の属性頻度系列情報であるヒストグラムを同時に把握することができるため、設定後の所定のビンの数が適切なものであったかどうかを更に容易に確認することができる。
なお、この設定後の所定のビンの数に対応する類似文書検索結果の表示は、複数回行うことが可能であってもよい。すなわち、スライダーバー又はボタンにより所定のビンの数が設定される度ごとに、設定後の所定のビンの数に対応する類似文書検索結果が、粒度設定部71による設定前の類似文書検索結果と共にリアルタイムに表示されてもよい。
なお、図17において、スライダーバーとボタンから構成された粒度設定部71に代えて、ボタンのみ、又は、プルダウンメニューで構成された粒度設定部71が設けられており、このボタンのみ、又は、プルダウンメニューで構成された粒度設定部71でユーザが所定のビンの数を設定可能であってもよい。
なお、図14から図16を用いて説明したように、検索前にユーザが粒度設定部71を用いて所定のビンの数を設定可能である場合においても、図17を用いて説明したのと同様の方法により類似文書検索結果の表示画面に表示された粒度設定部71を用いてユーザが所定のビンの数を設定可能であってもよい。
<変形例3>
なお、粒度設定部71は、所定の単位及び所定のビンの数の両方を設定可能であってもよい。
例えば、S個の所定の単位をi(1),…,i(S)とし、S個の所定のビンの数をj(1),…,j(S)として、所定の単位と所定のビンの数の組(i(s),j(s))(s=1,…,S)が予め定められているとする。
図14から図18を用いて説明した「おおまか」「詳細」等のボタン、スライダーバー及びプルダウンメニューには、所定の単位と所定のビンの数の組(i(s),j(s))(s=1,…,S)が対応付けられており、ユーザが、ボタン、スライダーバー及びプルダウンメニューをポインティングデバイスで操作することにより、所定の単位と所定のビンの数の組(i(s),j(s))を選択可能であってもよい。
粒度設定部71は、ユーザにより所定の単位と所定のビンの数の組(i(s),j(s))が選択されると、その選択された所定の単位i(s)と所定のビンの数j(s)についての情報を、類似性計算部5に出力する。類似性計算部5は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、選択された所定の単位i(s)を所定の単位とする属性頻度系列情報と、所定のビンの数j(s)とに基づいてステップS5の処理を行う。
変形例1から変形例3をまとめると、粒度設定部71は、所定の単位及び所定のビンの数の少なくとも一方を設定可能であると言える。
<変形例4>
粒度設定部71は、例えば図11を用いて説明した方法によりユーザが描写した属性頻度系列情報を表す曲線の傾きの変化率が大きいほど、所定の単位として小さな値又は所定のビンの数として大きな値を設定するものであってもよい。
例えば、ユーザが描写した属性頻度系列情報を表す曲線が、図19の曲線であったとする。図19の横軸はページ番号であり、縦軸は上に行くほどpositive度合いが高く下に行くほどnegative度合いが低くなるようなスコアを意味するとする。このようなユーザが描写した属性頻度系列情報を表す曲線の中の最も急峻な傾きを持つ山谷は、ユーザに描かれた以上は意味があるはずなので、その山谷の傾きの急峻さに応じて、所定の単位又は所定のビンの数を設定する。これにより、よりユーザニーズにあった検索を行うことができると考えられる。
例えば、ユーザが描写した曲線の始点から終点までの距離をXとし、ユーザが描写した曲線の極大値から極小値までの距離の中で最も小さいものをΔxとし、Δx以下の値をΔx'として、粒度設定部71は、X/Δx'を切り上げた値を例えばビンの数とする。
また、異なる所定の単位ごとに、セグメントの総数Sの平均値が計算されているとして、粒度設定部71は、X/Δx'を切り上げた値に最も近い、セグメントの総数Sの平均値に対応する所定の単位を所定の単位としてもよい。
このように、粒度設定部71は、ユーザが描写した属性頻度系列情報を表す曲線の中の最も急峻な傾きを持つ山谷を反映できる細かさで所定の単位又は所定のビンの数を設定してもよい。
粒度設定部71は、設定された所定の単位と所定のビンの数についての情報を、類似性計算部5に出力する。類似性計算部5は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、設定された所定の単位に対応する属性頻度系列情報と、設定された所定のビンの数とに基づいてステップS5の処理を行う。
<変形例5>
粒度設定部71は、クエリとなる文書に応じて所定の単位及び所定のビンの数を定めてもよい。例えば、クエリとなる文書ごとに、所定の単位及び所定のビンの数が定められているとする。例えば、クエリとなる文書が属する、絵本、児童書、ドキュメントファイル等のカテゴリごとに、所定の単位及び所定のビンの数が定められているとする。
粒度設定部71は、クエリとなる文書が入力されると、その入力されたクエリとなる文書に対応する所定の単位及び所定のビンの数を読み込み、読み込んだ所定の単位及び所定のビンの数についての情報を、類似性計算部5に出力する。類似性計算部5は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の、設定された所定の単位に対応する属性頻度系列情報と、設定された所定のビンの数とに基づいてステップS5の処理を行う。
<変形例6>
また、所定の単位及び所定のビンの数は、ユーザがクエリとなる文書を入力する際に、粒度設定部71を操作することにより手動で設定可能であってもよい。
粒度設定部71は、所定の単位及び所定のビンの数が設定されると、設定された所定の単位及び所定のビンの数についての情報を、類似性計算部5に出力する。類似性計算部5は、属性頻度系列情報記憶部4に記憶されている属性頻度系列情報の中の設定された所定の単位に対応する属性頻度系列情報と、設定された所定のビンの数とに基づいてステップS5の処理を行う。
<変形例7>
各単語に対応する属性の割り当てが定義されている第一の単語属性割当と、第一の単語属性割当とは異なる、各単語に対応する属性の割り当てが定義されている第二の単語属性割当とがあるとする。
この場合、類似文書検索装置は、第一の単語属性割当に基づく検索により文書をフィルタリングした後に、第二の単語属性割当に基づく検索を行ってもいよい。例えば、第一の単語属性割当の種別と第二の単語属性割当の種別が異なるように、第一の単語属性割当及び第二の単語属性割当を設定する。例えば、第一の単語属性割当を「喜」「怒」「哀」「楽」の極性を用いた割り当てとし、第二の単語属性割当を参考文献5に記載されたトピックモデルを用いたトピック抽出の手法を用いた割り当てとする。これにより、異なる観点から検索結果を絞り込むことができる。
すなわち、第一の単語属性割当に基づく各単語の属性と、第二の単語属性割当に基づく各単語の属性とが単語属性記憶部2に記憶されているとして、類似文書検索装置は、単語属性記憶部2から読み込んだ第一の単語属性割当に基づく単語の属性に基づいて属性頻度系列情報生成部3、類似性計算部5及び類似文書情報出力部6の処理を行うことにより仮の類似文書を得た後に、その仮の類似文書を対象として、単語属性記憶部2から読み込んだ第二の単語属性割当に基づく単語の属性に基づいて属性頻度系列情報生成部3、類似性計算部5及び類似文書情報出力部6の処理を行うことにより最終的な類似文書検索結果を得てもよい。
なお、ユーザが第一の単語属性割当及び第二の単語属性割当のそれぞれを選択可能であってもよい。これにより、第二の単語属性割当よりも第一の単語属性割当を重視した検索が可能となる。また、第一の単語属性割当による検索により提示された文書の数が多い場合には、第二の単語属性割当による検索を行うことにより、第二の単語属性割当の観点から絞り込みを行うことができる。これにより、ユーザがより所望の検索を行うことができる。
<変形例8>
単語抽出部1及び属性頻度系列情報生成部3の処理は、類似性計算部5、類似文書情報出力部6及び表示部7の処理に先だって行われてもよいし、単語抽出部1及び属性頻度系列情報生成部3の処理と、類似性計算部5、類似文書情報出力部6及び表示部7の処理とが同時並行的に行われてもよい。
また、単語抽出部1、単語属性記憶部2及び属性頻度系列情報生成部3を用いて行われるステップS1からステップS3の処理は、類似性の計算及び類似文書の検索に先立つ前処理である。このため、類似性計算装置20及び類似文書検索装置は、図1において一点鎖線で囲まれた単語抽出部1、単語属性記憶部2及び属性頻度系列情報生成部3を備えていなくてもよい。また、類似性計算方法及び類似文書検索方法は、図2において一点鎖線で囲まれたステップS1及びステップS3の処理を有していなくてもよい。
言い換えれば、類似性計算装置20は、属性頻度系列情報記憶部4及び類似性計算部5のみを備えていてもよい。また、類似文書検索装置は、属性頻度系列情報記憶部4、類似性計算部5、類似文書情報出力部6及び表示部7のみを備えていてもよい。また、類似性計算方法は、ステップS5の処理のみを有していてもよい。また、類似文書検索方法は、ステップS5からステップS7の処理のみを有していてもよい。
これらの場合、属性頻度系列情報記憶部4には、類似性計算装置20及び類似文書検索装置とは異なる装置に設けられた単語抽出部1、単語属性記憶部2及び属性頻度系列情報生成部3により生成された属性頻度系列情報が予め記憶されているとする。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
<プログラム及び記録媒体>
類似文書検索装置又は類似性計算装置20の各部における処理をコンピュータによって実現する場合、類似文書検索装置又は類似性計算装置20の各部がが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、その各部の処理がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、各部の処理は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理の少なくとも一部をハードウェア的に実現することとしてもよい。