次に、本発明の実施形態について図面を用いて詳細に説明する。
本発明の実施の形態について説明するに先だって、まず、説明で使用する語句の定義を行う。
本実施形態において、「問い合わせデータ」とは、会員等の特定のユーザ、又は限定の無い不特定のユーザが、これまでコールセンターや識者等に対して行った問い合わせ内容を記録したデータである。今回の説明では問い合わせデータはテキストデータにより実現される。
例えば、或る携帯電話機の画面に何も表示されなくなったとき、その携帯電話機のユーザが、その携帯電話機のメーカのコールセンターに、どう対処すればよいのか質問し、コールセンターのオペレータが対処法を返答した、という場合を想定する。この場合は、ユーザによる質問と、オペレータによる返答の内容をテキストとして記録したデータが、1つの問い合わせデータとなる。
また、Web上の質問・回答サイトなどで、不特定の誰かが質問し、別の誰かがその質問に対する回答を投稿したデータも、問い合わせデータの1つである。例えば、図2に表されるテキストの様な内容がWeb上の質問・回答サイト等でやり取りされたものとする。この場合、図2に表されるテキストが、問い合わせデータとなる。
このように、問い合わせデータには、問い合わせを行った人物が経験した不具合、やりたいこと、困っていること、などの問い合わせを行った人物が知りたい・解決したい内容の記述が含まれている必要がある。以後、本明細書ではこの問い合わせを行った人物が知りたい・解決したい内容の記述を、問い合わせデータの「質問」部分と称する。
一方で、その問い合わせの質問に対する対処法などの回答(以下、問い合わせデータの「回答」部分と称する。)が、問い合わせデータに必ずしも含まれている必要はない。つまり、問い合わせデータには、質問部分と回答部分の組合せが含まれていても良いが、質問部分が含まれ、且つ、回答部分が含まれていなくても良い。
そして、本実施形態では、回答が含まれていない問い合わせデータであったとしても、回答が含まれている問い合わせデータであったとしても、両者とも同じように取り扱う。
ただし、過去の問い合わせデータを検索して、ユーザが自分の問題解決に利用するという観点からすると、回答部分を含まない問い合わせデータは、有用性が低い。そこで、以下の説明では、質問部分とその回答部分の両方が含まれている問い合わせデータを主に扱う。
また、上記では、質問者と回答者が別個に存在する例を問い合わせデータの具体例として挙げた。しかしながら、質問部分と回答部分に相当する内容を一人のユーザが記述することもあり得る。例えば、ブログ(Weblog)上などで1人のユーザが「掃除機XXの紙パックが詰まって、取れなくなって困ったのだけど、強制排除ボタンを押したらとることができた。」のように、問い合わせの質問部分と回答部分をまとめて書いている記述も、問い合わせデータに含めるものとする。
更に、問い合わせデータの中で各問い合わせの対象となっている、製品、サービス、技術、手法及び制度等を、本実施形態では「用語」と称する。
問い合わせの質問部分には、或る特定の用語に関して、問い合わせを発した人物が、知りたいこと、やりたいこと、何らかの不具合を解決したいことがあるときに、その知りたいこと、やりたいこと及び何らかの不具合を解決したいこと、等が記述されているものである。
例えば、「携帯電話機の電源が入らなくなりました」という問い合わせがあったとき、「携帯電話機」がこの問い合わせの対象となっている用語である。また、「A社の掃除機Xが、異音を発するようになりました。どうすれば治るでしょうか?」という問い合わせでは、「掃除機」、「掃除機X」或いは「A社の掃除機X」が用語となる。
用語として、問い合わせ対象のどこまでを指すかは、本発明を実施する際の用途や目的に応じて事前に定めておく。また、可能性がある表現を全て、その問い合わせの用語として扱っても良い。例えば、掃除機の別表現として「クリーナー」も問い合わせの用語とするようにしても良い。また、「サイクロン式」、「紙パック式」等の表現も用語としても良く、「サイクロン式掃除機」や「紙パック式掃除機」のような複数単語の組合せを用語として扱うようにしても良い。更に、一般的に用いられている略称を用語として扱うようにしてもよい、例えばスマートフォンが「スマホ」と呼ばれているという背景があるならばスマホを用語として扱うようにしても良い。
次に、発明を実施するための形態について図面と例を参照して詳細に説明する。
図1を参照すると、本発明の実施の形態であるファセット生成装置100は、検索条件入力部10と、問い合わせデータ検索部20と、問い合わせデータ集合記録部30と、マニュアル・カタログ・解説データベース40と、用語別機能表現抽出部50と、問い合わせデータ特徴抽出部60と、問い合わせデータ・機能表現マッチング部70と、ファセット用表現選別部80と、検索ナビゲーション用ファセット出力部90とを含む。
ファセット生成装置100は、例えばコールセンターに寄せられた問い合わせ事例や、QAサイトに蓄積された質問・回答事例などの、過去の問い合わせデータを閲覧するユーザに対し、検索ナビゲーション用のファセットを生成し、提示する装置である。特に、問い合わせデータに関連する用語(製品、サービス及び技術名等)がもつ機能の説明表現をリソースとして利用し、利用者にとって理解のしやすいファセット表現を生成し、提示する。
検索条件入力部10は、ユーザの検索条件を受け付ける機能を含む。
また、問い合わせデータ検索部20は、問い合わせデータ集合記録部30に蓄積されている問い合わせデータの中からユーザが入力した検索条件に適合する問い合わせデータを検索する機能を含む。
更に、問い合わせデータ集合記録部30は、検索対象とする問い合わせデータを、検索可能な形式で記録する機能を含む。
更に、マニュアル・カタログ・解説データベース40は、問い合わせの対象となる用語に関するマニュアル、カタログ及び解説等の説明文書を記録する機能を含む。
更に、用語別機能表現抽出部50は、マニュアル・カタログ・解説データベース40に記録されている用語の説明文書から用語毎に機能表現を抽出する機能を含む。
更に、問い合わせデータ特徴抽出部60は、問い合わせデータの特徴を抽出する機能を含む。
更に、問い合わせデータ・機能表現マッチング部70は、問い合わせデータの特徴と用語別機能表現を基にして、問い合わせに対応する機能表現を判定する機能を含む。
更に、ファセット用表現選別部80は、問い合わせデータ・機能表現マッチング部70で判定された機能表現からファセットとして出力する表現を選別する機能を含む。
更に、検索ナビゲーション用ファセット出力部90は、ファセット用表現選別部80で選別されたファセットを出力する機能を含む。
ここで、ファセット生成装置100は、専用の装置により実現しても良いが、パーソナルコンピュータ等の汎用の装置にて実現するようにしても良い。また、ファセット生成装置100は、単一の装置により実現しても良いが、相互に接続された複数の装置により実現されても良い。更に、この接続は有線によるものであっても良いが、一部又は全部が無線であっても良く、接続途中に任意のネットワークを介していてもよい。
何れの場合であっても、コンピュータに含まれる演算処理装置が、本実施形態特有のプログラムに従った演算処理を行うことによりハードウェアを制御することにより図1に表される各部が実現される。
続いて、各部の機能に関してより詳細に説明をする。
検索条件入力部10は、ユーザが問い合わせデータ集合記録部30に記録されている問い合わせデータを検索する際に、検索したい問い合わせデータの検索条件を入力として受け付ける部分である。
検索条件入力部10は、キーボード装置、音声入力受付装置及びネットワークに繋がった入力装置等、検索条件を受け付け可能な機器であれば、任意の機器により実現することができる。また、検索条件入力部10及び後述する検索ナビゲーション用ファセット出力部90を一体とし、タッチパネルによって検索条件入力部10及び検索ナビゲーション用ファセット出力部90の双方を実現するようにしても良い。
次に、検索条件について具体例を挙げて説明する。例えば、或るユーザが、「或る1つのメールアカウント宛てに届いたメールを、スマートフォンでもパソコンでも同じように読みたい」という要求を持っていたとする。そして、この或るユーザが、「携帯パソコンメール」のような3つのキーワードからなるクエリを入力したとする。この「携帯パソコンメール」というクエリが検索条件の例(以下、「検索条件例1」と称する)である。
検索条件入力部10が受け付ける検索条件としては、他にも、検索対象の作成時期に対する制約条件など、一般のデータ検索装置に対して入力される検索条件であれば良く、検索条件はクエリに限定されない。例えば、直近の問い合わせを検索したいユーザから、「検索対象が作成された時期が近いものから、作成された時期が遠いものの順に降順で検索する」といった条件を受け付けるようにしても良い。また、例えば「直近の30日間に作成された問い合わせデータのみを検索したい。」といった条件を受け付けるようにしても良い。
問い合わせデータ検索部20は、検索条件入力部10が受け付けた検索条件に適合する問い合わせデータを、問い合わせデータ集合記録部30から検索する部分である。問い合わせデータ検索部20は、検索実行後、検索により抽出された問い合わせデータを問い合わせデータ特徴抽出部60に渡す。
問い合わせデータ検索部20は、例えば、検索条件例1のクエリから、クエリに含まれる3つのキーワード(携帯パソコンメール)を含む問い合わせデータを、問い合わせデータ集合記録部30に記録されている問い合わせデータの中から検索する。そして、問い合わせデータ検索部20は、検索により抽出された問い合わせデータ特徴抽出部60に渡す。
なお、このようにクエリに複数のキーワードが含まれている場合に、この複数のキーワード全てを含む問い合わせデータをのみを抽出する方法や、この複数のキーワードの何れかを含む問い合わせデータ全てを抽出する方法が考えられるが実装環境に応じて任意の方法を用いるようにすればよい。
問い合わせデータ集合記録部30は、問い合わせデータ検索部20による検索において検索対象となる問い合わせデータを、検索可能な形式で蓄積・記録する部分である。
また、マニュアル・カタログ・解説データベース40は、問い合わせデータ集合記録部30に記録されている問い合わせの対象となる用語のマニュアル、カタログ、解説など、用語の機能やスペック等を説明する文書を記録するデータベースである。
なお、問い合わせデータ集合記録部30及びマニュアル・カタログ・解説データベース40は、物理的及び論理的に任意の方法により実現できる。
例えば、問い合わせデータ集合記録部30及びマニュアル・カタログ・解説データベース40は、ファセット生成装置100に含まれる記憶装置がデータを記録することによって実現されても良い。また、問い合わせデータ集合記録部30及びマニュアル・カタログ・解説データベース40は、外部のデータベースに、インターネットなどを介してアクセスすることにより実現されても良い。
更に、問い合わせデータ集合記録部30及びマニュアル・カタログ・解説データベース40は、単一の記憶装置内により実現されていても良いが複数の記憶装置に分散して実現されても良い。
但し、今回の説明では、マニュアル・カタログ・解説データベース40に記録されている各説明文書は、何の用語に対する説明文書なのか、機械的に読み取り可能な形式で事前にタグ付けされているものとする。つまり、各説明文書は予め対応する用語と紐付けされている。
また、問い合わせデータ集合記録部30内の問い合わせデータに含まれている用語のうちの一部の用語に関する説明文書が、マニュアル・カタログ・解説データベース40に記録されていなくても良い。
また、逆に、問い合わせデータ集合記録部30に記録されている問い合わせデータの用語には含まれず、他の用語に関する説明文書がマニュアル・カタログ・解説データベース40に記録されている説明文書に一部含まれていても良い。
例えば、問い合わせデータ集合記録部30の問い合わせ対象となっている用語ではなくとも、問い合わせ対象となっている用語と同じ分野の用語や、問い合わせ対象となっている用語とよく共起する用語の説明文書がマニュアル・カタログ・解説データベース40に記録されていても良い。
上記をまとめると、問い合わせデータ集合記録部30内の用語と、マニュアル・カタログ・解説データベース40内の説明文章は、一対一の関係で紐付けられても良いし、一対多の関係で紐付けられても良いし、多対多の関係で紐付けられても良いし、紐付けが為されていなくとも良い、こととなる。
具体的な例を用いて説明する。例えば、問い合わせデータ集合記録部30に、Web上の質問・回答サイトの携帯電話機カテゴリーに出された問い合わせが記録されていることを想定する。この場合は、メジャーな携帯電話機の製品マニュアルやカタログ、更には、携帯電話機に関する技術名、サービス名などに関して、Web上に公開された解説記事等が、事前に収集され、マニュアル・カタログ・解説データベース40に記録される。
また、各説明文書に紐付けられている用語は、例えば、説明文書が説明している製品の製品名や型番である。例えば製品名が「foo-01」のスマートフォンが存在する場合に、説明文書と「foo-01」が紐付けられていても良い。
更には、製品名だけでなく、説明文書中の各説明記述が対象としている技術名や機能名等が、説明記述と紐付けられていても良い。例えば、「通話」、「メール」、「3G」、「テザリング」と説明文書とが紐付けられていても良い。
加えて、特定の用語の一般名称が、説明記述と紐付けられていても良い。例えば、製品名が「foo-01」のスマートフォンが存在する場合に、「foo-01」に関する説明文書と、「スマートフォン」や「携帯電話機」とが紐付けられていても良い。
なお、上述したように、1つの説明文書、又は1つの説明文書内の1つの説明記述、と紐付けられている用語は必ずしも1つである必要はなく、複数の用語が紐付けられていても良い。
用語別機能表現抽出部50は、マニュアル・カタログ・解説データベース40に記録されている説明文書から、各説明文書に紐付けされている用語毎に、用語の機能や性能、利用者に提供するサービス内容を説明している記述を、用語別機能表現として抽出する手段である。
図3に表される用語別機能表現の例1を参照して、用語別機能表現について説明する。
例えば、製品名が「foo-01」のスマートフォンが存在したとする。図3には、そのfoo-01の製品マニュアルから抽出した用語別機能表現の例が表されている。
また図4には、マニュアル・カタログ・解説データベース40に、電子メール交換に関する技術用語「IMAP(Internet Message Access Protocol)」に関して解説している説明文書が記録されていた場合に、この説明文章から抽出した用語別機能表現の例が表されている。
今回の説明では、各機能表現に対応する用語としてfoo-01やIMAPを用いているが、これは単なる一例に過ぎない。本実施形態では、各説明文書、又は1つの説明文書内の1つの説明記述に、特定の用語が紐付けされていれば、機能表現を抽出した説明記述と、そこに紐付けされている1つ以上の用語とを対応付けて、用語別機能表現とすることができる。
こうした機能別用語表現の抽出は、テキストの形態素解析技術、テキストセグメンテーション、構文解析技術、照応解析技術、パターンマッチング技術などの、一般的な自然言語処理技術を1つ以上用いることで実行できる。これらの技術の一例として、テキストの形態素解析技術やテキストセグメンテーションに関しては例えば特許文献2に記載が有る。
続いて、機能表現の抽出について更に詳細に説明する。図3及び図4の例では、マニュアル・カタログ・解説データベース40に記録されている説明文書の各テキストを、テキストセグメンテーション技術を用いて1文毎に区切る。そして、区切った後に、「できます」などの可能表現や、「機能があります」などの機能や提供サービス、スペックに関する表現を含んでいる文をパターンマッチング技術を用いて、機能表現として抽出する。本実施形態では、このようにして図3及び図4の例における機能表現を抽出する。なお、パターンマッチング技術で用いるパターンルールは、前述のような可能表現、機能、提供サービス、スペックに関する手がかり表現を抽出するパターンが、事前にルール化され準備されているものとする。また、機械学習技術を用いて、各説明文書中の各記述を機能表現であるか、そうでないか判定する手法を用いても良い。
さらに、各用語別機能表現が、どの説明文書のどの説明記述から抽出したものかを明確とする為に、抽出元(ソース)となる説明文書がどの説明文章であるのか、又はどの説明文書の中のどの位置であるのか、という情報を更に加えても良い。
問い合わせデータ特徴抽出部60は、問い合わせデータ検索部20で検索された問い合わせデータを受け付け、受け付けた各問い合わせデータから、質問部分とその質問の対象となっている用語や関連する用語を、問い合わせデータの特徴として抽出する。
一般に問い合わせデータの質問部分には、問い合わせを行った人物が経験した不具合、やりたいこと、困っていること、などの問い合わせを行った人物が知りたい・解決したい内容等を端的に表現している記述箇所(以下、このような記述を「質問の中心記述」と称する。)が含まれる。また、問い合わせデータの質問部分には、質問の中心記述の他に、質問の背景や、問い合わせを行った人物の感想・意見、既に実行してみたこと、などの質問の中心記述を補足する記述が含まれている場合がある。
例えば、図2の問い合わせデータを例にとってみると、最初の「質問」部分のテキストのうち、「ケータイが充電をMAXまでしても3分以内に確実に「電池がありません」と表示されて電源が切れてしまい大変困っています」が、質問の中心記述となる。
問い合わせデータ特徴抽出部60において、各問い合わせデータから抽出する特徴としては、各問い合わせデータに含まれる質問の中心記述がある。もっとも、質問の中心記述以外の質問部分の記述を、その問い合わせデータの特徴として抽出しても良い。
例えば、使用する抽出技術の性能では完全に中心記述のみを抽出できない場合に質問の中心記述以外の質問部分の記述を、その問い合わせデータの特徴として抽出しても良い。更に、後述する問い合わせデータ・機能表現マッチング部70で行うマッチングの際の補足情報として使用する目的で、問い合わせデータに含まれる質問の中心記述以外の質問部分の記述を、その問い合わせデータの特徴として抽出しても良い。
なお、これら抽出した記述は、本発明の「質問の意図を表す表現」に相当する。
問い合わせデータから、質問の中心記述等を抽出する手法としては、特許文献1に記載されている、不具合表現を抽出する技術等の一般的な自然言語処理技術を使用すればよい。
例えば、問い合わせデータの中から、「困っています」「故障しました」「分かりません」「うまくいきません」のような不具合・不都合を表す表現や、「〜したい」「〜を教えて欲しい」のような発言者の要望を表す表現を手がかり表現とする。そして、この手がかり表現に係る文を質問の中心記述として抽出すればよい。また、機械学習技術などのテキストの分類技術を用いて、質問の中心記述を判定、抽出しても良い。
また、問い合わせデータ特徴抽出部60は問い合わせデータから質問部分を特徴として抽出するだけでなく、問い合わせデータからその問い合わせに関する用語も特徴として抽出する。
用語は、質問の中心記述で、質問の対象となっている語句を抽出することで取得できる。この抽出には、構文解析技術や、係り受け解析技術、文のトピック抽出技術、重要語句抽出技術などの一般的な自然言語処理技術を使用することができる。これらの技術の一例が、例えば特許文献2に記載されている。
なお、質問の中心記述において、質問の対象となっている語句を厳密に求めるのではなく、質問部分或いは、問い合わせデータに含まれている語句から、出現頻度、出現位置などを基準に、質問の対象となりうる用語或いは関連する用語を推測して複数語句を、その問い合わせデータの特徴として抽出しても良い。または、問い合わせデータに付与されている問い合わせカテゴリーなどのメタ情報を用いても良い。更に、問い合わせデータの分野における用語辞書を事前に準備しておき、その用語辞書と各問い合わせデータに含まれている語句との一致度や類似度から、特徴として抽出する用語を定めても良い。
加えて、各問い合わせデータから特徴として抽出される質問部分や用語を、1つと限定することなく、複数抽出しても良い。
図5を参照すると、問い合わせデータ特徴抽出部60が問い合わせデータから抽出した特徴の例が表されている。
図5の例では、各行が問い合わせデータから抽出した特徴を示している。続いて、各行の各項目について説明する。
「特徴ID」は、問い合わせデータから抽出した特徴を便宜上区別するためのIDである。また「抽出元の問い合わせデータID」は、各行の特徴がどの問い合わせデータから抽出した物なのかを対応付けるための情報である。この例では特徴ID1が割り当てられた特徴と特徴ID2が割り当てられた特徴は、同じ問い合わせデータQ1から抽出したものになっている。
「質問の中心記述」は各問い合わせデータから、不具合表現や要望表現を抽出したものになっている。
また「用語」は、各「質問の中心記述」において問い合わせの対象となっていると推定される用語を示している。これらの用語は原則として質問の中心記述に含まれている語句であり、別途携帯電話機分野用に用意している用語辞書に含まれているものを選別したものになっている。
もっとも、質問の中心記述に含まれていない語句を用語として選別することも可能である、例えば、特徴ID5や特徴ID7の質問の中心記述には、用語が含まれていない。しかし、特徴ID5や特徴ID7の抽出元となった問い合わせデータである問い合わせデータQ4及び問い合わせデータQ6に付与されているカテゴリーや、質問の中心記述周辺のテキストから用語を判定して特徴として抽出したことを想定して例に含ませている。また、特徴ID8の用語は「スマートフォン」となっており、質問の中心記述に含まれる語句「スマホ」とは表記が異なるが、これは自然言語処理技術の同義語処理技術を用いて、用語を正規化したことを想定して例に含ませている。なお、このように略語を正規化するようにしてもよいが、対象とする単語によっては略語そのものを用語として用いるようにしても良い。
なお、本発明の実施の形態では、問い合わせデータ検索部20が検索した問い合わせデータを処理対象として、特徴を抽出する際の説明を行った。もっとも、処理対象とする問い合わせデータは、ファセットを出力したい問い合わせデータでさえあれば良く、その取得経路に制限はない。つまり、任意の技術を用いて別途取得された問い合わせデータを処理対象とし、問い合わせデータ特徴抽出部60がこの処理対象を直接受け付け、その後の処理を行っても良い。すなわち、図1に表される、検索条件入力部10、問い合わせデータ検索部20及び問い合わせデータ集合記録部30を他の装置に置き換えるようにしても良い。
問い合わせデータ・機能表現マッチング部70は、問い合わせデータ特徴抽出部60で抽出した各問い合わせデータの特徴を用いて、用語別機能表現抽出部50で抽出された用語別機能表現とのマッチングをとる手段である。マッチングの結果、問い合わせデータと用語別機能表現との多対多の対応付けがなされる。
マッチングでは、問い合わせデータ特徴抽出部60で抽出した特徴毎に、まず各特徴の用語を読み出し、用語別機能表現抽出部50で抽出された用語別機能表現のうち、用語が一致するもの同士で、問い合わせデータ特徴の質問の中心記述(或いは質問内容)と、機能表現とのテキストマッチングを行う。
例えば図5の特徴ID1が割り当てられた特徴は、用語が「スマートフォン」または「foo-01」である。そのため、用語別機能表現抽出部50で抽出された用語別機能表現のうち、用語「スマートフォン」の機能表現、又は、用語「foo-01」の機能表現と、特徴ID1の質問の中心記述である「このスマートフォンfoo-01使えない」とのテキストマッチングを行う。
テキストマッチングは、自然言語処理技術の一般的技術である同義文判定技術や類似文判定技術を用いて行い、同義または類似と判定された場合、マッチングしているものとする。なお、同義文判定技術や類似文判定技術は例えば特許文献3に記載されている。
ただし、問い合わせデータ特徴の質問の中心記述(或いは質問内容)は、問い合わせであるため「〜できない」「〜のやり方を教えてください」のような不具合や問い合わせ者のやりたいことを記述している表現が含まれている。一方、用語別機能表現抽出部50で抽出された用語別機能表現は、「〜できる」「〜をする機能を持つ」「〜のようにします」のような機能、スペック及び解決方法等を表す表現が含まれる。
よって、単に、質問の中心記述(或いは質問内容)と用語別機能表現とをテキストマッチングしただけでは適切な判定が行えないことが想定される。そのため本実施形態では、質問の中心記述(或いは質問内容)か、機能表現のどちらか一方を他方の表現に置き換えた上でマッチングを行うものとする。例えば、図5の特徴ID2では、「foo-01の設定がまったく分からない」を、「foo-01の設定を行う」または「foo-01の設定機能」のように置き換えた上で、テキストマッチングを行う。
この置き換えは、否定の可能表現を肯定の可能表現にする、要望表現をそれを行う機能表現にするなど、事前に構文置き換えルールを用意しておき、それに従って実行する。
また、このテキストマッチングでは、問い合わせデータ内の質問の中心記述だけをマッチングに利用するのではなく、元の問い合わせデータの質問部分のテキストや、元の問い合わせデータのテキスト全体を、用語別機能表現とのマッチングに利用してもよい。
例えば、質問の中心記述自体には含まれていないが、その近傍に出現する特徴的な語句に基づいて、機能表現とのマッチングをとってもよい。
同様に、用語別機能表現抽出部50によって、用語別機能表現が抽出された際に、どの説明文書から抽出したものなのかソース情報も記録されている場合は、ソースとなっている説明文書に出現するテキストも、問い合わせデータ特徴とのマッチングに利用しても良い。実際にどのような範囲のテキスト同士をマッチングに利用するかは、本実施形態を利用する用途や目的、要求性能に応じて事前に定めておく。
例えば図5の問い合わせデータ特徴では、特徴ID5が割り当てられた特徴、特徴ID6が割り当てられた特徴、及び特徴ID7が割り当てられた特徴が、図3の1行目の機能表現「起動中のアプリケーションを切り替えることができます」にマッチングするものとする。この例では、テキストマッチングに使用する同義判定技術において、「アプリ」や「ソフト」という語句が「アプリケーション」の同義語として判定されたものとする。
また、図3の1行目の機能表現「起動中のアプリケーションを切り替えることができます」の抽出元の説明文書において、この機能表現が含まれている章に、「タスク管理」、「メーラー」「他のアプリケーションとの同時使用」「メール中に電話番号調べるなどの場合に、この操作を実行します」といったテキストが特徴的に含まれており、これらのテキストもテキストマッチングで類似度判定を行う際に、判定に用いられた、という想定とする。
次に、図6を参照して問い合わせデータ・機能表現マッチング部70の構成について説明する。図6を参照すると問い合わせデータ・機能表現マッチング部70は、関連用語拡張部71及び関連用語拡張部72を含む。なお、図6では用語間関係に基づく関連用語拡張部71及び機能表現に基づく関連用語拡張部72の双方を図示しているが、用語間関係に基づく関連用語拡張部71及び機能表現に基づく関連用語拡張部72の双方が必須になる訳では無い。問い合わせデータ・機能表現マッチング部70に、用語間関係に基づく関連用語拡張部71及び機能表現に基づく関連用語拡張部72のうちの何れか一方が含まれていなくてもよい。
用語間関係に基づく関連用語拡張部71、及び、機能表現に基づく関連用語拡張部72は、どちらも用語の拡張を行う部分である点で共通している。もっとも、用語間関係に基づく関連用語拡張部71と機能表現に基づく関連用語拡張部72とでは拡張の手法が異なる。前述した問い合わせデータ・機能表現マッチング部70の説明では、問い合わせデータの特徴の用語と、用語別機能表現の用語とが文言上一致した場合に、テキストマッチングを行うという手段を説明した。しかし、用語が文言上一致しない場合であっても、問い合わせデータと用語別機能表現を対応させて問題ない場合がある。このような場合に対応する為に用語間関係に基づく関連用語拡張部71と機能表現に基づく関連用語拡張部72とが、用語の拡張を行う。
まず、用語間関係に基づく関連用語拡張部71による用語の拡張について説明する。
用語が文言上一致しない場合であっても、問い合わせデータと用語別機能表現を対応させて問題ない場合の1つは、用語同士が、一方が上位語になり、他方がこの上位語に内包される下位語、になる場合である。例えば、携帯型番「foo-01」に対して、「スマートフォン」や「携帯電話機」など、元の用語を一般的にした上位語と対応させても問題ない場合が考えられる。ある問い合わせで「携帯電話機」に関して質問していたとしても、その質問に対応するような機能が特定の携帯電話機foo-01の説明書に記述されている場合がある。逆に、特定の携帯電話機foo-01に関する質問に関係する機能が、スマートフォン全般の解説書に記述されている場合も考えられる。
また、この例の場合、スマートフォンが携帯電話機に含まれると考えても問題無い場合も考えられる。この場合、上述のように「foo-01」に対して、「スマートフォン」や「携帯電話機」など、元の用語を一般的にした上位語と対応させたこととはまた別に、下位語をスマートフォン、上位語は携帯電話機、として対応させるようにしても良い。
また、用語が文言上一致しない場合であっても、問い合わせデータと用語別機能表現を対応させて問題ないもう一つの場合は、「携帯電話機」と「IMAP」などのように、複数の用語が組合せで使用される場合である。この様な場合を考慮して、例えば、「携帯電話機」と「IMAP」のように、よく共起する用語の機能表現を対応させるようにしても良い。そして、一方の用語に関する問い合わせに対し、この一方の用語と対応する他方の用語についてもマッチングを調べても良い。
このような考え方から、用語間関係に基づく関連用語拡張部71では、別途用意する用語間の上位下位関係辞書、或いは統計的な共起関係辞書などを用いて、問い合わせデータ特徴の用語、或いは、用語別機能表現の用語のどちらか一方の用語を拡張する。拡張の結果、問い合わせデータ・機能表現マッチング部70において、問い合わせ特徴の用語と、用語別機能表現の用語どうしが一致しない場合であっても、どちらかの拡張した用語と元の用語、或いは双方の拡張した用語同士が一致する場合は、問い合わせデータ・機能表現マッチング部70においてマッチングの対象とする。
一方、機能表現に基づく関連用語拡張部72は、用語別機能表現の用語を、類似の機能表現をもつ別の用語に拡張する手段である。
用語には、兄弟的な関係となる他の用語が存在する。例えば、foo-01に対して、同じスマートフォンの他のメーカから発売された携帯uoo-Z1があったとする。このとき、foo-01とuoo-Z1は、類似或いは同じ機能を多数共有する兄弟関係になる。そのため、foo-01に関する問い合わせに関連する機能が、uoo-Z1の解説に記述されている場合が有る。よって、機能表現に基づく関連用語拡張部72では、用語別機能表現抽出部50で抽出された用語別の機能表現を比較する。この、比較の結果、類似或いは共通の機能表現を有すると考えられる用語を、それぞれ兄弟的な関係の用語と認定する。そして、兄弟的な関係の用語の内の一方の用語を他方の用語に拡張する。機能表現の類似や共通の判定には、テキスト類似度判定技術を用いる。
用語間関係に基づく関連用語拡張部71、或いは、機能表現に基づく関連用語拡張部72で用語が拡張された後、問い合わせデータ・機能表現マッチング部70の処理は、まったく同様である。
ファセット用表現選別部80は、問い合わせデータ・機能表現マッチング部70でのマッチング結果を受け付け、用語別機能表現抽出部50で抽出された用語別機能表現のうち、問い合わせデータと対応付けられた用語別機能表現のみを、ファセット用表現として選別する手段である。
なお、選別では1つ以上の問い合わせデータと対応付けられた用語別機能表現の全てを、ファセット用表現として選別しても良い。
また、対応する問い合わせデータの数を用いて、対応する問い合わせデータの数が特定の閾値を超えた用語別機能表現のみを、ファセット用表現として選別しても良い。例えば、閾値を3とした場合には、4つ以上の問い合わせデータと対応付けられた用語別機能表現のみをファセット用表現として選別し、3以下の問い合わせデータと対応付けられた用語別機能表現に関してはファセット用表現として選別しないようにしても良い。
更に、選別した用語別機能表現をそのままファセット用表現とするのではなく、機能や提供するサービスを表す表現を、「〜したい場合」のようにユーザの要望や目的を表す表現に書き換えて用いても良い。例えば、図3の1行目の機能表現では、「起動中のアプリケーションを切り替えることができます」から「起動中のアプリケーションを切り替える場合」のようなファセット用の表現に書き換えてもよい。このような置き換えを行うことにより、ユーザがファセット表現を容易に理解することができ、より一層ユーザの利便性を向上させることが可能となる。なお、どのような書き換えを行うかは、本発明の実施の形態を使用する際の用途や目的に応じて、事前に定めておく。
検索ナビゲーション用ファセット出力部90は、ファセット用表現選別部80で選別されたファセット用表現を、出力する部分である。このとき、ファセット生成装置100では、選別されたファセット用表現の元の用語別機能表現と、問い合わせデータ・機能表現マッチング部70とでマッチングした問い合わせデータとを対応付けを保持しておく。
これにより、ファセット用表現が検索ナビゲーション用ファセットとしてユーザに提示された後、各ファセットを選択したユーザに対し、絞り込み検索の結果として提示する問い合わせデータを容易に特定できる。例えば、検索ナビゲーションにおいて、図3の1行目の機能表現にもとづき出力されたファセット用表現「起動中のアプリケーションを切り替える場合」をユーザが選択すると、図3の1行目の機能表現に対応付いている問い合わせデータが絞り込み検索の結果としてユーザに提示される。
より具体的に説明すると、上述の説明では、図5を例に取って、特徴ID5が割り当てられた特徴、特徴ID6が割り当てられた特徴、及び特徴ID7が割り当てられた特徴が、図3の1行目の機能表現「起動中のアプリケーションを切り替えることができます」にマッチングするものとした。よって、検索ナビゲーションにおいて、図3の1行目の機能表現にもとづき出力されたファセット用表現「起動中のアプリケーションを切り替える場合」をユーザが選択すると、図3の1行目の機能表現に対応付いている、抽出元の問い合わせデータIDQ4、Q5及びQ6をIDに持つ問い合わせデータが絞り込み検索の結果としてユーザに提示される。
なお、検索ナビゲーション用ファセット出力部90によりファセットや問い合わせデータの提示方法は任意の方法であって構わない。例えば検索ナビゲーション用ファセット出力部90をディスプレイにより実現し、このディスプレイ上に絞り込み検索の結果を提示するようにしても良い。また、検索ナビゲーション用ファセット出力部90をプリンタにより実現し、絞り込み検索の結果を紙に印刷して出力するようにしても良い。
続いて図7のフローチャートを参照して本実施形態の動作について説明する。
まず、検索条件入力部10が、ユーザから検索条件を入力として受け付ける(ステップS201)。そして、受け付けた検索条件は、問い合わせデータ検索部20に送られる。
問い合わせデータ検索部20は、ステップS201において受け付けられた検索条件に基づいて問い合わせデータ集合記録部30を検索する(ステップS202)。検索の結果抽出された問い合わせデータは、問い合わせデータ特徴抽出部60に送られる。
続いて、問い合わせデータ特徴抽出部60は、受け取った問い合わせデータ内に含まれる問い合わせデータの特徴を抽出する(ステップS203)。抽出した問い合わせデータの特徴の特徴は問い合わせデータ・機能表現マッチング部70に送られる。
一方、用語別機能表現抽出部50は、マニュアル・カタログ・解説データベース40に記録されている用語の説明文書から用語毎に機能表現を抽出する(ステップS204)。抽出した用語別機能表現は問い合わせデータ・機能表現マッチング部70に送られる。
次に、問い合わせデータ・機能表現マッチング部70は、ステップS203及びステップS204にて受け取った問い合わせデータの特徴と用語別機能表現とから問い合わせに対応する機能表現を判定する(ステップS205)。判定結果はファセット用表現選別部80に送られる。
次に、ファセット用表現選別部80は、ステップS205において問い合わせデータ・機能表現マッチング部70で判定された機能表現からファセットとして出力する表現を選別する(ステップS206)。選別結果は検索ナビゲーション用ファセット出力部90に送られる。
最後に、検索ナビゲーション用ファセット出力部90は、ステップS206においてファセット用表現選別部80で選別されたファセットを出力する(ステップS207)。
以上説明した本実施形態は、ユーザが自分の問題状況ややりたいことに関係する事例なのかどうかを判断することが容易な分かり易い表現で書かれたファセットを提示することができる、という効果を奏する。
ここで、本発明がこのような効果を奏する理由について説明する。
問い合わせデータ集合記録部30に記録されるような、実際の問い合わせデータは、次のような良い特徴を持っている。
・問い合わせを行った人が現実に問い合わせをしたいと考えたデータである。すなわち、現実の問い合わせの必要性に即したデータになっている。
・問い合わせデータを多数集めたとき、統計的に多くの人が問い合わせを必要としたデータが多く集まる。すなわち、問い合わせが必要となる事例が多く発生する問い合わせは、多く集まり、逆に誰も必要としない問い合わせは、事例が自然に少なくなる。
一方、実際の問い合わせデータは、ファセット抽出に利用する場合、以下のような都合の悪い特徴を持っている。
・問い合わせを行った各人が発した、様々な表現が含まれている。よって、そこに含まれている質問表現を抽出し、ファセットに使用しても他の人に分かりにくい場合がある。また、同じことを指しているにも関わらず異なる表現が利用されているような場合もあり、同様の内容をまとめる場合でも、どの表現を代表として選択すれば、ユーザに分かり易いファセット表現になるのか判定できない。
・要望や不具合表現を抽出すると、「なんとかしてくれ」のような一般的すぎる要望や、不可能な要望など、ファセットとして不適切な雑多な表現が含まれる。
他方で、製品マニュアルやカタログ、解説などの説明文書は、人手でその機能が分かり易く書かれた表現に作られている、機能として可能な表現のみ現れている、使われている文言が統一されている、といったファセットとして適切な特徴を有している。しかし、よく使用される機能の説明も、滅多に使用されない機能の説明も存在する、複数の製品・サービスを組み合わせて実現される機能表現が含まれていない、などそのまま全てをファセットとして利用する場合、都合の悪い性質も有する。
そこで、実際の問い合わせデータと、説明文書から抽出した機能表現とを対応付け、実際の問い合わせデータに対応した機能表現のみを、ファセットに用いることで、ユーザに分かり易い表現でありながら、実際の問い合わせデータが発生する状況に応じたファセットを選別することができる。
なお、上記のファセット生成装置は、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記のファセット生成装置により行なわれるファセット提示方法も、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) 少なくとも質問を含んだデータである問い合わせデータから、該問い合わせデータに関連する用語と、該問い合わせデータに含まれている質問の意図を表す表現と、を組にして抽出する問い合わせデータ特徴抽出手段と、
前記用語に対応した機能を説明する文書データから、用語と、該用語に対応した機能を示す表現と、を組にして抽出する用語別機能表現抽出手段と、
前記データ特徴表現抽出手段の抽出結果と、前記用語別機能表現抽出手段の抽出結果とのそれぞれに含まれている前記用語が一致するもの同士で、前記質問の意図を表す表現と前記各用語に対応する機能を示す表現のマッチングを行う問い合わせデータ・機能表現マッチング手段と、
前記問い合わせデータ・機能表現マッチング手段によるマッチング結果に基づいて選別した前記機能を示す表現に基づいて前記問い合わせデータを絞り込むファセットの表現を生成するファセット用表現選別手段と、
を備えることを特徴とするファセット生成装置。
(付記2) 付記1に記載のファセット生成装置であって、
前記問い合わせデータ・機能表現マッチング手段は、前記データ特徴表現抽出手段の抽出結果に含まれている質問の意図を表す表現と前記用語別機能表現抽出手段の抽出結果に含まれている用語の機能を示す表現とが、同義又は類似の場合にマッチングしていると判断することを特徴とするファセット生成装置。
(付記3) 付記1又は2に記載のファセット生成装置であって、
ユーザから入力された検索条件に適合する問い合わせデータを、問い合わせデータの集合から検索する問い合わせデータ検索手段を更に備え、
前記問い合わせデータ特徴抽出手段が抽出元とする問い合わせデータとは、前記問い合わせデータ検索手段の検索により発見された、前記ユーザから入力された検索条件に適合する問い合わせデータであることを特徴とするファセット生成装置。
(付記4) 付記1乃至3の何れか1に記載のファセット生成装置であって、
前記問い合わせデータ・機能表現マッチング手段が、
前記問い合わせデータ特徴表現抽出手段の抽出結果に含まれている用語又は前記用語別機能表現抽出手段の抽出結果に含まれている用語の何れか又は双方の用語を、用語間の同義関係、類義関係、上位下位関係及び共起関係の何れか又はそれらの組合せに基づき他の用語に拡張し、拡張後の用語を用いて前記一致するか否かの判断を行うことを特徴とするファセット生成装置。
(付記5) 付記1乃至4の何れか1に記載のファセット生成装置であって、
前記問い合わせデータ・機能表現マッチング手段が、前記用語別機能表現抽出手段の抽出結果に含まれている用語を類似ないしは同一の機能を有する他の用語に拡張し、拡張後の用語を用いて前記一致するか否かの判断を行うことを特徴とするファセット生成装置。
(付記6) 付記1乃至5の何れか1に記載のファセット生成装置であって、
前記問い合わせデータ・機能表現マッチング手段が、前記データ特徴表現抽出手段の抽出結果に含まれている質問の意図を表す表現と前記用語別機能表現抽出手段の抽出結果に含まれている用語の機能を示す表現との何れかの表現の一部を他の表現に置き換えたうえで前記マッチングを行うことを特徴とするファセット生成装置。
(付記7) 付記1乃至6の何れか1に記載のファセット生成装置であって、
ファセット用表現選別手段は、前記機能を示す表現の一部の表現を他の表現に置き換えて前記ファセットの表現を生成することを特徴とするファセット生成装置。
(付記8) 付記1乃至7の何れか1に記載のファセット生成装置であって、
前記生成したファセットを利用者に提示するための出力手段を更に備えることを特徴とするファセット生成装置。
(付記9) 少なくとも質問を含んだデータである問い合わせデータから、該問い合わせデータに関連する用語と、該問い合わせデータに含まれている質問の意図を表す表現と、を組にして抽出する問い合わせデータ特徴表現抽出ステップと、
前記用語に対応した機能を説明する文書データから、用語と、該用語の機能を示す表現と、を組にして抽出する用語別機能表現抽出ステップと、
前記データ特徴表現抽出ステップの抽出結果と、前記用語別機能表現抽出ステップの抽出結果とのそれぞれに含まれている前記用語が一致するもの同士で、前記質問の意図を表す表現と前記各用語の機能を示す表現のマッチングを行う問い合わせデータ・機能表現マッチングステップと、
前記問い合わせデータ・機能表現マッチングステップによるマッチング結果に基づいて選別した前記機能を示す表現に基づいて前記問い合わせデータを絞り込むファセットの表現を生成するファセット用表現選別ステップと、
を含むことを特徴とするファセット生成方法。
(付記10) コンピュータをファセット生成装置として機能させるファセット生成プログラムであって、
前記コンピュータを、
少なくとも質問を含んだデータである問い合わせデータから、該問い合わせデータに関連する用語と、該問い合わせデータに含まれている質問の意図を表す表現と、を組にして抽出する問い合わせデータ特徴表現抽出手段と、
前記用語に対応した機能を説明する文書データから、用語と、該用語の機能を示す表現と、を組にして抽出する用語別機能表現抽出手段と、
前記データ特徴表現抽出手段の抽出結果と、前記用語別機能表現抽出手段の抽出結果とのそれぞれに含まれている前記用語が一致するもの同士で、前記質問の意図を表す表現と前記各用語の機能を示す表現のマッチングを行う問い合わせデータ・機能表現マッチング手段と、
前記問い合わせデータ・機能表現マッチング手段によるマッチング結果に基づいて選別した前記機能を示す表現に基づいて前記問い合わせデータを絞り込むファセットの表現を生成するファセット用表現選別手段と、
を備えるファセット生成装置として機能させることを特徴とするファセット生成プログラム。