以下、図面を参照しながら、本発明の実施形態について説明する。
なお、以下の説明では、本発明の情報処理装置及び方法が適用される一実施形態として、携帯電話端末を挙げている。勿論、ここで説明する内容はあくまで一例であり、本発明はこの例に限定されないことは言うまでもない。
〔概要〕
先ず、本発明実施形態の携帯電話端末の詳細な構成及び動作の説明の前に、本発明におけるデータコンテンツからのメタデータ抽出と、その抽出したメタデータがデータコンテンツの検索を行う際の検索用のタグとして扱われること、さらに、検索用のタグのグループ化と、当該グループ化されたタグやユーザから入力されたキーワードを用いたデータコンテンツの検索処理の概要について説明する。
ここで、本実施形態において、データコンテンツとは、例えば電子メールデータや画像データ、音声データ等、本実施形態の携帯電話端末内に保存されているデータである。すなわち、本実施形態では、携帯電話端末内に保存されているそれら様々なデータを総称してデータコンテンツと呼んでいる。
本実施形態では、それらデータコンテンツを、タグのグルーピングを通じて間接的に取り纏めることにより、当該携帯電話端末内の全てのデータコンテンツを効率良く且つ高精度に検索可能としている。
以下、データコンテンツの一例として、電子メールデータを挙げて具体的に説明する。
例えば、送信若しくは受信された電子メールの本文データとして図1の(a)に示すようなメール本文のデータがあった場合、本実施形態の携帯電話端末は、当該電子メールのデータコンテンツに付随するメタデータとして、その電子メールの送信先アドレスや受信元アドレス、それらアドレスについてアドレス帳内に登録されている氏名や住所,ニックネーム,画像,アイコン、電子メールの件名等の情報を抽出すると同時に、当該メール本文の構文解釈処理を行うことにより、例えば図1の(b)に示すような名詞となる語句をキーワードとして抽出する。なお、図1の例は、“サッカー”を話題とした電子メールを挙げている。
本実施形態の携帯電話端末は、図1の(b)に示したような複数のキーワードを抽出すると、ディスプレイ画面上に例えば図2の(a)に示すようなキーワード選択用のユーザインターフェース画面を表示させる。この図2の(a)に示したユーザインターフェース画面には、上記抽出された各キーワードが配列されると共に、それら各キーワードをユーザが選択するためのチェックボックスが配されている。また、ユーザにより何れかのチェックボックスにチェックが入れられた場合、携帯電話端末は、そのチェックが入れられたチェックボックスに対応したキーワードに例えば下線を引いた画面を表示する。なお、図1及び図2の例では、データコンテンツから抽出されたキーワードの中からユーザが所望のキーワードを選択する例を挙げたが、例えばユーザがキー操作等を通じて所望のキーワードを直接入力してもよい。
ユーザにより上記チェックボックスにチェックが入れられることで、上記図2の(a)のユーザインターフェース画面の各キーワードの中からユーザ所望のキーワードが選択されると、本実施形態の携帯電話端末は、ディスプレイ画面を、図2の(b)に示すようなグループ登録用のユーザインターフェース画面に遷移させる。
ここで、本実施形態において、グループとは、上述のようにユーザにより選択若しくは入力された複数の各キーワード(メタデータ)を、データコンテンツ検索のための検索用タグとして一つに纏めたグループである。また、一つのグループは、データコンテンツを検索する際の一つの検索用タグ(つまり検索キーワード、本実施形態ではこのグループ化されたタグを特にグループタグと表記する。)としても扱われる。つまり、本実施形態によれば、データコンテンツの検索は、ユーザから入力されたキーワードよる通常のキーワード検索によって行われる場合や、データコンテンツから抽出されたメタデータを検索キーワードとして行われる場合の他に、上記グループ内の各タグや一つのグループタグによっても行われる。さらに、本実施形態において、一つのグループは、一つのデータファイルとして扱われると同時に一つのデータコンテンツとしても扱われる。なお、本実施形態によれば、グループはデータコンテンツを検索する際のリンク情報として用いられるため、本実施形態では当該グループのデータファイルを特にリンクファイルと表記する。
上記グループ登録用のユーザインターフェース画面には、図2の(b)に示すように、上記抽出及び選択された各キーワードを検索用のタグとして纏めた一つのグループについて、ユーザが所望の名前(グループ名)を入力するためのグループ名入力エリア30と、その名前が付けられたグループを登録するか或いは登録を取り消すかをユーザが指示するためのソフトキー(登録用ソフトキー31,取消用ソフトキー32)が配されている。図2の(b)の例は、図2の(a)にて選択された各キーワードが殆どサッカーに関するものであるため、ユーザにより上記グループ名入力エリア40内に“サッカー”の文字が入力された場合の例、つまり、上記各キーワードを纏めたグループについてユーザが“サッカー”というグループ名を登録することにした場合の例を示している。そして、この図2の(b)の状態で、ユーザから例えば登録用ソフトキー31を選択する旨の指示入力がなされると、上記図1の(b)にて選択された各キーワードが検索用タグとしてグループ化されたグループに対して、上記“サッカー”の名前が登録されることになる。そして、このグループ名の“サッカー”は、データコンテンツの検索の際には、検索用タグ(グループタグ)としても用いられることになる。図3には、図2の(a)で選択されたキーワードが登録され、且つ、図2の(b)にてグループ名が“サッカー”に登録されたグループの例を示す。
また、上述のように登録されたグループは更新可能となされており、例えば新たなキーワードをタグとしてグループ内に登録したり、逆にグループ内の登録済みのタグから所望のタグを消去することなどが可能となされている。また、グループに新たに登録されるタグは、前述の図1及び図2で述べたようにして抽出及び選択されたキーワードでもよいし、例えばユーザが自らキー操作等により入力したキーワードであってもよい。
さらに、本実施形態の携帯電話端末において、上述したようなグループは、一つに限らず、複数登録することも可能となされており、また、グループはタグを全く含まれていない状態でも登録可能(つまりグループタグのみ登録することも可能)である。
そして、上述したようなグループの登録がなされている場合において、携帯電話端末の内部メモリ等に蓄積されているデータコンテンツの検索を行うために、例えばユーザから検索キーワードが入力されたり、現在使用中のデータコンテンツからメタデータが抽出されて当該メタデータが検索キーワードとなされると、本実施形態の携帯電話端末は、それら検索キーワードを基にグループの検索を行い、当該検索キーワードに適合したタグが登録されているグループを見つけた時には、さらにそのグループ内に登録されている全てのタグを検索キーワードとしてデータコンテンツの検索を行う。
すなわち例えば、図3に示したような各タグ(“ワールドカップ”,“W杯”,“B国代表”,“コンフェデレーションズカップ”,“ピッチ”)が含まれたグループ名“サッカー”のグループが登録されている場合において、例えば、ユーザから一つの検索キーワードとして“ワールドカップ”の単語が入力されたり、現在使用中のデータコンテンツから抽出されたメタデータにより例えば“ワールドカップ”の単語が検索キーワードとして得られた場合、本実施形態の携帯電話端末は、当該“ワールドカップ”の検索キーワードに適合するタグが登録されているグループとして上記図3のグループ名“サッカー”のグループを検索し、次いで、そのグループ名“サッカー”のグループ内に含まれている全タグ(“ワールドカップ”,“W杯”,“B国代表”,“コンフェデレーションズカップ”,“ピッチ”)を検索キーワードとして用いて、データコンテンツの検索を行う。すなわち、本実施形態の場合、データコンテンツの検索は、上記グループ名“サッカー”のグループ内に含まれている各タグ(“ワールドカップ”,“W杯”,“B国代表”,“コンフェデレーションズカップ”,“ピッチ”)に適合したキーワードを含んだデータコンテンツを見つけ出すような検索処理となる。勿論、上述のような検索キーワードに基づくグループ検索と共に、当該検索キーワードのみを用いてデータコンテンツの検索を行うような一般的なキーワード検索を併用することも可能である。これにより、本実施形態の携帯電話端末によれば、上記検索キーワードである“ワールドカップ”から直接検索されるデータコンテンツだけでなく、上記グループ名“サッカー”内の各タグ(“W杯”,“B国代表”,“コンフェデレーションズカップ”,“ピッチ”)を検索キーワードとして検索されるデータコンテンツをも取り出すことが可能となる。
なお、検索キーワードに基づくグループの検索や、グループ内のタグを検索キーワードとしたデータコンテンツの検索の際には、検索キーワードと完全に一致するタグを含むグループや、タグと完全に一致するキーワードを含むデータコンテンツのみを取り出すようにしてもよいし、また、検索キーワードと一部が一致するタグを含むグループや、タグと一部が一致するキーワードを含むデータコンテンツを取り出すようにしてもよいし、さらには検索キーワードそのものが有している意味(単語の意味など)と合うタグを含むグループや、タグそのものが有している意味と合うキーワードを含むデータコンテンツを取り出すようにしてもよい。本実施形態では、上述のような完全一致や一部一致、単語の意味合いなどの概念を含む語句として、上記「適合」という表記を用いている。
また、本実施形態において、データコンテンツから抽出されるメタデータは、上述したような電子メールに付随するメタデータ(メール本文や件名内のテキストデータ、送受信アドレス,アドレス帳内の住所,氏名等)の他に、例えば画像データや音楽データ、その他のデータに付随するメタデータなどを用いることも可能である。また、検索キーワードやグループ内のタグを基にしてデータコンテンツの検索を行う際に、各データコンテンツ内で参照されるキーワード(メタデータ)についても同様に、電子メールに付随するメタデータの他に、画像データや音楽データ、その他のデータに付随するメタデータを用いることも可能である。なお、画像データに付随するメタデータとしては、当該画像データのExif(Exchangeable Image File Format)領域に記述されているデータを挙げることができ、音楽データに付随するのメタデータとしては、当該音楽データの楽曲名やアーティスト名、ジャンル名等のデータを挙げることができる。また、画像データのExif領域内には、任意のテキストデータやHTML(HyperText Markup Language)のデータ等を記述可能なエリアが設けられており、したがって、そのエリア内に例えば画像撮影時のコメントや画像タイトルなどのデータを記述しておけば、例えばデータコンテンツの検索時にExif領域内のデータを参照することより、当該画像データの検索が可能となる。
さらに、本実施形態の携帯電話端末は、例えば他の携帯電話端末で作成及び登録されたグループのリンクファイルや、インターネット上の所定のサイトなどに用意されているグループのリンクファイルを、例えば通信(ダウンロード)や外部メモリ等を通じて取得することも可能となされている。このように、ダウンロード等により新たなグループのリンクファイルを取得して携帯電話端末内に登録した場合、それ以前は当該携帯電話端末内で全く関係が無かったデータコンテンツ同士が、当該ダウンロードされたグループにより関連付けを持つことになり、その結果、検索時にはそれらデータコンテンツが取り出される可能性が高くなる。また、或るユーザの携帯電話端末で登録されたグループをアップロードし、そのグループを別のユーザの携帯電話端末にダウンロードするようなことを行った場合、互いに似た嗜好を持った複数のユーザの携帯電話端末において、それぞれ似たデータコンテンツが検索されるようになり、各ユーザ間でそれら検索されたデータコンテンツを通じたコミュニケーションを行うようなことが可能となる。
図4には、インターネット上の所定のサイトからダウンロード等により取得可能なグループの一具体例として、グループ名が“流行語”となされているグループを挙げている。なお、このグループには、200X年に流行語となった言葉等がタグとして登録されているとする。
また、図5には、上記グループ名“流行語”のグループのリンクファイルが既にダウンロード等により取得されている状態で、例えば携帯電話端末が電子メール40を受信し、その電子メール40の件名から抽出したキーワードに基づいて、データコンテンツ(この例では他の電子メールや画像)が検索される場合の一例を示している。
この図5の例において、例えば受信電子メール40の件名に含まれている“SNS”を検索キーワードとして抽出した場合、本実施形態の携帯電話端末は、当該検索キーワード“SNS”を基にグループの検索を行う。すなわち、本実施形態の携帯電話端末は、データコンテンツから自動的に検索キーワードを抽出することも可能となされている。この例の場合、受信電子メール40の件名から上記“SNS”が検索キーワードとして自動的に抽出された例を挙げている。
そして、上記“SNS”の検索キーワードに適合したタグを含むグループとして、前述のグループ名“流行語”のグループが検索されると、本実施形態の携帯電話端末は、当該グループ名“流行語”のグループ内に登録されている各タグを検索キーワードとして、データコンテンツの検索を行う。図5の例では、グループ名“流行語”のグループ内に登録されているタグを検索キーワードとしてデータコンテンツの検索を行った結果、当該“流行語”のグループ内の“東京タワー”と“MNP”と“王子”の各タグに適合するキーワードを含むデータコンテンツとして、例えば件名に“東京タワー行きました”のテキストが記述された電子メール41と、件名に“MNPで機種変”のテキストが記述された電子メール42と、Exif領域内に例えば“王子”のコメントが記述された画像43とが、当該検索により得られた状態を表している。
さらに、本実施形態において、グループは、それぞれが独立したグループであってもよいし、一例として図6に示すように、或るグループに対して別のグループが従属関係を有して連結されていてもよいし、また、グループ同士が対等な関係で連結していてもよい。なお、当該図6に示した連結関係は一例であり、本発明はこの例に限定されるものではない。
この図6の例では、グループG1にはグループG2,G3,G7が従属関係を有して連結され、さらにグループG2にはグループG4,G5が従属関係を有して連結され、グループG7にはグループG8が従属関係を有して連結されている。グループG6には、上記グループG1に従属しているグループG7が従属関係を有して連結されている。グループG9にはグループG10が従属関係を有して連結されている。グループG11にはグループG12が連結関係され、されにグループG12にはグループG13が従属関係を有して連結されている。また図6において、グループG6とグループG9は対等な関係で連結しており、同じく、グループG8とグループG13も対等な関係で連結している。
この図6の例のように、グループが従属関係を有して連結されている場合、一例として、検索キーワードに適合したタグが、当該従属関係の上位側のグループ内に含まれていた場合には、当該上位側のグループとそれに連結した下位側のグループ内の全てのタグを用いてデータコンテンツの検索を行い、一方、検索キーワードに適合したタグが、当該従属関係の下位側のグループ内に含まれていた場合には、当該下位側のグループ内のタグのみを検索キーワードとして用い、上位側のグループ内のタグについては用いずに、データコンテンツの検索を行うようにしてもよい。また、グループが対等な関係で連結されている場合、それら連結されたグループ内の全タグを用いてデータコンテンツの検索を行うようにしてもよい。勿論、本発明において、連結した各グループ内の各タグをどのように扱うかは、上述の例に限定されないことは言うまでもない。
〔データベース構造〕
次に、上述したようなグループを利用したデータコンテンツ検索を実現するために本実施形態の携帯電話端末内に構築されるデータベース構造について説明する。
上述したグループを利用したデータコンテンツ検索を実現するために、本実施形態の携帯電話端末内には、少なくとも、“コンテンツテーブルC”と“タグテーブルT”と“コンテンツタグリンクテーブルL”と“タググループリンクテーブルGL”とを有するデータベースが構築される。
以下、上記データベースにおけるそれぞれのスキーマと事例について説明する。なお、ここでは、前述の図4に示したようなグループのリンクファイルが、例えばダウンロード等により既に取得されていることを前提として説明する。また、本実施形態では、説明を簡略化するため、図4のグループ内の全てのタグが登録されているわけではなく、一部のタグのみが抜粋して登録されている例を用いている。
〔コンテンツテーブルC〕
上記コンテンツテーブルCは、図7に示すように、本実施形態の携帯電話端末内に保存されているデータコンテンツを各々識別可能にすると同時にそれらを管理するための情報を格納するテーブルである。
本実施形態の場合、当該コンテンツテーブルCには、図7に示すように、“ID”フィールド、“Name”フィールド、“FilePath”フィールド、“FileName”フィールド、“Type”フィールドが用意されており、それら各フィールドに情報が記述される。
図7に示したコンテンツテーブルCの“ID”フィールドには、携帯電話端末内に保存されているデータコンテンツを個々に識別するためのコンテンツIDが記述される。当該コンテンツIDは、データコンテンツ毎にユニークな値(例えば数字等)となされる。
図7のコンテンツテーブルCの“Name”フィールドには、データコンテンツに付けられている名前の情報が記述される。但し、データコンテンツの中には必ずしも名前が付けられていないものもあり、その場合、本実施形態の携帯電話端末は、例えば当該データコンテンツ内から抽出したメタデータ等に基づいて自動的に名前を生成し、その名前の情報を“Name”フィールドに記述する。すなわち一例として、電子メールのデータコンテンツの場合、その電子メールの件名内に書かれたテキスト情報から、当該電子メールのデータコンテンツの名前情報を生成して上記“Name”フィールドに記述するようなことが可能である。また、デジタルカメラにより撮影された画像データコンテンツの場合、上記“Name”フィールドには、例えばExif領域に記述されているコメントから生成した名前情報を記述してもよいし、例えば撮影日時情報を名前情報として記述することにしてもよい。その他、“Name”フィールドには、ユーザが編集等により入力した名前情報を記述することも勿論可能である。
図7のコンテンツテーブルCの“FilePath”フィールドには、本実施形態の携帯電話端末内で、各データコンテンツのファイルが格納されている場所(つまりパス)を表す情報が記述される。
図7のコンテンツテーブルCの“FileName”フィールドには、データコンテンツのファイル名の情報が記述される。
図7のコンテンツテーブルCの“Type”フィールドには、データコンテンツのファイルタイプを表す情報が記述される。すなわち例えば、データコンテンツが例えば図4で示したようなグループである場合にはそのファイルタイプであるリンクファイルを表す“LinkFile”の情報が記述され、また、データコンテンツが電子メールである場合には電子メールデータファイルであることを表す“Mail”の情報が、画像データである場合には画像データファイルであることを表す“Image”の情報等が記述される。
本実施形態の携帯電話端末では、例えばデータコンテンツが新たに追加されると、当該追加されたデータコンテンツに関する上述した各情報がコンテンツテーブルCに追加され、一方、例えばデータコンテンツが削除されると、その削除されたデータコンテンツに関する情報が上記コンテンツテーブルCからも削除される。但し、コンテンツIDについては、追加・削除の何れの場合であっても同じ値が再利用されることはなく、常にユニークな値となされる。
〔タグテーブルT〕
上記タグテーブルTは、図8に示すように、通常のキーワード検索に用いられるタグと前述したグループタグを各々識別すると同時にそれらを管理するための情報を格納するテーブルである。なお、通常のキーワード検索に用いられるタグと前述のグループタグは、当該データベースでは同じスキーマとして扱われるが、後述する“Group”フィールドの値が“TRUE”となされている場合にそのタグがグループタグとして扱われる。
本実施形態の場合、当該タグテーブルTには、図8に示すように、“ID”フィールド、“Name”フィールド、“Create Data”フィールド、“Group”フィールドが用意されており、それら各フィールドに情報が記述される。
図8に示したタグテーブルTの“ID”フィールドには、各タグ(通常のタグとグループタグ)を個々に識別するためのタグIDが記述される。当該タグIDも前述のコンテンツIDと同様、ユニークな値となされる。したがって、タグ(通常のタグとグループタグ)が追加された場合にはタグIDの値がインクリメントされ、一方、タグが削除された場合でも当該削除されたタグに対応付けられていたタグIDが後に再利用されることはない。
図8のタグテーブルTの“Name”フィールドには、タグ名を表す情報が記述される。例えば、タグが通常のタグ(すなわちキーワード等)である場合は例えばそのタグそのものを表す単語等がタグ名の情報として記述され、また、タグがグループタグである場合には当該グループタグのグループ名がタグ名の情報として記述される。なお、本実施形態では、データコンテンツからメタデータとして自動抽出したキーワードをタグにする場合には当該キーワードをタグ名の情報として記述することができ、また、ユーザが編集等により入力したタグ名の情報を記述することもできる。
図8のタグテーブルTの“Create Data”フィールドには、そのタグの作成日を表す情報が記述される。
図8のタグテーブルTの“Group”フィールドには、そのタグがグループタグである場合は“TRUE”を表す情報が記述され、通常のタグである場合は“FALSE”を表す情報が記述される。これにより、本実施形態によれば、タグテーブルTという一つのスキーマにより、通常のタグとグループタグとを同時に扱うことが可能になっている。すなわち本実施形態では、通常のタグとグループタグを同列に扱うことにより、データコンテンツにタグを対応付けることのみならず、データコンテンツにグループ(つまりグループタグ)を対応付けることも可能となっている。
〔コンテンツタグリンクテーブルL〕
上記コンテンツタグリンクテーブルLは、図9に示すように、データコンテンツにどのタグが結びつけられているのかを表すリンク情報を格納するテーブルである。
本実施形態の場合、当該コンテンツタグリンクテーブルLには、図9に示すように、“ID”フィールド、“ContentID”フィールド、“TagID”フィールドが用意されており、それら各フィールドに情報が記述される。
図9に示したコンテンツタグリンクテーブルLの“ID”フィールドには、コンテンツタグリンクIDが記述される。当該コンテンツタグリンクIDは、各リンク毎にユニークな値となされる。
図9の“ContentID”フィールドには、図7に示したコンテンツテーブルCの“ID”フィールドに記述されたコンテンツIDの値が記述される。
図9の“TagID”フィールドには、図8に示したタグテーブルTの“ID”フィールドに記述されたタグIDの値が記述される。
そして、本実施形態の携帯電話端末は、前述した図7のコンテンツテーブルCと、図8のタグテーブルTと、この図9のコンテンツタグリンクテーブルLとを結びつけることにより、図10に示すようなデータコンテンツとタグの結びつきを表す情報を生成する。
すなわち、本実施形態によれば、図9のコンテンツタグリンクテーブルLではコンテンツタグリンクID“1”にコンテンツIDの“1”とタグIDの“1”が結びつけられており、また、図7のコンテンツテーブルCではコンテンツID“1”に“流行語”のリンクファイルが対応付けられ、図8のタグテーブルTではタグID“1”には“王子”のタグが対応付けられているため、図10に示すように、コンテンツタグリンクID“1”には“流行語”のリンクファイルと“王子”のタグとが結びつけられることになる。また、図9のコンテンツタグリンクID“2”にはコンテンツIDの“1”とタグIDの“2”が結びつけられており、図7のコンテンツテーブルCではコンテンツID“1”に“流行語”のリンクファイルが対応付けられ、図8のタグテーブルTではタグID“2”に“飲酒運転”のタグが対応付けられているため、図10に示すように、コンテンツタグリンクID“2”には“流行語”のリンクファイルと“飲酒運転”のタグとが結びつけられることになる。以下同様であり、例えば図9のコンテンツタグリンクID“10”にはコンテンツIDの“2”とタグIDの“5”が結びつけられており、図7のコンテンツテーブルCではコンテンツID“2”に件名が“東京タワー行きました”の電子メールデータファイルが対応付けられ、図8のタグテーブルTではタグID“5”に“東京タワー”のタグが対応付けられているため、図10に示すように、コンテンツタグリンクID“10”には“東京タワー行きました”の電子メールデータファイルと“東京タワー”のタグとが結びつけられることになる。また、例えば図9のコンテンツタグリンクID“11”にはコンテンツIDの“3”とタグIDの“1”が結びつけられており、図7のコンテンツテーブルCではコンテンツID“3”にExif領域内のコメントに“王子”のテキストが記述された画像データファイルが対応付けられ、図8のタグテーブルTではタグID“1”に“王子”のタグが対応付けられているため、図10に示すように、コンテンツタグリンクID“11”にはExif領域内に“王子”のコメントが記述された画像データファイルと“王子”のタグとが結びつけられることになる。
〔タググループリンクテーブルGL〕
上記タググループリンクテーブルGLは、図11に示すように、グループ内に所属するタグとそのグループとの関係を表す情報を格納するテーブルである。本実施形態の携帯電話端末は、このタググループリンクテーブルGLにより、グループ内に属するタグの一覧、若しくは、タグが所属しているグループの一覧を取得することが可能となる。
本実施形態の場合、当該タググループリンクテーブルGLには、図11に示すように、“ID”フィールド、“GroupID”フィールド、“Group/TagID”フィールドが用意されており、それら各フィールドに情報が記述される。
図11に示したグループタグリンクテーブルGLの“ID”フィールドには、タググループリンクIDが記述される。当該タググループリンクIDは、各リンク毎にユニークな値となされる。
図11の“GroupID”フィールドには、図8に示したタグテーブルTの“ID”フィールドに記述されるタグIDの値が記述される。
図11の“Group/TagID”フィールドには、図8に示したタグテーブルTの“ID”フィールドに記述されるタグIDの値が記述される。
本実施形態によれば、このタググループリンクテーブルGLに記述された情報と、タグテーブルTに記述された情報とから、グループに属するタグ、若しくはタグが所属しているグループを知ることができるようになる。
すなわち、この図11のタググループリンクテーブルGLの場合、タググループリンクID“1”にはタグIDの“10”と“1”が結びつけられており、また、図8のタグテーブルTではタグID“10”には“流行語”のグループタグが対応付けられ、タグID“1”には“王子”のタグが対応付けられているため、タググループリンクID“1”には“流行語”のグループタグと“王子”のタグとが結びつけられることになる。以下同様に、例えばタググループリンクID“9”にはタグIDの“10”と“9”が結びつけられており、図8のタグテーブルTではタグID“10”には“流行語”のグループタグが対応付けられ、タグID“9”には“冥王星”のタグが対応付けられているため、タググループリンクID“9”には“流行語”のグループタグと“冥王星”のタグとが結びつけられることになる。したがってこの図11の例から“流行語”のグループには、“王子”、“飲酒運転”、“番号ポータビリティ”、“駐車監視員”、“東京タワー”、“美しい国”、“SNS”、“メタボリックシンドローム”、“冥王星”の各タグが所属していることが判る。
〔データベースへの追加事例〕
次に、上述したような構造を有するデータベースに対して、例えば新たにタグやグループタグ等を追加する事例について説明する。
以下の例では、携帯電話端末が有するタグ編集機能を利用してユーザが例えば“携帯電話メーカ”と“携帯音楽プレーヤ”のテキストをタグとして新たに追加登録し、また、携帯電話端末が有するグループ編集機能を利用して“携帯電話”と“興味がある物”のグループ名を付けたグループを追加登録したとする。追加登録の順番は、“携帯電話メーカ”のタグ、“携帯電話”のグループ、“興味がある物”のグループ、“携帯音楽プレーヤ”のタグの順番であり、全て同日に登録されたとする。なお、これら登録のためのユーザインターフェースは、タグ編集機能やグループ編集機能により実現される。
上記“携帯電話メーカ”や“携帯音楽プレーヤ”のタグと、“携帯電話”や“興味がある物”のグループが追加登録されると、本実施形態の携帯電話端末は、前述した図8のタグテーブルTを、図12に示すようなタグテーブルTへ更新する。
すなわち図12のタグテーブルTによれば、図8に示した“ID”フィールドに対して新たに“11”〜“14”の四つのタグIDが付け加えられ、“Name”フィールドには登録順に“携帯電話メーカ”,“携帯電話”,“興味がある物”,“携帯音楽プレーヤ”の情報が記述され、“Create Data”フィールドにはそのタグの作成日情報が記述され、“Group”フィールドには“携帯電話メーカ”と“携帯音楽プレーヤ”に対しては“FALSE”の情報が、“携帯電話”と“興味がある物”に対しては“TRUE”の情報が記述されることになる。
ここで、各タグとグループの関係を例えば図13の階層図に示すような構成にすることをユーザが望み、携帯電話端末が有するグループ編集機能を利用して、例えば“携帯電話”のグループ内に“携帯電話メーカ”のタグと“番号ポータビリティ”のタグを登録し、また、例えば“興味がある物”のグループの下位に“流行語”のグループと“携帯電話”のグループと“携帯音楽プレーヤ”のタグを登録したとすると、本実施形態の携帯電話端末は、前述した図11のタググループリンクテーブルGLを図14に示すようなタググループリンクテーブルGLに更新する。なお、これらの登録のためのユーザインターフェースは、グループ編集機能やタグ編集機能により実現される。
すなわち図14のタググループリンクテーブルGLによれば、図11に示した“ID”フィールドに対して新たに“10”〜“14”の五つのタググループリンクIDが付け加えられる。そして、タググループリンクIDが“10”の“GroupID”フィールドには図12に示した更新後のタグテーブルTのタグIDの“12”が記述され、“Group/TagID”フィールドには図12のタグIDの“3”が記述され、さらに、タググループリンクIDが“11”の“GroupID”フィールドには図12のタグテーブルTのタグIDの“12”が記述され、“Group/TagID”フィールドには図12のタグIDの“11”が記述されることで、“携帯電話”のグループには“番号ポータビリティ”のタグと“携帯電話メーカ”のタグが所属することになる。また、タググループリンクIDが“12”の“GroupID”フィールドには図12のタグテーブルTのタグIDの“13”が記述され、“Group/TagID”フィールドには図12のタグIDの“10”が記述され、同様に、タググループリンクIDが“13”の“GroupID”フィールドには図12のタグテーブルTのタグIDの“13”が記述され、“Group/TagID”フィールドには図12のタグIDの“12”が記述され、タググループリンクIDが“14”の“GroupID”フィールドには図12のタグテーブルTのタグIDの“13”が記述され、“Group/TagID”フィールドには図12のタグIDの“14”が記述されることで、“興味がある物”のグループには“流行語”のグループと“携帯電話”のグループと“音楽プレーヤ”のタグが所属することになる。この図14のタググループリンクテーブルGLによれば、各タグとグループの関係が図13の階層図に示す構成になる。
〔検索例〕
次に、前述の図5を再び参照し、受信した電子メール40の件名から抽出したキーワードと、上述した構造を有するデータベースとを用いて、本実施形態の携帯電話端末が、データコンテンツを検索する様子について、より具体的に説明する。
本実施形態の携帯電話端末は、受信電子メール40の表示等の電子メールアプリケーションの処理が行われているとき、そのバックグラウンド処理として、当該電子メールの件名に含まれている“SNS”を検索キーワードとして抽出すると共に、当該“SNS”の検索キーワードを基に、例えば前述の図12のタグテーブルTからタグの検索を行う。なお、図12のタグテーブルTの例の場合、“SNS”の検索キーワードによりタグID“7”がヒットすることになる。
そして、本実施形態の携帯電話端末は、当該タグID“7”がヒットすると、例えば図14のタググループリンクテーブルGLを参照し、“GroupID”フィールドと“Group/TagID”フィールドに当該タグID“7”と同じ値が記述されているかどうか調べる。図14の例の場合、タグID“7”と同じ値が記述されているのは、タググループリンクID“7”の“Group/TagID”フィールドであり、また、タググループリンクID“7”の“GroupID”フィールドには“10”の値が記述されている。したがって、本実施形態の携帯電話端末は、上記タグID“7”に対応した“SNS”のタグは、“GroupID”フィールド“10”に対応した“流行語”のグループに所属していることを知る。
さらに、本実施形態の携帯電話端末は、図14のタググループリンクテーブルGLを参照し、“GroupID”フィールドの値“10”となされている“Group/TagID”フィールドの値のリスト、つまり“流行語”のグループに所属するタグのリストを取得する。
その後、本実施形態の携帯電話端末は、上記“GroupID”フィールドの値“10”となされている“Group/TagID”フィールドの値のリストを用いて、図9に示したコンテンツタグリンクテーブルLと図7に示したコンテンツテーブルCを参照する。本実施形態の場合、“GroupID”フィールドの値“10”となされている“Group/TagID”フィールドの値のリストとしては“1”〜“9”のタグIDが取得されるため、本実施形態の携帯電話端末は、図9のコンテンツタグリンクテーブルLの“ContentID”フィールドからコンテンツIDの値“1”,“2”,“3”を取得し、さらに、それらコンテンツIDの値“1”,“2”,“3”により、図7のコンテンツテーブルCからは“流行語”のリンクファイルと、件名が“東京タワー行きました”の電子メール41のデータファイルと、Exif領域に“王子”のコメントが記述された画像43のデータファイルを、データコンテンツとして取得する。さらに、本実施形態携帯電話端末は、“流行語”のリンクファイルを参照することで、当該“流行語”のリンクファイル内のタグを基に、データコンテンツの検索を行うことで、例えば件名に“MNPで機種変”のテキストが記述された電子メール42を取得する。
〔携帯電話端末の概略構成〕
図15には、本発明実施形態の携帯電話端末の概略的な内部構成例を示す。
図15に示す携帯電話端末において、通信アンテナ12は例えば内蔵アンテナであり、通信回路11は、送受信信号の周波数変換、変調と復調等を行う。本実施形態の携帯電話端末は、これら通信回路11及び通信アンテナ12により、音声通話やパケット通信など行う。本実施形態の携帯電話端末は、当該通信アンテナ12及び通信回路11により、例えば携帯電話ネットワークを介して他の携帯電話端末との間で前記リンクファイルの情報を交換したり、また例えば、インターネット等に接続することで、例えばインターネット上の所定のサイトなどに用意されているリンクファイルの情報をダウンロードしたり、逆に自端末内のリンクファイルの情報をアップロードすることが可能となされている。
音声処理部22は、上記通信アンテナ12及び通信回路11から通話音声の受信データが供給された時には、当該通話音声の受信データを復号化し、その復号化後の通話音声データをデータラインを介してスピーカ20へ送る。
スピーカ20は、携帯電話端末に設けられている受話用のスピーカやリンガ(着信音)、音楽再生、アラーム音出力用のスピーカである。マイクロホン21は、送話用及び外部音声集音用のマイクロホンである。
表示部13は、例えば液晶等のディスプレイとそのディスプレイの表示駆動回路とを含み、上記ディスプレイ上に電子メール文や写真画像、前述したようなユーザインターフェース画面等を表示する。
画像処理部23は、待ち受け画面や電子メール文、アドレス帳、ユーザインターフェース画面等の画像データを生成し、また、デジタルカメラ機能による写真撮影の際には当該撮影前後の画像データ等を、データラインを介して表示部13のディスプレイへ送って表示させる処理等を行う。
操作部14は、本実施形態の携帯電話端末の図示しない筐体上に設けられているテンキーや発話,終話キー/電源キー等の各キーや十字キー,シャッターボタン、ジョグダイヤル,タッチパネル等の各操作子と、それら操作子が操作された時の操作信号を発生する操作信号発生器とからなる。本実施形態において、上記操作部14の各操作子は、ユーザからのテキストを含む各種情報入力や、メニュー選択、チェックボックスへのチェックの入力、ソフトキーの操作、コメントの入力などの各種操作、各種機能の設定等の入力のために用いられる。
カメラ部24は、レンズ系とオートフォーカス機構及び露出機構、撮像素子等を備えたカメラデバイスであり、操作部14のシャッターボタンの操作に応じて上記撮像素子による撮像を行い、また、その撮像信号を上記画像処理部23へ送る。
近距離無線通信部25は、ブルートゥース方式(Bluetooth:登録商標)やUWB(Ultra Wide Band)方式、無線LAN(Local Area Network)、赤外線などによる近距離無線通信を行うためのデバイスである。本実施形態の携帯電話端末は、当該近距離無線通信部25を用いて、他のユーザの携帯電話端末との間で上述したグループの情報を送受信することも可能となされている。
ディジタル放送受信部26は、ディジタルテレビジョン放送やディジタルラジオ放送、ディジタルデータ放送等による放送データを受信するためのデバイスである。本実施形態の携帯電話端末は、ディジタル放送を通じて前記リンクファイルの情報が送信されているような場合には、当該ディジタル放送を通じてリンクファイルの情報を取得することも可能となされている。
メモリ部15は、ROM(Read Only Memory)とRAM(Random Access Memory)を含む。ROMは、NAND型フラッシュメモリ(NAND-type flash memory)のような書き換え可能なROMを含み、例えば、OS(Operating System)のプログラムや制御部10が各部を制御するための制御プログラム、例えば電子メールデータや画像データ、音楽データなどの本発明で使用されるデータコンテンツを格納するデータコンテンツ格納部16、前述したデータベースの情報を格納するデータベース格納部17、データコンテンツ等からのメタデータの抽出や前述したデータベースの管理及び検索キーワードに基づくデータコンテンツ等の検索を行う検索プログラム18、その他、電子メール処理プログラムやアドレス帳処理プログラムなどの一般的な携帯電話端末に搭載されている各アプリケーションプログラム、デジタルカメラ機能における撮影と写真画像データの保存及びExif領域への情報記録や当該Exif領域からの情報読み取りなどを実現するカメラアプリケーションプログラム、各種の初期設定値、フォントデータ、各辞書データ、識別情報(UIMID)などを記憶する。RAMは、制御部10が各種のデータ処理を行う際の作業領域として、随時データを格納する。なお、メモリ部15は、着脱可能な外部メモリカードや小型のハードディスクドライブを含んでいてもよく、画像データなどの大容量のデータの全て或いは一部が当該外部メモリカードや小型ハードディスクドライブに保存されてもよい。
上記制御部10は、通信回路11における通信の制御、音声処理部22や画像処理部23等の各制御の他、本実施形態の携帯電話端末の各構成要素の制御や各種演算処理を行う。特に本実施形態において、制御部10は、上記メモリ部15の検索プログラム18の実行により、前述したようなデータコンテンツ等の検索の処理を行う。
その他、図15には図示を省略しているが、本発明の携帯電話端末は、年月日時等の情報を発生したり時間を計測する時計部や、キー照明や着信ライト用などのLED(発光ダイオード)とその駆動部、バイブレータとその駆動部、各部へ電力を供給するバッテリとその電力をコントロールするパワーマネージメントIC部、いわゆる電子マネーのための情報記憶と信号の送受信を行う電子財布部、GPS通信部、外部メモリ用スロットなど、一般的な携帯電話端末に設けられる各構成要素についても備えている。なお、本実施形態の携帯電話端末は、外部メモリ用スロットに装填される外部メモリを通じて、前述したリンクファイルの情報をやり取りすることも可能となされている。
〔検索処理の流れ〕
以下、図16〜図19を参照して、本実施形態の携帯電話端末の制御部10が、上記メモリ部15の検索プログラム18を実行してデータコンテンツ等の検索を行う場合の処理の流れについて説明する。
図16には、データコンテンツ等の検索処理の全体の流れを示す。
図16において、検索プログラム18が起動すると、制御部10は、先ずステップS1の処理として、データコンテンツ等の検索結果を表す情報をリスト化して一時的に記録するためのテーブルである検索済みコンテンツリストRを初期化する。すなわち、当該検索済みコンテンツリストRは、例えばメモリ部15の例えばデータベース格納部17内等に一時的に形成されるテーブルであり、検索処理の実行が開始される際に初期化される。
また、制御部10は、該検索済みコンテンツリストRのテーブル内に記録される各検索結果の情報(つまり検索されたデータコンテンツを表すリスト)に対して、それぞれ評価値Eを付加する。評価値Eは、上記検索済みコンテンツリストRのテーブル内に一時的に記録された複数の検索結果のうち何れの検索結果に基づいてユーザへの提示を行うのか、つまり、何れのデータコンテンツを検索結果としてユーザへ提示するのかを決定する際の優先順位付け(データコンテンツ提示のためのランク付け)に用いられる評価ポイントとなされており、検索にてマッチする毎に所定値(例えば値“1”)が加算される。したがって、例えば検索が複数実行されたような場合に、それら複数の検索で例えば同一の検索結果が重複して得られたとすると、その検索結果に対する評価値Eは、当該重複した数に応じた値が加算されること(つまり評価値Eが増加すること)になる。言い換えると、検索が複数実行されたような場合において、それら複数の検索にて重複して得られることで評価値Eが大きくなった検索結果に対応したデータコンテンツは、ユーザが検索しようとしているデータコンテンツに該当する可能性が高いと考えることができ、したがって、本実施形態によれば、当該評価値Eを用いることにより、ユーザが所望するデータコンテンツを提示できる確率を高めている。
上記ステップS1による検索済みコンテンツリストRの初期化処理を行った後、制御部10はステップS2へ処理を進める。
ステップS2の処理に進むと、制御部10は、現在の階層数LNを初期値“0”にセットする。なお、現在の階層数LNとは、後述するステップS5の検索メインフローが再帰的に呼び出されて検索処理が繰り返される際の繰り返し数に相当し、新規に検索を開始する時に上記現在の階層数LNが“0”(つまり最上位階層である検索ルート)になされ、二回目の検索処理の時に上記現在の階層数LNが“1”、三回目の検索処理の時に上記現在の階層数LNが“2”となるようにインクリメントされる。また、階層数LNには最大階層数が設定されており、したがって、検索処理は上記現在の階層数LNが最大階層数になるまで再帰的に繰り返される。制御部10は、上記現在の階層数LNの値を記録すると共に、当該現在の階層数LNが最大階層数になったかどうかを見ることにより、検索処理が最大階層数になるまで実行されたかどうかを認識する。なお、本実施形態において、最大階層数は、予め決められていてもよいし、例えば階層数設定用のパラメータの入力等によりユーザが任意に指定可能となされていてもよい。但し、上記最大階層数は、その階層数が多ければ多いほど、キーワードに関連するデータコンテンツをピックアップできるようになるが、その一方で、階層数が多くなると、キーワードとは直接関係のないデータコンテンツが取得されるようになったり、検索時間が増加するようになると想定されるため、適切な数に設定されることが望ましい。
上記ステップS2による現在の階層数LNの“0”セット処理後、制御部10は、ステップS3へ処理を進める。
ステップS3の処理に進むと、制御部10は、データコンテンツに属するタグを用いた検索を行うか否か判断する。すなわち、本実施形態では、ユーザから入力された検索キーワードに基づくデータコンテンツ検索だけでなく、データコンテンツから抽出されたメタデータを検索キーワードとするデータコンテンツ検索や、前述したグループ(リンクファイルのデータコンテンツ)に属するタグを検索キーワードとするデータコンテンツ検索が可能となされているため、ここでは、上記データコンテンツから抽出されたメタデータを検索キーワードとする検索や上記グループに属するタグを検索キーワードとする検索を行うのか、或いは、ユーザから入力された検索キーワードに基づく検索を行うのかの判断を行う。
そして、当該ステップS3の判断処理において、ユーザから検索キーワードが入力されたことで、当該ユーザによる入力検索キーワードに基づく検索を行うと判断した場合、制御部10は、ステップS4以降へ処理を進める。これにより、上記ユーザから入力された検索キーワードにマッチしたデータコンテンツを能動的に検索する処理が行われることになる。
一方、ステップS3の判断処理において、ユーザからの検索キーワード入力がなく、データコンテンツから抽出されたメタデータを検索キーワードとする検索やグループに属するタグを検索キーワードとする検索を行うと判断した場合、制御部10は、ステップS8へ処理を進める。
データコンテンツから抽出されたメタデータを検索キーワードとする検索やグループに属するタグを検索キーワードとする検索を行うとしてステップS8の処理に進むと、制御部10は、前述したコンテンツテーブルCとタグテーブルTを参照することにより、そのデータコンテンツに対応したタグを取得した後、ステップS4以降へ処理を進める。これにより、或るデータコンテンツを使用している間のバックグラウンドにおいて、例えば当該データコンテンツに類似するか或いは関連したデータコンテンツの検索等が自動的に行われることになる。
ステップS4の処理に進むと、制御部10は、前段の処理で得られたキーワードをデータコンテンツ検索のための検索キーワードK1nとして確定する。なお、“K1n”は第1階層(すなわち最上位階層、検索ルート)の検索キーワードであることを表している。また、検索キーワードK1nは、一つのキーワードである場合のみならず、複数のキーワードである可能性もある。すなわち例えば、ユーザが複数のキーワードを入力した場合や、データコンテンツから複数のキーワードが得られた場合、上記検索キーワードK1nは複数のキーワードのセットとなる。
上記ステップS4による検索キーワードK1nの確定処理後、制御部10は、ステップS5へ処理を進める。当該ステップS5は、検索メインフローであり、その詳細は図17〜図18にて後述する。
上記ステップS5の検索メインフローにて全ての検索が完了すると、制御部10は、ステップS6へ処理を進める。
ステップS6の処理に進んだ場合、制御部10は、検索済みコンテンツリストR内に記録されている全ての検索結果の情報(つまり検索により得られた全てのデータコンテンツを表すリスト)を、前記評価値Eを利用してソートする。すなわち、前段のステップS5の検索メインフローでの検索処理が完了した直後では、検索済みコンテンツリストR内の全データコンテンツのリストは、一例として検索された順番等に並んだリストとなされており、その順番は必ずしもユーザが提示を望むデータコンテンツの順番ではない可能性があるため、制御部10は、当該ステップS6の処理として、当該データコンテンツのリストを、前述した評価値Eの高い順に並べ替えるようなコンテンツリストソート処理を行う。
上記ステップS6のソート処理後、制御部10は、ステップS7へ処理を進める。ステップS7の処理に進むと、制御部10は、ステップS6にて評価値Eの高い順にソートされた検索済みコンテンツリストR内の全検索結果のうちの例えば上位J個分を選び、その上位J個分のコンテンツリストに対応したデータコンテンツを、メモリ部15のデータコンテンツ格納部16から取り出してユーザに提示する。すなわち、検索済みコンテンツリストR内に例えばデータコンテンツ100件分の検索結果の情報が格納されているような場合、それら全ての検索結果情報に対応したデータコンテンツをユーザへ提示することは煩雑で好ましくないため、例えば上位J個分だけ検索結果情報に応じたデータコンテンツをユーザに提示することとする。
以上により、本実施形態の携帯電話端末の制御部10によるデータコンテンツ検索処理が完了する。
〔検索メインフロー〕
次に、図17及び図18を参照して、図16のステップS5における検索メインフローの流れを説明する。
ここで、検索メインフローは、ルート(最上位階層)から開始され、検索処理の階層数LNが最大階層数になるまで再帰的に呼び出されて繰り返される処理となされており、現在の階層で検索処理が行われる際には、その前段の階層から検索キーワードKnmと階層数LN、評価値Eが引数として渡される。また、本実施形態において、検索キーワードは複数指定可能となされているため、上記検索キーワードKnmは複数のキーワードのセットとして検索メインフローに渡される。なお、検索キーワードKnmにおいて、上記“Knm”の“n”は階層を表し、“m”はキーワードの個数を表してる。また、当該検索メインフローは、前段の階層の検索結果により得られたキーワードを連想キーワードとして更に再帰的に繰り返されることもある。
このため、当該検索メインフローでは、図17に示すように、ステップS21〜ステップS24までの処理は、キーワードの個数“m”分だけループして繰り返される。なお、ステップS24からステップS21へループが戻った場合、キーワードKnmの“m”の値はインクリメントされる。
ステップS22の処理に進むと、制御部10は、キーワードKnmのキーワードセットの中から一つのキーワードを取り出し、前述したように複数のタグやグループタグが記述されているタグテーブルTを参照して、そのキーワードに適合するタグを見つける処理を開始する。
次に制御部10は、ステップS23へ処理を進め、上記キーワードに適合したタグが上記タグテーブルT内に有ったか否か判断する。
このステップS23の判断処理において、上記タグテーブルTを参照した結果一つも適合したタグが見つからなかった場合は、制御部10は、ステップS24からステップS21へ処理をループさせ、次のキーワードによる検索を試みる。
一方、ステップS23の判断処理においてキーワードに適合したタグが見つかった場合、制御部10は、ステップS25以降へ処理を進める。
ステップS25の処理に進むと、制御部10は、前述したコンテンツタグリンクテーブルLを参照し、ステップS23で見つけたタグに関連したコンテンツIDをコンテンツタグリンクテーブルLから取得し、さらにその取得したコンテンツIDを用いて、コンテンツテーブルCを参照することにより、当該コンテンツIDに対応付けられているデータコンテンツのファイル名やパス、ファイルタイプ等を見つける処理を行う。なお、例えばグループタグ等のタグだけが登録されており、データコンテンツに結びついていないケースの場合、コンテンツIDは見つからないことになる。また、一つのタグが複数のデータコンテンツに結びついている場合には、複数のコンテンツIDが見つけることになる。
次に制御部10は、ステップS26へ処理を進め、上記コンテンツタグリンクテーブルLから取得したコンテンツIDにより、上記コンテンツテーブルCから上記ファイル名やパス、ファイルタイプ等を見つけたか否か判断する。
このステップS26の判断処理において、上記ファイル名やパス、ファイルタイプ等を見つけたと判断した場合、つまりデータコンテンツを検索できたと判断した場合、制御部10は、ステップS28へ処理を進め、当該ステップS28の処理が完了した後、ステップS27へ処理を進める。なお、当該ステップS28では、検索にマッチしたということでデータコンテンツの記録と評価が行われるが、その詳細については図19にて後述する。
一方、ステップS26の判断処理において、上記ファイル名やパス、ファイルタイプ等を見つけられなかった場合、つまりデータコンテンツを検索できなかった場合、制御部10は、ステップS27へ処理を進める。
ステップS27の処理に進むと、制御部10は、当該検索メインフローで設定されている最大階層数と現在の階層数LNとを比べる。
そして、制御部10は、当該ステップS27において、現在の階層数LNが最大階層数に達した場合にはこの検索メインフローの処理を終了して、図16のステップS6へ処理を進める。
一方、当該ステップS27において、現在の階層数LNが未だ最大階層数に達していない場合、制御部10は、ステップS29へ処理を進める。
ステップS29の処理に進むと、制御部10は、現在の階層数LNの値をインクリメントして図18のステップS41へ処理を進める。すなわち、ステップS27にて未だ現在の階層数LNが最大階層数に達していない場合は、ネストとして更に別のグループを検索することが可能であるため、当該ステップS29では現在の階層数LNをインクリメントして、次のグループの検索を開始する。なお、ここでの現在の階層数LNは、別のルートを根源として検索しているインスタンスの階層数LNとは別事象である。
上記ステップS29から図18に示すステップS41の処理に進むと、制御部10は、先のステップS22で見つけたタグは、グループタグであるか或いはグループ内に所属する通常のタグであるかの判断を行い、グループタグであると判断した場合には後述するステップS42以降へ処理を進めて当該グループ内のタグを用いて再帰的な検索処理を行うようにし、一方、グループ内の通常のタグであると判断した場合には後述するステップS46以降へ処理を進めてそのタグが所属するグループを検索し、そのグループ内のタグを用いた検索処理を行うようにする。
ステップS41にてグループタグであると判断してステップS42の処理に進むと、制御部10は、そのグループタグに対応したグループ内に所属するタグの一覧を取得する。すなわち、グループタグリンクGLではグループとタグの関連付けがなされており、当該グループタグリンクGLとタグテーブルTとを組み合わせることにより、グループタグに対応したグループ内に所属するタグの一覧を取得することができる。なお、そのグループに所属するタグは複数あるかもしれないし、グループだけが定義されており、そのグループ内には一つもタグが所属していない可能性もある。
次に、ステップS43の処理に進むと、制御部10は、評価値Eに対する調整値として“X”の値を設け、階層が下がる度にE=E/Xの演算により評価値Eの値を少なくし、別階層へ移る際の重み付けを少なくする処理を行う。すなわち、評価値Eは、前述したように、データコンテンツを発見した際にそのデータコンテンツに対する評価ポイントとして加算される値であるが、当該評価値Eは、最上位階層の検索ルートから離れるに従って小さくなるように設計されるべき値であるため、つまり言い換えると、検索ルートから離れたキーワードはユーザが所望するデータコンテンツを得るためのキーワードとして余り期待できないものである可能性が高くなるため、本実施形態では、調整値Xを設け、階層が下がる度にE=E/Xの演算により評価値Eを小さくしていくことで、階層が下がって別階層へ移る際に評価値Eへの重み付けを少なくして行くようにしている。
次に、ステップS44の処理に進むと、制御部10は、タグをキーワードK2mへセットする。なお、ここでの“K2m”は、前段の階層よりも一段下の階層へ降りることを表しており、ここでは上記前段の階層として“K1m”から開始されているため、“K2m”と表記している。
そして、制御部10は、ステップS45へ処理を移し、当該ステップS45の処理として、ステップS42で取得したタグのリストに挙げられた各タグをキーワードとして、検索メインフローの処理を再帰的に呼び出して実行し、上記各タグをキーワードとした検索メインフローの処理が完了すると、図17のステップS24へ処理を戻し、次のキーワードによる検索処理を行うようにする。
一方、ステップS41において、ステップS29で見つけたタグがグループ内に所属する通常のタグであると判断してステップS46の処理に進んだ場合、制御部10は、そのタグを基に、当該タグが所属するグループを検索し、そのグループに属するタグを取得する。すなわち、制御部10は、グループタグリンクGLとタグテーブルTの情報を基に、当該タグが所属するグループを検索する。
ここで、上記タグは、一つのグループに所属している場合だけでなく、複数のグループに所属している場合もある。例えば、前述した“番号ポータビリティ”のタグの場合、“流行語”のグループと“携帯電話”のグループの両方に所属している。
このため、本実施形態において、ステップS46の処理後は、制御部10は、ステップS47〜ステップS52までの処理を、上記タグが所属するグループ数“Gn”の分だけループして繰り返す。なお、ステップS47からステップS52へループが戻った場合、グループ数Gnの“n”の値はインクリメントされる。
ステップS48の処理に進むと、制御部10は、ステップS42の場合と同様に、一つのグループ内に所属するタグの一覧を取得する。すなわち、制御部10は、グループタグリンクGLとタグテーブルTとを組み合わせることにより、当該グループ内に所属するタグの一覧を取得する。
次に、ステップS49の処理に進むと、制御部10は、評価値Eに対する調整値として“Y”の値を設け、この調整値“Y”を用いたE=E/Yの演算により評価値Eの値を少なくする処理を行う。ここで、ステップS49での処理は、ステップS43での処理と略々同様の動作であるが、ステップS43では或るグループタグのグループ内に所属するタグを基に検索が行われるのに対して、ステップS49では、或るタグが所属しているグループから得られるタグ一覧を用いた検索であり、この場合はおそらく後者の方がユーザが意図しているキーワードとマッチしない可能性が高いため、上記調整値“Y”は前記調整値“X”よりも高い値となされる。これにより、ステップS49では、グループタグが検索された場合とは異なる重み付けが行われることになる。
その後、制御部10は、ステップS50へ処理を進め、前述のステップS44と同様に、タグをキーワードK2mへセットする。
そして、制御部10は、ステップS47〜ステップS52のループ処理が完了すると、図17のステップS24へ処理を戻し、次のキーワードによる検索処理を行うようにする。
〔データコンテンツの検索結果記録と評価フロー〕
次に、図19を参照して、図17のステップS28におけるデータコンテンツの検索結果情報の記録と評価フローの流れを説明する。
前述した検索メインフローでは、データコンテンツの検索をグループを含めて再帰的に行っており、データコンテンツの検索結果情報のリストは、一時的なテーブルである検索済みコンテンツリストRに順次格納される。但し、データコンテンツの検索結果情報を検索順にそのまま検索済みコンテンツリストRに格納した場合、ユーザが所望するデータコンテンツについての検索結果情報リストと、ユーザが所望するデータコンテンツには直接関係のないデータコンテンツについての検索結果情報リストとが混在した状態で煩雑に格納されてしまうことになる。このため、本実施形態では、前述の評価値Eを用いた評価処理を行うようにしている。
本実施形態において、図17のステップS28にて図19のステップS61の処理に進むと、制御部10は、検索メインフローでの検索によるデータコンテンツ検索結果情報及びその評価値Eと、それ以前の検索済みコンテンツリストRに格納されている検索結果情報とを取得する。
ここで、検索メインフローにおいて得られたデータコンテンツ検索結果情報と、それ以前の検索済みコンテンツリストRに格納されている検索結果情報とが同じものである可能性がある。このため、本実施形態では、検索メインフローにおいて得られたデータコンテンツ検索結果情報を、検索済みコンテンツリストRに格納する前に、それら検索結果情報が同じであるかどうかチェックし、同じ情報が重複して格納されることを防ぐようにしている。
また、検索メインフローにおいて得られたデータコンテンツ検索結果情報は、図17のステップS25にて得られた情報であり、一つのタグから複数のデータコンテンツが検索される可能性があるため、本実施形態では、ステップS62からステップS65までの処理を、データコンテンツ検索結果情報RCnの数分だけループして繰り返す。なお、ステップS65からステップS62へループが戻った場合、検索結果情報RCnの“n”の値はインクリメントされる。
ステップS63の処理に進むと、制御部10は、検索メインフローにおいて得られたデータコンテンツ検索結果情報と同じ情報が、検索済みコンテンツリストR内の検索結果情報のリスト内に存在するか否か判断し、存在する場合にはステップS64へ処理を進め、存在しない場合にはステップS66へ処理を進める。
ステップS66の処理に進むと、制御部10は、検索メインフローにおいて得られたデータコンテンツ検索結果情報を、新規なものとして検索済みコンテンツリストRに格納した後、ステップS64へ処理を進める。
ステップS64の処理に進んだ場合、制御部10は、データコンテンツの検索結果情報RCnについて評価値Eを加算し、その加算演算後の評価値Eを当該検索結果情報に対応付けて更新する。
そして、制御部10は、ステップS62〜ステップS65のループ処理が完了すると、図17のステップS27へ処理を進める。
〔まとめ〕
以上説明したように、本実施形態によれば、データコンテンツの検索に使用可能なキーワード(メタデータ)を検索用のタグとしてグループ化して管理し、実際にデータコンテンツの検索を行う際には、ユーザから検索のために入力された検索キーワードや、データコンテンツから抽出したメタデータに基づく検索キーワード、グループ内のタグによる検索キーワード等に基づいてデータコンテンツの検索を行うことにより、データコンテンツの検索粒度を高めることが可能となっている。
また、本実施形態によれば、検索キーワードを基にグループ検索を行うことで、当該検索キーワードに直接関連したデータコンテンツだけでなく、その検索キーワードをタグとして含むグループ内の他のタグに関連したデータコンテンツをも検索することができるため、例えば、或るデータコンテンツから別のデータコンテンツを見つけ出すようなデータコンテンツの渡り歩き(例えばユーザの想い出や嗜好に合わせたデータコンテンツの渡り歩き等)を実現することができ、その結果として、携帯電話端末内に格納されている大量のデータコンテンツを、仕舞ったままではなく有効に活用することが可能となる。
また、本実施形態によれば、グループ情報のアップロード/ダウンロードや近距離無線通信等を介したグループ情報の交換などにより、或るユーザが作成したグループを他のユーザにも引き継ぐことができ、それにより各ユーザの携帯電話端末に格納されているデータコンテンツ間の関わりを強めることも可能になる。
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
上述の実施形態では、データコンテンツから抽出されるメタデータとしてテキストデータを例に挙げたが、グループ化されるタグはテキストデータに限定されない。また、実施形態では携帯電話端末を例に挙げているが、本発明は携帯電話端末に限定されず、例えばパーソナルコンピュータやPDA(Personal Digital Assistants)等の情報端末にも適用可能である。
10 制御部、11 通信回路、12 通信アンテナ、13 表示部、14 操作部、15 メモリ部、16 データコンテンツ格納部、17 グループ格納部、18 グルーピングプログラム、19 グループ検索プログラム、20 スピーカ、21 マイクロホン、22 音声処理部、23 画像処理部、24 カメラ部、25 近距離無線通信部、26 ディジタル放送受信部、30 グループ名入力エリア、31 登録用ソフトキー、32 取消用ソフトキー、40〜42 電子メール、43 画像、G1〜G13 グループ