(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157930
(43)【公開日】2024-11-08
(54)【発明の名称】知識データ生成装置及びプログラム
(51)【国際特許分類】
G06F 16/36 20190101AFI20241031BHJP
【FI】
G06F16/36
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023072607
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100121119
【弁理士】
【氏名又は名称】花村 泰伸
(72)【発明者】
【氏名】阿部 晋矢
(72)【発明者】
【氏名】小松 佑人
(72)【発明者】
【氏名】藤井 翔子
(72)【発明者】
【氏名】松村 欣司
(72)【発明者】
【氏名】藤沢 寛
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA01
5B175FA03
5B175GA04
5B175GB05
(57)【要約】
【課題】様々なコンテンツの連携を実現し、精度の高いコンテンツを提示するためのデータを生成する。
【解決手段】知識データ生成装置1の候補対選択部30は、階層データを用いて、キーワード等の間の距離を算出し、最短距離の対を候補対として選択する。重心位置算出部31は、候補対のスコアに基づいて重心位置Gを算出する。クラスタリング処理部32は、候補対の重心位置Gに偏りがあると判定した場合、重心位置Gから遠い候補を削除し、偏りがないと判定した場合、新たなクラスタを生成し、階層データを更新する。クラスタリング処理部32は、階層データに含まれるキーワード及びクラスタの数が1個に減少するまで前述の処理を繰り返し、クラスタリング結果を生成する。キーワード選択処理部23は、予め設定された制限数に応じて、クラスタリング結果からクラスタリング後のキーワードを選択し、知識データを生成する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
コンテンツに関するキーワードを求め、所望のコンテンツを検索する際に用いる知識データを生成する知識データ生成装置において、
前記コンテンツが複数種類のデータにより構成されるものとして、
前記複数種類のデータのそれぞれについて、当該データに応じた所定の処理にて文章の文字列を検出し、前記文章の文字列から前記キーワードを求めるデータ処理部と、
前記データ処理部により前記複数種類のデータについて求めた前記キーワードをスコア化し、同一のキーワード毎に、全ての前記所定の処理を統合したスコアを算出するスコア算出部と、
階層構造化された複数のワードから構成され、かつ前記データ処理部により求めた複数のキーワードを含む階層データを用いて、前記スコア算出部により算出された前記スコアに基づき、前記複数のキーワードのそれぞれについて当該キーワードを削除するか、クラスタを生成するか、または前記クラスタを削除するか、の階層クラスタリング処理を行い、前記階層データを構成する前記複数のキーワードを含む前記複数のワードから、クラスタリング後のキーワードを選択し、前記クラスタリング後のキーワードを含む前記知識データを生成するキーワード選択部と、
を備えたことを特徴とする知識データ生成装置。
【請求項2】
前記キーワード選択部は、
前記階層クラスタリング処理を行い、前記階層データに含まれる前記複数のキーワードから、前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする請求項1に記載の知識データ生成装置。
【請求項3】
前記キーワード選択部は、
前記階層クラスタリング処理を行い、前記階層データに含まれる前記複数のキーワードについての上位概念の複数のワードから、前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする請求項1に記載の知識データ生成装置。
【請求項4】
前記キーワード選択部は、
前記階層クラスタリング処理が行われた1または複数のキーワード及び1または複数のクラスタにおけるそれぞれの間の前記階層データ上の距離を算出し、前記距離が最短となる前記1または複数のキーワード及び前記1または複数のクラスタのうちの2つを候補対として選択する候補対選択部と、
前記候補対選択部により選択された前記候補対の前記スコアに基づいて、前記候補対の重心位置を算出する重心位置算出部と、
前記重心位置算出部により算出された前記重心位置に基づいて、前記候補対のうち当該重心位置から遠い方の候補を前記階層データから削除するか、または前記候補対をクラスタ化して新たなクラスタを生成するか、の前記階層クラスタリング処理を行い、前記階層データを更新し、
前記階層データ内に1つの前記キーワードまたは1つの前記クラスタが残るまで、前記候補対選択部による前記候補対を選択する処理、前記重心位置算出部による前記重心位置を算出する処理、及び前記階層クラスタリング処理を行って前記階層データを更新する処理を繰り返し、更新後の前記階層データに基づいてクラスタリング結果を求めるクラスタリング処理部と、
前記クラスタリング処理部により求めた前記クラスタリング結果から、前記クラスタリング後のキーワードを選択し、前記知識データを生成するキーワード選択処理部と、
を備えたことを特徴とする請求項1に記載の知識データ生成装置。
【請求項5】
前記クラスタリング処理部は、
前記階層クラスタリング処理を行う際に、
前記重心位置から前記候補対の一方までの第1距離を求めると共に、前記重心位置から前記候補対の他方までの第2距離を求め、
前記第1距離及び前記第2距離のうちの長い方が予め設定された第1設定値以上であり、かつ前記第1距離及び前記第2距離のうちの短い方が予め設定された第2設定値以下である場合、偏りがあると判定し、前記候補対のうち前記長い方に対応する候補を前記階層データから削除し、
前記長い方が前記第1設定値未満であるか、または前記短い方が前記第2設定値よりも大きい場合、偏りがないと判定し、前記候補対をクラスタ化して新たなクラスタを生成する、ことを特徴とする請求項4に記載の知識データ生成装置。
【請求項6】
前記キーワード選択処理部は、
予め設定された制限数に応じて、前記クラスタリング結果から前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする請求項4に記載の知識データ生成装置。
【請求項7】
コンテンツに関するキーワードを求め、所望のコンテンツを検索する際に用いる知識データを生成する知識データ生成装置を構成するコンピュータを、
前記コンテンツが複数種類のデータにより構成されるものとして、
前記複数種類のデータのそれぞれについて、当該データに応じた所定の処理にて文章の文字列を検出し、前記文章の文字列から前記キーワードを求めるデータ処理部、
前記データ処理部により前記複数種類のデータについて求めた前記キーワードをスコア化し、同一のキーワード毎に、全ての前記所定の処理を統合したスコアを算出するスコア算出部、及び、
階層構造化された複数のワードから構成され、かつ前記データ処理部により求めた複数のキーワードを含む階層データを用いて、前記スコア算出部により算出された前記スコアに基づき、前記複数のキーワードのそれぞれについて当該キーワードを削除するか、クラスタを生成するか、または前記クラスタを削除するか、の階層クラスタリング処理を行い、前記階層データを構成する前記複数のキーワードを含む前記複数のワードから、クラスタリング後のキーワードを選択し、前記クラスタリング後のキーワードを含む前記知識データを生成するキーワード選択部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツを検索するためのデータベースを生成する技術に関する。
【背景技術】
【0002】
従来、コンテンツ同士を意味的に結び付けることでコンテンツを連携させ、ユーザの所望するコンテンツを提示する技術の開発が進められている。コンテンツを連携させる技術とは、コンテンツ同士を繋げる技術である。
【0003】
例えば教育分野において、ユーザによる自発的な学習を補助するために、現在使用しているコンテンツに関連するコンテンツを提示する手法が開示されている(例えば、特許文献1及び非特許文献1を参照)。
【0004】
一般に、指導者がユーザの習熟度を完全にかつ適切に把握することは困難であり、ユーザ自身の習熟度に合わせて、ユーザの自発的な学習が求められる。一方で、学習に使用するコンテンツも電子教材の普及に伴い、多種多様なものが作られている。
【0005】
ユーザは、自学自習する際に、多様なコンテンツの中から自分に合ったものを検索する必要があり、習熟度に応じたコンテンツ検索方法が所望されていた。つまり、ユーザの自発的な学習を補助するために、現在の学習に使用しているコンテンツから、これに関連するコンテンツを提示することが可能な手法が所望されていた。
【0006】
このような手法の例として、特許文献1には、学習指導要領を元に学習領域を定め、その中から学年、教科及び教科書単元に基づいて、レコメンド教材のコンテンツをユーザへ提示する手法が開示されている。
【0007】
また、非特許文献1には、教科書に記載されている各単元の導入部に基づいて、学習順序及び学習系統を構造化し、構造化されたデータを用いてユーザに学習支援を行う手法が開示されている。
【0008】
このようなコンテンツ提示手法は、ユーザの学習に対する習熟度の差が大きいという状況を考慮したものである。例えば、一斉授業のような画一的な教育方法では、ユーザの習熟度に合った教育を提供することができないため、このコンテンツ提示手法が用いられる。
【0009】
一方で、コンテンツを連携させるためのキーワードを生成する手法が開示されている(例えば、非特許文献2,3を参照)。この手法は、画像、音声及び字幕を入力データとしてオブジェクトを抽出し、オブジェクトから算出したメタデータのリスト化及びスコア化を行い、スコアが最大のキーワードを選択するものである。
【先行技術文献】
【特許文献】
【0010】
【非特許文献】
【0011】
【非特許文献1】浦川真、宮崎勝、山田一郎、藤沢寛、“学習指導要領にもとづくコンテンツの体系化手法の研究”、人工知能学会第二種研究会資料、vol.2016、no.SWO-038、p.03、2016
【非特許文献2】小松佑人、藤井翔子、阿部晋矢、藤津智、松村欣司、藤沢寛、“コンテンツデータ連携のためのキーワード生成技術の開発”、一般社団法人情報処理学会、第21回情報科学技術フォーラム講演論文集(FIT2022)、No. 4、O-035、p. 387-388、2022
【非特許文献3】小松佑人、藤井翔子、阿部晋矢、藤津智、藤沢寛、“コンテンツデータ連携のためのコンテンツディスクリプション生成技術の開発”、一般社団法人映像情報メディア学会、2021年映像情報メディア学会冬季大会講演予稿集、32A-4、2021
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、前述の特許文献1に記載された学習指導要領を元にコンテンツを提示する手法、及び前述の非特許文献1に記載された学習順序を元にコンテンツを提示する手法では、ユーザは、現在の学習に使用しているコンテンツに関連するコンテンツとして、教材以外のコンテンツ(例えば放送番組コンテンツ)の提示を受けることが難しい。
【0013】
つまり、これらの手法では、学習指導要領等に関連する領域及びこれに近接した領域のコンテンツが提示されることとなり、提示されるコンテンツの領域が限定されてしまう。このため、ユーザは、学習のためのコンテンツの提示を受けることができるが、その効果は十分でないという問題があった。
【0014】
また、ユーザがコンテンツの提示を受けた後に、引き続きコンテンツの提示を受けるためには、データを入力し直す必要があり、人手及び作業時間のコストがかかってしまう。
【0015】
ここで、ユーザは、教材のコンテンツに加え、教材以外の例えば放送番組コンテンツの提示を受けることができれば、効果的な学習を実現できることが期待される。
【0016】
このような効果的な学習を実現するために、教材以外の様々な領域のコンテンツも提示可能とするデータベースの構築が必要となり、例えば前述の非特許文献2,3の手法を用いることが想定される。この手法により、キーワードを用いてコンテンツの連携を実現し、データベースを構築する。
【0017】
しかしながら、前述の非特許文献2,3の手法は、マルチモーダルな画像、音声及び字幕からオブジェクトをそれぞれ抽出してリスト化及びスコア化を行い、スコアが最大のキーワードを選択するものである。このため、選択したキーワードにはノイズを含むことがあり、必ずしも精度の高いキーワードを選択できるとは限らない。このようなキーワードを用いることで、コンテンツの連携が不十分となり、結果として、ユーザへ所望のコンテンツを提示するための効果的なデータベースを構築することができないという問題があった。
【0018】
このように、例えば教育分野だけでなく、教育以外の分野においても、現在使用しているコンテンツに関連するコンテンツを、様々な領域から検索して提示するためには、コンテンツ同士を連携させる効果的なデータベースを構築する必要がある。構築したデータベースを用いることにより、様々な領域のコンテンツの連携が実現され、ユーザは、精度の高い所望のコンテンツを検索することができる。以下、コンテンツ同士を連携するために用いるデータを「知識データ」という。
【0019】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、様々なコンテンツの連携を実現し、精度の高いコンテンツを提示するためのデータを生成する知識データ生成装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0020】
前記課題を解決するために、請求項1の知識データ生成装置は、コンテンツに関するキーワードを求め、所望のコンテンツを検索する際に用いる知識データを生成する知識データ生成装置において、前記コンテンツが複数種類のデータにより構成されるものとして、前記複数種類のデータのそれぞれについて、当該データに応じた所定の処理にて文章の文字列を検出し、前記文章の文字列から前記キーワードを求めるデータ処理部と、前記データ処理部により前記複数種類のデータについて求めた前記キーワードをスコア化し、同一のキーワード毎に、全ての前記所定の処理を統合したスコアを算出するスコア算出部と、階層構造化された複数のワードから構成され、かつ前記データ処理部により求めた複数のキーワードを含む階層データを用いて、前記スコア算出部により算出された前記スコアに基づき、前記複数のキーワードのそれぞれについて当該キーワードを削除するか、クラスタを生成するか、または前記クラスタを削除するか、の階層クラスタリング処理を行い、前記階層データを構成する前記複数のキーワードを含む前記複数のワードから、クラスタリング後のキーワードを選択し、前記クラスタリング後のキーワードを含む前記知識データを生成するキーワード選択部と、を備えたことを特徴とする。
【0021】
また、請求項2の知識データ生成装置は、請求項1に記載の知識データ生成装置において、前記キーワード選択部が、前記階層クラスタリング処理を行い、前記階層データに含まれる前記複数のキーワードから、前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする。
【0022】
また、請求項3の知識データ生成装置は、請求項1に記載の知識データ生成装置において、前記キーワード選択部が、前記階層クラスタリング処理を行い、前記階層データに含まれる前記複数のキーワードについての上位概念の複数のワードから、前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする。
【0023】
また、請求項4の知識データ生成装置は、請求項1に記載の知識データ生成装置において、前記キーワード選択部が、前記階層クラスタリング処理が行われた1または複数のキーワード及び1または複数のクラスタにおけるそれぞれの間の前記階層データ上の距離を算出し、前記距離が最短となる前記1または複数のキーワード及び前記1または複数のクラスタのうちの2つを候補対として選択する候補対選択部と、前記候補対選択部により選択された前記候補対の前記スコアに基づいて、前記候補対の重心位置を算出する重心位置算出部と、前記重心位置算出部により算出された前記重心位置に基づいて、前記候補対のうち当該重心位置から遠い方の候補を前記階層データから削除するか、または前記候補対をクラスタ化して新たなクラスタを生成するか、の前記階層クラスタリング処理を行い、前記階層データを更新し、前記階層データ内に1つの前記キーワードまたは1つの前記クラスタが残るまで、前記候補対選択部による前記候補対を選択する処理、前記重心位置算出部による前記重心位置を算出する処理、及び前記階層クラスタリング処理を行って前記階層データを更新する処理を繰り返し、更新後の前記階層データに基づいてクラスタリング結果を求めるクラスタリング処理部と、前記クラスタリング処理部により求めた前記クラスタリング結果から、前記クラスタリング後のキーワードを選択し、前記知識データを生成するキーワード選択処理部と、を備えたことを特徴とする。
【0024】
また、請求項5の知識データ生成装置は、請求項4に記載の知識データ生成装置において、前記クラスタリング処理部が、前記階層クラスタリング処理を行う際に、前記重心位置から前記候補対の一方までの第1距離を求めると共に、前記重心位置から前記候補対の他方までの第2距離を求め、前記第1距離及び前記第2距離のうちの長い方が予め設定された第1設定値以上であり、かつ前記第1距離及び前記第2距離のうちの短い方が予め設定された第2設定値以下である場合、偏りがあると判定し、前記候補対のうち前記長い方に対応する候補を前記階層データから削除し、前記長い方が前記第1設定値未満であるか、または前記短い方が前記第2設定値よりも大きい場合、偏りがないと判定し、前記候補対をクラスタ化して新たなクラスタを生成する、ことを特徴とする。
【0025】
また、請求項6の知識データ生成装置は、請求項4に記載の知識データ生成装置において、前記キーワード選択処理部が、予め設定された制限数に応じて、前記クラスタリング結果から前記クラスタリング後のキーワードを選択し、前記知識データを生成する、ことを特徴とする。
【0026】
さらに、請求項7のプログラムは、コンテンツに関するキーワードを求め、所望のコンテンツを検索する際に用いる知識データを生成する知識データ生成装置を構成するコンピュータを、前記コンテンツが複数種類のデータにより構成されるものとして、前記複数種類のデータのそれぞれについて、当該データに応じた所定の処理にて文章の文字列を検出し、前記文章の文字列から前記キーワードを求めるデータ処理部、前記データ処理部により前記複数種類のデータについて求めた前記キーワードをスコア化し、同一のキーワード毎に、全ての前記所定の処理を統合したスコアを算出するスコア算出部、及び、階層構造化された複数のワードから構成され、かつ前記データ処理部により求めた複数のキーワードを含む階層データを用いて、前記スコア算出部により算出された前記スコアに基づき、前記複数のキーワードのそれぞれについて当該キーワードを削除するか、クラスタを生成するか、または前記クラスタを削除するか、の階層クラスタリング処理を行い、前記階層データを構成する前記複数のキーワードを含む前記複数のワードから、クラスタリング後のキーワードを選択し、前記クラスタリング後のキーワードを含む前記知識データを生成するキーワード選択部として機能させることを特徴とする。
【発明の効果】
【0027】
以上のように、本発明によれば、様々なコンテンツの連携を実現し、精度の高いコンテンツを提示するためのデータを生成することができる。
【図面の簡単な説明】
【0028】
【
図1】本発明の実施形態による知識データ生成装置を用いた全体システムの概要を説明する図である。
【
図2】本発明の実施形態による知識データ生成装置の構成例を示すブロック図である。
【
図3】キーワード選択部の構成例を示すブロック図である。
【
図4】キーワード選択部の処理例を示すフローチャートである。
【
図5】階層クラスタリング処理の例(ステップS404)を示すフローチャートである。
【
図6】実施例1におけるスコア算出部によるスコア算出例を説明する図である。
【
図7】実施例1における階層データの例を示す図である。
【
図8】実施例1における開始時のキーワード間の距離を示す図である。
【
図9】「スキー」と「スノーボード」との間の重心位置を示す図である。
【
図10】「スキー」及び「スノーボード」のクラスタ化後における階層データの例を示す図である。
【
図11】更新後のキーワード及びクラスタにおける距離を示す図である。
【
図12】クラスタと「スケートボード」との間の重心位置を示す図である。
【
図13】偏りがあると判定した場合の「スケートボード」を削除する処理を説明する図である。
【
図14】「スケートボード」削除後の階層データの例を示す図である。
【
図15】実施例1における最終的なクラスタリング結果を示す図である。
【
図16】実施例2におけるスコア算出部のスコア算出例を説明する図である。
【
図17】実施例2における階層データの例を示す図である。
【
図18】実施例2における開始時のキーワード間の距離を示す図である。
【
図19】「加速度」と「加速度センサ」との間の重心位置を示す図である。
【
図20】「加速度」及び「加速度センサ」のクラスタ化後における階層データの例を示す図である。
【
図21】更新後のキーワード及びクラスタにおける距離を示す図である。
【
図22】クラスタと「重力」との間の重心位置を示す図である。
【
図23】「加速度」「加速度センサ」及び「重力」のクラスタ化後における階層データの例を示す図である。
【
図24】更新後のキーワード及びクラスタにおける距離を示す図である。
【
図25】「スマートフォン」とクラスタとの間の重心位置を示す図である。
【
図26】偏りがあると判定した場合の「スマートフォン」を削除する処理を説明する図である。
【
図27】実施例2における最終的なクラスタリング結果を示す図である。
【発明を実施するための形態】
【0029】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔本発明の概要〕
まず、本発明の概要について説明する。本発明は、コンテンツを構成するマルチモーダルなデータ、及び階層構造となるキーワードに関する知識データ(以下、「階層データ」という。)を用いて、コンテンツとその他の様々なコンテンツとの間を繋げるために用いる知識データを生成するものである。
【0030】
図1は、本発明の実施形態による知識データ生成装置を用いた全体システムの概要を説明する図である。このシステムは、知識データ生成装置1、所定分野の領域のデータベース(DB)からなる外部データ2-1、図書館データ(図書館が管理しているデータ)のコンテンツからなる外部データ2-2、及び博物館データ(博物館が管理しているデータ)のコンテンツからなる外部データ2-3等、番組情報の放送番組コンテンツからなる放送局データ3-1、及びニュースの放送番組コンテンツからなる放送局データ3-2等、並びに、ユーザ端末4-1,4-2,4-3等を備えて構成される。
【0031】
知識データ生成装置1は、例えば放送局データ3-1から、放送番組コンテンツを構成する音声データ、画像データ及び字幕データを入力すると共に、外部データ2-1,2-2,2-3等から階層データを入力する。階層データの例としては、以下のWEBサイトを参照されたい。
“Wikidata”、[online]、[令和5年2月21日検索]、インターネット<URL:https://www.wikidata.org/wiki/Wikidata:Main_Page>
【0032】
ここで、階層データ、すなわち階層構造となるキーワードに関する知識データは、複数のワードが意味の観点から階層構造化されており、上位概念のワードから下位概念のワードへと木構造に構成されたワード群からなる。外部データ2-1,2-2,2-3等は、階層データを保持しているものとする。
【0033】
知識データ生成装置1は、音声データ、画像データ及び字幕データからなるマルチモーダルな複数種類のデータ、並びに階層データを用いて、当該放送番組コンテンツを表す最適な意味合いの語彙をキーワードとして求める。そして、知識データ生成装置1は、当該放送番組コンテンツを識別するための情報(識別情報)等のコンテンツ情報、及びキーワードからなる知識データを生成する。
【0034】
知識データ生成装置1は、放送局データ3-1,3-2等、外部データ2-1,2-2,2-3等から取得したデータを用いてキーワードを求め、知識データを生成することで、知識データのDBを構築する。
【0035】
ユーザ端末4-1,4-2,4-3等を操作するユーザは、例えば放送局データ3-1における健康番組の放送番組コンテンツを視聴しているときに、当該放送番組コンテンツから選定したキーワードにより、知識データのDBを用いた検索を行う。
【0036】
例えば、ユーザ端末4-1を操作するユーザは、「DNA診断」に関連するコンテンツの取得を希望する場合、知識データのDBを用いた検索が行われることで、放送局データ3-2から「がんのDNA診断」のコンテンツ等を取得する。また、ユーザ端末4-2を操作するユーザは、放送局データ3-1から「生物DNAの構造」のコンテンツ、外部データ2-3から「人体II遺伝子」のコンテンツ等を取得する。
【0037】
このように、知識データを用いることで、様々な分野のコンテンツ(外部データ2-1,2-2,2-3等及び放送局データ3-1,3-2等のコンテンツ)を繋げることができ、ユーザに対し、所望のコンテンツをレコメンドすることができる。また、ユーザの興味関心を広げた形で、コンテンツを提示することができる。
【0038】
つまり、知識データ生成装置1により、様々なコンテンツの連携を実現し、精度の高いコンテンツを提示するための知識データを生成することができる。以下、外部データ2-1,2-2,2-3等を総称して外部データ2といい、放送局データ3-1,3-2等を総称して放送局データ3という。
【0039】
〔知識データ生成装置1〕
次に、知識データ生成装置1について説明する。
図2は、本発明の実施形態による知識データ生成装置1の構成例を示すブロック図である。
【0040】
この知識データ生成装置1は、入力部10、データ処理部11、メモリ12、スコア算出部13及びキーワード選択部14を備えている。データ処理部11は、音声処理部111、画像物体処理部112、画像文字処理部113及び字幕処理部114を備えている。
【0041】
知識データ生成装置1は、コンテンツに含まれる画像データだけでなく、音声データ及び字幕データ、並びに階層データを用いて、コンテンツを表す最適な意味合いの語彙をキーワードとして求める。
【0042】
入力部10は、外部データ2及び放送局データ3のうち例えば放送局データ3から、放送番組コンテンツを識別するための情報等のコンテンツ情報、及び放送番組コンテンツのデータ(音声データ、画像データ及び字幕データ)を入力する。そして、入力部10は、コンテンツ情報をキーワード選択部14に出力する。
【0043】
入力部10は、放送番組コンテンツのデータから音声データ、画像データ及び字幕データを抽出し、これらのデータをデータ処理部11に出力する。具体的には、入力部10は、音声データを音声処理部111に、画像データを画像物体処理部112及び画像文字処理部113に、字幕データを字幕処理部114にそれぞれ出力する。
【0044】
データ処理部11は、入力部10から音声データ、画像データ及び字幕データを入力し、当該放送番組コンテンツの動画像のフレーム毎に、これらのマルチモーダルなデータを用いて、当該放送番組コンテンツに対するキーワードを求め、フレーム毎のキーワードをメモリ12に格納する。
【0045】
具体的には、音声処理部111は、入力部10から音声データを入力し、フレーム毎に、当該音声データに対して音声認識処理を施すことで、音声についての文章の文字列を検出し、検出された文章の文字列からキーワードを求める。そして、音声処理部111は、音声認識処理により求めたキーワードをメモリ12に格納する。音声データに対する音声認識処理にてキーワードを求める処理は既知であるため、ここでは詳細な説明を省略する。
【0046】
画像物体処理部112は、入力部10から画像データを入力し、フレーム毎に、当該画像データに対して物体認識処理を施すことで、物体を含む領域を検出し、当該領域から物体の名称を含む文章の文字列を検出し、検出された文章の文字列からキーワードを求める。例えば物体が「自動車」の場合、物体の名称を含む文章の文字列として「自動車が走っています。」等が検出される。そして、画像物体処理部112は、画像データに対する物体認識処理により求めたキーワードをメモリ12に格納する。画像データに対する物体認識処理にてキーワードを求める処理は既知であるため、ここでは詳細な説明を省略する。
【0047】
画像文字処理部113は、入力部10から画像データを入力し、フレーム毎に、画像データに対して文字認識処理及び形態素解析処理を施すことで、文字を含む文章の文字列を検出し、検出された文章の文字列からキーワードを求める。そして、画像文字処理部113は、画像データに対する文字認識処理及び形態素解析処理により求めたキーワードをメモリ12に格納する。画像データに対する文字認識処理及び形態素解析処理にてキーワードを求める処理は既知であるため、ここでは詳細な説明を省略する。
【0048】
字幕処理部114は、入力部10から字幕データを入力し、フレーム毎に、字幕データに対して形態素解析処理を施すことで、字幕についての文章の文字列を検出し、検出された文章の文字列からキーワードを求める。そして、字幕処理部114は、字幕データに対する形態素解析処理により求めたキーワードをメモリ12に格納する。字幕データに対する形態素解析処理にてキーワードを求める処理は既知であるため、ここでは詳細な説明を省略する。
【0049】
これにより、メモリ12には、放送番組コンテンツの動画像のフレーム毎に、音声データに対する音声認識処理(以下、「音声認識処理」という。)、画像データに対する物体認識処理、画像データに対する文字認識処理等、及び字幕データに対する形態素解析処理(以下、「字幕解析処理」という。)により得られたそれぞれのキーワードが、リスト化された状態で格納される。
【0050】
スコア算出部13は、メモリ12から、フレーム毎に、音声認識処理、画像データからの物体認識処理、画像データからの文字認識処理等、及び字幕解析処理により得られたそれぞれのキーワードを読み出す。また、スコア算出部13は、音声認識処理、画像データからの物体認識処理、画像データからの文字認識処理等、及び字幕解析処理についての重み(処理毎の重み)を入力する。処理毎の重みは予め設定され、ユーザの操作により変更することができる。
【0051】
スコア算出部13は、1フレームにつき、同一のキーワード毎に、音声認識処理、画像データからの物体認識処理、画像データからの文字認識処理等、及び字幕解析処理のそれぞれについて、当該キーワードの個数をカウントする。そして、スコア算出部13は、同一のキーワード毎に、各処理のカウント値に重みを乗算することで、各処理の乗算結果を求め、各処理の乗算結果を加算(マージ)することで、各処理を統合した1フレームのスコアを求める。スコア算出部13は、求めたスコアをメモリ12に格納する。スコア算出部13によるスコア算出例については後述する。
【0052】
スコア算出部13は、後述する実施例1において、同一のキーワード毎に、1フレームのスコアをメモリ12に格納する。
【0053】
また、スコア算出部13は、後述する実施例2において、同一のキーワード毎に、予め設定されたN個の連続するフレームのスコアを加算することで、Nフレーム(N個の連続するフレーム)のスコアを求める。Nは、2以上の整数である。スコア算出部13は、同一のキーワード毎に、Nフレームのスコアを、メモリ12に格納する。
【0054】
キーワード選択部14は、入力部10からコンテンツ情報を入力すると共に、メモリ12からスコアが0よりも大きい全ての(複数の)キーワードと、キーワード毎のスコアとを読み出し、外部データ2から階層データを入力する。ここで、階層データを構成する複数のワードには、メモリ12から読み出された複数のキーワードが含まれるものとする(例えば後述する
図7において、階層データには、*が付されたキーワードが含まれる)。
【0055】
キーワード選択部14は、階層データに含まれる複数のキーワードについて階層クラスタリング処理を行い、階層データを構成する複数のワード(複数のキーワードを含む)から階層クラスタリング処理されたキーワード(以下、クラスタリング後のキーワード)を選択する。キーワード選択部14による階層クラスタリング処理の詳細については後述する。
【0056】
この場合、キーワード選択部14は、階層データに含まれる複数のキーワードから(メモリ12から読み出した複数のキーワードから)、クラスタリング後のキーワードを選択するようにしてもよい。また、キーワード選択部14は、階層データに含まれる複数のキーワードのそれぞれについての上位概念のワードから(複数のキーワード以外のワードから)、クラスタリング後のキーワードを選択するようにしてもよい。また、キーワード選択部14は、階層データに含まれる複数のキーワード、及び階層データに含まれる複数のキーワードのそれぞれについての上位概念のワードから、クラスタリング後のキーワードを選択するようにしてもよい。
【0057】
キーワード選択部14は、コンテンツ情報及びクラスタリング後のキーワードを知識データとして出力することで、図示しないメモリに格納する。
【0058】
(キーワード選択部14)
次に、
図2に示したキーワード選択部14について詳細に説明する。
図3は、キーワード選択部14の構成例を示すブロック図である。
【0059】
このキーワード選択部14は、入力処理部20、メモリ21、クラスタリング部22及びキーワード選択処理部23を備えている。クラスタリング部22は、候補対選択部30、重心位置算出部31及びクラスタリング処理部32を備えている。
【0060】
入力処理部20は、入力部10からコンテンツ情報を入力し、メモリ12から、スコアが0よりも大きい複数のキーワードと共に、キーワード毎のスコアを読み出し、外部データ2から階層データを入力する。後述する実施例1においては、メモリ12から、複数のキーワードと共に、キーワード毎の1フレームのスコアが読み出され、実施例2においては、複数のキーワードと共に、キーワード毎のNフレームの合計スコアが読み出される。
【0061】
入力処理部20は、入力した階層データに含まれる階層構造化された全てのワードから、入力した複数のキーワードのそれぞれを特定する。そして、入力処理部20は、階層データにおいて、特定された複数のキーワード、及び当該キーワードから上流側へ辿ったときの全ての上位概念のワードからなる新たな階層データを構成する(例えば後述する
図7及び
図17を参照。
図7及び
図17において、*が付されたワードはキーワードであり、それ以外のワードは上位概念のワードである。)。
【0062】
入力処理部20は、コンテンツ情報、複数のキーワード及びキーワード毎のスコア、並びに新たに構成した階層データをメモリ21に格納する。
【0063】
クラスタリング部22は、メモリ21から、階層データ、並びに複数のキーワード及びキーワード毎のスコアを読み出す。そして、クラスタリング部22は、階層データを用いて、キーワード毎のスコアに基づき、複数のキーワードのそれぞれにつき階層クラスタリング処理を行う。クラスタリング部22は、階層クラスタリング処理において、キーワードを削除するか、クラスタを生成するか、またはクラスタを削除する。
【0064】
ここで、クラスタとは、2以上のキーワードの組をいう。クラスタリング部22は、階層クラスタリング処理を行うことで、階層データを更新し、クラスタリング結果を生成する。クラスタリング部22は、階層データの更新に伴い、更新後の階層データをメモリ21に格納する。クラスタリング部22は、クラスタリング結果をキーワード選択処理部23に出力する。クラスタリング部22において、階層クラスタリング処理は、候補対選択部30、重心位置算出部31及びクラスタリング処理部32により行われる。
【0065】
候補対選択部30は、階層データ(入力処理部20により格納された元の階層データ、または更新後の階層データ)を入力する。そして、候補対選択部30は、階層データに含まれる1または複数のキーワード及び1または複数のクラスタにおけるそれぞれの間の階層データ上の距離を算出する。これにより、2つのキーワード間の距離、キーワードとクラスタとの間の距離、及び/または2つのクラスタ間の距離が算出される。
【0066】
そして、候補対選択部30は、算出したそれぞれの距離のうち、最短距離のノード(キーワードまたはクラスタ)の対を候補対として選択し、候補対を重心位置算出部31に出力する。候補対選択部30により選択される候補対は、2つのキーワード、1つのキーワード及び1つのクラスタ、並びに2つのクラスタのうちのいずれかである。
【0067】
重心位置算出部31は、階層データ、並びに複数のキーワード及びキーワード毎のスコアを入力すると共に、候補対選択部30から候補対を入力する。そして、重心位置算出部31は、候補対(における2つのノード)のそれぞれのスコアに基づいて、スコアが高い場合は近くなり、スコアが低い場合は遠くなるように、候補対の重心位置Gを算出する。重心位置算出部31は、候補対及び重心位置Gをクラスタリング処理部32に出力する。
【0068】
クラスタリング処理部32は、階層データを入力すると共に、重心位置算出部31から候補対及び重心位置Gを入力する。クラスタリング処理部32は、候補対の重心位置Gに偏りがあるか否かを判定し、重心位置Gの偏りの有無に応じて階層データを更新し、更新後の階層データをメモリ21に格納する。
【0069】
クラスタリング処理部32は、階層データが更新により、含まれるキーワード及びクラスタの数が1個になったら、このワード(1個のキーワードまたは1個のクラスタを含む)を用いて、クラスタリング結果を生成し、クラスタリング結果をキーワード選択処理部23に出力する。
【0070】
キーワード選択処理部23は、クラスタリング部22からクラスタリング結果を入力すると共に、予め設定された制限数を入力し、さらに、メモリ21からコンテンツ情報を読み出す。そして、キーワード選択処理部23は、制限数に応じて、クラスタリング結果から1または複数のクラスタリング後のキーワードを選択する。
【0071】
キーワード選択処理部23は、実施例1においては当該1フレームを特定するための情報、実施例2においては当該Nフレームを特定するための情報を、コンテンツ情報に追加する。
【0072】
キーワード選択部14の処理について詳細に説明する。
図4は、キーワード選択部14の処理例を示すフローチャートである。
【0073】
入力処理部20は、入力部10からコンテンツ情報を入力し(ステップS401)、メモリ12から、スコアが0よりも大きい複数のキーワードと共に、キーワード毎のスコアを読み出し(ステップS402)、外部データ2から階層データを入力する(ステップS403)。
【0074】
クラスタリング部22は、メモリ21から、階層データ、並びに複数のキーワード及びキーワード毎のスコアを読み出し、階層データを用いて、キーワード毎のスコアに基づき、複数のキーワードのそれぞれにつき階層クラスタリング処理を行うことで、階層データを更新し、クラスタリング結果を生成する(ステップS404)。
【0075】
キーワード選択処理部23は、クラスタリング部22からクラスタリング結果及び予め設定された制限数を入力し、制限数に応じて、クラスタリング結果から1または複数のクラスタリング後のキーワードを選択する(ステップS405)。
【0076】
キーワード選択部14は、コンテンツ情報及びクラスタリング後のキーワードを知識データとして出力する(ステップS406)。
【0077】
(階層クラスタリング処理:ステップS404)
次に、
図4のステップS404の階層クラスタリング処理の詳細について説明する。
図5は、階層クラスタリング処理の例(ステップS404)を示すフローチャートである。前述のとおり、階層クラスタリング処理は、
図3に示したクラスタリング部22の候補対選択部30、重心位置算出部31及びクラスタリング処理部32により行われる。
【0078】
クラスタリング部22は、メモリ21から、階層データ、並びに複数のキーワード及びキーワード毎のスコアを読み出す(ステップS501)。そして、クラスタリング部22は、後述するステップS502~S509により、階層データに含まれるキーワード及びクラスタの数が1個に減少するまで、キーワード毎のスコアに基づいて、キーワードを削除するか、クラスタを生成するか、またはクラスタを削除するか、の階層クラスタリング処理を行い、階層データを更新し、クラスタリング結果を生成して出力する。
【0079】
クラスタリング処理部32は、階層データに含まれるキーワード及びクラスタの数(合計数)が1個であるか否かを判定する(ステップS502)。
【0080】
クラスタリング処理部32は、階層データに含まれるキーワード及びクラスタの数が1個でない(2個以上である)と判定した場合(ステップS502:N)、ステップS503へ移行する。一方、クラスタリング処理部32は、階層データに含まれるキーワード及びクラスタの数が1個であると判定した場合(ステップS502:Y)、ステップS509へ移行する。
【0081】
候補対選択部30は、ステップS502(N)から移行して、階層データ(入力処理部20により格納された元の階層データ、または更新後の階層データ)を入力する。そして、候補対選択部30は、階層データに含まれる1または複数のキーワード及び1または複数のクラスタにおけるそれぞれの間の階層データ上の距離を算出する(ステップS503)。
【0082】
そして、候補対選択部30は、ステップS503にて算出したそれぞれの距離のうち、最短距離のノードの対を候補対として選択する(ステップS504)。
【0083】
重心位置算出部31は、候補対選択部30から候補対を入力し、候補対(における2つのノード)のそれぞれのスコアに基づいて、スコアが高い場合は近くなり、スコアが低い場合は遠くなるように、候補対の重心位置Gを算出する(ステップS505)。
【0084】
クラスタリング処理部32は、重心位置算出部31から候補対及び重心位置Gを入力し、候補対の一方と重心位置Gとの間の距離、及び候補対の他方と重心位置Gとの間の距離に基づいて、候補対の重心位置Gに偏りがあるか否かを判定する(ステップS506)。
【0085】
クラスタリング処理部32は、ステップS506において、重心位置Gに偏りがあると判定した場合(ステップS506:Y)、階層データから、候補対のうち重心位置Gから遠い候補(キーワードまたはノード)を削除し(ステップS507)、ステップS502へ移行する。重心位置Gに偏りがある場合の重心位置Gから遠い位置に存在する候補は、実際に選択される放送番組コンテンツのキーワードとして不適当と考えられるため、削除される。この場合、クラスタリング処理部32は、階層データを更新し、更新後の階層データをメモリ21に格納する。
【0086】
一方、クラスタリング処理部32は、ステップS506において、重心位置Gに偏りがないと判定した場合(ステップS506:N)、候補対をクラスタ化して新たなクラスタを生成し(ステップS508)、ステップS502へ移行する。この場合も、クラスタリング処理部32は、階層データを更新し、更新後の階層データをメモリ21に格納する。ステップS507,S508によりメモリ21に格納された階層データは、次のステップS503等の処理に用いられる。
【0087】
ステップS503~S508により行われる階層データの更新処理は、ステップS502において、キーワード及びクラスタの数が1個に減少するまで、繰り返し行われる。
【0088】
クラスタリング処理部32は、ステップS502(Y)から移行して、更新後の階層データに含まれるワード(1個のキーワードまたは1個のクラスタを含む)を用いて、クラスタリング結果を生成し、クラスタリング結果をキーワード選択処理部23に出力する(ステップS509)。
【0089】
そして、前述のとおりキーワード選択処理部23により、予め設定された制限数に応じて、クラスタリング結果からクラスタリング後のキーワードが選択される。
【0090】
〔実施例1〕
次に、
図2に示した知識データ生成装置1による実施例1の処理について説明する。実施例1は、放送番組コンテンツの動画像について、マルチモーダルなデータから同一のキーワード毎に1フレームのスコアを求め、階層データのクラスタリングにより任意の制限数に応じたキーワードを選択し、知識データを生成する。
【0091】
ここで、前述のとおり、知識データ生成装置1は、スコア算出部13が、同一のキーワード毎に1フレームのスコアをメモリ12に格納する。これにより、メモリ12には、
図6に示すとおり、同一のキーワード毎の1フレームのスコア(キーワード毎の各処理につき合計したスコア)が格納される。
【0092】
図6は、実施例1におけるスコア算出部13によるスコア算出例を説明する図である。音声認識処理の重みとして0.5、画像データからの物体認識処理の重みとして0.8、画像データからの文字認識処理等の重みとして0.7、字幕解析処理の重みとして0.9が予め設定されているものとする。
【0093】
また、音声処理部111により、1個の「スノーボード」のキーワード等が生成され、画像物体処理部112により、2個の「スキー」、1個の「スケートボード」及び1個の「卓球」のキーワード等が生成されたものとする。例えば画像データに、2人がスキーをしている状態が表れている場合、画像物体処理部112は、2個の「スキー」のキーワードを求めることとなる。さらに、画像文字処理部113により、1個の「スキー」のキーワード等が生成され、字幕処理部114により、1個の「スキー」のキーワードが生成されたものとする。
【0094】
この場合、スコア算出部13により、「スキー」のキーワードについて、画像データからの物体認識処理により得られたキーワードの数である2個に、画像データからの物体認識処理の重みである0.8が乗算されることで、画像データからの物体認識処理のスコアとして1.6が得られる。また、スコア算出部13により、「スキー」のキーワードについて、画像データからの文字認識処理等により得られたキーワードの数である1個に、画像データからの文字認識処理等の重みである0.7が乗算されることで、画像データからの文字認識処理等のスコアとして0.7が得られる。さらに、スコア算出部13により、「スキー」のキーワードについて、文字解析処理により得られたキーワードの数である1個に、文字解析処理の重みである0.9が乗算されることで、文字解析処理のスコアとして0.9が得られる。
【0095】
そして、スコア算出部13により、これらのスコア1.6,0.7,0.9が加算されることで、「スキー」のキーワードについて、1フレームのスコアとして3.2が得られる。
【0096】
同様に、スコア算出部13により、「スノーボード」のキーワードについて、1フレームのスコアとして0.5が得られ、「スケートボード」「卓球」のキーワードについて、1フレームのスコアとして0.8が得られる。
【0097】
尚、「ボール」等のキーワードについては、1フレームのスコアは0である。これらのキーワードは、メモリ12に予め設定されたものである。
【0098】
以下、
図3に示したキーワード選択部14の処理について説明する。キーワード選択部14において、メモリ21には、コンテンツ情報、
図6に示した複数のキーワード(スコアが0よりも大きい複数のキーワード)及びキーワード毎の1フレームのスコア、並びに、後述する
図7に示す階層データが格納されているものとする。
【0099】
図7は、実施例1における階層データの例を示す図である。この階層データは、
図3に示した入力処理部20により、元の階層データにおいて複数のキーワード(音声データ等から求めた複数のキーワード)が特定され、複数のキーワード及び当該キーワードから上流側へ辿ったときの全ての上位概念のワードからなる階層構造化されたデータ群である。
【0100】
複数のキーワードは、*で示した「卓球」「スキー」「スノーボード」及び「スケートボード」である。また、「卓球」の上位概念のワードは「球技」であり、「スキー」及び「スノーボード」の上位概念のワードは「ウィンタースポーツ」であり、「スケートボード」の上位概念のワードは「ローラースポーツ」である。また、これらの上位概念のワードについて、さらに上位概念のワードは「スポーツ」である。
【0101】
つまり、この階層データは、最上流の概念である「スポーツ」のワードから、最下流の複数のキーワード「卓球」等までの階層構造化されたデータ群である。
【0102】
階層クラスタリング処理は、
図7に示した階層データを用いて、キーワードを含むワード間のエッジを距離とし、キーワード毎のスコアを重みとして行われる。尚、エッジの重みは、説明の便宜上1とするが、他の値を用いてもよい。
【0103】
まず、候補対選択部30は、階層データに含まれる複数のキーワード「卓球」「スキー」「スノーボード」及び「スケートボード」について、2つのキーワード間の距離を算出する。
【0104】
図8は、実施例1における開始時のキーワード間の距離を示す図である。例えば「スキー」と「スノーボード」との間の距離は2である。これは、
図7を参照して、「スキー」と「スノーボード」との間には、これらの上位概念の「ウィンタースポーツ」を介して2つのエッジが存在するからである。
【0105】
候補対選択部30は、
図8に示した2つのキーワード間の距離を算出した後、これらの距離のうち最短距離(
図8の場合は2)を特定し、最短距離の両端の2つのキーワード「スキー」及び「スノーボード」を候補対として選択する。
【0106】
尚、候補対選択部30は、最短距離の候補対が複数存在する場合、候補対を構成する2つのキーワードのスコアである重みを合計し、合計値が最小の候補対を特定し、当該候補対を最短距離の候補対として選択する。また、候補対選択部30は、合計値が最小の候補対が複数存在する場合、これらの中からランダムに最短距離の候補対を選択する。
【0107】
次に、重心位置算出部31は、候補対である「スキー」及び「スノーボード」について、これらのスコアである重みに基づいて、重心位置G1を算出する。具体的には、重心位置算出部31は、重みが大きければ大きいほど重心位置G1が近くなり、重みが小さければ小さいほど重心位置G1が遠くなるように、重心位置G1を算出する。
【0108】
図9は、「スキー」と「スノーボード」との間の重心位置G1を示す図である。二重枠のノードは、候補対であることを示している。
図6から「スキー」の重みは3.2であり、「スノーボード」の重みは0.5である。このため、
図9に示すように、重心位置算出部31により重心位置G1は、「スキー」の位置から0.27、かつ「スノーボード」の位置から「ウィンタースポーツ」を介して1.73の距離の位置に算出される。
【0109】
次に、クラスタリング処理部32は、候補対である「スキー」及び「スノーボード」について、「スキー」の位置と重心位置G1との間の距離0.27、及び「スノーボード」の位置と重心位置G1との間の距離1.73に基づいて、偏りがあるか否かを判定する。
【0110】
クラスタリング処理部32は、偏りがあると判定した場合、重心位置G1から遠い候補を削除する。一方、クラスタリング処理部32は、偏りがないと判定した場合、候補を削除することなく候補対をクラスタ化し、新たなクラスタを生成する。そして、クラスタリング処理部32は、階層データを更新する。
【0111】
例えばクラスタリング処理部32は、両距離のうち長い方の距離が予め設定された第1設定値(例えば2)以上であり、かつ、短い方の距離が予め設定された第2設定値(例えば1)以下である場合に、偏りがあると判定し、重心位置G1から遠い候補を削除する。一方、クラスタリング処理部32は、長い方の距離が第1設定値未満であるか、または、短い方の距離が第2設定値を超える場合に、偏りがないと判定し、候補対をクラスタ化する。
【0112】
前述の例では、クラスタリング処理部32は、長い方の「スノーボード」と重心位置G1との間の距離1.73が第1設定値である2未満であるため、偏りがないと判定し、「スキー」及び「スノーボード」をクラスタ化し、「スキー」及び「スノーボード」からなるクラスタC1を生成する。そして、クラスタリング処理部32は、
図7に示した階層データを、「スキー」及び「スノーボード」からなるクラスタC1を含む階層データに更新する。
【0113】
図10は、「スキー」及び「スノーボード」のクラスタ化後における階層データの例を示す図であり、更新後の階層データを示している。
【0114】
図10に示すように、キーワード「卓球」、クラスタC1(「スキー」及び「スノーボード」)、及びキーワード「スケートボード」が最下流に位置し、上位概念のワード「スポーツ」が最上流に位置している。この階層データは、これらのキーワード及びクラスタC1と、これらのキーワード及びクラスタC1から上流側へ辿ったときの全ての上位概念のワード「球技」等とからなる階層構造化されたデータ群である。
【0115】
クラスタC1の重心位置G1は、
図9に示した重心位置G1と同様であり、「スキー」の位置から0.27の距離、かつ「ウィンタースポーツ」の位置から「スキー」の位置へ向けて0.73の距離に存在する。
【0116】
そして、前述の候補対選択部30、重心位置算出部31及びクラスタリング処理部32と同様の処理が、以下に説明するように、階層データに含まれるキーワード及びクラスタの数が1個に減少するまで繰り返される。この場合、候補対選択部30によるクラスタC1の距離の算出には、重心位置G1が用いられる。
【0117】
続いて、候補対選択部30は、
図10に示した更新後の階層データに含まれる複数のキーワード「卓球」及び「スケートボード」並びにクラスタC1について、2つのキーワード及びクラスタC1における距離を算出する。
【0118】
図11は、更新後のキーワード及びクラスタC1における距離を示す図である。例えばクラスタC1と「スケートボード」との間の距離は3.73である。これは、
図10を参照して、クラスタC1の重心位置G1が距離の算出に用いられ、クラスタC1と「ウィンタースポーツ」との間の距離が0.73であり、「ウィンタースポーツ」と「スケートボード」との間の距離が3であり、合計が3.73だからである。また、クラスタC1と「卓球」との間の距離も3.73である。
【0119】
候補対選択部30は、
図11に示した2つのキーワード及びクラスタC1における距離を算出した後、これらの距離のうち最短距離(
図11の場合は3.73)を特定し、最短距離の両端に位置する候補対がクラスタC1及び「スケートボード」と、クラスタC1及び「卓球」との2組を判断する。そして、候補対選択部30は、2組の候補対共に、重みの合計値が4.5(=3.2+0.5+0.8)で同じであるため、重みの合計値によって候補対を選択することができない。そこで、候補対選択部30は、2組の候補対からランダムに候補対を選択する。この場合、候補対選択部30は、クラスタC1及び「スケートボード」を候補対として選択するものとする。
【0120】
次に、重心位置算出部31は、候補対であるクラスタC1及び「スケートボード」について、これらのスコアである重みに基づいて、重心位置G2を算出する。具体的には、重心位置算出部31は、クラスタC1の重み(クラスタC1における「スキー」及び「スノーボード」の重みの合計値)及び「スケートボード」の重みに基づいて、クラスタC1の重心位置G1(
図10を参照)と「スケートボード」の位置との間で、クラスタC1と「スケートボード」との間の重心位置G2を算出する。
【0121】
図12は、クラスタC1と「スケートボード」との間の重心位置G2を示す図である。クラスタC1及び「スケートボード」における二重枠は、候補対であることを示している。
図6からクラスタC1の重み(クラスタC1における「スキー」及び「スノーボード」の重みの合計値)は3.7であり、「スケートボード」の重みは0.8である。このため、
図12に示すように、クラスタC1と「スケートボード」との間の重心位置G2は、クラスタC1の重心位置G1と「スケートボード」の位置との間の距離3.73(
図10を参照)を、クラスタC1の重み3.7及び「スケートボード」の重み0.8に応じて、重みが大きければ大きいほど重心位置G2が近くなり、重みが小さければ小さいほど重心位置G2が遠くなるように、算出される。
【0122】
つまり、クラスタC1と「スケートボード」との間の重心位置G2は、クラスタC1の重心位置G1から0.67(「スキー」の位置から0.94)、かつ「スケートボード」の位置から「ローラースポーツ」「スポーツ」及び「ウィンタースポーツ」を介して3.06の距離だけ離れた位置となる。この重心位置G2は、クラスタC1及び「スケートボード」をクラスタ化した場合の当該クラスタの重心位置である。
【0123】
次に、クラスタリング処理部32は、候補対であるクラスタC1及び「スケートボード」について、クラスタC1の重心位置G1と、クラスタC1及び「スケートボード」をクラスタ化した場合の重心位置G2との間の距離0.67、及び「スケートボード」の位置と重心位置G2との間の距離3.06に基づいて、偏りがあるか否かを判定する。
【0124】
図13は、偏りがあると判定した場合の「スケートボード」を削除する処理を説明する図である。クラスタリング処理部32は、両距離のうち長い方(「スケートボード」の位置と重心位置G2との間)の距離3.06が予め設定された第1設定値(例えば2)以上であり、かつ、短い方(クラスタC1の重心位置G1と重心位置G2との間)の距離0.67が予め設定された第2設定値(例えば1)以下であるため、偏りがあると判定する。そして、クラスタリング処理部32は、
図13に示すように、重心位置G2から遠い候補である「スケートボード」を削除し、階層データを更新する。
【0125】
図14は、「スケートボード」削除後の階層データの例を示す図であり、更新後の階層データを示している。
【0126】
図14に示すように、キーワード「卓球」及びクラスタC1(「スキー」及び「スノーボード」)が最下流に位置し、上位概念のワード「スポーツ」が最上流に位置している。この階層データは、キーワード「卓球」及びクラスタC1と、これらから上流側へ辿ったときの全ての上位概念のワード「球技」等とからなる階層構造化されたデータ群である。
【0127】
続いて、
図14に示した更新後の階層データに含まれるキーワード「卓球」及びクラスタC1について、候補対選択部30、重心位置算出部31及びクラスタリング処理部32によりそれぞれの処理が行われる。つまり、「卓球」及びクラスタC1には偏りがないと判定されるため、クラスタ化は行われず、「卓球」が削除されて階層データが更新される。
【0128】
更新後の階層データには、クラスタC1(「スキー」及び「スノーボード」)が最下流に位置し、上位概念のワード「スポーツ」が最上流に位置している。この階層データは、クラスタC1と、当該クラスタC1から上流側へ辿ったときの全ての上位概念のワード「ウィンタースポーツ」及び「スポーツ」とからなる階層構造化されたデータ群である。
【0129】
クラスタリング処理部32は、キーワード及びクラスタの数が1個に減少したことを判定すると、繰り返し処理を終了する。そして、クラスタリング処理部32は、更新後の階層データにおいて、合流地点での上位概念のキーワードまたはワードを設定する。つまり、クラスタリング処理部32は、クラスタC1を構成するキーワード「スキー」及び「スノーボード」、これらの上位概念のワード「ウィンタースポーツ」並びに最上位の上位概念のワード「スポーツ」からなる更新後の階層データから、「スキー」及び「スノーボード」の上位概念である合流地点での「ウィンタースポーツ」を、上位概念のワードに設定する。
【0130】
クラスタリング処理部32は、キーワード「スキー」及び「スノーボード」、並びにこれらの上位概念のワード「ウィンタースポーツ」からなるデータ群をクラスタリング結果として生成する。
【0131】
図15は、実施例1における最終的なクラスタリング結果を示す図である。このクラスタリング結果は、キーワード及びワードの上位概念及び下位概念の関係を表したものであり、キーワード「スキー」及び「スノーボード」、並びにこれらの上位概念のワード「ウィンタースポーツ」からなるデータ群を示している。
【0132】
このようにして生成されたクラスタリング結果は、キーワード選択処理部23において、任意の制限数に応じたキーワードを選択する際に用いられる。例えばキーワード選択処理部23は、予め設定された制限数をクラスタ数として、キーワードを選択する。
【0133】
キーワード選択処理部23は、制限数が1である場合、
図15に示したクラスタリング結果の「スキー」「スノーボード」及び「ウィンタースポーツ」のうち、上位概念の「ウィンタースポーツ」を選択する。また、キーワード選択処理部23は、制限数が2以上である場合、「スキー」及び「スノーボード」をキーワードとして選択する。この場合、上位概念の「ウィンタースポーツ」は、キーワードとして選択されない。
【0134】
尚、キーワード選択処理部23は、制限数が3の場合、「スキー」及び「スノーボード」に加え、上位概念の「ウィンタースポーツ」をキーワードとして選択するようにしてもよい。
【0135】
〔実施例2〕
次に、
図2に示した知識データ生成装置1による実施例2の処理について説明する。実施例2は、放送番組コンテンツの動画像について、マルチモーダルなデータから同一のキーワード毎にNフレームのスコアを求め、階層データのクラスタリングにより任意の制限数に応じたキーワードを選択し、知識データを生成する。
【0136】
ここで、前述のとおり、知識データ生成装置1は、スコア算出部13が、同一のキーワード毎に、予め設定されたN個の連続するフレームのスコアを加算することで、Nフレーム(N個の連続するフレーム)のスコアを求め、メモリ12に格納する。Nは、2以上の整数である。これにより、メモリ12には、
図16に示すとおり、同一のキーワード毎のNフレームのスコア(N個の連続するフレームについてキーワード毎の各処理につき合計したスコア)が格納される。
【0137】
図16は、実施例2におけるスコア算出部13によるスコア算出例を説明する図である。
図16には、第(n-x)番目、第(n-3)番目、第(n-2)番目、第(n-1)番目、第n番目(現在)等のフレームについて、同一のキーワード毎に、1フレームのスコアが示されている。
【0138】
例えば「スマートフォン」のキーワードについて、第(n-x)番目のフレームのスコアは2、第n番目のフレームのスコアは0.5である。また、「加速度センサ」のキーワードについて、第(n-3)番目のフレームのスコアは2であり、第(n-2)番目のフレームのスコアは1である。
【0139】
スコア算出部13により、例えば「スマートフォン」のキーワードについて、N個のフレームのスコアの加算結果10.5が、Nフレームの合計スコアとして得られる。同様に、「加速度センサ」のキーワードについて、N個のフレームのスコアの加算結果33.2が、Nフレームの合計スコアとして得られる。「加速度」「重力」についても、Nフレームの合計スコアとしてそれぞれ、49.8,36.5が得られる。尚、「写真」のキーワードについては、Nフレームの合計スコアは0である。
【0140】
以下、
図3に示したキーワード選択部14の処理について説明する。キーワード選択部14において、メモリ21には、コンテンツ情報、
図16に示した複数のキーワード(スコアが0よりも大きい複数のキーワード)及びキーワード毎のNフレームのスコア、並びに、後述する
図17に示す階層データが格納されているものとする。
【0141】
図17は、実施例2における階層データの例を示す図である。この階層データは、
図7と同様に、
図3に示した入力処理部20により、元の階層データにおいて複数のキーワードが特定され、複数のキーワード及び当該キーワードから上流側へ辿ったときの全ての上位概念のワードからなる階層構造化されたデータ群である。
【0142】
複数のキーワードは、*で示した「スマートフォン」「加速度センサ」「加速度」及び「重力」である。また、「スマートフォン」の上位概念のワードは「家電」であり、「加速度センサ」の上位概念のワードは「センサ」及び「加速度」であり、「重力」の上位概念のワードは「加速度」であり、「加速度」の上位概念のワードは「力学」である。また、これらの上位概念のワードについて、さらに上位概念の最上流で共通するワードは「物理」である。
【0143】
つまり、この階層データは、最上流の概念である「物理」のワードから、最下流の複数のキーワード「スマートフォン」等までの階層構造化されたデータ群である。
【0144】
階層クラスタリング処理は、
図17に示した階層データを用いて、キーワードを含むワード間のエッジを距離とし、キーワードのスコアを重みとして行われる。尚、エッジの重みは、説明の便宜上1とするが、他の値を用いてもよい。
【0145】
まず、候補対選択部30は、階層データに含まれる複数のキーワード「スマートフォン」「加速度センサ」「加速度」及び「重力」について、2つのキーワード間の距離を算出する。
【0146】
ここで、キーワード等のクラスタ化の際には、合流する階層の上位概念のワードが利用される。このため、候補対選択部30が2つのキーワード間の距離を算出する際には、有向のエッジの行き帰りは1往復以内とする。例えば
図17において、「スマートフォン」と「加速度」との間の距離について、「スマートフォン」から「家電」「電気」「物理」「力学」を介した「加速度」のルートは対象とするが、「スマートフォン」から「家電」「道具」「部品」「センサ」「加速度センサ」を介した「加速度」のルートは対象としない。
【0147】
図18は、実施例2における開始時のキーワード間の距離を示す図である。例えば「スマートフォン」と「加速度センサ」との間の距離は5であり、「スマートフォン」と「加速度」との間の距離も5である。
【0148】
候補対選択部30は、
図18に示した2つのキーワード間の距離を算出した後、これらの距離のうち最短距離(
図18の場合は1)を特定し、最短距離の両端に位置する候補対が「加速度センサ」及び「加速度」と「加速度」及び「重力」との2組であることを判断する。そして、候補対選択部30は、「加速度センサ」及び「加速度」の重みの合計83.0、及び「加速度」及び「重力」の重みの合計86.3を算出し、重みの合計値が最小の「加速度センサ」及び「加速度」を候補対として選択する。
【0149】
尚、実施例1と同様に、候補対選択部30は、最短距離の候補対が複数存在する場合、候補対を構成する2つのキーワードの重みを合計し、合計値が最小の候補対を特定し、当該候補対を最短距離の候補対として選択する。また、候補対選択部30は、合計値が最小の候補対が複数存在する場合、これらの中からランダムに最短距離の候補対を選択する。
【0150】
次に、重心位置算出部31は、候補対である「加速度センサ」及び「加速度」について、これらのスコアである重みに基づいて、重心位置G3を算出する。具体的には、重心位置算出部31は、「加速度センサ」の重み及び「加速度」の重みに基づいて、重みが大きければ大きいほど重心位置G3が近くなり、重みが小さければ小さいほど重心位置G3が遠くなるように、重心位置G3を算出する。
【0151】
図19は、「加速度」と「加速度センサ」との間の重心位置G3を示す図である。二重枠のノードは、候補対であることを示している。
図16から「加速度」の重みが49.8であり、「加速度センサ」の重みが33.2である。このため、
図19に示すように、重心位置算出部31により重心位置G3は、「加速度」の位置から0.4、かつ「加速度センサ」の位置から0.6の距離の位置に算出される。
【0152】
次に、クラスタリング処理部32は、候補対である「加速度」及び「加速度センサ」について、「加速度」の位置と重心位置G3との間の距離0.4、及び「加速度センサ」の位置と重心位置G3との間の距離0.6に基づいて、偏りがあるか否かを判定する。
【0153】
実施例1と同様に、クラスタリング処理部32は、偏りがあると判定した場合、重心位置G3から遠い候補を削除する。一方、クラスタリング処理部32は、偏りがないと判定した場合、候補を削除することなく候補対をクラスタ化し、新たなクラスタを生成する。そして、クラスタリング処理部32は、階層データを更新する。
【0154】
例えばクラスタリング処理部32は、両距離のうち長い方の距離が予め設定された第1設定値(例えば2)以上であり、かつ、短い方の距離が予め設定された第2設定値(例えば1)以下である場合に、偏りがあると判定し、重心位置G3から遠い候補を削除する。一方、クラスタリング処理部32は、長い方の距離が第1設定値未満であるか、または、短い方の距離が第2設定値を超える場合に、偏りがないと判定し、候補対をクラスタ化する。
【0155】
前述の例では、クラスタリング処理部32は、長い方の「加速度センサ」と重心位置G3との間の距離0.6が第1設定値である2未満であるため、偏りがないと判定し、「加速度」及び「加速度センサ」をクラスタ化し、「加速度」及び「加速度センサ」からなるクラスタC2を生成する。そして、クラスタリング処理部32は、
図17に示した階層データを、「加速度」及び「加速度センサ」からなるクラスタC2を含む階層データに更新する。
【0156】
図20は、「加速度」及び「加速度センサ」のクラスタ化後における階層データの例を示す図であり、更新後の階層データを示している。
【0157】
図20に示すように、キーワード「スマートフォン」、クラスタC2(「加速度」及び「加速度センサ」)及びキーワード「重力」が下流に位置し、上位概念のワード「物理」が最上流に位置している。この階層データは、これらのキーワード及びクラスタC2と、これらのキーワード及びクラスタC2から上流側へ辿ったときの全ての上位概念のワード「家電」等とからなる階層構造化されたデータ群である。
【0158】
クラスタC2の重心位置G3は、
図19に示した重心位置G3と同様であり、「加速度センサ」から0.6の距離、かつ「加速度」の位置から0.4の距離に存在する。
【0159】
そして、前述の候補対選択部30、重心位置算出部31及びクラスタリング処理部32と同様の処理が、以下に説明するように、階層データに含まれるキーワード及びクラスタの数が1個に減少するまで繰り返される。この場合、候補対選択部30によるクラスタC2の距離の算出には、重心位置G3が用いられる。
【0160】
続いて、候補対選択部30は、
図20に示した更新後の階層データに含まれる複数のキーワード「スマートフォン」及び「重力」並びにクラスタC2について、2つのキーワード及びクラスタC2における距離を算出する。
【0161】
図21は、更新後のキーワード及びクラスタC2における距離を示す図である。例えば「スマートフォン」とクラスタC2との間の距離は5.4である。これは、
図20を参照して、クラスタC2の重心位置G3が距離の算出に用いられ、「スマートフォン」と「力学」との間の距離が4であり、「力学」とクラスタC2との間の距離が1.4であり、合計が5.4だからである。
【0162】
候補対選択部30は、
図21に示した2つのキーワード及びクラスタC2における距離を算出した後、これらの距離のうち最短距離(
図21の場合は1.4)を特定し、最短距離の両端に位置するクラスタC2及び「重力」を候補対として選択する。
【0163】
次に、重心位置算出部31は、候補対であるクラスタC2及び「重力」について、これらのスコアである重みに基づいて、重心位置G4を算出する。具体的には、重心位置算出部31は、クラスタC2の重み(「加速度」及び「加速度センサ」の重みの合計値)及び「重力」の重みに基づいて、クラスタC2の重心位置G3(
図20を参照)と「重力」の位置との間で、クラスタC2と「重力」との間の重心位置G4を算出する。
【0164】
図22は、クラスタC2と「重力」との間の重心位置G4を示す図である。クラスタC2及び「重力」における二重枠は、候補対であることを示している。
図16からクラスタC2の重み(「加速度」及び「加速度センサ」の重みの合計値)は83であり、「重力」の重みは36.5である。このため、
図22に示すように、クラスタC2と「重力」との間の重心位置G4は、クラスタC2の重心位置G3と「重力」の位置との間の距離1.4(
図20を参照)を、クラスタC2の重み83及び「重力」の重み36.5に応じて、重みが大きければ大きいほど重心位置G4が近くなり、重みが小さければ小さいほど重心位置G4が遠くなるように、算出される。
【0165】
つまり、クラスタC2と「重力」との間の重心位置G4は、クラスタC2の重心位置G3から「加速度」を介して0.43(「加速度」の位置から0.03)、かつ「重力」の位置から0.97の距離となる。この重心位置G4は、クラスタC2及び「重力」をクラスタ化した場合の当該クラスタの重心位置である。
【0166】
次に、クラスタリング処理部32は、候補対であるクラスタC2及び「重力」について、クラスタC2の重心位置G3と、クラスタC2及び「重力」をクラスタ化した場合の重心位置G4との間の距離0.43、及び「重力」の位置と重心位置G4との間の距離0.97に基づいて、偏りがあるか否かを判定する。
【0167】
クラスタリング処理部32は、距離が長い方の「重力」と重心位置G4との間の距離0.97が第1設定値である2未満であるため、偏りがないと判定し、クラスタC2及び「重力」をクラスタ化し、「加速度」「加速度センサ」及び「重力」からなるクラスタC3を生成する。そして、クラスタリング処理部32は、
図20に示した階層データを、「加速度」「加速度センサ」及び「重力」からなるクラスタC3を含む階層データに更新する。
【0168】
図23は、「加速度」「加速度センサ」及び「重力」のクラスタ化後における階層データの例を示す図であり、更新後の階層データを示している。
【0169】
図23に示すように、キーワード「スマートフォン」及びクラスタC3(「加速度」「加速度センサ」及び「重力」)が最下流に位置し、上位概念のワード「物理」が最上流に位置している。この階層データは、キーワード「スマートフォン」及びクラスタC3と、これらのキーワード及びクラスタC3から上流側へ辿ったときの全ての上位概念のワード「家電」等とからなる階層構造化されたデータ群である。
【0170】
クラスタC3の重心位置G4は、
図22に示した重心位置G4と同様であり、「加速度」から0.03の距離、かつ「重力」の位置から0.97の距離に存在する。
【0171】
続いて、候補対選択部30は、
図23に示した更新後の階層データに含まれるキーワード「スマートフォン」及びクラスタC3について、これらの間の距離を算出する。
【0172】
図24は、更新後のキーワード及びクラスタC3における距離を示す図である。「スマートフォン」とクラスタC3との間の距離は5.03である。これは、
図23を参照して、クラスタC3の重心位置G4が距離の算出に用いられ、「スマートフォン」と「力学」との間の距離が4であり、「力学」とクラスタC3との間の距離が1.03であり、合計が5.03だからである。
【0173】
候補対選択部30は、
図24に示したキーワード「スマートフォン」及びクラスタC3における距離を算出した後、この距離が最短距離であるとして、最短距離の両端に位置する「スマートフォン」及びクラスタC3を候補対として選択する。
【0174】
次に、重心位置算出部31は、候補対である「スマートフォン」及びクラスタC3について、これらのスコアである重みに基づいて、重心位置G5を算出する。具体的には、重心位置算出部31は、「スマートフォン」の重み及びクラスタC3の重み(「加速度」「加速度センサ」及び「重力」の重みの合計値)に基づいて、「スマートフォン」の位置とクラスタC3の重心位置G4(
図23を参照)との間で、「スマートフォン」とクラスタC3との間の重心位置G5を算出する。
【0175】
図25は、「スマートフォン」とクラスタC3との間の重心位置G5を示す図である。「スマートフォン」及びクラスタC3における二重枠は、候補対であることを示している。
図16から「スマートフォン」の重みが10.5であり、クラスタC3の重み(「加速度」「加速度センサ」及び「重力」の重みの合計値)が119.5である。
図25に示すように、「スマートフォン」とクラスタC3との間の重心位置G5は、「スマートフォン」の位置とクラスタC3の重心位置G4との間の距離5.03(
図23を参照)を、「スマートフォン」の重み10.5及びクラスタC3の重み119.5に応じて、重みが大きければ大きいほど重心位置G5が近くなり、重みが小さければ小さいほど重心位置G5が遠くなるように、算出される。
【0176】
つまり、「スマートフォン」とクラスタC3との間の重心位置G5は、「スマートフォン」の位置から「家電」「電気」「物理」及び「力学」を介して4.63(「力学」の位置から0.63)、かつクラスタC3の重心位置G4から「加速度」を介して0.4(「加速度」の位置から0.37)の距離だけ離れた位置となる。この重心位置G5は、「スマートフォン」及びクラスタC3をクラスタ化した場合の当該クラスタの重心位置である。
【0177】
次に、クラスタリング処理部32は、候補対である「スマートフォン」及びクラスタC3について、「スマートフォン」の位置と重心位置G5との間の距離4.63、及び、クラスタC3の重心位置G4と重心位置G5との間の距離0.4に基づいて、偏りがあるか否かを判定する。
【0178】
図26は、偏りがあると判定した場合の「スマートフォン」を削除する処理を説明する図である。例えばクラスタリング処理部32は、両距離のうち長い方(「スマートフォン」の位置と重心位置G5との間)の距離4.63が予め設定された第1設定値(例えば2)以上であり、かつ、短い方(クラスタC3の重心位置G4と重心位置G5との間)の距離0.4が予め設定された第2設定値(例えば1)以下であるため、偏りがあると判定する。そして、クラスタリング処理部32は、
図26に示すように、重心位置G5から遠い候補である「スマートフォン」を削除し、階層データを更新する。
【0179】
図26に示すように、クラスタC3(「加速度」「加速度センサ」及び「重力」からなり、「加速度」を上流とし、「加速度センサ」「重力」を下流とするクラスタ)が最下流に位置し、上位概念のワード「物理」が最上流に位置している。この階層データは、クラスタC3と、当該クラスタC3から上流側へ辿ったときの全ての上位概念のワード「力学」等からなる階層構造化されたデータ群である。
【0180】
クラスタリング処理部32は、キーワード及びクラスタの数が1個に減少したことを判定すると、繰り返し処理を終了する。そして、クラスタリング処理部32は、更新後の階層データにおいて、合流地点での上位概念のキーワードを設定する。つまり、クラスタリング処理部32は、クラスタC3を構成するキーワード「加速度」「加速度センサ」及び「重力」から、合流地点での「加速度」を上位概念のキーワードに設定する。
【0181】
クラスタリング処理部32は、上位概念のキーワード「加速度」及び下位概念のキーワード「加速度センサ」「重力」からなるデータ群をクラスタリング結果として生成する。
【0182】
図27は、実施例2における最終的なクラスタリング結果を示す図である。このクラスタリング結果は、クラスタC3を構成する3つのキーワード「加速度」「加速度センサ」及び「重力」を最下流に位置させた場合に、各キーワードの上位概念及び下位概念の関係を表したものである。
【0183】
図26に示したクラスタC3において、「加速度センサ」及び「加速度」の上位概念は「加速度」であり、「加速度」及び「重力」の上位概念は「加速度」である。これらの上位概念及び下位概念の関係を表したものが
図27に示したクラスタリング結果である。つまり、クラスタリング結果は、「加速度センサ」及び「加速度」の上位概念を「加速度」とし、「加速度」及び「重力」の上位概念を「加速度」としたデータ群である。
【0184】
このようにして生成されたクラスタリング結果は、キーワード選択処理部23において、任意の制限数に応じたキーワードを選択する際に用いられる。例えばキーワード選択処理部23は、予め設定された制限数をクラスタ数として、キーワードを選択する。
【0185】
キーワード選択処理部23は、制限数が1である場合、
図27に示したクラスタリング結果のうち、最上位の上位概念の「加速度」をキーワードとして選択する。また、キーワード選択処理部23は、制限数が2である場合、「加速度」及び「重力」をキーワードとして選択し、制限数が3以上である場合、「加速度」「重力」及び「加速度センサ」をキーワードとして選択する。
【0186】
以上のように、本発明の実施形態の知識データ生成装置1によれば、放送番組コンテンツの動画像について、音声データ等から同一のキーワード毎にスコアを求め、階層データのクラスタリングにより、任意の制限数に応じたキーワードを選択し、知識データを生成する。
【0187】
具体的には、データ処理部11は音声データ等からキーワードを求め、スコア算出部13は同一のキーワード毎にスコアを求める。
【0188】
候補対選択部30は、階層データを構成する複数のワードから、データ処理部11により求めた複数のキーワードを特定し、1または複数のキーワード及び1または複数のクラスタにおけるそれぞれの間の階層データ上の距離を算出し、最短距離の対を候補対として選択する。
【0189】
重心位置算出部31は、候補対のそれぞれのスコアに基づいて、スコアが高い場合は近くなり、スコアが低い場合は遠くなるように、候補対の重心位置Gを算出する。
【0190】
クラスタリング処理部32は、候補対の一方と重心位置Gとの間の距離、及び候補対の他方と重心位置Gとの間の距離に基づいて、候補対の重心位置Gに偏りがあるか否かを判定する。クラスタリング処理部32は、重心位置Gに偏りがあると判定した場合、階層データから、候補対のうち重心位置Gから遠い候補を削除し、重心位置Gに偏りがないと判定した場合、候補対をクラスタ化して新たなクラスタを生成し、階層データを更新する。
【0191】
候補対選択部30、重心位置算出部31及びクラスタリング処理部32は、キーワード及びクラスタの数が1個に減少するまで、前述の処理を繰り返し行う。
【0192】
クラスタリング処理部32は、繰り返しの処理が完了すると、更新後の階層データを用いてクラスタリング結果を生成する。キーワード選択処理部23は、予め設定された制限数に応じて、クラスタリング結果からクラスタリング後のキーワードを選択し、知識データを生成して出力する。
【0193】
前述のとおり、従来の非特許文献2,3の手法は、マルチモーダルな画像等からオブジェクトを抽出してリスト化及びスコア化を行い、スコアが最大のキーワードを選択し、知識データを生成する。
【0194】
選択されるキーワードは、マルチモーダルな画像等から取得されたものであるため、ノイズを含むことがある。また、選択されるキーワードは、選択数に限定されてしまうため、精度の高いキーワードが排除されてしまうことがある。例えば、精度の高いキーワードが2つ存在するにも関らず、選択されるキーワードが1つの場合、精度の高い2つのキーワードのうち、1つが除外されてしまう。結果として、ユーザへ所望のコンテンツを提示するための効果的な知識データを生成することができない場合があり得る。
【0195】
これに対し、本発明の実施形態では、複数のワードが意味の観点から階層構造化された階層データを用いて階層クラスタリング処理を行い、クラスタリング後のキーワードを選択する。このため、選択されるキーワードは、階層構造上距離の近いキーワード(意味合いの近いキーワード)となり、ノイズを含む可能性を低減することができる。
【0196】
また、本発明の実施形態では、階層データを用いているため、制限数に応じて、階層データに含まれる上位概念のワードがキーワードとして選択される。このため、従来除外されていた精度の高いキーワードを含む包括的なワードが選択されることとなり、精度の高いキーワードが除外されることはない。
【0197】
したがって、様々なコンテンツの連携を実現し、精度の高いコンテンツを提示するための知識データを生成することができる。
【0198】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。
【0199】
尚、本発明の実施形態による知識データ生成装置1のハードウェア構成としては、通常のコンピュータを使用することができる。知識データ生成装置1は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。
【0200】
知識データ生成装置1に備えた入力部10、データ処理部11(音声処理部111、画像物体処理部112、画像文字処理部113及び字幕処理部114)、メモリ12、スコア算出部13及びキーワード選択部14(入力処理部20、メモリ21、クラスタリング部22(候補対選択部30、重心位置算出部31及びクラスタリング処理部32))及びキーワード選択処理部23の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。
【0201】
これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【0202】
1 知識データ生成装置
2,2-1,2-2,2-3 外部データ
3,3-1,3-2 放送局データ
4,4-1,4-2,4-3 ユーザ端末
10 入力部
11 データ処理部
111 音声処理部
112 画像物体処理部
113 画像文字処理部
114 字幕処理部
12,21 メモリ
13 スコア算出部
14 キーワード選択部
20 入力処理部
22 クラスタリング部
23 キーワード選択処理部
30 候補対選択部
31 重心位置算出部
32 クラスタリング処理部
G,G1,G2,G3,G4,G5 重心位置
C1,C2,C3 クラスタ