説明

回答検索装置、方法、及びプログラム

【課題】ユーザの入力単語の理解を支援することができる。
【解決手段】回答検索装置は、クラス抽出部、単語検索部、構文パターン格納部、テンプレート生成部、及び比喩表現検索部を含む。クラス抽出部は、入力された第1単語の分類を示すクラスを抽出する。単語検索部は、第1単語と異なり、かつ、クラスと同一のクラスに属する第2単語を検索する。構文パターン格納部は、第1単語、少なくとも1つの第2単語、および第2単語を形容する任意の文字列を当てはめて第1単語を比喩する比喩表現において、第1単語、第2単語、および任意の文字列が不定である構文パターンを格納する。テンプレート生成部は、構文パターンに第1単語と第2単語とを当てはめて任意の文字列が不定である比喩表現テンプレートを生成する。比喩表現検索部は、比喩表現テンプレートと一致する文字列をテキストデータから検索して、比喩表現として取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、回答を検索する回答検索装置、方法、及びプログラムに関する。
【背景技術】
【0002】
近年、Web検索システムの普及に伴い、ユーザが知りたい単語の情報をWeb上から検索することが一般的となっている。しかし、こうした検索システムの多くは、ユーザが入力したキーワードが文章中に含まれるかどうかによって検索を行っている。そのため、ユーザが得たい情報を的確に、かつユーザに対して分かりやすく情報提示することが難しい。
提示手法としては、例えば、ユーザからの質問に対して、その質問の意味的または概念的な周辺概念を用いて質問に回答する手法がある。具体的には、ユーザが「大統領とは何か?」という質問をした場合に、概念的な周辺概念である語「王様」を用いて、「王様みたいなもの」という回答を行う。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−204133号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述の提示手法は、質問された単語を主格とした場合、用言と目的格名詞とのパターンを用いて周辺概念の語を選定する。そのため、質問された単語が固有名詞の場合には、ユーザに誤ったイメージを持たせる回答となりえる。
例えば、日本人ユーザが知らない外国人ロック歌手Aについて質問した場合、「外国人ロック歌手Aは新曲を歌う」のような用言および目的格名詞のパターンが考えられる。このとき、上述の手法では「新曲を歌う」の主格となる外国人ロック歌手A以外の名詞を探し出し、回答を生成する。もし、「日本人演歌歌手Bは新曲を歌う」という表現が存在した場合、質問中の名詞や回答に使用する名詞の詳細な特徴を考慮することが出来ないため、「外国人ロック歌手Aは日本人演歌歌手Bみたいなもの」や「新曲を歌うという意味で外国人ロック歌手Aは日本人演歌歌手Bみたいなもの」といった回答をすることになる。このような回答により、ユーザが知りたい単語について誤ったイメージを持ってしまう可能性がある。
【0005】
本開示は、上述の課題を解決するためになされたものであり、ユーザの単語理解を支援することができる回答検索装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本実施形態に係る回答検索装置は、クラス抽出部、単語検索部、構文パターン格納部、テンプレート生成部、及び比喩表現検索部を含む。クラス抽出部は、入力された第1単語の分類を示すクラスを抽出する。単語検索部は、前記第1単語と異なり、かつ、前記クラスと同一のクラスに属する第2単語を検索する。構文パターン格納部は、前記第1単語、少なくとも1つの前記第2単語、および該第2単語を形容する任意の文字列を当てはめて前記第1単語を比喩する比喩表現において、該第1単語、該第2単語、および該任意の文字列が不定である構文パターンを格納する。テンプレート生成部は、前記構文パターンに前記第1単語と前記第2単語とを当てはめて前記任意の文字列が不定である比喩表現テンプレートを生成する。比喩表現検索部は、前記比喩表現テンプレートと一致する文字列をテキストデータから検索して、比喩表現として取得する。
【図面の簡単な説明】
【0007】
【図1】第1の実施形態に係る回答検索装置を示すブロック図。
【図2】第1の実施形態に係る単語意味クラス辞書の一例を示す図。
【図3】単語意味クラス抽出部の動作を示すフローチャート。
【図4】単語検索結果の一例を示す図。
【図5】構文パターン格納部に格納される構文パターンの一例を示す図。
【図6】比喩表現テンプレートの一例を示す図。
【図7】テキストデータ格納部に格納されるテキストデータの一例を示す図。
【図8】比喩表現検索部の動作を示すフローチャート。
【図9】比喩表現出力部の一例を示す図。
【図10】構文パターンの別例を示す図。
【図11】第2の実施形態に係る単語意味クラス辞書の一例を示す図。
【図12】第2の実施形態に係る単語検索部の動作を示すフローチャート。
【図13】第2の実施形態に係る構文パターンを示す図。
【図14】第3の実施形態に係る回答検索装置を示すブロック図。
【図15】自然性判定部の動作を示すフローチャート。
【図16】評判表現の一例を示す図。
【図17】評判情報ベクトルの一例を示す図。
【図18】第4の実施形態に係る回答検索装置を示すブロック図。
【図19】情報推薦部における情報推薦の一例を示す図。
【図20】興味情報の一例を示す図。
【図21】興味情報を用いた場合の情報推薦の一例を示す図。
【図22】興味情報を用いた場合の情報推薦の別例を示す図。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら本実施形態に係る回答検索装置、方法、及びプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作をおこなうものとして、重複する説明を適宜省略する。
(第1の実施形態)
本実施形態に係る回答検索装置について図1のブロック図を参照して説明する。
本実施形態に係る回答検索装置100は、単語意味クラス抽出部101、単語意味クラス辞書格納部102、単語検索部103、構文パターン格納部104、比喩表現テンプレート生成部105、テキストデータ格納部106、比喩表現検索部107、および比喩表現出力部108を含む。
【0009】
単語意味クラス抽出部101は、ユーザから入力された単語(以下、入力単語ともいう)を受け取り、後述の単語意味クラス辞書格納部102を参照して、入力単語と一致する単語のクラスを抽出する。クラスは、単語の分類であり、例えば、ロック歌手名、野球選手名、地名、駅名などが挙げられる。
また、ユーザによる入力単語の入力方法としては、例えば、キーボードにより入力したり、マウス操作により文字列を選択したりする方法が挙げられる。なお、入力単語は、ユーザによる直接入力に限られない。例えば、ユーザがWebを閲覧中にWebページタイトル中の名詞を自動で入力単語としたり、オンラインショップを閲覧中に商品情報(商品名、作者名など)を自動で入力単語とする手法でもよい。単語意味クラス抽出部101の動作については図3を参照して後述する。
【0010】
単語意味クラス辞書格納部102は、単語とクラスとを含む単語意味クラス辞書を格納する。単語意味クラス辞書格納部102については、図2を参照して後述する。
単語検索部103は、単語意味クラス抽出部101から入力単語と入力単語のクラスとを受け取り、入力単語のクラスと同一のクラスを有する単語を単語意味クラス辞書格納部102から全て抽出し、単語検索結果を生成する。
【0011】
構文パターン格納部104は、構文パターンと制約条件とを対応付けて1以上格納する。構文パターンは、入力単語、少なくとも1つの単語検索結果の単語、および単語検索結果の単語を形容する任意の文字列を当てはめて第2単語を比喩する比喩表現において、入力単語、単語検索結果の単語、および任意の文字列が不定である構文を示す。制約条件は、構文パターンに当てはめる文字数と単語数との制限を示す。構文パターン格納部104については、図5を参照して後述する。
比喩表現テンプレート生成部105は、外部から入力単語を、単語検索部103で抽出された単語検索結果を、構文パターン格納部104から構文パターンをそれぞれ受け取り、比喩表現テンプレートを生成する。比喩表現テンプレートは、構文パターンに入力単語と単語検索結果の単語とを当てはめたテンプレートである。つまり、構文パターンに当てはめる文字列の中で、単語検索結果の単語を形容する任意の文字列だけ不定である。比喩表現テンプレート生成部105については、図6を参照して後述する。
【0012】
テキストデータ格納部106は、任意の文書群から抽出したテキストデータを格納する。テキストデータの収集には、さまざまな方法が考えられるが、第1の実施形態では、インターネットを利用してテキストデータを収集する。まず始めに、ニュースサイトやブログサイトなどの頻繁にサイト中のテキストが更新されるサイトのURLをリストとして保持しておく。これらのURLは予め手動でリストを作成しておいてもよい。次に、定期的に、例えば、毎日、予め定めた時刻にリストにあるURLのサイト上のテキストを取得し、取得したテキストをテキストデータベースに保存する。テキストデータ格納部106の詳細については図7を参照して後述する。
【0013】
比喩表現検索部107は、比喩表現テンプレート生成部105から比喩表現テンプレートを受け取り、テキストデータ格納部106から比喩表現テンプレートと一致する文字列であって、かつ比喩表現テンプレートに用いた構文パターンの制約条件を満たす文字列を検索し、一致する文字列があれば比喩表現として取得する。比喩表現検索部107の動作については、図8を参照して後述する。
比喩表現出力部108は、比喩表現検索部107から比喩表現を受け取り、外部に出力する。比喩表現出力部108については、図9を参照して後述する。
【0014】
次に、単語意味クラス辞書格納部102に格納される対応表の一例について図2を参照して説明する。
単語意味クラス辞書格納部102は、単語201およびクラス202を対応付けた単語意味クラス辞書を格納する。具体的には、例えば単語201「日本人歌手A」、クラス「ロック歌手名」が対応付けられて格納される。なお、以下では、ある単語についてクラスが対応付けられたデータを単語レコード203と呼ぶ。
【0015】
次に、単語意味クラス抽出部101の動作について図3のフローチャートを参照して説明する。
ステップS301では、入力単語を受け取る。
ステップS302では、N=1と設定する。
ステップS303では、単語意味クラス辞書格納部102を参照して、N番目の単語レコードを取得する。すなわち、最初は1番目の単語レコードを取得することになる。
【0016】
ステップS304では、単語レコードの単語が入力単語と同一であるかどうかを判定する。単語が同一であればステップS308に進み、単語が同一でなければステップS305へ進む。
ステップS305では、N+1番目の単語レコードがあるかどうかを判定する。単語レコードがなければステップS307へ進み、単語レコードがあればステップS306へ進む。
ステップS306では、N+1番目を新たなNと設定して、ステップS303へ戻り、同様の処理を繰り返す。すなわち、入力単語と同一の単語が単語レコードに存在するか、新たな単語レコードが存在しなくなるまでステップS303からステップS305までの処理を繰り返す。
【0017】
ステップS307では、新たな単語レコードが存在しないため、推定結果を「なし」として処理を終了する。
ステップS308では、単語レコードのクラスを入力単語のクラスとして出力する。
ここで具体例を挙げて説明する。例えば、入力単語として「外国人歌手G」が入力された場合は、単語意味クラス辞書格納部102を参照する。その後、入力単語の「外国人歌手G」と単語レコードの単語「外国人歌手G」とが同一であるので、この単語レコードのクラス「ロック歌手名」が入力単語のクラスとして出力される。以上で単語意味クラス抽出部101の動作を終了する。
【0018】
次に、単語検索部103において検索された単語検索結果の一例について図4を参照して説明する。
単語検索部103では、単語意味クラス抽出部101で推定されたクラスと同一のクラスを有する単語レコードを、単語意味クラス辞書格納部102から検索し、一致した単語レコードの単語を全て抽出して単語検索結果を生成する。具体的には、図2を参照すると、単語検索部103はクラス「ロック歌手名」である単語レコード203の単語201を検索し、同一のクラス202「ロック歌手名」を有する単語201「日本人歌手A」、「日本人歌手U」などを抽出する。結果として、図4に示すような単語検索結果401を生成する。
【0019】
次に、構文パターン格納部104に格納される構文パターンの一例について図5を参照して説明する。
構文パターン格納部104には、構文パターン501、制約条件502が対応付けられて格納される。構文パターン501の「○○」には入力単語が、「××」には単語検索結果の単語を形容する任意の文字列が、「△△」には単語検索結果の単語がそれぞれ当てはめられる。制約条件502は、ここでは、構文パターン501の「××」に当てはめる文字列の、許容される最大文字数Mおよび/または最大単語数Tを示す。具体的には、図5に示すように、構文パターン501「○○は××の△△」、制約条件502「10文字以内および5単語以内」がそれぞれ対応付けられる。なお、制約条件として、単語を形容する文字列の制約ではなく、比喩表現テンプレートの全体の文字数について、最大文字数および最大単語数の制約を設けてもよい。
【0020】
次に、比喩表現テンプレート生成部105で生成される比喩表現テンプレートの一例について図6を参照して説明する。
比喩表現テンプレートは、比喩表現テンプレート生成部105が、図5に示す構文パターン501に入力単語と単語検索結果の単語とを当てはめることで生成される。例えば、入力単語が「外国人歌手G」、これと同一クラスの単語検索結果の単語が図4に示すような「日本人歌手A」であった場合を想定する。この場合、構文パターン501「○○は××の△△」の「○○」と「△△」とにそれぞれ「外国人歌手G」と「日本人歌手A」とが当てはめられて、比喩表現テンプレート601「外国人歌手Gは××の日本人歌手A」が生成される。
なお、構文パターンまたは単語検索結果が複数存在する可能性があるため、それらを用いて生成される比喩表現テンプレートも複数生成されてもよい。例えば、構文パターンが2つ存在し、かつ単語検索結果として単語が3つ存在した場合は、2×3=6通りの比喩表現テンプレートが生成されることになる。
【0021】
次に、テキストデータ格納部106に格納されるテキストデータの一例について図7を参照して説明する。
テキストデータ格納部106には、テキスト取得元のサイトURLと取得日時をファイル名にもつファイル701とによって構成される。各ファイル701には、ファイル名に記された日時にファイル名に記されたURLのサイトから取得したテキストが記憶される。各ファイルに記憶されるテキストは、形態素解析を行い、単語に分かち書きされる。ただし、必ずしも形態素解析を行う必要はなく、テキストを分かち書きされた状態にし、テキストの単語数を数えることが可能な状態にすることができればよい。なお、単語数を数えることが可能な状態のテキストがあれば、テキストデータ格納部106に格納せず、直接外部のデータを参照してもよい。また、分かち書きが不可能な場合は、図5の制約条件502は単語数の制約を無視して文字数の制約だけで実施することも考えられる。
【0022】
次に、比喩表現検索部107の動作について図8のフローチャートを参照して説明する。
ステップS801では、N=1に設定する。
ステップS802では、構文パターン格納部104からN番目の比喩表現テンプレートに用いた構文パターンの制約条件502を取得し、最大文字数Mおよび/または最大単語数Tを得る。
ステップS803では、比喩表現テンプレートの「××」に最大文字数Mおよび/または最大単語数Tを満たす比喩表現が、テキストデータ格納部106に記憶されるテキストデータに存在するかどうかを検索する。当該比喩表現が存在すればステップS804へ進み、当該比喩表現が存在しなければステップS805へ進む。
【0023】
ステップS804では、当該比喩表現を比喩表現として取得する。当該比喩表現が複数存在する場合は、全て取得する。
ステップS805では、N番目の比喩表現テンプレートの「××」に最大文字数Mおよび/または最大単語数Tを満たす比喩表現がテキストデータに存在しないため、次の比喩表現テンプレート、すなわちN+1番目の比喩表現テンプレートがあるかどうかを判定する。N+1番目の比喩表現テンプレートがあればステップS806に進み、N+1番目の比喩表現テンプレートがなければ処理を終了する。
ステップS806では、N+1番目を新たなNと設定して、ステップS802へ戻り、ステップS802からステップS805までの処理を繰り返す。すなわち、比喩表現テンプレート生成部105で生成された全ての比喩表現テンプレートについて上述の処理を行う。
【0024】
具体例として、図6および図7を参照すると、比喩表現テンプレートの「外国人歌手Gは××の日本人歌手A」と一致する文字列であって、「××」に当てはまる文字列の制約条件が「10文字以内、5単語以内」という文字列を図7に示すテキストデータ中から検索する。図7のテキストデータに、「外国人歌手Gはアメリカの日本人歌手A」という文字列が存在したとすると、この文字列は、比喩表現テンプレートと一致し、かつ「アメリカ」の文字列は「4文字、1単語」であるので、比喩表現テンプレートの制約条件にも当てはまるため、これらの文字列を比喩表現として取得する。
【0025】
次に、比喩表現出力部108の出力例について図9を参照して説明する。
図9に示すように、ユーザが「外国人歌手G」を調べるために入力単語として「外国人歌手G」を入力した場合に、出力結果として「外国人歌手Gはアメリカの日本人歌手A」という比喩表現を出力する。こうすることで、外国人歌手Gに対して的確な比喩表現を提示することができ、ユーザの単語理解を支援することができる。
【0026】
なお、上述の例では、構文パターン格納部104には日本語による構文パターンを格納していたが、これに限らず他言語の構文パターンを格納してもよい。
他言語の構文パターンを格納する構文パターン格納部104の一例を図10に示す。図10の例では、英語による構文パターン501を格納する。
他言語の構文パターンを用意することにより、ユーザが入力単語を入力する際に比喩表現として出力したい言語を選択することで、様々な言語の比喩表現テンプレートを作成することができる。なお、入力単語および単語検索結果の単語を言語判定部(図示せず)が構文パターン格納部104に存在する構文パターンの言語にそれぞれ翻訳し、他言語の構文パターンを当てはめてもよい。このとき、テキストデータ格納部106において、テキストデータ取得時において様々な言語のテキストを収集しておくことが望ましい。このように多言語の構文パターンを用意しておくことで、他言語の比喩表現をユーザに提示することができる。
【0027】
以上に示した第1の実施形態によれば、比喩表現テンプレートに一致する文字列をテキストデータから抽出することで、入力単語をより的確に比喩表現することができ、ユーザの入力単語の理解を支援することができる。
【0028】
(第2の実施形態)
第1の実施形態では、単語検索部において同一のクラスである単語を全て抽出していたが、第2の実施形態では、プロフィール情報と単語の知名度との少なくとも一方を用いて抽出する単語を選択する点が異なる。プロフィール情報は、ユーザの年齢、性別、使用言語、Web検索クエリの履歴、オンラインショップでの商品の購入履歴、およびユーザが事前に入力した興味のある事柄などユーザに関する情報である。なお、プロフィール情報は、予めユーザからの入力によりプロフィール情報を受け取り、プロフィール情報を外部またはプロフィール情報格納部(図示せず)に保持しておき、必要に応じて単語検索部103が抽出すればよい。知名度は、単語201がどの程度認知されているかを示す値である。
【0029】
第2の実施形態に係る単語意味クラス辞書の一例について図11を参照して説明する。
第2の実施形態に係る単語意味クラス辞書格納部102は、第1の実施形態に係る単語意味クラス辞書の項目に加え、表記言語1101、知名度1102及び属性1103を含んだ単語レコード1104を複数格納する。表記言語1101は、単語201がどの言語で表記されているかを示し、例えば「日本人歌手A」であれば表記言語1101は「日本語」であり、「New York」であれば表記言語1101は「英語」となる。属性1103は、本実施形態では、単語が出現するテキストが属する国別コードトップレベルドメインを単語の属性とするが、単語に関連する国名など、どのようなものでもよい。また、第2の実施形態における知名度1102の算出方法としては、知名度算出の対象となる単語201の表記言語で書かれたテキストデータ中での単語201の出現回数を知名度の値としているが、どのような方法を用いてもよい。
図11の例では、「日本人歌手A」の知名度1102は「54700」であり、テキストデータ中に54700回出現したことを示す。また、「外国人歌手G」の知名度1102は「6600」であり、検索したテキストデータ中では、日本人歌手Aよりも外国人歌手Gの知名度が低いことがわかる。
【0030】
次に、第2の実施形態に係る単語検索部103の動作について図12のフローチャートを参照して説明する。
ステップS1201では、ユーザの使用言語Lを取得する。使用言語Lはユーザプロフィール情報から取得すればよい。
ステップS1202では、N=1と設定する。
ステップS1203では、単語意味クラス辞書格納部102のN番目の単語レコードRを取得する。
【0031】
ステップS1204では、単語レコードRのクラスが入力単語のクラスと同一であるかどうかを判定する。同一である場合は、ステップS1205へ進み、同一でない場合はステップS1208へ進む。
ステップS1205では、単語レコードRの表記言語がユーザの使用言語Lと同一であるかどうかを判定する。表記言語がユーザの使用言語Lと同一である場合はステップS1206へ進み、同一でない場合はステップS1208へ進む。
ステップS1206では、単語レコードRの知名度が閾値以上であるかどうかを判定する。知名度が閾値以上であればステップS1207へ進み、知名度が閾値未満であればステップS1208へ進む。
【0032】
ステップS1207では、単語検索結果に単語レコードRの単語を追加する。
ステップS1208では、N+1番目の単語レコードRが存在するかどうかを判定する。N+1番目の単語レコードRが存在すればステップS1209へ進む。N+1番目の単語レコードRが存在しなければ処理を終了する。
ステップS1209では、N+1番目を新たなNと設定してステップS1203からステップS1208までの処理を繰り返す。以上で単語検索部103の処理を終了する。
【0033】
具体的に、図11の単語意味クラス辞書を参照して単語検索部103の動作を説明する。まず、ユーザの使用言語Lを取得し、例えば使用言語Lが日本語である場合を想定する。この場合、単語意味クラス辞書の単語レコードRのうち、言語が日本語である単語レコードが検索対象となり、さらに知名度の閾値を「40000」と設定していれば、該当する単語は「日本人歌手A」となる。
【0034】
なお、上述のステップでは、使用言語と知名度との両方を用いて単語検索結果を得ているが、使用言語および知名度のどちらか一方のみを用いて単語検索結果を得てもよい。また、プロフィール情報に含まれる検索履歴や購入履歴に単語レコードRの単語が存在すれば、ユーザが単語を知っていると考えられるため、その単語が単語検索結果として追加されるように設定してもよい。例えば、プロフィール情報の購入履歴などに単語レコードRの単語が存在した場合は、知名度の値を閾値以上となるような値に設定すればよい。
【0035】
以上に示した第2の実施形態によれば、ユーザのプロフィール情報と単語の知名度との少なくとも一方を利用することにより、ユーザがよく知っている単語を用いて比喩表現を生成することができるため、ユーザが入力単語をよりイメージしやすく、入力単語の理解を支援することができる。
【0036】
以上の説明では、ユーザの使用言語といった単一の言語内で比喩表現の生成を行う場合を述べてきたが、複数の言語で比喩表現を生成することも可能である。例えば、翻訳装置(図示せず)を利用して入力単語および単語検索結果を様々な言語に翻訳し、図13に示すような翻訳先の言語の構文パターンに当てはめることで、様々な言語の比喩表現を生成することができる。このとき、テキストデータ格納部106において、テキストデータ取得時において様々な言語のテキストを収集しておくことが望ましい。必要に応じて生成した比喩表現を再度翻訳することで、多言語の比喩表現をユーザに提示することができる。
【0037】
(第2の実施形態の変形例)
第2の実施形態の変形例では、単語レコードが持つ情報として、さらに、属性を利用する。そして、表記言語ではなく属性に基づいて単語の知名度を算出し、それを用いて単語検索部において単語検索結果を作成する。
【0038】
まず始めに、第2の実施形態の表記言語に基づく知名度算出において生じうる問題について説明する。
日本語の場合、日本語を公用語とする国は日本のみであり、日本における「東京」(図11を参照)の知名度を、「東京」の表記言語である日本語で書かれたテキストデータ内での「東京」の出現頻度と定義することができる(これは第2の実施形態における知名度の定義である)。しかし、例えば英語の場合、英語を公用語とする国はアメリカ、イギリス、オーストラリアなど数多く存在する。そのため、例えば、英語表記の単語「Cambridge」の知名度を英語で書かれたテキストデータ内の出現頻度とした場合、「Cambridge」の知名度の値は、アメリカでもイギリスでもオーストラリアでも一律の値となる。実際には「Cambridge」があるイギリスでの知名度は、オーストラリアでの知名度よりも高いと考えられるが、表記言語に基づく知名度算出では、それを考慮することができない。こうして算出された知名度を基に単語検索部103で単語検索結果を作成した場合、ユーザが入力単語をイメージしにくい比喩表現を出力しかねない。そこで、この問題を属性を利用することで解消することができる。
【0039】
属性を含んだ単語意味クラス辞書の一例として、図11を参照する。例えば、「東京」という単語は、収集したテキストデータ内において、「jp」という日本を表す国別コードトップレベルドメイン(以降、ドメインとも略す)を持つURLから収集されたテキスト中に出現する。よって、属性1103の値は「jp」となる。また、「Cambridge」という単語は、ドメイン「us」やドメイン「uk」、ドメイン「au」といった複数のドメインのテキストに出現する。このとき、単語意味クラス辞書に格納される単語レコードとしては、ドメインごとに単語レコードが作られる。図11の例では、「Cambridge」に対して3つの単語レコードが作られている。ここで、各単語レコードの知名度1102を、表記言語1101ではなく、属性1103に基づいて算出する。具体的には、図11の単語レコード1105を例に挙げれば、ドメイン「uk」のURLから収集されたテキスト内での「Cambridge」の出現頻度を知名度の値とする。
【0040】
続いて、属性に基づいて算出された知名度と、ユーザのプロフィール情報を利用して、単語検索結果を取得する方法を述べる。ユーザのプロフィール情報として、ユーザがいる国のドメインが得られた場合、単語検索部103において単語検索する範囲を属性がユーザの属するドメインである単語レコードに限定する。具体的には、ユーザがオーストラリアにいることがプロフィール情報から判明した場合、単語検索の範囲を属性1103が「au」の単語レコードのみとする。それ以外の単語検索の動作は第2の実施形態と同様である。
【0041】
以上に示した第2の実施形態の変形例によれば、オーストラリアのユーザにとっての「Cambridge」の知名度と、イギリスのユーザにとっての「Cambridge」の知名度を区別することができるため、ユーザが入力単語をよりイメージしやすい比喩表現を生成することができる。
【0042】
なお、オンラインショップ上などで比喩表現を生成する場合には、オンラインショップのURLからドメインを取得し、それをユーザがいる国のドメインとすることで、ユーザのプロフィール情報にドメインの情報が無い場合にも実現可能である。
【0043】
(第3の実施形態)
第3の実施形態では、比喩表現の自然性を判定する。自然性は、本実施形態では比喩表現として一般的に認知されている度合いを示す。このような自然性を判定することにより、より一般的な比喩表現を選択することができ、ユーザの入力単語の理解を支援することができる。
【0044】
第3の実施形態に係る回答検索装置について図14のブロック図を参照して説明する。
第3の実施形態に係る回答検索装置1400は、単語意味クラス抽出部101、単語意味クラス辞書格納部102、単語検索部103、構文パターン格納部104、比喩表現テンプレート生成部105、テキストデータ格納部106、比喩表現検索部107、自然性判定部1401および比喩表現出力部108を含む。
単語意味クラス抽出部101、単語意味クラス辞書格納部102、単語検索部103、構文パターン格納部104、比喩表現テンプレート生成部105、テキストデータ格納部106、比喩表現検索部107、および比喩表現出力部108は、第1の実施形態と同様の動作を行うためここでの説明は省略する。
【0045】
自然性判定部1401は、比喩表現検索部107から1以上の比喩表現を受け取り、比喩表現の自然性を判定し、自然性が最も高い比喩表現を比喩表現出力部108へ出力する。自然性の判定には、様々な方法が考えられるが、本実施形態では比喩表現の出現回数を用いる。比喩表現の出現回数を用いた自然性の判定は、比喩表現検索部107で生成された各比喩表現が、テキストデータ中でそれぞれ何回出現するかをカウントする。そして、最も多く出現した比喩表現が一般的に用いられている表現であり、最も自然であると判定することができるので、この比喩表現を出力する。
【0046】
以上に示した第3の実施形態によれば、比喩表現の自然性を判定することで、より一般的な比喩表現を選択することができ、ユーザの入力単語の理解を支援することができる。
【0047】
(第3の実施形態の変形例)
第3の実施形態の変形例では、比喩表現の出現回数に基づく自然性判定の代わりに、単語の評判情報を用いた自然性判定を行う。評判情報は、ある単語がどのような評判表現で形容されているかを示す情報である。評判表現は、単語を形容する表現である。評判表現の一例としては、例えば、「美しい」「かわいい」「かっこいい」といったものが挙げられる。
【0048】
本変形例に係る自然性判定部1401の動作について図15のフローチャートを参照して説明する。
ステップS1501では、初期設定として、後述する評判表現に関するコサイン類似度の最大値「Max」をゼロに設定し、比喩表現Hmaxを「なし」に設定する。
ステップS1502では、N=1に設定する。
ステップS1503では、N番目の比喩表現をHnとし、比喩表現Hn中の2つの単語(入力単語および単語検索結果の単語)の評判情報ベクトルV1とV2とをそれぞれ取得する。評判情報ベクトルV1は、評判表現と入力単語とがテキストデータの1文中に出現した共起頻度の数を示し、評判情報ベクトルV2は、評判表現と単語検索結果の単語とがテキストデータの1文中に出現した共起頻度の数を示す。
【0049】
ステップS1504では、評判情報ベクトルV1と評判情報ベクトルV2とのコサイン類似度Cを計算する。
ステップS1505では、コサイン類似度CがMaxより大きいかどうかを判定する。コサイン類似度CがMaxより大きければステップS1506に進み、コサイン類似度CがMax以下であればステップS1507へ進む。
ステップS1506では、Maxの値をコサイン類似度Cの値で更新し、HmaxをHnで更新する。
【0050】
ステップS1507では、N+1番目の比喩表現があるかどうかを判定する。N+1番目の比喩表現があればステップS1508へ進み、N+1番目の比喩表現がなければステップS1509へ進む。
ステップS1508では、N+1番目を新たなNと設定して、ステップS1503に戻り、未処理の比喩表現がなくなるまで、ステップS1503からステップS1507までの処理を繰り返す。
ステップS1509では、類似度が最大となる評判表現が当てはめられた比喩表現Hmaxが最も自然な比喩表現であるといえるため、この比喩表現Hmaxを出力する。以上で自然性判定部1401の処理を終了する。なお、コサイン類似度Cの値が等しいHmaxが複数存在する場合は、複数の比喩表現を出力してもよい。
【0051】
次に、評判表現の一例を図16に示す。図16の例では、「かわいい」「かっこいい」といった評判表現を抽出してリスト化する。評判表現の収集には、さまざまな方法が考えられるが、本実施形態では、予め評判表現を用意しておく。
【0052】
次に、具体的な評判情報ベクトルの一例について図17を参照して説明する。
図17に示しように、単語と各評判表現とを対応付けてリスト化する。そして、評判表現のうち、テキストデータ中で、単語と同一の文中に出現する評判表現の数をカウントし、評判情報ベクトルとする。具体的には、図17に示すように、評判情報ベクトルV1として「外国人歌手G」と「かわいい」との共起頻度が400回、評判情報ベクトルV2として「日本人歌手A」と「かわいい」との共起頻度が500回である。よって、これらの値のコサイン類似度を求めればよい。
なお、テキストデータは複数のテキストファイルからなるテキストデータベースに保存されているため、テキストデータ中から単語や評判表現を探す場合には、テキストデータベース中の全ファイルのテキストを探索する。
【0053】
また、本変形例では、評判情報ベクトルとして「かわいい」などの形容詞を評判表現として評判情報ベクトルを生成するが、「背の低い」「目の大きい」などの特徴を表す表現を用いて評判情報ベクトルを生成してもよい。
【0054】
以上に示した第3の実施形態の変形例によれば、比喩表現の自然性を評判情報ベクトルを用いて判定することで、単に共起頻度から自然性を求めるよりも、一般的に表現される比喩表現を選択することができ、ユーザの入力単語の理解を支援することができる。
【0055】
(第4の実施形態)
第4の実施形態は、ユーザに対して比喩表現を用いて情報推薦を行う点が他の実施形態と異なる。
情報推薦を実現する一般的な手法として、協調フィルタリングが考えられる。協調フィルタリングとは、大量のユーザの嗜好情報を蓄積し、あるユーザAと嗜好が類似している他のユーザの嗜好情報を用いて、ユーザAに情報推薦を行う手法である。例えば、ユーザAがある商品Mを購入し、ユーザBは商品MとNとを購入している場合、ユーザAに商品Nを推薦することができる。しかし、この協調フィルタリングに基づく推薦では、外国の商品などを推薦することが難しい場合が想定される。例えば、ある国Cでは有名な商品Pが、ある国Dではほとんど知られていない場合がある。このような場合は、国Dに住むユーザが商品Pを購入していることは稀であるため、国Dのユーザに商品Pを推薦することは難しい。
このように協調フィルタリングでは推薦が難しい場合でも、第4の実施形態による推薦方法によれば、国Cの商品Pと国Dの商品Qを用いた比喩表現を生成できるため商品Qを購入した国Dのユーザに商品Pを推薦することができる。
【0056】
第4の実施形態に係る回答検索装置について図18のブロック図を参照して説明する。
第4の実施形態に係る回答検索装置1800は、単語意味クラス抽出部101、単語意味クラス辞書格納部102、単語検索部103、構文パターン格納部104、比喩表現テンプレート生成部105、テキストデータ格納部106、比喩表現検索部107、および情報推薦部1801を含む。単語意味クラス抽出部101、単語意味クラス辞書格納部102、単語検索部103、構文パターン格納部104、比喩表現テンプレート生成部105、テキストデータ格納部106、および比喩表現検索部107は、第1の実施形態と同様の処理を行うためここでの説明は省略する。
情報推薦部1801は、比喩表現検索部107から比喩表現を受け取り、比喩表現を任意の手法でユーザに提示する。
【0057】
ここで、情報推薦部1801による情報推薦の一例について図19を参照して説明する。
図19では、ユーザが「外国人歌手G」に興味があり、「外国人歌手G」のCDをオンラインショップなどで閲覧している場合の表示画面を想定する。回答検索装置は、商品情報から歌手名である「外国人歌手G」を自動取得し、これを入力単語として第1の実施形態と同様に比喩表現を生成する。そして、生成結果の比喩表現として「外国人歌手Gはアメリカの日本人歌手A」が生成された場合、比喩表現中の歌手名「日本人歌手A」は「外国人歌手G」と関係があると考えられる。よって、「日本人歌手A」に関するCD情報などをユーザへ提示および推薦する。
具体的には、図19に示すように、推薦情報1901として、商品情報(タイトル、歌手名、価格)、および推薦理由として比喩表現「外国人歌手Gはアメリカの日本人歌手A」をあわせて提示すればよい。なお、推薦情報1901の提示手法は、図19に示すように画面の下部領域を推薦情報の表示領域とするだけではなく、ポップアップで別ウィンドウを表示してもよいし、音声で提供するなど、ユーザが認知できる方法であれば何でもよい。
また、別例として、ユーザの興味情報を用いて情報推薦を行ってもよい。興味情報は、ユーザが関心のある単語情報であり、例えばユーザの商品購入履歴、検索ワード履歴に存在する単語を抽出すればよい。
【0058】
ここで、購入履歴を用いた興味情報の一例について図20を参照して説明する。
図20では、カテゴリ名2001と値2002とを対応付けて格納する。カテゴリ名2001としては、例えば、商品名、歌手名、製造会社名、およびブランド名がある。ユーザの興味情報の収集および記憶には、さまざまな手法が考えられるが、第4の実施形態では、ユーザがオンラインショップで商品を購入した履歴をオンラインショップ運営者から受け取り、図20に示す形式で本実施形態に係る回答検索装置1800内に保持する。
【0059】
ユーザの興味情報を用いた場合の情報推薦の一例について図21を参照して説明する。
図21では、ユーザは外国人歌手Gを知らない場合を想定する。
ユーザが外国人歌手Gについて調べるために、「外国人歌手G」という単語を入力したとする。この場合、「外国人歌手G」を入力単語として、本実施形態に係る回答検索装置1800において第1の実施形態と同様に比喩表現を生成する。その後、生成された比喩表現「外国人歌手Gはアメリカの日本人歌手A」が表示される。このとき、興味情報からユーザが「日本人歌手A」に関する商品を購入している、あるいは日本人歌手Aについて何度も検索しているといった履歴があれば、ユーザは「日本人歌手A」に興味があるといえる。そこで、推薦情報2101のように、「日本人歌手A」と関連がある「外国人歌手G」の商品または「外国人歌手G」に関する情報をユーザに提示することで、ユーザの単語理解を支援することができる。なお、図21に示すように、おすすめ理由として比喩表現を用いてもよい。
【0060】
また、ユーザの興味情報を用いた場合の情報推薦の別例について図22を参照して説明する。
図22の例では、ユーザにより入力単語が入力されることで比喩表現を生成しているが、ユーザが能動的に単語を入力する場合でなくとも推薦情報を提示してもよい。例えば、ユーザがオンラインショップなどを閲覧している場合に、商品名、歌手名などの単語を入力単語として自動抽出し、第1の実施形態と同様に比喩表現を生成する。その後、図21の推薦情報2201のように、生成した比喩表現をおすすめ理由として提示する。
【0061】
なお、第4の実施形態では、ユーザが興味を持っている単語を含んだ比喩表現が生成された場合にのみ商品推薦とおすすめ理由の提示を行っているが、情報推薦時に必ずしもユーザが興味を持っている単語が比喩表現に含まれていなくともよい。
ユーザの興味情報を利用しない手法としてさまざまな手法があるが、その一例として知名度を利用する手法がある。例えば、「外国人歌手Gはアメリカの日本人歌手A」が生成された場合、「日本人歌手A」の知名度を図12に示す単語意味クラス辞書を参照することで取得し、取得した知名度が一定値以上であれば情報推薦を行う。知名度の算出は、第1の実施形態で用いた手法を用いればよい。
【0062】
以上に示した第4の実施形態よれば、ユーザの興味情報を用いることで、ユーザの理解を支援しつつ入力単語に関連する様々な情報を提供することができる。
【0063】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した回答検索装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の回答検索装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0064】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0065】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0066】
100,1400,1800・・・回答検索装置、101・・・単語意味クラス抽出部、102・・・単語意味クラス辞書格納部、103・・・単語検索部、104・・・構文パターン格納部、105・・・比喩表現テンプレート生成部、106・・・テキストデータ格納部、107・・・比喩表現検索部、108・・・比喩表現出力部、201・・・単語、202・・・クラス、1103・・・属性、203,1104・・・単語レコード、401・・・単語検索結果、501・・・構文パターン、502・・・制約条件、601・・・比喩表現テンプレート、701・・・ファイル、1101・・・表記言語、1102・・・知名度、1401・・・自然性判定部、1801・・・情報推薦部、1901,2101,2201・・・推薦情報、2001・・・カテゴリ名、2002・・・値。

