(57)【特許請求の範囲】
【請求項１】
コンピュータが、少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行う方法であって、
前記コンピュータが、
同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成し、
前記要素群から、各タググループに対応する特徴ベクトルを生成し、
前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類し、
ここで、生成された前記特徴ベクトルのうち、各要素が前記同義タグセット群における異なる同義タグセットにそれぞれ対応し、各要素の値は対応するタググループのうちの、該要素に対応する同義タグセットに属するタグの数である、ことを特徴とする分類を行う方法。
【請求項２】
前記コンピュータが、
各クラスについて、クラスに分類されたタググループの特徴ベクトルの要素の値の和となるコア特徴ベクトルを算出し、
分類されるべきタググループの特徴ベクトルと、分類先となる各クラスのコア特徴ベクトルとの類似度を求め、何れのコア特徴ベクトルとも類似しないと判断すると、新たなクラスを作成して該分類されるべきタググループを該作成した新たなクラスに分類する、
ことを特徴とする請求項１に記載の分類を行う方法。
【請求項３】
少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行う装置であって、
同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成する第一のユニットと、
前記要素群から、各タググループに対応する特徴ベクトルを生成する第二のユニットと、
前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類する第三のユニットと、
を含み、
ここで、生成された前記特徴ベクトルのうち、各要素が前記同義タグセット群における異なる同義タグセットにそれぞれ対応し、各要素の値は対応するタググループのうちの、該要素に対応する同義タグセットに属するタグの数である、ことを特徴とする分類を行う装置。
【請求項４】
各クラスについて、クラスに分類されたタググループの特徴ベクトルの要素の値の和となるコア特徴ベクトルを算出する第四のユニットと、
分類されるべきタググループの特徴ベクトルと、分類先となる各クラスのコア特徴ベクトルとの類似度を求め、何れのコア特徴ベクトルとも類似しないと判断すると、新たなクラスを作成して該分類されるべきタググループを該作成した新たなクラスに分類する第五のユニットと、
を含む、ことを特徴とする請求項３に記載の分類を行う装置。
【請求項５】
コンピュータが、タググループに基づいてデータをマッシュアップする方法であって、
前記コンピュータが、
請求項１又は２に記載の分類を行う方法で、タググループを少なくとも一つのクラスに分類し、
同一のクラスにおける各タググループの各タグのそれぞれを、その所属する同義タグセットにおいて指定されたタグで置換する、
ことを特徴とするデータをマッシュアップする方法。
【請求項６】
タググループに基づいてデータをマッシュアップする装置であって、
請求項３又は４に記載の分類を行う装置で、タググループを少なくとも一つのクラスに分類する分類ユニットと、
同一のクラスにおける各タググループの各タグのそれぞれを、その所属する同義タグセットにおいて指定されたタグで置換する置換ユニットと、
を含む、ことを特徴とするデータをマッシュアップする装置。
【請求項７】
コンピュータに、請求項１又は２に記載の分類を行う方法を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記憶しているコンピュータ読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理に関し、より具体的に、タググループの分類方法及び装置、並びにデータマッシュアップ方法及び装置に関する。
【背景技術】
【０００２】
現在、データを記述するための各種のデータフォーマット仕様、例えば、XML（eXtensible  Markup  Language：拡張可能なマーク付け言語）、JSON（JavaScript(登録商標)  Object  Notation：JavaScriptオブジェクトの表記）、或はCSV（Comma  Separated  Values：カンマ区切り値）等が存在している。各種のデータフォーマット仕様のそれぞれにおいては、データ内容の意味を記述するためのタグがそれぞれ定義されている。例えば、リスト型のデータ、例えば若干のニュースを含むニュースリストに対して、ニュース内容を記述するための一つのグループのタグ、即ち、title（タイトル）、pubdate（発表時間）、author（作者）等を定義することができる。また、例えば、若干のスケジュールを含むスケジュール表に対して、スケジュール内容を記述するための一つのグループのタグ、即ち、starttime（スタートタイム）、endtime（エンドタイム）、attendees（参加者）及びlocation（場所）などを定義することができる。従って、当該タグを利用して、データ内容を便利に発表したり、アクセスしたりすることができる。
【０００３】
しかしながら、意味が同一または類似するデータ内容について、異なるデータフォーマット仕様が異なるタグを採用して記述を行う可能性がある。例えば、データ内容「データ作成者」について、異なるデータフォーマット仕様において、「author（作者）」、「writer(筆者）)または「creator（創作者）」などの異なるタグを採用する可能性がある。従って、異なるタグで同一または類似する意味を記述したデータ内容を認識するとともに、統一的なタグで前記同一または類似するデータ内容を記述することによって、同一または類似する意味を有するデータ内容のマッシュアップを完成させるという希望が存在する。
【０００４】
従来の技術において、複数のデータ内容そのものを直接に比較することによって、複数のデータ内容同士が同一または類似するか否かを判断する。データ内容そのもののデータ量が大きいため、直接に複数のデータ内容そのものを比較すると、演算量が大きくなり、判断の正確さも悪くなることがよくある。
【０００５】
なお、従来の技術において、二つのタグ同士が同一または類似するか否かを比較することによって、二つのタグで記述されたデータ内容が同一または類似するか否かを判断する技術もある。しかし、実際の応用には、各種の異なるデータフォーマット仕様が存在しており、その採用されたタグもそれぞれ異なる。タグとタグの比較を行うだけであれば、各種タグの多種の特徴を総合に考慮することが難しくなり、判断の正確さが悪くなってしまう。
【０００６】
そして、上記のように、例えば、若干のニュースを含むニュースリストに対して、一つのニュースの内容を記述するための一つのグループのタグ（以下は、「タググループ」と称す）、即ち、title（タイトル）、pubdate（発表時間）、author（作者）等を定義することができる。これにより、一般的には、一つのデータ内容が当該データ内容を記述するための、若干のタグを含むタググループにより定義されたものであることが分かった。従って、複数のデータ内容の間に同一または類似する意味を有するか否かを判断するには、複数のデータ内容を記述するための複数のタググループが同一または類似するか否かを総合的に判断する必要がある。タグとタグとを比較するだけであれば、若干のタグを含むタググループにより記述されたデータ内容が同一または類似する意味を有するか否かを判断し難い。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
出願人が、上記の課題に鑑みて、複数のタググループが同一又は類似するか否かを比較することによって、同一または類似する意味を有するデータ内容を認識すべきであることを考えた。本発明の基本的な思想は、複数のタググループが同一または類似するか否かを比較するために、まず同一または類似するタググループを、同一のクラスに区分し、その後に新たに発見されたタググループを、区分されたタググループのクラスと比較することにある。同一のクラスにおけるすべてのタググループが同一または類似しているので、タググループのクラスは各種のタググループの多種の特徴を総合的に考慮した。したがって、タググループとタグループのクラスとを比較することにより、より正確的にタググループの間の同一または類似を判断することができる。
【０００８】
本発明の目的は、タググループの分類方法及び装置、並びにデータマッシュアップ方法及び装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一実施例によれば、コンピュータが、少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行う方法が提供される。前記コンピュータが、同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成し、前記要素群から、各タググループに対応する特徴ベクトルを生成し、前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類する。
【発明の効果】
【００１０】
本発明の少なくとも一つの実施例によれば、タググループの特徴ベクトルと、タググループのクラスのコア特徴ベクトルとの間の類似度を比較することにより、より正確に、より効率にタググループ間の同一または類似を判断でき、より正確に、より効率に同一又は類似するデータをマッシュアップすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施例による、タググループに対して分類を行う方法を示すフローチャートである。
【図２】本発明の一実施例による、タググループに対して分類を行う方法の分類ステップの具体的な手順を示すフローチャートである。
【図３】本発明の一実施例による、タググループに対して分類を行う装置を示すブロック図である。
【図４】本発明の一実施例による、タググループに基づいてデータをマッシュアップする方法を示すフローチャートである。
【図５】本発明の一実施例による、タググループに基づいてデータをマッシュアップする装置を示すブロック図である。
【図６】本発明の一実施例を実現するコンピュータの例示的な構造を示すブロック図である。
【発明を実施するための形態】
【００１２】
本願に使用された用語は、特定の実施例を説明するためのものに過ぎず、本発明を限定する意図がない。本願に使用された単数形の「一」と「当該」とは、文脈において別途に明記する場合以外、複数形も含むことを意図する。また、「含む」という単語は、本明細書に使用される際に、示された特徴、全体、ステップ、操作、ユニット及び／又はコンポーネントの存在を意味するが、一つ又は複数の他の特徴、全体、ステップ、操作、ユニット及び／又はコンポーネント、及び／又はそれらの組合せの存在又は付加を排除するわけではない。
【００１３】
以下、図面を参照しながら本発明の実施例を説明する。ここで注意すべきなのは、明瞭にするために、図面及び説明において、本発明と無関係の、当業者の既知している部品及び処理の表記及び説明が省略されたことである。フローチャート及び／またはブロック図の各ブロック、並びにフローチャート及び／またはブロック図における各ブロックの組み合わせは、コンピュータプログラムの命令によって実現可能である。これらのプログラムの命令は、汎用コンピュータ、専用コンピュータまたはその他のプログラミング可能なデータ処理装置のプロセッサに提供されることができる。これにより、コンピュータまたはその他のプログラミング可能なデータ処理装置により実行されたこれらの命令に、フローチャート及び／またはブロック図におけるブロックで規定された機能／操作を実現する装置を生成させる機械を提供している。
【００１４】
これらのコンピュータプログラムの命令を、コンピュータまたはその他のプログラミング可能なデータ処理装置を特定の形態で作動するように制御できるコンピュータ読取可能な媒体に記憶してもよい。このように、コンピュータ読取可能な媒体に記憶された命令により、フローチャート及び／またはブロック図におけるブロックで規定された機能/操作を実現する命令手段(instruction  means)を含む製品が提供された。
【００１５】
コンピュータプログラムの命令をコンピュータまたはその他のプログラミング可能なデータ処理装置上にロードし、コンピュータまたはその他のプログラミング可能なデータ処理装置で一連の操作ステップを実行させてコンピュータによる実現過程を生成する。これにより、コンピュータまたはその他のプログラミング可能なデータ処理装置で実行された命令は、フローチャート及び／またはブロック図におけるブロックで規定された機能／操作を実現する過程を提供している。
【００１６】
図面中のフローチャート及びブロック図は、本発明の各種の実施例に従うシステム、方法及びコンピュータプログラム製品による実現可能なシステムアーキテクチャー、機能及び操作を示している。この点について、フローチャート及びブロック図における各ブロックは、一つのモジュール、ブログラムセグメントまたはコードの一部を表すことができる。前記モジュール、ブログラムセグメントまたはコードの一部は、所定のロジック機能を実現するための一つまたは複数の実行可能な命令を含む。また、幾つかの置き換えとしての実現においては、ブロックにおいて標記された機能も、図面において標記された順番と異なって発生しても良い。例えば、二つのつながって示されているブロックは、実際に、基本的に並行して実行されても良く、逆の順で実行されることもあり、係わる機能によって決まられる。また、ブロック図及び／またはフローチャートにおける各ブロックと、ブロック図及び／またはフローチャートにおけるブロックの組み合わせとは、所定の機能または操作を実行するための専用の、ハードウェアによるシステムによって実現されても良く、或は、専用ハードウェアとコンピュータの命令との組み合わせによって実現されても良い。
【００１７】
以下、図１を参照しながら本発明の一実施例による、タググループに対して分類を行う方法を説明する。図１は、本発明の一実施例による、タググループに対して分類を行う方法を示すフローチャートである。なお、当該方法は、図３に示す装置において行われる。
【００１８】
図１に示されたように、当該方法は、ステップ１００からスタートする。次に、ステップ１０２において、図３に示す装置の同義タグセット特定ユニット３００が、複数の同義タグセットのうち、タググループにおける各タグの所属する同義タグセットを特定する。
【００１９】
同義タグセット（S）は、同一または類似した意味（即ち同義）を有する一つのグループのタグにより構成されたセットである。例として、以下のような若干の同義タグセットが存在しても良い。
【００２０】
S1：author（作者）、creator（創作者）、writer（筆者）
S2：pubdate（公開時間）、publishdate（発表時間）
S3：URL（統一資源位置指定子）、link（リンク）
S4：summary（要約）、description（概述）
S5：event（イベント）、title（タイトル）、what（何）
S6：starttime（スタートタイム）、when（何時）
S7：where（何処）、location（場所）
・・・
Sn：who（誰）、attendees（参加者）
ただし、ｎは、１以上の整数である。
【００２１】
上記の同義タグセットは、例示に過ぎず、必要に応じて他の同義タグセットが存在してもよい。実際の応用の経験に基づいてどれらのタグが同一または類似した意味を示すかを事前に特定することができる。また、使用の過程において、絶えずに、新たに発見された同一または類似した意味を有するタグを、前記同義タグセットに追加して、動的に前記同義タグセットを更新することもできる。例えば、同義辞書の形式で前記同義タグセットを提供しても良い。当業者は、例えば、データベースのような他の方式で前記同義タグセットを提供してもよいことが理解することができる。
【００２２】
タググループ（T）は、一つのデータリストにおける相応するデータをそれぞれ定義するための一つのグループのタグにより構成されたセットである。例として、以下のような若干のタググループが存在してもよい。
【００２３】
T1：title（タイトル）、author（作者）、pubdate（公開時間）、summary（要約）
T2：title（タイトル）、publishdate（発表時間）、creator（創作者）、description（概述）、URL（統一資源位置指定子）
T3：title（タイトル）、link（リンク）、writer（筆者）、description（概述）
T4：title（タイトル）、link（リンク）、writer（筆者）、description（概述）
T5：event（イベント）、starttime（スタートタイム）、endtime（エンドタイム）、location（場所）、attendees（参加者）
T6：title（タイトル）、starttime（スタートタイム）、duration（期間）、where（何処）、attendees（参加者）
・・・
Tp：what（何）、where（何処）、who（誰）、when（何時）
ただし、ｐは、１以上の整数である。
【００２４】
上記のタググループは例示に過ぎず、実際の応用において他のタググループが存在してもよい。例えば、異なるデータフォーマット仕様（例えば、XML、JSONまたはCSV等）は、異なるタググループを定義しても良く、或は、データの発表者は必要に応じて異なるタググループをカスタマイズしても良い。
【００２５】
一つの新たなタググループ対して、前記の同義タグセットに基づいて新たなタググループにおける各タグの所属する同義タグセットを特定することができる。例えば、前記タググループT1に対して、タググループT1における各タグの順番に従って、タググループT1におけるタグ「title（タイトル）」が同義タグセットS5(即ち、タググループT1のうち同義タグセットS5に属するタグの数は１である)に属し、タググループT1におけるタグ「author（作者）」が同義タグセットS1(即ち、タググループT1のうち同義タグセットS1に属するタグの数は１である)に属し、タググループT1におけるタグ「公開時間」が同義タグセットS2(即ち、タググループT1のうち同義タグセットS2に属するタグの数は１である)に属し、及びタググループT1におけるタグ「summary（要約）」が同義タグセットS4(即ち、タググループT１のうち同義タグセットS4に属するタグの数は１である)に属することを順に特定することができる。また、前記のタググループT1に対して、前記同義タグセットS1から同義タグセットSnまでの順番に従って、タググループT1のうち同義タグセットS1に属するタグの数は１、タググループT1のうち同義タグセットS2に属するタグの数は１、タググループT1のうち同義タグセットS3に属するタグの数は0、タググループT1のうち同義タグセットS4に属するタグの数は１、タググループT1のうち同義タグセットS5に属するタグの数は１、タググループT1のうち同義タグセットS6に属するタグの数は0、及び、タググループT1のうち同義タグセットS7から同義タグセットSnまでの集合に属するタグの数はそれぞれ0であることを順に特定することができる。同じ方法により、前記タググループT2からタググループTpまでの各タググループにおける各タグのそれぞれが、前記同義タグセットS1から同義タグセットSnまでのうちのどのタグセットに属するかをそれぞれ特定することができる。
【００２６】
次に、当該方法は、ステップ１０４に進む。ステップ１０４において、図３に示す装置の特徴ベクトル生成ユニット３０２が、タググループに対応する特徴ベクトルを生成する。生成された特徴ベクトルのうち、各要素が複数の同義タグセットにおける異なる同義タグセットにそれぞれ対応し、各要素の値はタググループのうち、要素に対応する同義タグセットに属するタグの数である。
【００２７】
前記ステップ１０２で特定された結果により、タググループと対応する特徴ベクトルを生成することができる。例えば、タググループT1に対して、タググループT1における各タグの順による特定結果に応じて、タググループT1に対応する特徴ベクトルA：（S5:1，S1:1，S2:1，S4:1）を生成することができる。各要素のうち、コロンの前の部分は当該要素の対応する同義タグセットを示し、コロンの後の部分はタググループ１のうち当該要素に対応する同義タグセットに属するタグの数を示す。例えば、特徴ベクトルＡの一番目の要素「S5:1」について、「S5」は当該一番目の要素が同義タグセットS5に対応することを示し、「１」はタググループT1のうち同義タグセットS5に属するタグの数は１であることを示す。また、タググループT1に対して、前記同義タグセットS1から同義タグセットSnまでの順による特定結果に応じて、タググループT1に対応する特徴ベクトルA’：（S1:1，S2:1，S3:0，S4:1，S5:1，S6:0，S7:0，…,Sn:0）を生成することができる。なお、各要素の各部分の意味が前記特徴ベクトルAにおけるものと同じであるため、ここではその説明を省略する。同様な方法に従って、前記タググループT1からタググループTpまでのタググループのうちのそれぞれに対応する特徴ベクトルをそれぞれ生成することができる。
【００２８】
次に、当該方法は、ステップ１０６に進む。ステップ１０６において、図３に示す装置の類似度算出ユニット３０４が、特徴ベクトルと、少なくとも一つのクラスのうちの各クラスのコア特徴ベクトルとの間の類似度を算出する。なお、クラスのコア特徴ベクトルの各要素の値は、既にクラスに分類された各タググループの対応する特徴ベクトルにおける相応する要素の値の和である。
【００２９】
クラスは、互いに同一または類似した一つのグループのタググループにより構成されたセットである。すなわち、同一のクラスに属する各タグクループは、同一または類似している。例えば、タググループの間の余弦距離により、タググループが同一または類似するか否かを判断することが出来る。以下、タググループ間の余弦距離を算出する過程を説明する。
【００３０】
上記ステップ１０４により、タググループT1に対応する特徴ベクトルAを生成し、且つタググループT2に対応する特徴ベクトルBを生成したことを仮定する。なお、特徴ベクトルAは（S1:fa1,  S2:fa2,  ・・・,  Sn:fan）で示され、（fa1,  fa2,・・・,  fan）の略書きで記載可能であり、特徴ベクトルBは（S1:fb1,  S2:fb2,  ・・・,  Sn:fbn）で示され、（fb1,  fb2,・・・,  fbn）の略書きで記載可能である。なお、Snは、特徴ベクトルAまたは特徴ベクトルBにおけるｎ番目の要素の対応する同義タグセットSnを示し、fanはタググループT1のうち特徴ベクトルAにおけるｎ番目の要素に対応する同義タグセットSnに属するタグの数を示し、fbnはタググループT2のうち特徴ベクトルBにおけるｎ番目の要素に対応する同義タグセットSnのタグの数を示す。以下の式（１）により、タググループT1に対応する特徴ベクトルAと、タググループT2に対応する特徴ベクトルBとの間の余弦類似度を算出することができる。即ち、
類似度（A，B）=(Σfak×fbk)/sqrt[(Σfak×fak)  ×(Σfbk×fbk)]      式(1)
ただし、1≦k≦n、nは１以上の整数である。
【００３１】
一つのグループのタググループにより構成されたクラスに対して、例えばクラスにおける各タググループの対応する各特徴ベクトルのうちの相応する要素を累計して、クラスの対応するコア特徴ベクトルを取得することができる。例えば、クラスＣには、既にクラスＣに分類されたタググループT1からタググループTm（ｍは、１以上の整数である）までのタググループを有し、かつ、タググループT1からタググループTmまでのタググループの対応する特徴ベクトルは、それぞれ特徴ベクトルA1から特徴ベクトルAmまでであることを仮定すると、クラスＣの対応するコア特徴ベクトルACは、以下の式（２）より示される。
【００３２】
AC  =（Σfaj1，Σfaj2，・・・，Σfajn）      式（２）
ただし、1≦j≦m，mは１以上の整数である。
【００３３】
式（２）によりクラスＣの対応するコア特徴ベクトルACを算出した後に、前記の式（１）を利用して新たなタググループTNEの対応する特徴ベクトルANEと、クラスＣの対応するコア特徴ベクトルACとの間の類似度を算出することができる。複数のクラスが存在すれば、新たなタググループTNEの対応する特徴ベクトルANEと、複数のクラスのそれぞれの対応するコア特徴ベクトルとの間の類似度をそれぞれ算出する。
【００３４】
次に、当該方法は、ステップ１０８に進む。ステップ１０８において、図３に示す装置のタググループ分類ユニット３０６が、算出された類似度に基づいて、タググループを、少なくとも一つのクラスのうち近似するクラスに分類する。
【００３５】
前記式（1）により算出されたタググループの対応する特徴ベクトルと、クラスの対応するコア特徴ベクトルとの間の余弦類似度の値の大きさは、タググループとクラスとの類似度を示し、且つ余弦類似度の値が大きいほど、タググループとクラスとが類似する。従って、算出された類似度により、タググループとクラスとが類似するか否かを判断し、タググループを近似する（即ち、類似する）クラスに分類することができる。
【００３６】
最後、当該方法は、ステップ１１０に進む。ステップ１１０において、当該方法が終了する。
【００３７】
以上のように、本発明の実施例による、タググループ対して分類を行う方法の全体の流れを説明した。以下、図２を参照しながら、前記のタググループに対して分類を行う方法の分類ステップの具体的な流れを説明する。図２は、本発明の一実施例による、タググループ対して分類を行う方法の分類ステップの具体的な流れを示すフローチャートである。
【００３８】
図２に示されたように、前記ステップ１０６により、タググループの対応する特徴ベクトルと、複数のクラスのそれぞれの対応するコア特徴ベクトルとの間の類似度をそれぞれ算出した後に、当該方法は、ステップ２００に進む。ステップ２００において、算出されたタググループの特徴ベクタルと、少なくとも一つのクラスのうちの各コア特徴ベクトルとの間の類似度を、所定の閾値と比較する。当該所定の閾値は、必要に応じて予め設定しても良く、実際の応用の過程中に必要に応じて調整しても良い。閾値の大きさを調整することによって、タググループに対して分類を行う精度を制御することができる。
【００３９】
ここで、タググループにより構成された、それぞれC1、C2及びC3で示される３つのクラスが存在すると仮定する。クラスC1、C2及びC3の対応するコア特徴ベクトルはそれぞれA1、A2及びA3である。新たなタググループTNEが発見されると、当該新たなタググループTNEの対応する特徴ベクトルをANEとして特定する。特徴ベクトルANEと、コア特徴ベクトルA1、A2及びA3との類似度をそれぞれ算出する。例えば、余弦の類似度を採用する場合は、算出された類似度の値はそれぞれ0.92、0.85及び0.79となる。前記類似度の値を算出した後に、前記類似度の値、即ち0.92、0.85及び0.79を、所定の閾値とそれぞれ比較する。
【００４０】
次に、当該方法は、ステップ２０２に進む。ステップ２０２において、算出されたタググループと、少なくとも一つのクラスのうちの各クラスとの類似度が所定の閾値を超えるか否かを判断する。ステップ２０２での判断結果は「ＮＯ」、即ち、タググループがすべてのクラスのいずれにも類似しなければ、ステップ２０６に進む。ステップ２０６において、タググループを新たなクラスに分類することにより、当該新たなクラスに当該タググループを含ませる。
【００４１】
上記の例において、所定の閾値を0.93とする。算出された前記３つの類似度の値0.92、0.85及び0.79の何れも所定の閾値、即ち0.93を越えていないため、新たなタググループTNEと、現在のクラスC1、C2及びC3の何れも類似していない。このときに、新たなクラスC4を生成し、且つ新たなタググループTNEを新たなクラスC4に分類することによって、新たなC4に新たなタググループTNEを含ませることができる。
【００４２】
ステップ２０２での判断結果は「ＹＥＳ」であれば、ステップ２０４に進む。ステップ２０４において、所定の閾値より大きい類似度の対応するクラスが複数であるか否かを判断し、即ち、タググループと複数のクラスとの間の類似度は何れも所定の閾値より大きいか否かを判断する。ステップ２０４の判断結果が「ＮＯ」であれば、タググループとある一つのクラスとの間の類似度が所定の閾値より大きい、即ち、所定の閾値より大きい類似度の個数は１であることを意味し、ステップ２１０に進む。ステップ２１０において、タググループを算出された唯一の、所定の閾値を超えた類似度の対応するそのクラスに分類する。
【００４３】
前記の例において、所定の閾値0.90とする。算出された前記３つの類似度の値0.92、0.85及び0.79のうち、類似度の値0.92のみが所定の閾値0.90を超えたため、新たなタググループTNEを、前記類似度の値0.92の対応するクラスC1に分類する。
【００４４】
ステップ２０４の判断結果は「ＹＥＳ」であれば、タググループと複数のクラスとの間の類似度が所定の閾値より大きい、即ち、所定の閾値より大きい類似度の個数が複数であることを意味し、ステップ２０８に進む。ステップ２０８において、所定の閾値より大きい複数の類似度のうち最大の類似度を選択し、タググループを、選択された最大の類似度の対応するそのクラスに分類する。
【００４５】
前記の例において、所定の閾値を0.80とする。算出された前記３つの類似度の値0.92、0.85及び0.79のうち、類似度の値0.92と0.85の両方も所定の閾値0.80を超えたため、所定の閾値0.80を超えた類似度の値0.92と0.85のうち、最大の類似度の値、即ち類似度の値0.92を選択する。その後、新たなタググループTNEを、前記最大の類似度の値0.92が対応するクラスC1に分類する。
【００４６】
ステップ２０６、２０８及び２１０の後に、ステップ２１２に進み。ステップ２１２において、当該方法は終了する。
【００４７】
前記の説明において、余弦類似度を利用してタググループとタググループとの間の類似度、及びタググループと、タググループからなるクラスとの間の類似度を算出した。しかしながら、タググループとタググループとの間の類似度、または、タググループと、タググループからなるクラスとの間の類似度を算出可能であれば、その他の類似度の算出方法を採用しても良いことが、当業者にとって理解すべきである。
【００４８】
前記の説明において、クラスに含まれたタググループの数は動的に増加したものである。前記のタググループに対して分類を行う方法により、タググループがあるクラスに分類された後に、当該クラスに含まれたタググループの数は１増加することになる。好ましくは、新たなタググループをあるクラスに分類した後に、当該新たなタググループ及びその前に当該クラスに既に含まれたすべてのタググループに基づいて、前記式（２）を利用して当該クラスの対応するコア特徴ベクトルを新たに算出し、新たに算出されたコア特徴ベクトルを当該クラスの対応する新たなコア特徴ベクトルとする。その後、別のタググループに対して分類を行うときに、当該別のタググループと当該クラスの新たなコア特徴ベクトルとの類似度を比較する。従って、本実施例の方法によれば、各種のタググループの多種の特徴を総合的に考慮することで、より正確に、より効率にタググループ間の同一又は類似を判断することができる。
【００４９】
以下、図３を参照しながら、本発明の一実施例による、タググループに対して分類を行う装置を説明する。図３は、本発明の一実施例による、タググループに対して分類を行う装置を示すブロック図である。
【００５０】
図３に示されたように、タググループに対して分類を行う装置３１２は、主に、同義タグセット特定ユニット３００と、特徴ベクトル生成ユニット３０２と、類似度算出ユニット３０４と、タググループ分類ユニット３０６とを含む。同義タグセット特定ユニット３００は、同義タグセットデータベース３０８に記憶された複数の同義タグセットに基づいて、入力されたタググループにおける各タグの所属する同義タグセットを特定する。特徴ベクトル生成ユニット３０２は、入力されたタググループに対応する特徴ベクトルを生成する。生成された特徴ベクトルにおいて、各要素はそれぞれ複数の同義タグセットにおける異なる同義タグセットに対応し、各要素の値はタググループのうち要素に対応する同義タグセットに属するタグの数である。類似度算出ユニット３０４は、特徴ベクトルとクラスセットデータベース３１０に記憶された少なくとも一つのクラスのうちの各クラスのコア特徴ベクトルとの間の類似度を算出する。ここで、クラスのコア特徴ベクトルの各要素の値は、既にクラスに分類された各タググループの対応するベクトルにおける相応する要素の値の和である。タググループ分類ユニット３０６は、算出された類似度に基づいて、入力されたタググループを、クラスセットデータベース３１０に記憶された少なくとも一つのクラスのうちの近似するクラスに分類する。
【００５１】
タググループ分類ユニット３０６は、クラス特定ユニット３０６２を含む。クラス特定ユニット３０６２は、算出されたタググループと少なくとも一つのクラスのうちの各クラスとの間の類似度が所定の閾値を超えているか否かに基づいて、少なくとも一つのクラスのうちの各クラスが前記近似するクラスであるか否かを特定する。少なくとも一つのクラスのうち前記近似するクラスが存在しなければ、クラス特定ユニット３０６２が、前記タググループを新たなクラスに分類する。近似するクラスが複数あれば、クラス特定ユニット３０６２は、タググループを、算出された最大類似度の対応するクラスに分類する。
【００５２】
同義タグセット辞書のような他の方式で前記の複数の同義タグセットを提供しても良く、または、他の方式で前記クラスを提供しても良いことは、当業者にとって理解すべきである。同義タグセットデータベース３０８とクラスセットデータベース３１０とは記憶ユニット３１４に記憶される。記憶ユニット３１４は、例えば、磁気ディスク、フラッシュメモリ、モバイルメモリなどである。記憶ユニット３１４は、前記のタググループに対して分類を行う装置３１２に備えられても良く、或は、前記のタググループに対して分類を行う装置３１２の外部に位置され、かつ有線または無線の手段で前記のタググループに対して分類を行う装置３１２に付加されても良い。
【００５３】
余弦類似度を利用して、タググループとタググループとの間の類似度、及びタググループとタググループからなるクラスとの間の類似度を算出することができる。しかしながら、タググループとタググループとの間の類似度、またはタググループとタググループからなるクラスとの間の類似度を算出可能であれば、他の類似度算出方法を採用しても良いことは、当業者にとって理解すべきである。
【００５４】
前記のタググループに対して分類を行う装置３１２は、実際に、前記のタググループに対して分類を行う方法に対応する装置である。したがって、ここでは、その詳細な説明を省略する。
【００５５】
以下、図４を参照しながらタググループに基づいてデータをマッシュアップする方法を説明する。図４は、タググループに基づいてデータをマッシュアップする方法を示すフローチャートである。なお、当該方法は、図５に示す装置において行われる。
【００５６】
図４に示されたように、当該方法は、ステップ４００からスタートする。次に、当該方法は、ステップ４０２に進む。ステップ４０２において、図５に示す装置の分類ユニット５０３が、前記のタググループに対して分類を行う方法を使用して、タググループを少なくとも一つのクラスに分類する。したがって、前記のタググループに対して分類を行う方法を使用することで、異なるデータフォーマット仕様に適うタググループ、またはユーザによりカスタマイズされた異なるタググループなどを、それらの間の類似度に従って、動的に異なるクラスに区分し、かつ各クラスにおけるタググループが互いに類似している。
【００５７】
次に、当該方法はステップ４０４に進む。ステップ４０４において、図５に示す装置の置換ユニット５０５が、同一のクラスにおける各タググループの各タグのそれぞれを、その属する同義タグセットにおいて指定されたタグで置換する。前記ステップ４０２でタググループが異なるクラスに区分された後に、同一のクラスにおける各タググループの各タグのそれぞれを統一的なタグで置換することができる。これにより、同一のクラスにおいて類似している各タグを同一のタググループに統一し、取得された同一のタググループを使用して、その前に各類似しているタググループで記述したデータを新たに記述することができ、類似する内容・意味を有するデータのマッシュアップが実現される。
【００５８】
各種の方法で前記の同一のクラスにおける各タググループの各タグの置換操作を行うことができる。例えば、同一のクラスにおける各タググループの各タグを、その所属する同義タグセットにおいて指定されたタグで置換ことができる。前記の指定されたタグは、例えば、同一のクラスにおける各タググループの各タグの所属する同義タグセットにおける一番目のタグまたは最後のタグであってもよい。或は、例えば、同一のクラスにおけるすべてのタググループに対して、同一のクラスにおける各タググループの各タグの所属する同義タグセットにおける各同義タグの使用頻度を統計し、使用頻度の最も高い同義タグを前記指定されたタグとしても良い。置換後の指定されたタグが相応するデータを統一的に定義できることを確保できれば、他の方式で前記同一のクラスにおける各タググループの各タグの置換操作を行っても良いことは、当業者にとって理解すべきである。
【００５９】
次に、当該方法は、ステップ４０４に進む。ステップ４０４において、当該方法が終了する。
【００６０】
図５を参照しながら、タググループに基づいてデータをマッシュアップする装置を説明する。図５は、タググループに基づいてデータをマッシュアップする装置を示すブロック図である。
【００６１】
図５に示されたように、タググループに基づいてデータをマッシュアップする装置５０１は、主に、分類ユニット５０３と、置換ユニット５０５とを含む。分類ユニット５０３は、前記タググループに対して分類を行う装置を使用して、入力されたデータにおけるタググループを、少なくとも一つのクラスに分類する。置換ユニット５０５は、同一のクラスにおける各タググループの各タグを、それぞれその所属する同義タグセットにおいて指定されたタグで置換する。これにより、同一のクラスにおける類似する各タグを同一のタググループに統一し、且つ取得された同一のタググループを使用して入力されたデータを新たに記述することができ、類似する内容意味を有するデータのマッシュアップが実現される。
【００６２】
前記のタググループに基づいてデータをマッシュアップする装置５０１は、実際に、前記のタググループに基づいてデータをマッシュアップする方法に対応する装置である。従って、ここではその詳細な説明を省略する。
【００６３】
図６は、本発明の装置及び方法を実現するコンピュータの例示的な構造を示すブロック図である。
【００６４】
図６において、中央処理ユニット(ＣＰＵ)６０１は、リードオンリメモリ(ＲＯＭ)６０２に記憶されたプログラムまたは記憶部６０８からランダムアクセスメモリ(ＲＡＭ)６０３にロードしたプログラムに基づいて、各種の処理を実行する。ＲＡＭ６０３において、必要に応じて、ＣＰＵ６０１が各種の処理等を実行するときに必要なデータも記憶される。
【００６５】
ＣＰＵ６０１、ＲＯＭ６０２及びＲＡＭ６０３はバス６０４を介して互いに接続する。入力／出力インタフェース６０５もバス６０４に接続される。
【００６６】
キーボード、マウス等を含む入力部６０６と、ブラウン管（CRT）、液晶ディスプレイ（LCD）等のようなディスプレイとスピーカ等を含む出力部６０７と、ハードディスク等を含む記憶部６０８と、LANカード、モデム等のようなネットワークインターフェースカードを含む通信部６０９とは、入力／出力インタフェース６０５に接続されている。通信部６０９はネットワーク、例えばインターネットを経由して通信処理を実行する。
【００６７】
必要に応じて、入力／出力インタフェース６０５にはドライブ６１０も接続されている。磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等のような取り外し可能な媒体６１１は、必要に応じてドライブ６１０に取り付けられており、その中から読み出されたコンピュータプログラムが必要に応じて記憶部６０８にインストールされる。
【００６８】
ソフトウェアにより前記ステップ及び処理が実現される場合には、ネットワーク例えばインターネット、または記憶媒体例えば取り外し可能な媒体６１１から、ソフトウェアを構成するプログラムをインストールする。
【００６９】
このような記憶媒体は、図６に示されたような、プログラムが記憶されており、方法と別に配布されることでユーザにプログラムを提供する取り外し可能な媒体６１１に限定されないことが、当業者にとって理解すべきである。取り外し可能な媒体６１１の例として、磁気ディスク、光ディスク（コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）やディジタルヴァーサタイルディスク（ＤＶＤ）を含む）、光磁気ディスク（ミニディスク(ＭＤ)含む）及び半導体メモリを含む。または、記憶媒体は、ＲＯＭ６０２、記憶部６０８に含まれるハードディスクなどであっても良い。その中にプログラムが記憶されており、ユーザに配布される。
【００７０】
以上、本発明の好ましい実施例を説明したが、本発明はこの実施例に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は本発明の技術的範囲に属する。
【００７１】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【００７２】
（付記１）コンピュータが、少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行う方法であって、前記コンピュータが、同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成し、前記要素群から、各タググループに対応する特徴ベクトルを生成し、前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類することを特徴とする分類を行う方法。
【００７３】
（付記２）前記コンピュータが、各クラスについて、クラスに分類されたタググループの特徴ベクタルの要素の値の和となるコア特徴ベクトルを算出し、分類されるべきタググループの特徴ベクトルと、分類先となる各クラスのコア特徴ベクトルとの類似度を求め、何れのコア特徴ベクトルとも類似しないと判断すると、新たなクラスを作成して該分類されるべきタググループを該作成した新たなクラスに分類することを特徴とする付記１に記載の分類を行う方法。
【００７４】
（付記３）少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行う装置であって、同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成する第一のユニットと、前記要素群から、各タググループに対応する特徴ベクトルを生成する第二のユニットと、前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類する第三のユニットと、を含む、ことを特徴とする分類を行う装置。
【００７５】
（付記４）各クラスについて、クラスに分類されたタググループの特徴ベクタルの要素の値の和となるコア特徴ベクトルを算出する第四のユニットと、分類されるべきタググループの特徴ベクトルと、分類先となる各クラスのコア特徴ベクトルとの類似度を求め、何れのコア特徴ベクトルとも類似しないと判断すると、新たなクラスを作成して該分類されるべきタググループを該作成した新たなクラスに分類する第五のユニットと、を含む、ことを特徴とする付記３に記載の分類を行う装置。
【００７６】
（付記５）コンピュータが、タググループに基づいてデータをマッシュアップする方法であって、前記コンピュータが、付記１又は２に記載の分類を行う方法で、タググループを少なくとも一つのクラスに分類し、同一のクラスにおける各タググループの各タグのそれぞれを、その所属する同義タグセットにおいて指定されたタグで置換することを特徴とするデータをマッシュアップする方法。
【００７７】
（付記６）タググループに基づいてデータをマッシュアップする装置であって、付記３又は４に記載の分類を行う装置で、タググループを少なくとも一つのクラスに分類する分類ユニットと、同一のクラスにおける各タググループの各タグのそれぞれを、その所属する同義タグセットにおいて指定されたタグで置換する置換ユニットと、を含む、ことを特徴とするデータをマッシュアップする装置。
【００７８】
（付記７）少なくとも一つのタグと、前記少なくとも一つのタグにより定義された相応するデータとを含むタググループに対して分類を行うプログラムであって、コンピュータに、同義のタグが属する同義タグセット群と、1つのデータリストのデータを定義するタグが属するタググループ群とから、あるグループに属するタグが、いずれの同義タグにいくつ現れるかを示す要素群を生成し、前記要素群から、各タググループに対応する特徴ベクトルを生成し、前記タググループを、各タググループの特徴ベクトルの類似度に応じてクラスに分類することを実行させるためのプログラム。
【００７９】
（付記８）付記７に記載のプログラムを記憶しているコンピュータ読み出し可能な記憶媒体。
【図１】
0005928091.tif 000002
【図２】
0005928091.tif 000003
【図３】
0005928091.tif 000004
【図４】
0005928091.tif 000005
【図５】
0005928091.tif 000006
【図６】
0005928091.tif 000007