JP2009070180A - 情報の検索を支援する装置及び方法 - Google Patents
情報の検索を支援する装置及び方法 Download PDFInfo
- Publication number
- JP2009070180A JP2009070180A JP2007238438A JP2007238438A JP2009070180A JP 2009070180 A JP2009070180 A JP 2009070180A JP 2007238438 A JP2007238438 A JP 2007238438A JP 2007238438 A JP2007238438 A JP 2007238438A JP 2009070180 A JP2009070180 A JP 2009070180A
- Authority
- JP
- Japan
- Prior art keywords
- keyword
- conversation
- keywords
- pair
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】真に会話のコンテキストに合った情報が提供される可能性を高める。
【解決手段】分析サーバ20において、テキスト取得部21は、会話のテキストデータを取得し、キーワード抽出部22は、そのテキストデータから複数のキーワードを抽出し、重要キーワード決定部23は、その複数のキーワードのうちユーザとの関係で重要なキーワードを重要キーワードに決定する。また、キーワードペア決定部26は、重要キーワードを検索機能に投入して得られる頻度情報に基づいて検索のためのキーワードペアを決定する。更に、通信制御部28は、キーワードペアをクライアントに送信し、そのキーワードペアの選択操作に応じて検索機能による検索結果をクライアントに送信する。
【選択図】図5
【解決手段】分析サーバ20において、テキスト取得部21は、会話のテキストデータを取得し、キーワード抽出部22は、そのテキストデータから複数のキーワードを抽出し、重要キーワード決定部23は、その複数のキーワードのうちユーザとの関係で重要なキーワードを重要キーワードに決定する。また、キーワードペア決定部26は、重要キーワードを検索機能に投入して得られる頻度情報に基づいて検索のためのキーワードペアを決定する。更に、通信制御部28は、キーワードペアをクライアントに送信し、そのキーワードペアの選択操作に応じて検索機能による検索結果をクライアントに送信する。
【選択図】図5
Description
本発明は、情報の検索を支援する装置及び方法に関する。特に、本発明は、ネットワークを介した会話に関連する情報の検索を支援する装置及び方法に関する。
近年、ネットワーク基盤の普及やPC(Personal Computer)の低価格化等により、製品のカスタマサポートや社内のヘルプデスクをIM(Instant Messenger)製品を利用して行うシーンが見られるようになっている。例えば、製品の障害や人事に関する問い合わせにチャットで対応するような場面が想定される。
かかる場面で、報告されている問題や質問等に関する情報をスムーズに検索し、情報を必要なときに取得できることは、業務の生産性の向上に欠かせない要素である。即ち、チャットによる会話のコンテキストに応じて有用と思われる情報が自動的に表示されれば、カスタマサポート等における生産性は高まると考えられる。このようなことから、現在行っている対話内容に即した関連情報を表示させることが従来から行われていた(例えば、特許文献1参照)。
かかる場面で、報告されている問題や質問等に関する情報をスムーズに検索し、情報を必要なときに取得できることは、業務の生産性の向上に欠かせない要素である。即ち、チャットによる会話のコンテキストに応じて有用と思われる情報が自動的に表示されれば、カスタマサポート等における生産性は高まると考えられる。このようなことから、現在行っている対話内容に即した関連情報を表示させることが従来から行われていた(例えば、特許文献1参照)。
しかしながら、特許文献1は、対話情報から重要語を抽出しこれを用いて関連情報を取得しているに過ぎず、相関のある重要語のペアを抽出しこれを用いて関連情報を取得しているわけではない。よって、特許文献1では、真に会話のコンテキストに合った情報が提供されない可能性があるという問題点があった。
本発明の目的は、真に会話のコンテキストに合った情報が提供される可能性を高めることにある。
かかる目的のもと、本発明は、会話のテキストデータから抽出したキーワードに基づき、検索のためのキーワードペアを決定して提示するようにした。即ち、本発明は、ネットワークを介した会話に関連する情報の検索を支援する装置であって、会話のテキストデータを取得する取得部と、取得部により取得されたテキストデータから複数のキーワードを抽出する抽出部と、複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、複数のキーワードを検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、検索のためのキーワードペアを決定する決定部と、決定部により決定されたキーワードペアを提示する提示部とを備えた、装置を提供する。
また、この装置において、第1の頻度情報は、複数のキーワードのうちの第1のキーワードを含む情報の件数を示す第1の値と、複数のキーワードのうちの第2のキーワードを含む情報の件数を示す第2の値とを含み、第2の頻度情報は、第1のキーワードと第2のキーワードの両方を含む情報の件数を示す第3の値を含み、決定部は、第1の値と第2の値と第3の値とを用いて算出された第1のキーワードと第2のキーワードとの相関度に基づいて、キーワードペアを決定する、ものであってもよい。
更に、決定部は、第1の値及び第2の値の少なくとも何れか一方が第1の水準に達していない場合、第3の値を求めるために第1のキーワードと第2のキーワードのペアを検索機能に投入しない、ものであってもよい。
また、決定部は、第1のキーワードと第2のキーワードとの相関度が第2の水準に達する可能性があるかどうかを第3の値を得ることなく調査し、可能性がないと判定された場合、第1のキーワードと第2のキーワードのペアを検索機能に投入しない、ものであってもよい。
更に、決定部は、第1の値及び第2の値の少なくとも何れか一方が第1の水準に達していない場合、第1のキーワードと第2のキーワードとの相関度が第2の水準に達する可能性があるかどうかを調査しない、ものであってもよい。
更に、決定部は、第1の値及び第2の値の少なくとも何れか一方が第1の水準に達していない場合、第3の値を求めるために第1のキーワードと第2のキーワードのペアを検索機能に投入しない、ものであってもよい。
また、決定部は、第1のキーワードと第2のキーワードとの相関度が第2の水準に達する可能性があるかどうかを第3の値を得ることなく調査し、可能性がないと判定された場合、第1のキーワードと第2のキーワードのペアを検索機能に投入しない、ものであってもよい。
更に、決定部は、第1の値及び第2の値の少なくとも何れか一方が第1の水準に達していない場合、第1のキーワードと第2のキーワードとの相関度が第2の水準に達する可能性があるかどうかを調査しない、ものであってもよい。
一方、この装置において、抽出部は、現在の会話のテキストデータにおける各キーワードの第1の出現頻度と、現在の会話を行っている少なくとも1人のユーザの過去の会話のテキストデータにおける各キーワードの第2の出現頻度とを用いて、複数のキーワードを抽出する、ものであってもよい。
また、抽出部は、第1の出現頻度に第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、複数の過去の会話にそれぞれ対応する複数の第2の出現頻度のうち近い過去の会話に対応する第2の出現頻度ほど高い重みを付与することにより得られた重要度に基づいて、複数のキーワードを抽出する、ものであってもよい。
更に、抽出部は、第1の出現頻度に第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、複数の過去の会話にそれぞれ対応する複数の第2の出現頻度に略同等の重みを付与することにより得られた重要度に基づいて、複数のキーワードを抽出する、ものであってもよい。
また、抽出部は、第1の出現頻度に第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、複数の過去の会話にそれぞれ対応する複数の第2の出現頻度のうち近い過去の会話に対応する第2の出現頻度ほど高い重みを付与することにより得られた重要度に基づいて、複数のキーワードを抽出する、ものであってもよい。
更に、抽出部は、第1の出現頻度に第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、複数の過去の会話にそれぞれ対応する複数の第2の出現頻度に略同等の重みを付与することにより得られた重要度に基づいて、複数のキーワードを抽出する、ものであってもよい。
また、本発明は、ネットワークを介した会話に関連する情報の検索を支援する方法であって、会話のテキストデータを取得するステップと、取得されたテキストデータから複数のキーワードを抽出するステップと、複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、複数のキーワードを検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、検索のためのキーワードペアを決定するステップと、決定されたキーワードペアを提示するステップとを含む、方法も提供する。
更に、本発明は、ネットワークを介した会話に関連する情報の検索を支援する装置としてコンピュータを機能させるプログラムであって、コンピュータを、会話のテキストデータを取得する取得部と、取得部により取得されたテキストデータから複数のキーワードを抽出する抽出部と、複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、複数のキーワードを検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、検索のためのキーワードペアを決定する決定部と、決定部により決定されたキーワードペアを提示する提示部として機能させる、プログラムも提供する。
本発明によれば、真に会話のコンテキストに合った情報が提供される可能性が高まる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
まず、本実施の形態の概要を説明する。
図1は、本実施の形態の大まかな流れを模式的に示した図である。
例えば、ユーザAとユーザBがチャットで会話をしているとする。ここで、ユーザAは、カスタマサポートセンターの担当者とし、ユーザBは、カスタマサポートセンターに問い合わせてきた顧客であるとする。この場合、ユーザAの端末のチャット画面401に、ユーザBとの間でなされた会話が表示される。
まず、本実施の形態の概要を説明する。
図1は、本実施の形態の大まかな流れを模式的に示した図である。
例えば、ユーザAとユーザBがチャットで会話をしているとする。ここで、ユーザAは、カスタマサポートセンターの担当者とし、ユーザBは、カスタマサポートセンターに問い合わせてきた顧客であるとする。この場合、ユーザAの端末のチャット画面401に、ユーザBとの間でなされた会話が表示される。
このようにユーザAとユーザBとの間でチャットが行われると、本実施の形態では、まず、分析機能200が、(1)に示すように、リアルタイムでチャットメッセージをインターセプトする。ここで、分析機能200は、ユーザAの端末に存在していても、その端末以外の装置に存在していてもよい。
次に、分析機能200は、(2)に示すように、リアルタイムでチャットメッセージを分析し、そこからキーワードを抽出する。このキーワードの抽出において、本実施の形態では、特殊な処理を行う。特に、ユーザAがユーザBの問い合わせのコンテキストに合った情報を容易に取得できるよう、ユーザBが発した会話の中から相関の高いキーワードのペアを求め、キーワードペア表示画面402に表示することでユーザAに知らせる。
次に、分析機能200は、(2)に示すように、リアルタイムでチャットメッセージを分析し、そこからキーワードを抽出する。このキーワードの抽出において、本実施の形態では、特殊な処理を行う。特に、ユーザAがユーザBの問い合わせのコンテキストに合った情報を容易に取得できるよう、ユーザBが発した会話の中から相関の高いキーワードのペアを求め、キーワードペア表示画面402に表示することでユーザAに知らせる。
その後、例えば、ユーザAがキーワードペアの何れかを選択すると、(3)に示すように、分析機能200は、その選択されたキーワードペアを検索機能300に投入する。これにより、検索機能300は、コンテンツを検索する。ここで、検索機能300には、複数の検索機能が含まれていてよい。図では、検索機能A、検索機能B、検索機能Cが示されている。これらの検索機能は、インターネット上のコンテンツからキーワードに合致するコンテンツを検索するWeb検索エンジンであってよい。或いは、社内の不具合情報を蓄積したデータベースや知識ベースであってもよい。以下、本明細書において「検索機能」というときは、この両方を含むものとする。
そして、最後に、(4)に示すように、検索機能300から検索結果がユーザAの端末に送信され、検索結果表示画面403に表示される。この場合、検索機能が複数あれば、図示するように、検索機能ごとに検索結果が表示される。
そして、最後に、(4)に示すように、検索機能300から検索結果がユーザAの端末に送信され、検索結果表示画面403に表示される。この場合、検索機能が複数あれば、図示するように、検索機能ごとに検索結果が表示される。
さて、このような流れにおけるキーワードの抽出について、以下、詳細に説明する。
本実施の形態では、分析機能200において、次の2つの機能を実現する。
第1の機能は、言語処理で抽出したキーワードから、発話者とタイムスタンプという2種類の情報を用いて、会話のコンテキストとの関連性が高いと考えられる重要キーワード(優先度の高いキーワード)を抽出する、という機能である。
第2の機能は、多数の重要キーワードの中から、相関が高いと考えられるキーワードのペアを、外部の検索機能を用いて求めるというものである。
本実施の形態では、分析機能200において、次の2つの機能を実現する。
第1の機能は、言語処理で抽出したキーワードから、発話者とタイムスタンプという2種類の情報を用いて、会話のコンテキストとの関連性が高いと考えられる重要キーワード(優先度の高いキーワード)を抽出する、という機能である。
第2の機能は、多数の重要キーワードの中から、相関が高いと考えられるキーワードのペアを、外部の検索機能を用いて求めるというものである。
まず、第1の機能について説明する。
現在の会話から抽出されたキーワードが、過去の会話記録において重要であるとされている場合、そのキーワードの現時点での重要性も高いと考えられる。また、同一のキーワードであっても、会話している相手に応じてその重要性は変わると考えられる。
そこで、現在の会話の相手と現在進行中の会話も含めてn回会話を行っている場合を考える。この場合において、i回前の会話におけるキーワードKの出現回数をF(K,i)としたとき、キーワードKの重要度W(K)は以下の式で表される。
現在の会話から抽出されたキーワードが、過去の会話記録において重要であるとされている場合、そのキーワードの現時点での重要性も高いと考えられる。また、同一のキーワードであっても、会話している相手に応じてその重要性は変わると考えられる。
そこで、現在の会話の相手と現在進行中の会話も含めてn回会話を行っている場合を考える。この場合において、i回前の会話におけるキーワードKの出現回数をF(K,i)としたとき、キーワードKの重要度W(K)は以下の式で表される。
尚、α(i)は、抽出されたキーワードに対する重み付け係数である。
ここでは、重み付け係数α(i)(i=0,1,…,n−1)を2種類提案する。
ここでは、重み付け係数α(i)(i=0,1,…,n−1)を2種類提案する。
まず、1種類目の重み付け係数について説明する。
この重み付け係数では、経過した時間が長くなればなるほどα(i)が小さくなるような減衰関数を用いる。つまり、現在進行中の会話に対する重み付け係数α(0)が最も大きくiが増加するに従ってα(i)が減少する狭義単調減少関数を採用する。このように、α(i)に減衰関数を用いれば、古い会話から抽出されたキーワードの影響力は小さくなる。
例えば、α(i)=exp(−βi)(β>0)とすると、影響力はiが増加するに従って指数関数的に小さくなる。その結果、過去の数回の会話から抽出されたキーワードが重要視されるようになる。
この重み付け係数では、経過した時間が長くなればなるほどα(i)が小さくなるような減衰関数を用いる。つまり、現在進行中の会話に対する重み付け係数α(0)が最も大きくiが増加するに従ってα(i)が減少する狭義単調減少関数を採用する。このように、α(i)に減衰関数を用いれば、古い会話から抽出されたキーワードの影響力は小さくなる。
例えば、α(i)=exp(−βi)(β>0)とすると、影響力はiが増加するに従って指数関数的に小さくなる。その結果、過去の数回の会話から抽出されたキーワードが重要視されるようになる。
次に、2種類目の重み付け係数について説明する。
この重み付け係数では、過去の会話の重要度は時間に影響されるものではなく、均一であるという考えに基づき、α(i)(i≠0)を単一の値とする。
即ち、α(0)>α(1)=α(2)=…=α(i)=…α(n−1)とする。
会話で話される内容は単発的なものも多く、現在進行中の会話の内容とその直前の会話の内容との関連性が深いという保証はない。逆に、現在進行中の会話の内容と遥か昔の会話の内容との関連性が深い場合もあると考えられる。そのため、過去の会話全体の影響力を同じにしたほうがよりよい結果が得られる可能性も高く、このような手法が有効であると考えられる。
但し、α(i),α(2),…,α(n−1)は完全に等しくなければならないというわけではなく、略同等であってもよい。
この重み付け係数では、過去の会話の重要度は時間に影響されるものではなく、均一であるという考えに基づき、α(i)(i≠0)を単一の値とする。
即ち、α(0)>α(1)=α(2)=…=α(i)=…α(n−1)とする。
会話で話される内容は単発的なものも多く、現在進行中の会話の内容とその直前の会話の内容との関連性が深いという保証はない。逆に、現在進行中の会話の内容と遥か昔の会話の内容との関連性が深い場合もあると考えられる。そのため、過去の会話全体の影響力を同じにしたほうがよりよい結果が得られる可能性も高く、このような手法が有効であると考えられる。
但し、α(i),α(2),…,α(n−1)は完全に等しくなければならないというわけではなく、略同等であってもよい。
尚、これらの2種類の重み付け係数の何れを用いるかは、ユーザが指定するとよい。この場合、ユーザは、直近の話題と過去まで遡った話題の何れに関心があるかにより、その指定を行うことになる。或いは、2種類の重み付け係数の両方を用いて得られる情報を併せて提示してもよい。但し、この場合は、1種類の重み付け係数を用いた場合よりも多くの情報が提示されるので、重要度の閾値は、1種類の重み付け係数を用いた場合よりも高く設定するのが好ましい。
次に、第2の機能について説明する。
チャット中の会話テキストに自然言語処理を適用してキーワードを抽出し、そのキーワードを検索条件として使うことにより、話題の内容に対するドリルダウンをする場合について考える。例えば、あるPCについての会話がなされているときに、そのPCに関連するドキュメントを調べるといった場合である。
しかしながら、テキストから抽出された複数のキーワードのうちのどのキーワードに注目すればよいかをユーザが判断できないことはしばしばある。
図2は、このことを説明するための図である。
図には、PCコールセンターのログ中、キーワード「黒い」を含む1790件の文書集合内のキーワード(名詞)の頻度分布が示されている。ところが、このような頻度分布だけでは、どのキーワードが「黒い」に関連するのか、また、どのような関連があるのかが分からない。
チャット中の会話テキストに自然言語処理を適用してキーワードを抽出し、そのキーワードを検索条件として使うことにより、話題の内容に対するドリルダウンをする場合について考える。例えば、あるPCについての会話がなされているときに、そのPCに関連するドキュメントを調べるといった場合である。
しかしながら、テキストから抽出された複数のキーワードのうちのどのキーワードに注目すればよいかをユーザが判断できないことはしばしばある。
図2は、このことを説明するための図である。
図には、PCコールセンターのログ中、キーワード「黒い」を含む1790件の文書集合内のキーワード(名詞)の頻度分布が示されている。ところが、このような頻度分布だけでは、どのキーワードが「黒い」に関連するのか、また、どのような関連があるのかが分からない。
そこで、第2の機能では、2つの重要キーワードの相互情報量(Mutual Information)を用いて、相関の高いキーワードのペアを抽出する。
第1の機能により抽出された重要キーワードをkw[1],kw[2],…,kw[m]とすると、ここでのキーワードペアの抽出は、次のように行われる。
まず、検索機能にkw[1],kw[2],…,kw[m]を投入し、ヒット数f[1],f[2],…,f[m]を得る。次に、検索機能に“kw[i] and kw[j]”(i≠j)を投入し、ヒット件数f[i,j]を得る。
これにより、以下の計算を各(i,j)に対して行う。
第1の機能により抽出された重要キーワードをkw[1],kw[2],…,kw[m]とすると、ここでのキーワードペアの抽出は、次のように行われる。
まず、検索機能にkw[1],kw[2],…,kw[m]を投入し、ヒット数f[1],f[2],…,f[m]を得る。次に、検索機能に“kw[i] and kw[j]”(i≠j)を投入し、ヒット件数f[i,j]を得る。
これにより、以下の計算を各(i,j)に対して行う。
そして、MI(i,j)の値の大きい方からM番目以内の(kw[i],kw[j])を返す。尚、Mは予め決めておくものとする(例えば、M=5)。
ここで、f[ALL]は、その検索機能が検索対象としているデータの全件数を意味する。もし検索機能がこの数を公開していなければ、ヒット数が多い一般的な単語で検索した結果の件数をf[ALL]とするとよい。例えば、ヒット数が多い一般的な単語として「日本」を採用したとすると、f[ALL]=f[日本]となる。但し、この場合は、重要キーワードで検索する際にも、その重要キーワードにこのヒット数が多い一般的な単語を常に付け加えて検索する必要がある。
ここで、f[ALL]は、その検索機能が検索対象としているデータの全件数を意味する。もし検索機能がこの数を公開していなければ、ヒット数が多い一般的な単語で検索した結果の件数をf[ALL]とするとよい。例えば、ヒット数が多い一般的な単語として「日本」を採用したとすると、f[ALL]=f[日本]となる。但し、この場合は、重要キーワードで検索する際にも、その重要キーワードにこのヒット数が多い一般的な単語を常に付け加えて検索する必要がある。
次に、図2の頻度分布に加え、相関値を表示した例を示す。
図3は、キーワードの頻度及び相関値の分布の表示例を示した図である。尚、本実施の形態では、相関値として、上述した相互情報量MI(i,j)を用いている。
ここでは、まず、キーワード「黒い」を含む文書を検索している。その結果は、1790件である。そして、このキーワード「黒い」に対する相関値が高いキーワードを求め、相関値の大きい順に表示している。例えば、「日本語DOSゲーム」について見ると、キーワード「黒い」に対する相関値が20.1であるというのは、全文書中の「日本語DOSゲーム」の出現頻度に比べて、キーワード「黒い」を含む文書中の「日本語DOSゲーム」の出現頻度が約20倍である、ということを意味している。
図3は、キーワードの頻度及び相関値の分布の表示例を示した図である。尚、本実施の形態では、相関値として、上述した相互情報量MI(i,j)を用いている。
ここでは、まず、キーワード「黒い」を含む文書を検索している。その結果は、1790件である。そして、このキーワード「黒い」に対する相関値が高いキーワードを求め、相関値の大きい順に表示している。例えば、「日本語DOSゲーム」について見ると、キーワード「黒い」に対する相関値が20.1であるというのは、全文書中の「日本語DOSゲーム」の出現頻度に比べて、キーワード「黒い」を含む文書中の「日本語DOSゲーム」の出現頻度が約20倍である、ということを意味している。
このように、本実施の形態では、会話テキストから抽出される複数のキーワードの中から、相関の高いキーワードのペアを検出する。これにより、ユーザが気づかない新規な事実を提供すると共に、ドリルダウンを効果的にサポートする。
例えば、図3では、キーワード「黒い」に対する相関値の高いキーワードの順に表示されており、「枠」、「日本語DOSゲーム」といったキーワードが「黒い」との相関が高いことが分かる。これらはそれぞれ、「ディスプレイの調節方法が分からない」、「特定のゲームでコマンドウインドウが全画面表示になりWindows画面に戻れない」という問い合わせに対応しており、このような問い合わせがあることを新たに発見することが可能になる(「Windows」は米国マイクロソフト社の米国及びその他の国における登録商標又は商標)。
例えば、図3では、キーワード「黒い」に対する相関値の高いキーワードの順に表示されており、「枠」、「日本語DOSゲーム」といったキーワードが「黒い」との相関が高いことが分かる。これらはそれぞれ、「ディスプレイの調節方法が分からない」、「特定のゲームでコマンドウインドウが全画面表示になりWindows画面に戻れない」という問い合わせに対応しており、このような問い合わせがあることを新たに発見することが可能になる(「Windows」は米国マイクロソフト社の米国及びその他の国における登録商標又は商標)。
尚、Web検索エンジンの中にも、相関の高いキーワードのペアを返すものはある。
しかしながら、このようなWeb検索エンジンでは、自らが保持する文書とそのキーワード一覧との対応をバックエンドで索引として有することにより、かかる処理を可能にしている。
また、本実施の形態は、「与えられたキーワード又はキーワードのペアの入力に対してヒット数を返す」機能さえ持っていれば、如何なるデータベースにも適用することができる。
このことから分かるように、Web検索エンジンであっても独自のデータベースであっても、本実施の形態の手法は適用可能である。Web検索エンジンに本実施の形態の手法を適用した場合は、コールセンターのログと異なり「一般的に相関が高いと考えられる」キーワードのペアが返されることになるが、ユーザがそのキーワードに対する知見を持っていない場合に有効に働くことには変わりない。
しかしながら、このようなWeb検索エンジンでは、自らが保持する文書とそのキーワード一覧との対応をバックエンドで索引として有することにより、かかる処理を可能にしている。
また、本実施の形態は、「与えられたキーワード又はキーワードのペアの入力に対してヒット数を返す」機能さえ持っていれば、如何なるデータベースにも適用することができる。
このことから分かるように、Web検索エンジンであっても独自のデータベースであっても、本実施の形態の手法は適用可能である。Web検索エンジンに本実施の形態の手法を適用した場合は、コールセンターのログと異なり「一般的に相関が高いと考えられる」キーワードのペアが返されることになるが、ユーザがそのキーワードに対する知見を持っていない場合に有効に働くことには変わりない。
ところで、kw[1],kw[2],…,kw[m]に加え、“kw[i] and kw[j]”(i≠j)を検索機能に投入して得られたヒット値に基づいてキーワードのペアを求める手法には、次のような問題がある。
即ち、チャットが進むにつれて累積するキーワードの個数が増加し、キーワードのペアの相互情報量の計算コストが増大するという問題である。尚、ここでの計算コストとは、主に、検索機能が通信回線を介して接続されている場合における通信コストである。
具体的に述べると、キーワードがm個の場合、全てのキーワードのペアについての計算量はO(m2)(=m×(m+1)/2)となる。
ここで、既にキーワードがp個あり、新しい発言でq個増えたとすると、追加の計算量は(p+1)×qとなる。このことから、pが大きくなると、q=1でも無視できないこととなる。
即ち、チャットが進むにつれて累積するキーワードの個数が増加し、キーワードのペアの相互情報量の計算コストが増大するという問題である。尚、ここでの計算コストとは、主に、検索機能が通信回線を介して接続されている場合における通信コストである。
具体的に述べると、キーワードがm個の場合、全てのキーワードのペアについての計算量はO(m2)(=m×(m+1)/2)となる。
ここで、既にキーワードがp個あり、新しい発言でq個増えたとすると、追加の計算量は(p+1)×qとなる。このことから、pが大きくなると、q=1でも無視できないこととなる。
そこで、本実施の形態では、計算コストを抑えるため、以下の2つの工夫を行っている。
第1の工夫点としては、非同期処理を行うということである。即ち、チャット処理のプロセスと相互情報量を計算するプロセスを非同期に実行する。これにより、内部に保持する計算結果とユーザに提示するスコアの高いペアのリストを随時更新する。
第1の工夫点としては、非同期処理を行うということである。即ち、チャット処理のプロセスと相互情報量を計算するプロセスを非同期に実行する。これにより、内部に保持する計算結果とユーザに提示するスコアの高いペアのリストを随時更新する。
第2の工夫点としては、ヒューリスティクスによる方法を用いるということである。
ヒューリスティクスの1つとして、単独でヒット数の少ないキーワードは計算対象にしない、ということがある。例えば、ヒット数が10000未満のキーワードは無視する、といったことである。ヒット数が少ないキーワードはそれだけで文書を特定する能力が高く、ペアをとる動機に乏しいからである。ここで、頻度閾値(上記の例では10000)は、例えば検索機能ごとに予め決めておいたものを用いればよい。
ヒューリスティクスの1つとして、単独でヒット数の少ないキーワードは計算対象にしない、ということがある。例えば、ヒット数が10000未満のキーワードは無視する、といったことである。ヒット数が少ないキーワードはそれだけで文書を特定する能力が高く、ペアをとる動機に乏しいからである。ここで、頻度閾値(上記の例では10000)は、例えば検索機能ごとに予め決めておいたものを用いればよい。
また、ヒューリスティクスのもう1つとして、相互情報量の単調性を使ったプルーニング(pruning)がある。
先に述べたように、相互情報量MI(i,j)は、次の式で表される。
先に述べたように、相互情報量MI(i,j)は、次の式で表される。
まず、この式において、f[ALL]はキーワードに依存しないので、MI(i,j)の大小を比べるだけなら、次の式で求められるMI’の値を比較すればよい。
ここで、明らかにf[i,j]≦min(f[i],f[j])だから、MI’(i,j)≦min(1/f[i],1/f[j])が成り立つ。
さて、既に上位M番目までのペアの相互情報量が計算済みで、M番目のスコアがR(M)であるとする(但し、R(M)は、MI’(i,j)を用いて算出したスコアとする)。この状態で、新たにkw[i]とkw[j]の相互情報量を計算するとする。その場合、上記不等式から、max(1/f[i],1/f[j])≦R(M)なら、kw[i]とkw[j]の相互情報量はR(M)を超えないので、計算をしなくても上位M番目までにランクされないことが分かる。
従って、全てのペアについて、その相互情報量を計算する前にこのチェックを行い、上位M番目に入る可能性のあるペアだけについて検索機能に問い合わせればよい。
この手法を用いると、両方の単語の頻度が小さいためにたまたま高い相関を持つペア(統計的に有意な相関値でない)が抽出されてしまうことがある。しかし、前述の頻度閾値によって頻度が極端に小さな語を事前に取り除いているため、そのようなペアは計算対象とならない。このように、2種類のヒューリスティクスを組み合わせることによって、より有効な結果が得られることになる。
さて、既に上位M番目までのペアの相互情報量が計算済みで、M番目のスコアがR(M)であるとする(但し、R(M)は、MI’(i,j)を用いて算出したスコアとする)。この状態で、新たにkw[i]とkw[j]の相互情報量を計算するとする。その場合、上記不等式から、max(1/f[i],1/f[j])≦R(M)なら、kw[i]とkw[j]の相互情報量はR(M)を超えないので、計算をしなくても上位M番目までにランクされないことが分かる。
従って、全てのペアについて、その相互情報量を計算する前にこのチェックを行い、上位M番目に入る可能性のあるペアだけについて検索機能に問い合わせればよい。
この手法を用いると、両方の単語の頻度が小さいためにたまたま高い相関を持つペア(統計的に有意な相関値でない)が抽出されてしまうことがある。しかし、前述の頻度閾値によって頻度が極端に小さな語を事前に取り除いているため、そのようなペアは計算対象とならない。このように、2種類のヒューリスティクスを組み合わせることによって、より有効な結果が得られることになる。
次に、以上のような動作を行うコンピュータシステムについて詳細に説明する。尚、これまでは、チャットメッセージからの重要キーワード及びキーワードのペアの抽出について説明してきた。しかしながら、同様の処理は、電子メールでの会話、電子掲示板を利用した会話等、ネットワークを介した種々の会話に適用可能である。そこで、以下では、チャット、電子メール、電子掲示板等によるメッセージの交換を「会話」と総称して説明する。
図4は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムは、会話サーバ10と、分析サーバ20と、検索サーバ30と、クライアント40aと、クライアント40bとが、ネットワーク80を介して接続されている。
図示するように、このコンピュータシステムは、会話サーバ10と、分析サーバ20と、検索サーバ30と、クライアント40aと、クライアント40bとが、ネットワーク80を介して接続されている。
会話サーバ10は、ネットワーク80を介したメッセージの交換を管理するサーバコンピュータである。チャットの場合であれば、同じチャットに対するユーザAのクライアント40aからの参加要求とユーザBのクライアント40bからの参加要求に応じて、そのチャットの識別情報、ユーザA及びBの識別情報、クライアント40a及び40bの識別情報等を管理する。そして、ユーザAやユーザBからメッセージが入力された場合には、そのメッセージが相手のクライアントへ送信されるように制御する。
分析サーバ20は、ネットワーク80を介して交換されるメッセージを会話サーバ10から受け取り、そのメッセージに含まれるキーワードの中から重要キーワードを決定したり、相関するキーワードのペアを決定したりするサーバコンピュータである。つまり、図1の分析機能200を1台のサーバコンピュータで実現したものである。
検索サーバ30は、分析サーバ20で決定されたキーワードのペアを用いた検索要求に応じて、検索結果であるコンテンツを返すサーバコンピュータである。つまり、図1の検索機能300を1台のサーバコンピュータで実現したものである。
分析サーバ20は、ネットワーク80を介して交換されるメッセージを会話サーバ10から受け取り、そのメッセージに含まれるキーワードの中から重要キーワードを決定したり、相関するキーワードのペアを決定したりするサーバコンピュータである。つまり、図1の分析機能200を1台のサーバコンピュータで実現したものである。
検索サーバ30は、分析サーバ20で決定されたキーワードのペアを用いた検索要求に応じて、検索結果であるコンテンツを返すサーバコンピュータである。つまり、図1の検索機能300を1台のサーバコンピュータで実現したものである。
クライアント40a、40bは、ユーザが使用するPC等の端末装置である。より詳しくは、各ユーザが他のユーザとの間でメッセージ交換を行うために用いる端末装置である。また、本実施の形態では、メッセージから抽出されたキーワードやそのキーワードを用いた検索により得られた検索結果の表示も行う。尚、図では、2台のクライアントしか示していないが、3台以上のクライアントを設けてもよい。また、以下で、クライアント40a、40bを区別しない場合は、単に「クライアント40」ということもある。
ネットワーク80は、メッセージの交換に用いる通信手段である。このネットワーク80としては、インターネットやLAN(Local Area Network)が例示される。
ネットワーク80は、メッセージの交換に用いる通信手段である。このネットワーク80としては、インターネットやLAN(Local Area Network)が例示される。
これらの構成のうち、分析サーバ20で上記の第1の機能及び第2の機能を実現するので、ここで分析サーバ20の機能構成について説明する。
図5は、分析サーバ20の機能構成例を示したブロック図である。
図示するように、分析サーバ20は、テキスト取得部21と、キーワード抽出部22と、重要キーワード決定部23と、会話履歴記憶部24と、キーワードリスト記憶部25と、キーワードペア決定部26と、キーワードペアリスト記憶部27と、通信制御部28とを備えている。
図5は、分析サーバ20の機能構成例を示したブロック図である。
図示するように、分析サーバ20は、テキスト取得部21と、キーワード抽出部22と、重要キーワード決定部23と、会話履歴記憶部24と、キーワードリスト記憶部25と、キーワードペア決定部26と、キーワードペアリスト記憶部27と、通信制御部28とを備えている。
テキスト取得部21は、会話サーバ10から受け取ったメッセージからユーザ情報や日時情報等の付随情報を取り除き、テキスト(テキストデータ)のみを抜き出す。本実施の形態では、テキストデータを取得する取得部の一例として、テキスト取得部21を設けている。
キーワード抽出部22は、テキスト取得部21が抜き出したテキストに自然言語処理を適用して、複数のキーワードを抽出する。
キーワード抽出部22は、テキスト取得部21が抜き出したテキストに自然言語処理を適用して、複数のキーワードを抽出する。
重要キーワード決定部23は、キーワード抽出部22が抽出した複数のキーワードのうち、会話のコンテキストからみて特に重要と考えられる重要キーワードを決定する。本実施の形態では、複数のキーワードを抽出する抽出部の一例として、重要キーワード決定部23を設けている。
会話履歴記憶部24は、重要キーワード決定部23が重要キーワードを決定する際に参照する会話履歴を記憶する。
キーワードリスト記憶部25は、重要キーワード決定部23が現在の会話について処理する間、現在の会話における重要キーワードをその重みと共に記憶する。
会話履歴記憶部24は、重要キーワード決定部23が重要キーワードを決定する際に参照する会話履歴を記憶する。
キーワードリスト記憶部25は、重要キーワード決定部23が現在の会話について処理する間、現在の会話における重要キーワードをその重みと共に記憶する。
キーワードペア決定部26は、重要キーワード決定部23が決定した重要キーワードのペア(キーワードペア)のうち、相関するキーワードペアを、例えば通信制御部28を用いて検索サーバ30に問い合わせることで得られた頻度情報に基づいて決定する。本実施の形態では、キーワードペアを決定する決定部の一例として、キーワードペア決定部26を設けている。
キーワードペアリスト記憶部27は、キーワードペア決定部26が決定したキーワードペアをその相関値と共に記憶する。
通信制御部28は、キーワードペア決定部26がキーワードペアを決定する際に、検索サーバ30に対して問い合わせを行う。また、キーワードペア決定部26が決定したキーワードペアの情報を、会話を行っているユーザのクライアント40に送信する。更に、ユーザによりそのキーワードペアの中から所望のキーワードペアが選択されると、そのキーワードペアを検索サーバ30に送信し、検索サーバ30から検索結果を受信し、その検索結果をユーザのクライアント40に送信する。本実施の形態では、キーワードペアを提示する提示部の一例として、通信制御部28を設けている。
キーワードペアリスト記憶部27は、キーワードペア決定部26が決定したキーワードペアをその相関値と共に記憶する。
通信制御部28は、キーワードペア決定部26がキーワードペアを決定する際に、検索サーバ30に対して問い合わせを行う。また、キーワードペア決定部26が決定したキーワードペアの情報を、会話を行っているユーザのクライアント40に送信する。更に、ユーザによりそのキーワードペアの中から所望のキーワードペアが選択されると、そのキーワードペアを検索サーバ30に送信し、検索サーバ30から検索結果を受信し、その検索結果をユーザのクライアント40に送信する。本実施の形態では、キーワードペアを提示する提示部の一例として、通信制御部28を設けている。
次に、本実施の形態の動作について説明する。
まず、分析サーバ20のメインの動作について説明する。
図6は、分析サーバ20のメインの動作の例を示したフローチャートである。尚、ここでは、ユーザAが使用するクライアント40aとユーザBが使用するクライアント40bとの間で会話が行われており、ユーザAが、ユーザBの発言に関連する情報の取得を希望するユーザであるとする。また、この動作は、会話の開始から終了まで継続して行われる。
まず、分析サーバ20のメインの動作について説明する。
図6は、分析サーバ20のメインの動作の例を示したフローチャートである。尚、ここでは、ユーザAが使用するクライアント40aとユーザBが使用するクライアント40bとの間で会話が行われており、ユーザAが、ユーザBの発言に関連する情報の取得を希望するユーザであるとする。また、この動作は、会話の開始から終了まで継続して行われる。
テキスト取得部21は、クライアント40aとクライアント40bとの間で送受信されるメッセージを会話サーバ10から受け取り、ユーザA、Bの何れかが会話を終了したかどうかを判定する(ステップ221)。例えば、会話サーバ10から受け取ったメッセージに会話の終了を示す情報が含まれていれば、会話が終了したものと判定する。
その結果、会話が終了したと判定されれば、処理は終了するが、会話が終了したと判定されなければ、テキスト取得部21は、ユーザA、Bの何れかがテキストを入力したかどうかを判定する(ステップ222)。例えば、会話サーバ10から受け取ったメッセージにユーザ情報としてユーザA又はユーザBの識別情報が付加されており、かつ、メッセージが会話の内容に対応するテキストを含んでいれば、テキストが入力されたものと判定する。
ここで、テキストが入力されたと判定されなければ、ステップ222を繰り返す。即ち、テキストが入力されるまで待ち合わせる。一方、テキストが入力されたと判定されれば、テキスト取得部21は、そのテキストをキーワード抽出部22に受け渡し、キーワード抽出部22以降の処理部が、情報抽出処理を実行する(ステップ223)。
以下、このステップ223における情報抽出処理について詳細に説明する。
図7は、情報抽出処理の概略の流れを示したフローチャートである。
この情報抽出処理においては、まず、キーワード抽出部22が、テキスト取得部21が新たに取得したテキストからのキーワード抽出処理を実行する(ステップ241)。具体的には、対象のテキストに自然言語処理の技術を適用し、検索に有用と考えられるキーワードを抽出する。ここで、キーワードは、例えば、(動詞,“動く”)、(地名,“長野”)のように、カテゴリと文字列の組で表すようにするとよい。また、このキーワードの抽出の段階で、検索に不要なキーワードをフィルタリングしてもよい。例えば、(名詞,“物”)は一般的過ぎるため、キーワードとして抽出しないようにしてもよい。
図7は、情報抽出処理の概略の流れを示したフローチャートである。
この情報抽出処理においては、まず、キーワード抽出部22が、テキスト取得部21が新たに取得したテキストからのキーワード抽出処理を実行する(ステップ241)。具体的には、対象のテキストに自然言語処理の技術を適用し、検索に有用と考えられるキーワードを抽出する。ここで、キーワードは、例えば、(動詞,“動く”)、(地名,“長野”)のように、カテゴリと文字列の組で表すようにするとよい。また、このキーワードの抽出の段階で、検索に不要なキーワードをフィルタリングしてもよい。例えば、(名詞,“物”)は一般的過ぎるため、キーワードとして抽出しないようにしてもよい。
次に、重要キーワード決定部23が、キーワード抽出部22が抽出した複数のキーワードからの重要キーワード導出処理を実行する(ステップ242)。この処理の詳細については後述する。
更に、キーワードペア決定部26が、重要キーワード決定部23が導出した重要キーワードに基づくキーワードペア算出処理を実行する(ステップ243)。この処理の詳細についても後述する。
更に、キーワードペア決定部26が、重要キーワード決定部23が導出した重要キーワードに基づくキーワードペア算出処理を実行する(ステップ243)。この処理の詳細についても後述する。
まず、図7のステップ242における重要キーワード導出処理について説明する。
図8は、重要キーワード導出処理の流れを示したフローチャートである。
まず、重要キーワード決定部23は、新規に取得したキーワードがまだ残っているかを判定する(ステップ261)。即ち、図6のステップ222で今回入力されたと判定されたテキストからキーワード抽出部22が抽出したキーワードに対して以下の処理が行われるが、既にこの処理が行われることで未処理のキーワードがなくなっていないかをここで判定している。
その結果、キーワードが残っていない場合は処理を終了する。一方、キーワードが残っている場合は、その残っているキーワードの中から1つのキーワードKを取得し、現在の会話におけるそのキーワードの出現頻度F(K)を求める(ステップ262)。ここで、F(K)は、例えば、現在の会話におけるキーワードのKの出現総数を、現在の会話における全てのキーワードの出現総数で割った値を用いるとよい。
図8は、重要キーワード導出処理の流れを示したフローチャートである。
まず、重要キーワード決定部23は、新規に取得したキーワードがまだ残っているかを判定する(ステップ261)。即ち、図6のステップ222で今回入力されたと判定されたテキストからキーワード抽出部22が抽出したキーワードに対して以下の処理が行われるが、既にこの処理が行われることで未処理のキーワードがなくなっていないかをここで判定している。
その結果、キーワードが残っていない場合は処理を終了する。一方、キーワードが残っている場合は、その残っているキーワードの中から1つのキーワードKを取得し、現在の会話におけるそのキーワードの出現頻度F(K)を求める(ステップ262)。ここで、F(K)は、例えば、現在の会話におけるキーワードのKの出現総数を、現在の会話における全てのキーワードの出現総数で割った値を用いるとよい。
そして、重要キーワード決定部23は、ユーザBの過去の会話履歴が会話履歴記憶部24に記憶されているかどうかを判定する(ステップ263)。
ここで、ユーザBの会話履歴が会話履歴記憶部24に記憶されていると判定されれば、まず、そのユーザBの会話履歴の中でキーワードKが出現した直近の会話を特定する。次に、その特定された会話におけるキーワードKの重みW(K)を取り出す。そして、例えば、F(K)+α×W(K)を新しい重みWとする(ステップ264)。ここで、αとしては、先に述べたように、キーワードKが出現した直近の会話が、現在の会話からみてi回前の会話である場合に、iの増加に従って減少する減衰関数α(i)を用いるとよい。
一方、ユーザBの会話履歴が会話履歴記憶部24に記憶されていないと判定されれば、例えば、F(K)をそのままキーワードKの重みWとする(ステップ265)。
ここで、ユーザBの会話履歴が会話履歴記憶部24に記憶されていると判定されれば、まず、そのユーザBの会話履歴の中でキーワードKが出現した直近の会話を特定する。次に、その特定された会話におけるキーワードKの重みW(K)を取り出す。そして、例えば、F(K)+α×W(K)を新しい重みWとする(ステップ264)。ここで、αとしては、先に述べたように、キーワードKが出現した直近の会話が、現在の会話からみてi回前の会話である場合に、iの増加に従って減少する減衰関数α(i)を用いるとよい。
一方、ユーザBの会話履歴が会話履歴記憶部24に記憶されていないと判定されれば、例えば、F(K)をそのままキーワードKの重みWとする(ステップ265)。
その後、重要キーワード決定部23は、会話履歴記憶部24に記憶された会話履歴内のキーワードKに関するエントリを更新する(ステップ266)。具体的には、現在の会話を一意に識別する会話IDと、現在注目している発話者を一意に識別する発話者IDと、ステップ262で取得したキーワードと、ステップ264又はステップ265で決定した重みとを含むエントリを追加する。
また、重要キーワード決定部23は、キーワードリスト記憶部25に記憶されたキーワードリストを更新する(ステップ267)。例えば、まず、キーワードリスト記憶部25に記憶されたキーワードリストを読み込む。次に、今回ステップ262で取得したキーワードと、ステップ264又はステップ265で決定した重みとを、読み込んだキーワードリストに反映させて、重みの大きい順に上位N番目までのキーワードリストを新たに生成する。そして、これをキーワードリスト記憶部25に記憶する。
また、重要キーワード決定部23は、キーワードリスト記憶部25に記憶されたキーワードリストを更新する(ステップ267)。例えば、まず、キーワードリスト記憶部25に記憶されたキーワードリストを読み込む。次に、今回ステップ262で取得したキーワードと、ステップ264又はステップ265で決定した重みとを、読み込んだキーワードリストに反映させて、重みの大きい順に上位N番目までのキーワードリストを新たに生成する。そして、これをキーワードリスト記憶部25に記憶する。
ここで、会話履歴記憶部24に記憶される会話履歴について説明する。
図9は、会話履歴の一例を示した図である。
図示するように、会話履歴は、会話を一意に識別する会話IDと、発話者を一意に識別する発話者IDと、キーワードと、重みとを対応付けたものとなっている。尚、キーワードは、カテゴリと文字列とからなる場合もあるが、ここでは説明を簡略化するため、文字列のみとしている。この会話履歴に対しては、図6のステップ222でテキストの入力が検出され、図8のステップ262でそのテキストからキーワードが抽出される都度、ステップ266でそのキーワードに関するエントリが追加されていく。
図9は、会話履歴の一例を示した図である。
図示するように、会話履歴は、会話を一意に識別する会話IDと、発話者を一意に識別する発話者IDと、キーワードと、重みとを対応付けたものとなっている。尚、キーワードは、カテゴリと文字列とからなる場合もあるが、ここでは説明を簡略化するため、文字列のみとしている。この会話履歴に対しては、図6のステップ222でテキストの入力が検出され、図8のステップ262でそのテキストからキーワードが抽出される都度、ステップ266でそのキーワードに関するエントリが追加されていく。
この会話履歴において、例えば、キーワード「ハードディスク」に着目する。このキーワードの重みは、会話ID「001」では「3.3」であるが、会話ID「002」では「4.8」である。これは、前者の発話者がユーザAで、後者の発話者がユーザBであるからであり、発話者が異なれば同じキーワードであっても重みが違ってくることを意味している。また、図には示していないが、発話者ID、キーワードが同じであるのに、重みが異なる場合もある。これは、会話を行った時期によって、同じキーワードであっても重みが違ってくるからである。
また、キーワードリスト記憶部25に記憶されるキーワードリストについても説明する。
図10は、キーワードリストの一例を示した図である。
図示するように、キーワードリストは、キーワードと重みとを対応付けたものになっている。会話が開始された時点では、キーワードリストにキーワードと重みの対応は登録されていない。しかし、会話が進み、図8のステップ262でキーワードが取得されると、そのキーワードの重みが上位N番目までであれば、ステップ267でそのキーワードと重みの対応がキーワードリスト記憶部25に記憶される。
図10は、キーワードリストの一例を示した図である。
図示するように、キーワードリストは、キーワードと重みとを対応付けたものになっている。会話が開始された時点では、キーワードリストにキーワードと重みの対応は登録されていない。しかし、会話が進み、図8のステップ262でキーワードが取得されると、そのキーワードの重みが上位N番目までであれば、ステップ267でそのキーワードと重みの対応がキーワードリスト記憶部25に記憶される。
このキーワードリストにおいて、例えば、キーワード「ハードディスク」に着目する。このキーワードについて、今回の処理で重み「4.8」が算出されたとし、上位4番目までにランクしているとする(N=4の場合)。すると、図示するように、キーワード「ハードディスク」はキーワードリストに登録される。
尚、このキーワードリストに対しては、キーワード及び重みが重要キーワード決定部23により登録され、新たに追加されたキーワードがキーワードペア決定部26により特定される。従って、キーワードリストは、会話の開始から終了までの間だけ、重要キーワード決定部23及びキーワードペア決定部26から参照可能なメモリであるキーワードリスト記憶部25に保持しておけばよい。
尚、このキーワードリストに対しては、キーワード及び重みが重要キーワード決定部23により登録され、新たに追加されたキーワードがキーワードペア決定部26により特定される。従って、キーワードリストは、会話の開始から終了までの間だけ、重要キーワード決定部23及びキーワードペア決定部26から参照可能なメモリであるキーワードリスト記憶部25に保持しておけばよい。
次に、図7のステップ243におけるキーワードペア算出処理について説明する。
図11は、キーワードペア算出処理の流れを示したフローチャートである。
まず、キーワードペア決定部26は、現在の会話において既にこの処理が呼ばれているかどうかを判定する(ステップ281)。
その結果、この処理が一度も呼ばれていない、つまり、初めて呼ばれる場合は、この時点でキーワードリスト記憶部25のキーワードリストに含まれている全てのキーワードkw[i]と、それらのキーワードの全てのペア(kw[i],kw[j])とを検索機能に投入し、出現頻度f[i]及びf[i,j]を求める(ステップ282)。ここで、キーワードリストに含まれるキーワードの数をmとすると、i=1,2,…,m、j=1,2,…,m(i≠j)である。本実施の形態では、第1の頻度情報の一例として、出現頻度f[i]を用い、第2の頻度情報の一例として、出現頻度f[i,j]を用いている。尚、この処理は、会話開始直後に行われるので、mはまだそれほど大きな数でない。従って、出現頻度f[i]及びf[i,j]を求めるためのコストもそれほど大きなものにはならないと考えられる。
図11は、キーワードペア算出処理の流れを示したフローチャートである。
まず、キーワードペア決定部26は、現在の会話において既にこの処理が呼ばれているかどうかを判定する(ステップ281)。
その結果、この処理が一度も呼ばれていない、つまり、初めて呼ばれる場合は、この時点でキーワードリスト記憶部25のキーワードリストに含まれている全てのキーワードkw[i]と、それらのキーワードの全てのペア(kw[i],kw[j])とを検索機能に投入し、出現頻度f[i]及びf[i,j]を求める(ステップ282)。ここで、キーワードリストに含まれるキーワードの数をmとすると、i=1,2,…,m、j=1,2,…,m(i≠j)である。本実施の形態では、第1の頻度情報の一例として、出現頻度f[i]を用い、第2の頻度情報の一例として、出現頻度f[i,j]を用いている。尚、この処理は、会話開始直後に行われるので、mはまだそれほど大きな数でない。従って、出現頻度f[i]及びf[i,j]を求めるためのコストもそれほど大きなものにはならないと考えられる。
尚、ステップ282におけるキーワード及びキーワードペアの検索機能への投入は、通信制御部28を介して行えばよい。
また、ステップ282では、出現頻度f[i]が予め決めた頻度閾値を超えていないものは、f[i,j]を求める際の処理対象にしなくてもよい。本実施の形態では、第1の水準の一例として、頻度閾値を用いている。
また、ステップ282では、出現頻度f[i]が予め決めた頻度閾値を超えていないものは、f[i,j]を求める際の処理対象にしなくてもよい。本実施の形態では、第1の水準の一例として、頻度閾値を用いている。
一方、この処理が既に呼ばれている場合は、前回のこの処理の呼出し以降、今回のこの処理の呼出しまでに新たにキーワードリストに追加されたキーワードを検索機能に投入し、出現頻度を求める(ステップ283)。ここでは、この処理の呼出し時に既に相関値を計算済みのキーワードをkw[1],kw[2],…,kw[p]とし、新たに追加されたキーワードをkw[p+1],kw[p+2],…,kw[m]とする。この場合、ステップ283では、kw[p+1],kw[p+2],…,kw[m]を検索機能に投入して、出現頻度f[p+1],f[p+2],…,f[m]を求める。
尚、ステップ283におけるキーワードの検索機能への投入は、通信制御部28を介して行えばよい。
尚、ステップ283におけるキーワードの検索機能への投入は、通信制御部28を介して行えばよい。
次に、キーワードペア決定部26は、この処理の呼出し時に相関値を既に計算済みのキーワードと新たに追加されたキーワードのペア、及び、新たに追加されたキーワードどうしのペアについて、相関値が上位M番目までにはいる可能性があるかどうかを判定する(ステップ284)。この処理の呼出し時に既に相関値を計算済みのキーワードをkw[1],kw[2],…,kw[p]とし、新たに追加されたキーワードをkw[p+1],kw[p+2],…,kw[m]とすると、まず、キーワードペア(kw[i],kw[j])(i=1,2,…,p、j=p+1,p+2,…,m)についてこの判定を行う。また、キーワードペア(kw[i],kw[j])(i=p+1,p+2,…,m、j=p+1,p+2,…,m、i≠j)についても同じ判定を行う。つまり、ステップ283で求めた出現頻度f[i]とf[j]とから、max(1/f[i],1/f[j])を求める。一方で、キーワードペアリスト記憶部27のキーワードペアリスト内の相関値のうち、最も小さい相関値R(M)を求める(但し、R(M)は、ユーザに提示される相関値をf[ALL]で除したものとする)。そして、max(1/f[i],1/f[j])とR(M)を比較する。その結果、先に述べたように、R(M)が大きければ、キーワードペア(kw[i],kw[j])の相関値は、上位M番目に入り得ない。従って、検索機能に“kw[i] and kw[j]”を投入して検索する必要はない。本実施の形態では、第2の水準の一例として、R(M)を用いている。
尚、ステップ284では、ステップ283で求めた出現頻度f[i]のうち、予め決めた頻度閾値を超えていないものは、判定処理の対象から除外してもよい。本実施の形態では、第1の水準の一例として、頻度閾値を用いている。
尚、ステップ284では、ステップ283で求めた出現頻度f[i]のうち、予め決めた頻度閾値を超えていないものは、判定処理の対象から除外してもよい。本実施の形態では、第1の水準の一例として、頻度閾値を用いている。
その後、キーワードペア決定部26は、上位M番目に入る可能性があるキーワードのペア(kw[i],kw[j])について、検索機能に“kw[i] and kw[j]”の形式でクエリーを投入することで、出現頻度f[i,j]を取得する(ステップ285)。
尚、ステップ285におけるキーワードの検索機能への投入は、通信制御部28を介して行えばよい。
最後に、キーワードペア決定部26は、既に呼ばれたことがある場合もない場合も、上述した式を用いて、各キーワードペアについて相関値を求める。そして、上位M番目までの相関値をキーワードペアリスト記憶部27のキーワードペアリストに登録する(ステップ286)。尚、本実施の形態では、相関度の一例として、相関値を用いている。
尚、ステップ285におけるキーワードの検索機能への投入は、通信制御部28を介して行えばよい。
最後に、キーワードペア決定部26は、既に呼ばれたことがある場合もない場合も、上述した式を用いて、各キーワードペアについて相関値を求める。そして、上位M番目までの相関値をキーワードペアリスト記憶部27のキーワードペアリストに登録する(ステップ286)。尚、本実施の形態では、相関度の一例として、相関値を用いている。
ここで、キーワードペアリスト記憶部27に記憶されるキーワードペアリストについて説明する。
図12は、キーワードペアリストの一例を示した図である。
図示するように、キーワードペアリストは、キーワードペアと相関値とを対応付けたものになっている。例えば、キーワード「ハードディスク」とキーワード「電源」のペアの相関値は「10.5」であり、このキーワードペアリストの中では、最も相関の高いキーワードのペアとなっている。
図12は、キーワードペアリストの一例を示した図である。
図示するように、キーワードペアリストは、キーワードペアと相関値とを対応付けたものになっている。例えば、キーワード「ハードディスク」とキーワード「電源」のペアの相関値は「10.5」であり、このキーワードペアリストの中では、最も相関の高いキーワードのペアとなっている。
このように、本実施の形態では、検索機能に重要キーワードを投入して返されるヒット数に基づきキーワードペアを決定している。これにより、専用の検索インデックスを構築することなく、相関の高いキーワードペアを発見することができる。
また、これに加えて、キーワードペアを決定するのに用いるキーワードの集合として、会話を行っているユーザと関連の深い重要キーワードの集合を決定している。これにより、検索機能をパーソナライズすることも可能になっている。
また、これに加えて、キーワードペアを決定するのに用いるキーワードの集合として、会話を行っているユーザと関連の深い重要キーワードの集合を決定している。これにより、検索機能をパーソナライズすることも可能になっている。
また、キーワードペア決定部26が相関の高いキーワードペアを決定すると、通信制御部28が、ユーザAが使用するクライアント40aに対して、キーワードペアの情報を送信する。
これにより、クライアント40aにはキーワードペアの情報が表示される。この状態で、ユーザAがキーワードペアの中から所望のキーワードペアを選択したとする。
すると、通信制御部28が、この選択の情報を受信し、選択されたキーワードペアを検索機能に投入し、検索結果を得る。そして、クライアント40aに対して、この検索結果を送信する。
これにより、クライアント40aにはキーワードペアの情報が表示される。この状態で、ユーザAがキーワードペアの中から所望のキーワードペアを選択したとする。
すると、通信制御部28が、この選択の情報を受信し、選択されたキーワードペアを検索機能に投入し、検索結果を得る。そして、クライアント40aに対して、この検索結果を送信する。
尚、ここでは、ユーザAがキーワードペアを選択すると、このキーワードペアによる検索を改めて行うようにした。しかしながら、相関の高いキーワードペアを決定するために検索機能を用いて検索を行った際に、検索結果も記憶しておき、キーワードペアが選択されると、この記憶された検索結果のうち該当するものをクライアント40aに送信するようにしてもよい。
また、このとき、コンテキストを判断するために、キーワードが持つカテゴリの情報を用いてもよい。例えば、ある会話のテキストから抽出されたキーワードが(地名,“長野”)であったとする。この場合、検索機能が返す検索結果の各ページのテキストを言語処理することにより、地名として「長野」に言及しているページのみを返すことができる。こうすることで、検索用のキーワードが会話のコンテキストによりマッチするものとなるため、検索される情報の精度の向上が期待できる。
更に、キーワードは様々なカテゴリを含むため、検索用のキーワードのカテゴリに応じて最適な検索機能を選択することも可能である。例えば、キーワードが(地名,xxx)であれば、対象となる検索機能を、地図検索サービスとすればよい。
一般に、抽出されるキーワードごとに、カテゴリは異なる。従って、キーワードごとに対象となる検索機能を変更してもよい。或いは、キーワードの出現頻度ごとに重み付けして上位の検索機能から優先的に使用するようにしてもよい。
一般に、抽出されるキーワードごとに、カテゴリは異なる。従って、キーワードごとに対象となる検索機能を変更してもよい。或いは、キーワードの出現頻度ごとに重み付けして上位の検索機能から優先的に使用するようにしてもよい。
尚、ここでは、重要キーワードの導出やキーワードペアの決定の処理を分析サーバ20で行うこととしたが、上述したように、かかる処理は、どのコンピュータで行ってもよい。例えば、情報検索の主体であるユーザAが使用するクライアント40aにて行うようにしてもよい。この場合は、図示しない表示制御部が、キーワードペアをディスプレイに表示し、図示しない操作受付部が、キーワードペアの選択操作を受け付け、図示しない表示制御部が、検索結果をディスプレイに表示する構成となる。
ところで、過去の会話履歴を参照した重要キーワードの導出に関しては、これまで異なる会話間での重み付けのみを考えてきた。しかしながら、同じ会話における新しい発言と古い発言とで重み付けを変えることも考えられる。
以下、このような例について説明する。
ここでは、ユーザAとユーザBが会話をしているとし、そのテキストをT(A,B)とする。また、ユーザAとユーザBの過去の会話ログのテキストをHT(A,B)(1),HT(A,B)(2),…,HT(A,B)(n−1)とする。特に、HT(A,B)(n)=T(A,B)とする。i≦n−1のとき、過去の会話は終了しているため、HT(A,B)(i)の量が増えることはない。一方、HT(A,B)(n)、つまりT(A,B)の量は、現在チャットが進行中なので、増えていく。
以下、このような例について説明する。
ここでは、ユーザAとユーザBが会話をしているとし、そのテキストをT(A,B)とする。また、ユーザAとユーザBの過去の会話ログのテキストをHT(A,B)(1),HT(A,B)(2),…,HT(A,B)(n−1)とする。特に、HT(A,B)(n)=T(A,B)とする。i≦n−1のとき、過去の会話は終了しているため、HT(A,B)(i)の量が増えることはない。一方、HT(A,B)(n)、つまりT(A,B)の量は、現在チャットが進行中なので、増えていく。
ここで、各キーワードKに対して、T(A,B)とHT(A,B)(i)の時間に伴う重み付けを二重にとることを考える。
まず、T=HT(A,B)(i)を1つ固定する。そして、TにおけるユーザA、ユーザBの発言を、s(1),s(2),…,s(m)とする。即ち、T={s(1),s(2),…,s(m)}とする。このとき、キーワードKのT内での重み付けW(K,T,i)は、次のようになる。
まず、T=HT(A,B)(i)を1つ固定する。そして、TにおけるユーザA、ユーザBの発言を、s(1),s(2),…,s(m)とする。即ち、T={s(1),s(2),…,s(m)}とする。このとき、キーワードKのT内での重み付けW(K,T,i)は、次のようになる。
ここで、αは重み付けのための係数で、0<α<1とする。このように重み付けを定義することにより、時間が経過するほど、キーワードKに対する昔の発言の重みが小さくなっていくことになる。
次に、これをHT(A,B)(1),H(A,B)(2),…,HT(A,B)(n)の時系列を考慮した重み付けに拡張する。キーワードKのHT(A,B)(1),HT(A,B)(2),…,HT(A,B)(n)内での重み付けを以下のように定義する。
即ち、HT(A,B)(i)内で、W(K,T(A,B)(i),j)が最大になるようなjを1つ選び、j(i,K)とする。これは、HT(A,B)(i)(i<n)の記録時に予め求めておくことができる。
すると、会話ごとの重み付けW(K,i)は、次のようになる。
即ち、HT(A,B)(i)内で、W(K,T(A,B)(i),j)が最大になるようなjを1つ選び、j(i,K)とする。これは、HT(A,B)(i)(i<n)の記録時に予め求めておくことができる。
すると、会話ごとの重み付けW(K,i)は、次のようになる。
ここで、α(i)は重み付けのための関数で、(i−1)回目のチャットとi回目のチャットとの間の経過日数tの単調減少関数で、0<α(i)<1を満たすものである。例えば、α(i)=exp(−βt)(β>0)とするとよい。
以上述べたように、本実施の形態によれば、ユーザは会話を行うだけで、会話のコンテキストに見合った情報が自動的に取得される。特に、会話が続くにつれて、コンテキストにぶれが生じなくなるため、検索される情報も会話のコンテキストにより沿ったものとなる。
また、メッセージ送信時にリアルタイムで分析を行うため、会話を進めることで、より必要な情報が必要に応じて提供されるようになる。
また、メッセージ送信時にリアルタイムで分析を行うため、会話を進めることで、より必要な情報が必要に応じて提供されるようになる。
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図13は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図13において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
20…分析サーバ、21…テキスト取得部、22…キーワード抽出部、23…重要キーワード決定部、24…会話履歴記憶部、25…キーワードリスト記憶部、26…キーワードペア決定部、27…キーワードペアリスト記憶部、28…通信制御部
Claims (10)
- ネットワークを介した会話に関連する情報の検索を支援する装置であって、
前記会話のテキストデータを取得する取得部と、
前記取得部により取得された前記テキストデータから複数のキーワードを抽出する抽出部と、
前記複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、前記複数のキーワードを当該検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、前記検索のためのキーワードペアを決定する決定部と、
前記決定部により決定された前記キーワードペアを提示する提示部と
を備えた、装置。 - 前記第1の頻度情報は、前記複数のキーワードのうちの第1のキーワードを含む情報の件数を示す第1の値と、前記複数のキーワードのうちの第2のキーワードを含む情報の件数を示す第2の値とを含み、
前記第2の頻度情報は、前記第1のキーワードと前記第2のキーワードの両方を含む情報の件数を示す第3の値を含み、
前記決定部は、前記第1の値と前記第2の値と前記第3の値とを用いて算出された前記第1のキーワードと前記第2のキーワードとの相関度に基づいて、前記キーワードペアを決定する、請求項1の装置。 - 前記決定部は、前記第1の値及び前記第2の値の少なくとも何れか一方が第1の水準に達していない場合、前記第3の値を求めるために前記第1のキーワードと前記第2のキーワードのペアを前記検索機能に投入しない、請求項2の装置。
- 前記決定部は、前記第1のキーワードと前記第2のキーワードとの前記相関度が第2の水準に達する可能性があるかどうかを前記第3の値を得ることなく調査し、当該可能性がないと判定された場合、当該第1のキーワードと当該第2のキーワードのペアを前記検索機能に投入しない、請求項2の装置。
- 前記決定部は、前記第1の値及び前記第2の値の少なくとも何れか一方が第1の水準に達していない場合、前記第1のキーワードと前記第2のキーワードとの前記相関度が前記第2の水準に達する可能性があるかどうかを調査しない、請求項4の装置。
- 前記抽出部は、現在の会話のテキストデータにおける各キーワードの第1の出現頻度と、当該現在の会話を行っている少なくとも1人のユーザの過去の会話のテキストデータにおける各キーワードの第2の出現頻度とを用いて、前記複数のキーワードを抽出する、請求項1の装置。
- 前記抽出部は、前記第1の出現頻度に前記第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、当該複数の過去の会話にそれぞれ対応する複数の前記第2の出現頻度のうち近い過去の会話に対応する前記第2の出現頻度ほど高い重みを付与することにより得られた重要度に基づいて、前記複数のキーワードを抽出する、請求項6の装置。
- 前記抽出部は、前記第1の出現頻度に前記第2の出現頻度よりも高い重みを付与し、複数の過去の会話がある場合には、当該複数の過去の会話にそれぞれ対応する複数の前記第2の出現頻度に略同等の重みを付与することにより得られた重要度に基づいて、前記複数のキーワードを抽出する、請求項6の装置。
- ネットワークを介した会話に関連する情報の検索を支援する方法であって、
前記会話のテキストデータを取得するステップと、
取得された前記テキストデータから複数のキーワードを抽出するステップと、
前記複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、前記複数のキーワードを当該検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、前記検索のためのキーワードペアを決定するステップと、
決定された前記キーワードペアを提示するステップと
を含む、方法。 - ネットワークを介した会話に関連する情報の検索を支援する装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
前記会話のテキストデータを取得する取得部と、
前記取得部により取得された前記テキストデータから複数のキーワードを抽出する抽出部と、
前記複数のキーワードを検索機能に1つずつ投入して得られる第1の頻度情報と、前記複数のキーワードを当該検索機能に2つずつ投入して得られる第2の頻度情報とを用いて、前記検索のためのキーワードペアを決定する決定部と、
前記決定部により決定された前記キーワードペアを提示する提示部と
して機能させる、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238438A JP2009070180A (ja) | 2007-09-13 | 2007-09-13 | 情報の検索を支援する装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007238438A JP2009070180A (ja) | 2007-09-13 | 2007-09-13 | 情報の検索を支援する装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009070180A true JP2009070180A (ja) | 2009-04-02 |
Family
ID=40606351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007238438A Pending JP2009070180A (ja) | 2007-09-13 | 2007-09-13 | 情報の検索を支援する装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009070180A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011248409A (ja) * | 2010-05-21 | 2011-12-08 | Nippon Telegr & Teleph Corp <Ntt> | 重要語抽出装置とその方法とプログラム |
WO2013047512A1 (ja) * | 2011-09-26 | 2013-04-04 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP2013515328A (ja) * | 2010-03-16 | 2013-05-02 | エンパイア テクノロジー ディベロップメント エルエルシー | 検索エンジン推論ベースの仮想支援 |
JP2014164717A (ja) * | 2013-02-27 | 2014-09-08 | Sharp Corp | 情報提供装置、情報提供装置の情報提供方法、情報提供プログラム、記録媒体 |
JP2015095025A (ja) * | 2013-11-11 | 2015-05-18 | 株式会社 ミックウェア | 検索式作成装置、検索式作成方法、およびプログラム |
JP2016071849A (ja) * | 2014-09-23 | 2016-05-09 | ネイバー コーポレーションNAVER Corporation | メッセンジャの対話内容に基づいて推薦検索語を提供する方法とシステム、および記録媒体 |
JP2017010546A (ja) * | 2015-06-18 | 2017-01-12 | Line株式会社 | ソーシャルネットワークサービス基盤おすすめ情報提供装置、及びそれを利用した方法 |
WO2018061824A1 (ja) * | 2016-09-29 | 2018-04-05 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム記録媒体 |
CN110472198A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种关键词的确定方法、文本处理的方法及服务器 |
US11445351B2 (en) | 2020-09-15 | 2022-09-13 | Motorola Solutions, Inc. | System and method for keyword generation and distribution for use in accessing a communications device in emergency mode |
-
2007
- 2007-09-13 JP JP2007238438A patent/JP2009070180A/ja active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9201970B2 (en) | 2010-03-16 | 2015-12-01 | Empire Technology Development Llc | Search engine inference based virtual assistance |
JP2013515328A (ja) * | 2010-03-16 | 2013-05-02 | エンパイア テクノロジー ディベロップメント エルエルシー | 検索エンジン推論ベースの仮想支援 |
US10380206B2 (en) | 2010-03-16 | 2019-08-13 | Empire Technology Development Llc | Search engine inference based virtual assistance |
JP2011248409A (ja) * | 2010-05-21 | 2011-12-08 | Nippon Telegr & Teleph Corp <Ntt> | 重要語抽出装置とその方法とプログラム |
WO2013047512A1 (ja) * | 2011-09-26 | 2013-04-04 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
JP2014164717A (ja) * | 2013-02-27 | 2014-09-08 | Sharp Corp | 情報提供装置、情報提供装置の情報提供方法、情報提供プログラム、記録媒体 |
JP2015095025A (ja) * | 2013-11-11 | 2015-05-18 | 株式会社 ミックウェア | 検索式作成装置、検索式作成方法、およびプログラム |
JP2016071849A (ja) * | 2014-09-23 | 2016-05-09 | ネイバー コーポレーションNAVER Corporation | メッセンジャの対話内容に基づいて推薦検索語を提供する方法とシステム、および記録媒体 |
JP2017010546A (ja) * | 2015-06-18 | 2017-01-12 | Line株式会社 | ソーシャルネットワークサービス基盤おすすめ情報提供装置、及びそれを利用した方法 |
WO2018061824A1 (ja) * | 2016-09-29 | 2018-04-05 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム記録媒体 |
JPWO2018061824A1 (ja) * | 2016-09-29 | 2019-08-15 | 日本電気株式会社 | 情報処理装置、情報処理方法およびコンピュータ・プログラム |
US10950235B2 (en) | 2016-09-29 | 2021-03-16 | Nec Corporation | Information processing device, information processing method and program recording medium |
JP7028179B2 (ja) | 2016-09-29 | 2022-03-02 | 日本電気株式会社 | 情報処理装置、情報処理方法およびコンピュータ・プログラム |
CN110472198A (zh) * | 2018-05-10 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 一种关键词的确定方法、文本处理的方法及服务器 |
US11445351B2 (en) | 2020-09-15 | 2022-09-13 | Motorola Solutions, Inc. | System and method for keyword generation and distribution for use in accessing a communications device in emergency mode |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009070180A (ja) | 情報の検索を支援する装置及び方法 | |
KR101721338B1 (ko) | 검색 엔진 및 그의 구현 방법 | |
JP5340584B2 (ja) | 電子メッセージの読解を支援する装置及び方法 | |
JP5042799B2 (ja) | 音声チャットシステム、情報処理装置およびプログラム | |
US8898183B2 (en) | Enabling users searching for common subject matter on a computer network to communicate with one another | |
US9043199B1 (en) | Manner of pronunciation-influenced search results | |
US20070168445A1 (en) | Method and apparatus for storing and retrieving conversations in an instant messaging system | |
JP2005128873A (ja) | 質問応答型文書検索システム及び質問応答型文書検索プログラム | |
JPWO2010106642A1 (ja) | 検索処理方法及び装置 | |
JP4378131B2 (ja) | 情報処理装置、情報処理システムおよびデータベースの検索方法並びにプログラム | |
US10242033B2 (en) | Extrapolative search techniques | |
US10453477B2 (en) | Method and computer system for performing audio search on a social networking platform | |
WO2017136295A1 (en) | Adaptive seeded user labeling for identifying targeted content | |
JP5226241B2 (ja) | タグを付与する方法 | |
JP2012059182A (ja) | 検索クエリ推薦方法、検索クエリ推薦装置、検索クエリ推薦プログラム | |
JP6640519B2 (ja) | 情報分析装置及び情報分析方法 | |
WO2024049851A1 (en) | System and method for searching media or data based on contextual weighted keywords | |
JP2011060218A (ja) | 回答システム | |
JP2009163358A (ja) | 情報処理装置、情報処理方法、プログラムおよび音声チャットシステム | |
JP2010044507A (ja) | 人物とアバターとの類似度を判定する装置、方法及びプログラム | |
JP2006146824A (ja) | 情報表示方法、情報表示システム、中継装置、情報表示装置及びコンピュータプログラム | |
CN105740436B (zh) | 基于互联网搜索技术的文字作品推送方法和装置 | |
JP5397198B2 (ja) | 話題推薦装置、話題推薦装方法およびプログラム | |
CN113239278A (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
JP2000339322A (ja) | ユーザ属性特定方法、ユーザ属性特定装置、および、その方法を記録した記録媒体 |