【特許請求の範囲】
【請求項1】
入力された第1単語の分類を示すクラスを抽出するクラス抽出部と、
前記第1単語と異なり、かつ、前記クラスと同一のクラスに属する第2単語を検索する単語検索部と、
前記第1単語、少なくとも1つの前記第2単語、および該第2単語を形容する任意の文字列を当てはめて前記第1単語を比喩する比喩表現において、該第1単語、該第2単語、および該任意の文字列が不定である構文パターンを格納する構文パターン格納部と、
前記構文パターンに前記第1単語と前記第2単語とを当てはめて前記任意の文字列が不定である比喩表現テンプレートを生成するテンプレート生成部と、
前記比喩表現テンプレートと一致する文字列をテキストデータから検索して、比喩表現として取得する比喩表現検索部と、を具備することを特徴とする回答検索装置。
【請求項2】
第3単語と、該第3単語の分類を示すクラスとを対応付けて複数格納する辞書格納部をさらに具備し、
前記クラス抽出部は、前記第1単語と一致する第3単語があるかどうかを前記辞書格納部から検索し、該第1単語と一致する第3単語のクラスを前記第1単語のクラスとして抽出し、
前記単語検索部は、前記辞書格納部から前記第2単語を検索することを特徴とする請求項1に記載の回答検索装置。
【請求項3】
前記構文パターン格納部は、前記任意の文字列の文字数および該任意の文字列の単語数の少なくともどちらか一方の制限を示す制約条件を、前記構文パターンと対応付けてさらに格納し、
前記比喩表現検索部は、前記比喩表現として、前記比喩表現テンプレートと一致する文字列かつ前記比喩表現テンプレートに用いられた構文パターンの制約条件を満たす文字列を検索することを特徴とする請求項1に記載の回答検索装置。
【請求項4】
前記辞書格納部は、さらに、前記第3単語の言語を示す表記言語を対応付けて格納し、
前記単語検索部は、ユーザの使用言語を含むプロフィール情報を参照して、該使用言語と一致する前記表記言語を有する第3単語から前記第2単語を検索することを特徴とする請求項2に記載の回答検索装置。
【請求項5】
前記辞書格納部は、さらに、前記第1単語の文書中の出現頻度を含む知名度を対応付けて格納し、
前記単語検索部は、前記知名度が閾値以上である第3単語から前記第2単語を検索することを特徴とする請求項2に記載の回答検索装置。
【請求項6】
前記辞書格納部は、さらに、前記第1単語の表記言語もしくは属性を対応付けて格納し、
前記知名度は、前記第1単語の表記言語もしくは属性に基づいて算出されることを特徴とする請求項5に記載の回答検索装置。
【請求項7】
ユーザの購入履歴または単語検索履歴を含むプロフィール情報を参照して、前記比喩表現に含まれる前記第2単語と前記プロフィール情報に含まれる単語とが一致する場合、前記比喩表現を出力する情報推薦部をさらに具備することを特徴とする請求項1に記載の回答検索装置。
【請求項8】
複数の前記比喩表現ごとに、前記テキストデータにおける出現回数をカウントし、該出現回数が最大である比喩表現を出力する自然性判定部をさらに具備する請求項1に記載の回答検索装置。
【請求項9】
前記第1単語および該第1単語を形容する表現の共起頻度と、前記第2単語および該第2単語を形容する表現の共起頻度との類似度を前記比喩表現ごとに計算し、該類似度が最大となる比喩表現を出力する自然性判定部をさらに具備する請求項1に記載の回答検索装置。
【請求項10】
入力された第1単語の分類を示すクラスを抽出し、
前記第1単語と異なり、かつ、前記クラスと同一のクラスに属する第2単語を検索し、
前記第1単語、少なくとも1つの前記第2単語、および該第2単語を形容する任意の文字列を当てはめて前記第1単語を比喩する比喩表現において、該第1単語、該第2単語、および該任意の文字列が不定である構文パターンを格納し、
前記構文パターンに前記第1単語と前記第2単語とを当てはめて前記任意の文字列が不定である比喩表現テンプレートを生成し、
前記比喩表現テンプレートと一致する文字列をテキストデータから検索して、比喩表現として取得することを具備することを特徴とする回答検索方法。
【請求項11】
コンピュータを、
入力された第1単語の分類を示すクラスを抽出するクラス抽出手段と、
前記第1単語と異なり、かつ、前記クラスと同一のクラスに属する第2単語を検索する単語検索手段と、
前記第1単語、少なくとも1つの前記第2単語、および該第2単語を形容する任意の文字列を当てはめて前記第1単語を比喩する比喩表現において、該第1単語、該第2単語、および該任意の文字列が不定である構文パターンを格納する構文パターン格納手段と、
前記構文パターンに前記第1単語と前記第2単語とを当てはめて前記任意の文字列が不定である比喩表現テンプレートを生成するテンプレート生成手段と、
前記比喩表現テンプレートと一致する文字列をテキストデータから検索して、比喩表現として取得する比喩表現検索手段として機能させるための回答検索プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate