(57)【要約】【課題】クラスが不明なＲＤＦのリソースに対して適切にクラス情報を付与する。【解決手段】クラス推定装置１０は、少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦの学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出する。そして、指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得する。そして、第１の述語及び第２の述語を組合せ、各主語のクラスに対応する述語と、第１の述語及び第２の述語を組合せた組合せ述語とを含む各素性を生成する。そして、各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する。【選択図】図２
2018005632.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦ（Resource  Description  Framework）の学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出する算出部と、
前記指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、該第１の述語及び該第２の述語を組合せ、各主語のクラスに対応する述語と、該第１の述語及び該第２の述語を組合せた組合せ述語とを含む各素性を生成する生成部と、
各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する学習部と
を備えたことを特徴とするクラス推定装置。
【請求項２】
前記クラス分類規則を参照し、入力された素性が各クラスにおいて出現する出現頻度の和を算出し、該和が閾値を超えるクラスを該素性から推定される推定クラスとして出力する推定部
をさらに備え、
前記生成部は、ＲＤＦのクラス推定対象データにおける各述語が前記第１の述語に該当する場合に、該第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、該第１の述語及び該第２の述語を組合せ、各主語のクラスに対応する述語と、該第１の述語及び該第２の述語を組合せた組合せ述語とを含む各素性を生成し、
前記推定部は、前記生成部により生成された素性を入力として、前記クラス推定対象データにおいて該素性に対応する主語のクラスを推定する
ことを特徴とする請求項１に記載のクラス推定装置。
【請求項３】
前記指標は、前記出現確率に基づくエントロピーである
ことを特徴とする請求項１又は２に記載のクラス推定装置。
【請求項４】
前記指標は、各述語に対応する各目的語のクラスの出現数に応じて可変である
ことを特徴とする請求項１、２又は３に記載のクラス推定装置。
【請求項５】
コンピュータが、
少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦ（Resource  Description  Framework）の学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出し、
前記指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、
前記第１の述語及び前記第２の述語を組合せ、
各主語のクラスに対応する述語と、前記第１の述語及び前記第２の述語を組合せた組合せ述語とを含む各素性を生成し、
各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する
各処理を実行することを特徴とするクラス推定方法。
【請求項６】
コンピュータに、
少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦ（Resource  Description  Framework）の学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出し、
前記指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、
前記第１の述語及び前記第２の述語を組合せ、
各主語のクラスに対応する述語と、前記第１の述語及び前記第２の述語を組合せた組合せ述語とを含む各素性を生成し、
各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する
各処理を実行させることを特徴とするクラス推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラス推定装置、クラス推定方法及びクラス推定プログラムに関する。
【背景技術】
【０００２】
近年注目されつつあるＲＤＦ（Resource  Description  Framework）は、「主語」「述語」「目的語」の三要素で、ウェブ上に存在するリソース間の関係を記述するデータ形式である。リソースは、人や物事などのエンティティを表し、ＵＲＩ（Uniform  Resource  Identifier）によって一意に識別される。「主語」「述語」はリソースであり、「目的語」はリソース又は文字列（「リテラル」という）である。ＲＤＦは、一般的に、リソースをノードとする有向グラフで表現され、述語を重みとするエッジでリソース間を結ぶことで、主語及び目的語の関係を表す。
【０００３】
また、ＲＤＦの各リソースは、クラスと呼ばれるリソースの集合に属する。各リソースが属するクラスは、「述語」“rdf:type”によって記述される。例えば、「主語」“http://xxx/アインシュタイン”、「述語」“rdf:type”、「目的語」“http://xxx/人物”、ならびに、「主語」“http://xxx/アインシュタイン”、「述語」“rdf:type”、「目的語」“http://xxx/科学者”というリソース間の関係を考える。この場合、“アインシュタイン”は、“人物クラス”及び“科学者クラス”に属する。このとき、アインシュタインは、“人物クラス”及び“科学者クラス”の“インスタンス”である。
【０００４】
このようなウェブ上の膨大なＲＤＦのリソースに対し、適切なスキーマ情報を与えることで、ＲＤＦのリソースの円滑な利用を促進することが期待されている。
【０００５】
例えば、文書から「主語」「述語」「目的語」を抽出して文書のメタデータを生成する技術がある。また、グラフ構造を持つ大量のデータの中からクエリグラフパターンが一致する情報を検索に関して、ユーザにより入力された情報等に関連する意味合いの構造を持つ情報を取得するクエリグラフパターンを生成する技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２５８６５９号公報
【特許文献２】特開２００６−３１３５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、既存のＲＤＦのリソースには、クラス情報が付与されているリソースと、クラス情報が付与されていないリソースがある。このため、例えば、クラス情報を用いてＲＤＦのリソースを一括取得する場合、クラスの情報が付与されていないリソースは、取得結果から漏れてしまう。よって、リソース探索の容易性を低下させ、利用者がリソースを円滑に利用できないという問題がある。
【０００８】
一つの側面としては、例えば、クラスが不明なＲＤＦのリソースに対して適切にクラス情報を付与するためのクラス分類規則を学習するクラス推定装置、クラス推定方法及びクラス推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの案では、例えば、クラス推定装置は、主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦの学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出する。そして、クラス推定装置は、指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得する。そして、クラス推定装置は、第１の述語及び第２の述語を組合せ、各主語のクラスに対応する述語と、第１の述語及び第２の述語を組合せた組合せ述語とを含む各素性を生成する。そして、クラス推定装置は、各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する。
【発明の効果】
【００１０】
一つの側面として、例えば、クラスが不明なＲＤＦのリソースに対して適切にクラス情報を付与するためのクラス分類規則を学習できる。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、ＲＤＦを説明する図である。
【図１Ｂ】図１Ｂは、ＲＤＦのグラフ表現を示す図である。
【図１Ｃ】図１Ｃは、リソースのクラスを説明する図である。
【図２】図２は、実施例に係るクラス推定装置の構成の一例を示すブロック図である。
【図３】図３は、実施例に係る学習フェーズ処理の一例を示すフローチャートである。
【図４】図４は、実施例に係る曖昧性計算処理の一例を示すフローチャートである。
【図５】図５は、実施例に係る素性生成処理の一例を示すフローチャートである。
【図６】図６は、実施例に係る取得した学習データの一例を示す図である。
【図７】図７は、実施例に係る学習データの目的語のクラスの一例を示す図である。
【図８】図８は、実施例に係る学習データに含まれる述語を重複を排除して列挙したリストＬ１の一例を示す図である。
【図９】図９は、実施例に係る目的語のクラスの出現確率の算出の一例を示す図である。
【図１０】図１０は、実施例に係る展開述語保存リストの一例を示す図である。
【図１１】図１１は、実施例に係る学習データに含まれる主語を重複を排除して列挙したリストＬ２の一例を示す図である。
【図１２】図１２は、実施例に係るグラフの展開の一例を示す図である。
【図１３】図１３は、実施例に係る素性リストの一例を示す図である。
【図１４】図１４は、実施例に係るクラス分類規則（各クラスにおける各素性の出現頻度）の一例を示す図である。
【図１５】図１５は、実施例に係る分類フェーズ処理の一例を示すフローチャートである。
【図１６】図１６は、実施例に係る取得したクラス推定対象データの一例を示す図である。
【図１７】図１７は、実施例に係るクラス推定対象データの素性リストの一例を示す図である。
【図１８】図１８は、実施例に係るクラスの推定の一例を示す図である。
【図１９】図１９は、実施例の他の適用例に係る目的語のクラスの出現確率の算出の一例を示す図である。
【図２０】図２０は、実施例の他の適用例に係るグラフの展開の一例を示す図である。
【図２１】図２１は、実施例の他の適用例に係るクラス分類規則（各クラスにおける各素性の出現頻度）の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して実施例に係るクラス推定装置、クラス推定方法及びクラス推定プログラムについて説明する。なお、以下の実施例は開示技術を限定するものではない。また、各実施例は、矛盾しない範囲で適宜組み合わせてもよい。また、以下の実施例の説明では、開示技術と関連する構成のみ説明し、その他の構成の説明を省略する。また、以下の実施例の説明では、既出の同一又は類似の構成もしくは処理について後出の説明を省略する。
【００１３】
図１Ａに示すように、以下の実施例において、ＲＤＦ（Resource  Description  Framework）は、「主語」「述語」「目的語」の組合せで、ウェブ上に存在するリソース間の関係を記述するデータ形式である。図１Ａは、ＲＤＦを説明する図である。
【００１４】
リソースは、人や物事などのエンティティを表し、ＵＲＩ（Uniform  Resource  Identifier）によって一意に識別される。「主語」「述語」はリソースであり、「目的語」はリソース又は文字列（「リテラル」という）である。図１Ａでは、「主語」「述語」「目的語」の３つの関係を示す。“http://xxx/アインシュタイン”“http://xxx/名前”“アルバート・アインシュタイン”、“http://xxx/アインシュタイン”“http://xxx/所属”“http://xxx/ＺＵ大学”、“http://xxx/アインシュタイン”“http://xxx/分野”“http://xxx/物理学”である。なお、「目的語」“アルバート・アインシュタイン”は、リテラルである。
【００１５】
また、図１Ｂに示すように、例えば、図１Ａの「主語」「述語」「目的語」の関係を示すＲＤＦは、リソース（「主語」及び「目的語」）をノードとし、「述語」を重みとする有向エッジでリソース間を結ぶ。これにより、「主語」「述語」「目的語」の関係を示すＲＤＦは、主語及び目的語の関係を表す有向グラフで表現される。図１Ｂは、ＲＤＦのグラフ表現を示す図である。
【００１６】
また、図１Ｃに示すように、以下の実施例において、ＲＤＦの各リソースは、クラスと呼ばれるリソースの集合に属し、クラスの集合に属するリソースは、該当クラスのインスタンスである。図１Ｃは、リソースのクラスを説明する図である。
【００１７】
図１Ｃでは、“http://xxx/アインシュタイン”“rdf:type”“http://xxx/人物”、“http://xxx/アインシュタイン”“rdf:type”“http://xxx/科学者”という２つの「主語」「述語」「目的語」の関係を示す。図１Ｃは、「主語」“http://xxx/アインシュタイン”は、“人物”及び“科学者”のクラスに属する。なお、rdf:typeは、“http://www.w3.org/1999/02/22-rdf-syntax-ns#type”の略である。
【実施例】
【００１８】
（実施例に係るクラス推定装置）
図２は、実施例に係るクラス推定装置の構成の一例を示すブロック図である。実施例に係るクラス推定装置１０は、曖昧性計算部１１、展開述語保存部１２、素性生成部１３、分類規則学習部１４、クラス分類規則保存部１５、クラス推定部１６を有する。展開述語保存部１２及びクラス分類規則保存部１５は、揮発性又は不揮発性の記憶装置である。
【００１９】
曖昧性計算部１１は、入力された学習データ（ＲＤＦリソース）について、述語に対する目的語の曖昧性を計算して展開する述語を決定し、展開述語保存部１２に保存する。展開述語保存部１２は、曖昧性計算部１１により展開された述語の展開結果を格納する。素性生成部１３は、展開述語保存部１２を参照して展開するノードを決定し、入力された学習データ（ＲＤＦリソース）から素性を生成する。
【００２０】
なお、素性とは、入力に対する出力を実データに基づいて学習する機械学習における入力をいう。例えば、「主語」であるリソースから学習データを作成する例では、リソースに対応する「述語」を素性としてクラスを推定する。そして、“rdf:type”以外の「述語」が素性として入力されたとき、「述語」“rdf:type”の「目的語」に対応する各クラスを出力する事例として学習する。
【００２１】
分類規則学習部１４は、素性生成部１３により生成された素性からクラス分類規則を学習して、学習したクラス分類規則をクラス分類規則保存部１５に保存する。クラス分類規則保存部１５は、分類規則学習部１４により学習されたクラス分類規則を格納する。
【００２２】
また、素性生成部１３は、展開述語保存部１２を参照して展開するノードを決定し、入力されたクラス推定対象データ（ＲＤＦリソース）から素性を生成する。クラス推定部１６は、クラス分類規則保存部１５に格納されているクラス分類規則を用いて、素性生成部１３により生成されたクラス推定対象データ（ＲＤＦリソース）の素性からクラスを推定し、クラス推定結果を出力する。
【００２３】
なお、曖昧性計算部１１は、少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦの学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標を算出する算出部の一例である。また、素性生成部１３は、指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、第１の述語及び第２の述語を組合せ、各主語のクラスに対応する述語と、第１の述語及び第２の述語を組合せた組合せ述語とを含む各素性を生成する生成部の一例である。また、分類規則学習部１４は、各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計し、集計した出現頻度から各素性に対して付与されるクラスを分類するクラス分類規則を学習する学習部の一例である。また、クラス推定部１６は、クラス分類規則を参照し、入力された素性が各クラスにおいて出現する出現頻度の和を算出し、和が閾値を超えるクラスを素性から推定される推定クラスとして出力する推定部の一例である。
【００２４】
（実施例に係る学習フェーズ処理）
図３は、実施例に係る学習フェーズ処理の一例を示すフローチャートである。先ず、曖昧性計算部１１は、学習データ（ＲＤＦリソース）を取得する（ステップＳ１１）。ステップＳ１１で曖昧性計算部１１が取得する学習データは、例えば図６に示す学習データＤ１である。図６は、実施例に係る取得した学習データの一例を示す図である。
【００２５】
次に、曖昧性計算部１１は、ステップＳ１１で取得した学習データＤ１のうち、クラスが未確定である「述語」が“http://xxx/分野”“http://xxx/国籍”“http://xxx/所属”であるレコードの「目的語」について、既知のクラスを取得する（ステップＳ１２）。クラスが未確定である「述語」“http://xxx/分野”“http://xxx/国籍”“http://xxx/所属”のレコードの「目的語」は、“http://xxx/物理学”“http://xxx/日本”“http://xxx/ＫＹ大学”“http://xxx/Ａミュージック”“http://xxx/Ｓ製作所”である。図７は、実施例に係る学習データの目的語のクラスの一例を示す図である。
【００２６】
図７に示すクラスデータＤ２は、“http://xxx/物理学”“http://xxx/日本”“http://xxx/ＫＹ大学”“http://xxx/Ａミュージック”“http://xxx/Ｓ製作所”を「主語」として取得したそれぞれのクラスを示す。それぞれのクラスは、“http://xxx/学問”“http://xxx/国”“http://xxx/大学”“http://xxx/企業”である。
【００２７】
次に、曖昧性計算部１１は、学習データＤ１中のリソースについて述語に対する目的語の曖昧性を計算して展開する述語を決定し、決定した述語を展開述語保存部１２に保存する（曖昧性計算処理、ステップＳ１３）。曖昧性計算処理の詳細については、図４を参照して後述する。
【００２８】
次に、素性生成部１３は、学習データＤ１中のリソースについて展開述語保存部１２を参照し、目的語を展開して素性を生成する（素性生成処理、ステップＳ１４）。素性生成処理の詳細については、図５を参照して後述する。
【００２９】
次に、分類規則学習部１４は、ステップＳ１４で生成した素性からクラス分類規則を学習してクラス分類規則保存部１５に保存する（ステップＳ１５）。ステップＳ１５が終了すると、クラス推定装置１０は、実施例に係る学習フェーズ処理を終了する。なお、クラス分類規則の詳細については、図１４を参照して後述する。
【００３０】
（実施例に係る曖昧性計算処理）
図４は、実施例に係る曖昧性計算処理の一例を示すフローチャートである。先ず、曖昧性計算部１１は、図３のステップＳ１１で取得した学習データＤ１に含まれる述語を重複なしで列挙し、リストＬ１に格納する（ステップＳ１３−１）。
【００３１】
図８は、実施例に係る学習データに含まれる述語を重複を排除して列挙したリストＬ１の一例を示す図である。図８に示すように、曖昧性計算部１１は、学習データＤ１のうち、クラスを表す“rdf:type”を除く「述語」の重複を排除した“http://xxx/分野”“http://xxx/国籍”“http://xxx/所属”“http://xxx/名前”をリストＬ１に格納する。
【００３２】
次に、曖昧性計算部１１は、ステップＳ１３−１で「述語」が格納されたリストＬ１中に格納されているすべての述語について、後述のステップＳ１３−３〜ステップＳ１３−５の処理を行ったか否かを判定する（ステップＳ１３−２）。曖昧性計算部１１は、リストＬ１中のすべての述語について処理した場合（ステップＳ１３−２：Ｙｅｓ）、曖昧性計算処理を終了し、図３のステップＳ１４へ処理を移す。一方、曖昧性計算部１１は、リストＬ１中のすべての述語について処理していない場合（ステップＳ１３−２：Ｎｏ）、ステップＳ１３−３へ処理を移す。
【００３３】
ステップＳ１３−３では、曖昧性計算部１１は、リストＬ１から未処理の述語を１つ選択し、この述語Ｐの目的語がリテラルか否かを判定する。曖昧性計算部１１は、述語Ｐの目的語がリテラルである場合（ステップＳ１３−３：Ｙｅｓ）、ステップＳ１３−２へ処理を戻す。一方、曖昧性計算部１１は、述語Ｐの目的語がリテラルでない場合（ステップＳ１３−３：Ｎｏ）、ステップＳ１３−４へ処理を移す。
【００３４】
ステップＳ１３−４では、曖昧性計算部１１は、未処理の述語Ｐについて学習データＤ１中の対応する目的語のクラスの出現確率を算出し、クラスの出現数から閾値を計算する。図９を参照して、ステップＳ１３−４の処理を説明する。図９は、実施例に係る目的語のクラスの出現確率の算出の一例を示す図である。
【００３５】
目的語のクラスの出現確率は、すべてのリソースについて、各述語に対する目的語の曖昧性を計算することで、どの述語である場合に目的語を展開するかを決定するために算出される。先ず、各述語について、対応する目的語のクラスの出現確率を調べる。実際のデータは、クラスが判明していない目的語も存在するため、クラスが判明している目的語についてのみ出現確率の算出対象とする。
【００３６】
図９に示す例では、「述語」“分野（http://xxx/分野の‘http://xxx/’の省略形、以下同様）”については、対応する「目的語」はリテラルではなく、出現するクラスは“学問”の１つであることから、“学問”の出現確率は１である。また、「述語」“所属”については、対応する「目的語」はリテラルではなく、出現するクラスは“大学”“企業”“企業”の３つであることから、“大学”の出現確率が１／３、“企業”の出現確率が２／３である。また、「述語」“国籍”については、対応して出現する「目的語」はリテラルではなく、出現するクラスは“国”の１つであることから、“国”の出現確率は１である。
【００３７】
また、各「述語」に対するエントロピーの最大値は、出現するクラスの数をＮとするとlog２Ｎであるので、例えば（log２Ｎ）／２を、後述のエントロピーを閾値判定する際の閾値とする。エントロピーを閾値判定する際の閾値を、例えば（log２Ｎ）／２とする等、学習データＤ１の特性に応じて閾値を動的に変化させることで、目的語の展開を行うか否かを適切に判定できる。
【００３８】
次に、ステップＳ１３−５では、曖昧性計算部１１は、各クラスの出現確率のエントロピーＳ（Ｓ＝−Σｐlog２ｐ；ｐは各クラスの出現確率であり、Σは全てのクラスについての和を表す）を計算する。そして、曖昧性計算部１１は、エントロピーＳがステップＳ１３−４で計算した閾値より大きい場合は、現在の処理対象である述語Ｐを展開述語保存部１２に保存する。エントロピーＳは、目的語のクラスの曖昧性を示し、その値が大きいほど各述語に対する目的語が曖昧であることを意味する。エントロピーＳが閾値を超える場合に、該当目的語が展開される。
【００３９】
曖昧性計算部１１は、各述語に対する目的語のクラスの出現確率から、目的語のクラスの曖昧性（各クラスの出現確率に基づくエントロピーＳ）を計算する。図９の例で曖昧性計算部１１が算出する各クラスの出現確率のエントロピーＳを説明する。図９では、「述語」“分野”において、出現するクラスは“学問”の１つであるから、曖昧性計算部１１は、エントロピーＳ＝−１×log２１＝０と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２１）／２＝０と計算する。よって、曖昧性計算部１１は、「述語」“分野”は、エントロピーＳ＝閾値となり、エントロピーＳが閾値より大きいという条件が満たされないので、「述語」“分野”を展開述語保存部１２に保存しない。つまり、「述語」“分野”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性がなく、曖昧性が小さい。
【００４０】
また、図９では、「述語」“所属”において、“大学”のクラスが１／３の出現確率で出現し、“企業”のクラスが２／３の確率で出現する。このことから、曖昧性計算部１１は、エントロピーＳ＝−｛（１／３）×log２（１／３）＋（２／３）×log２（２／３）｝≒０．９２と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２２）／２＝０．５と計算する。よって、曖昧性計算部１１は、「述語」“所属”は、エントロピーＳ＞閾値となり、エントロピーＳが閾値より大きいという条件が満たされるので、「述語」“所属”を展開述語保存部１２の展開述語保存リストＬに格納して保存する。つまり、「述語」“所属”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性があり、曖昧性が大きい。図１０は、実施例に係る展開述語保存リストの一例を示す図である。
【００４１】
また、図９では、「述語」“国籍”において、“国”のクラスのみが出現することから、曖昧性計算部１１は、エントロピーＳ＝−１×log２１＝０と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２１）／２＝（log２１）／２＝０と計算する。よって、曖昧性計算部１１は、「述語」“国籍”は、エントロピーＳ＝閾値となり、エントロピーＳが閾値より大きいという条件が満たされないので、「述語」“国籍”を展開述語保存部１２に保存しない。つまり、「述語」“国籍”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性がなく、曖昧性が小さい。
【００４２】
以上のようにして、ステップＳ１３−５が終了すると、曖昧性計算部１１は、ステップＳ１３−２へ処理を移す。
【００４３】
（実施例に係る素性生成処理）
図５は、実施例に係る素性生成処理の一例を示すフローチャートである。先ず、素性生成部１３は、図３のステップＳ１１で取得した学習データＤ１に含まれる主語を重複なしで列挙し、リストＬ２に格納する（ステップＳ１４−１）。
【００４４】
図１１は、実施例に係る学習データに含まれる主語を重複を排除して列挙したリストＬ２の一例を示す図である。図１１に示すように、素性生成部１３は、学習データＤ１のうち、「主語」の重複を排除した“http://xxx/湯川秀樹”“http://xxx/坂本竜二”“http://xxx/田中一郎”を学習対象リソースとしてリストＬ２に格納する。
【００４５】
次に、素性生成部１３は、ステップＳ１４−１で学習対象リソースが格納されたリストＬ２中に格納されているすべての学習対象リソースについて、後述のステップＳ１４−３〜ステップＳ１４−４の処理を行ったか否かを判定する（ステップＳ１４−２）。素性生成部１３は、リストＬ２中のすべての学習対象リソースについて処理した場合（ステップＳ１４−２：Ｙｅｓ）、素性生成処理を終了し、図３のステップＳ１５へ処理を移す。一方、素性生成部１３は、リストＬ２中のすべての学習対象リソースについて処理していない場合（ステップＳ１４−２：Ｎｏ）、ステップＳ１４−３へ処理を移す。
【００４６】
ステップＳ１４−３では、素性生成部１３は、リストＬ２から未処理の学習対象リソースを１つ選択し、この学習対象リソースＲが、展開述語保存部１２に含まれる述語を持つ場合に展開して述語を取得する。すなわち、素性生成部１３は、述語に対する目的語のクラスの曖昧性が高い場合に、ＲＤＦのグラフ表現における該当目的語の先のグラフを展開する。
【００４７】
図１２を参照して、グラフの展開について説明する。図１２は、実施例に係るグラフの展開の一例を示す図である。図１２では、「述語」“所属”が展開対象であり、“分野”“国籍”は展開対象ではない。図１２に示すように、「主語」“湯川秀樹”“坂本竜二”“田中一郎”のそれぞれについて「述語」“所属”以下を展開し、展開後の各述語を取得する。図１２の例では、「主語」“湯川秀樹”について「述語」“所属”の展開後の述語は“学長”“学部”である。また、「主語」“坂本竜二”について「述語」“所属”の展開後の述語は“社長”“作品”である。また、「主語」“田中一郎”について「述語」“所属”の展開後の述語は“社長”“製品”である。
【００４８】
なお、図１２の例では、「目的語」の先の展開を行うのは１ノード先までとするが、再帰的に複数ノード先まで展開してよい。
【００４９】
次に、素性生成部１３は、処理対象の学習対象リソースＲの述語及びステップＳ１４−３で取得した展開先の述語を組合せ、この組合せから素性を生成し、素性リストＬ３に格納する（ステップＳ１４−４）。すなわち、素性生成部１３は、展開前後のグラフの述語を組合せた組合せ素性を生成し、クラス分類のための学習データを作成する。図１２及び図１３を参照して、素性の生成について説明する。図１３は、実施例に係る素性リストの一例を示す図である。
【００５０】
例えば、素性生成部１３は、処理対象の学習対象リソースＲが図１２に示す「主語」“湯川秀樹”である場合、「述語」“所属”の先について展開を行い、“所属”の展開結果である“学長”“学部”を取得する。そして、素性生成部１３は、「述語」“分野”“所属”“国籍”“名前”と、“学長”“学部”とから、クラス“人物”“科学者”それぞれの素性として「分野，所属，国籍，名前，所属＋学長，所属＋学部」を生成し、図１３に示す素性リストＬ３に格納する。
【００５１】
また、素性生成部１３は、処理対象の学習対象リソースＲが図１２に示す「主語」“坂本竜二”である場合、「述語」“所属”の先について展開を行い、“所属”の展開結果である“社長”“作品”を取得する。そして、素性生成部１３は、「述語」“所属”“国籍”“名前”と、“社長”“作品”とから、クラス“人物”“作曲家”それぞれの素性として「所属，国籍，名前，所属＋社長，所属＋作品」を生成し、図１３に示す素性リストＬ３に格納する。
【００５２】
また、素性生成部１３は、処理対象の学習対象リソースＲが図１２に示す「主語」“田中一郎”である場合、「述語」“所属”の先について展開を行い、“所属”の展開結果である“社長”“製品”を取得する。そして、素性生成部１３は、「述語」“所属”“国籍”“名前”と、“社長”“製品”とから、クラス“人物”“会社員”それぞれの素性として「所属，国籍，名前，所属＋社長，所属＋製品」を生成し、図１３に示す素性リストＬ３に格納する。
【００５３】
ステップＳ１４−４が終了すると、素性生成部１３は、ステップＳ１４−２へ処理を移す。
【００５４】
（実施例に係るクラス分類規則）
図１４は、実施例に係るクラス分類規則（各クラスにおける各素性の出現頻度）の一例を示す図である。クラス分類規則は、図３のステップＳ１５で学習及び生成される。図１４に示すクラス分類規則Ｒ１は、図１３に示す素性リストＬ３における個々の素性の各クラスにおける出現頻度から生成される。
【００５５】
先ず、分類規則学習部１４は、素性リストＬ３で出現する素性を重複を排除して列挙する。素性リストＬ３で出現する素性は、図１４に示すように、“分野”“所属”“国籍”“名前”“所属＋学長”“所属＋学部”“所属＋社長”“所属＋作品”“所属＋製品”である。なお、“所属＋学長”“所属＋学部”“所属＋社長”“所属＋作品”“所属＋製品”が、目的語の先のグラフを展開することにより追加取得された素性である。
【００５６】
そして、分類規則学習部１４は、それぞれの素性が、クラスにおいて出現する頻度を集計し、各集計結果をスコアとする。図１４に示す例では、“分野”は“人物”“科学者”のクラスにそれぞれ１回ずつ出現する。よって、“分野”の“人物”クラスのスコアは「１」、“科学者”クラスのスコアは「１」である。また、“所属”は“人物”のクラスに３回、“科学者”のクラスに１回、“作曲家”のクラスに１回、“会社員”のクラスに１回ずつ出現する。よって、“所属”の“人物”クラスのスコアは「３」、“科学者”クラスのスコアは「１」、“作曲家”クラスのスコアは「１」、“会社員”クラスのスコアは「１」である。
【００５７】
“国籍”“名前”“所属＋学長”“所属＋学部”“所属＋社長”“所属＋作品”“所属＋製品”についても同様である。このように、分類規則学習部１４は、素性と各クラスにおけるスコアとを対応付けたクラス分類規則Ｒ１を生成して、クラス分類規則保存部１５に保存する。
【００５８】
すなわち、クラス分類規則Ｒ１とは、各主語のクラスと、各素性との対応関係をもとに、各素性が各クラスに対応して出現する出現頻度を集計したものをスコアとし、素性ごとに各素性が所属する可能性があるクラスの分類をスコアに基づいて学習したものである。ここで、各素性は、少なくとも主語、述語、目的語の三要素でリソース間の関係情報を示すＲＤＦの学習データにおける各述語に対応する各目的語のクラスの出現確率をもとに、各述語に対応する各目的語のクラスの多様性を示す指標が所定閾値を超える第１の述語に対応する目的語を主語とする場合の第２の述語を取得し、第１の述語及び第２の述語を組合せ、各主語のクラスに対応する述語と、第１の述語及び第２の述語を組合せた組合せ述語とを含むものである。
【００５９】
このようなクラス分類規則Ｒ１は、各述語に対する目的語のクラスの曖昧性が高いときに、グラフを展開して素性を追加するので、素性の増加を抑制し、学習及び分類の速度低下を抑制しつつ、学習及び分類の精度を向上させることができる。
【００６０】
（実施例に係る分類フェーズ処理）
図１５は、実施例に係る分類フェーズ処理の一例を示すフローチャートである。先ず、素性生成部１３は、クラス推定対象データ（ＲＤＦリソース）を取得する（ステップＳ２１）。ステップＳ２１で素性生成部１３が取得するクラス推定対象データは、例えば図１６に示すクラス推定対象データＤ３である。図１６は、実施例に係る取得したクラス推定対象データの一例を示す図である。
【００６１】
次に、素性生成部１３は、ステップＳ２１で取得したクラス推定対象データＤ３中のリソースについて展開述語保存部１２を参照し、目的語を展開して素性を生成する（素性生成処理、ステップＳ２２）。ステップＳ２２の素性生成処理の詳細は、図５を参照して上述したステップＳ１４の素性生成処理において、“学習データＤ１”“学習対象リソースＲ”をそれぞれ「クラス推定対象データＤ３」「クラス推定対象リソースＲ」と読み換えたものと同一である。
【００６２】
素性生成部１３は、ステップＳ２２の処理により、例えば、図１６に示すクラス推定対象データＤ３から、図１７の素性リストＤ４に示す素性及び組合せ素性を得る。図１７は、実施例に係るクラス推定対象データの素性リストの一例を示す図である。図１７に示す例では、クラス推定対象データＤ３から得られた素性は、“所属”“国籍”“名前”と、“所属”の展開結果から得られた“所属＋学長”“所属＋学部”である。
【００６３】
次に、クラス推定部１６は、ステップＳ２２で生成された素性リストＤ４に含まれる素性に、図３のステップＳ１５で分類規則学習部１４により学習されクラス分類規則保存部１５に保存されたクラス分類規則Ｒ１を適用する。クラス推定部１６は、素性にクラス分類規則Ｒ１を適用することにより、入力素性からクラスを推定し、推定結果を出力する（ステップＳ２３）。
【００６４】
図１８は、実施例に係るクラスの推定の一例を示す図である。例えば、図１８に示すクラス分類規則Ｒ１は、図１４に示すクラス分類規則Ｒ１と同一である。図１８に示す素性リストＤ４には“所属”“国籍”“名前”“所属＋学長”“所属＋学部”の素性が含まれる。クラス推定部１６は、クラス分類規則Ｒ１を参照し、“所属”“国籍”“名前”“所属＋学長”“所属＋学部”それぞれの素性の各クラスのスコアを計算する。図１８に示す例では、“人物”クラスのスコアは、“所属”の素性で「３」、“国籍”の素性で「３」、“名前”の素性で「３」、“所属＋学長”の素性で「１」、“所属＋学部”の素性で「１」であるので、スコアの合計が３＋３＋３＋１＋１＝１１となる。
【００６５】
同様に、“科学者”クラスのスコアは、“所属”の素性で「１」、“国籍”の素性で「１」、“名前”の素性で「１」、“所属＋学長”の素性で「１」、“所属＋学部”の素性で「１」であるので、スコアの合計が１＋１＋１＋１＋１＝５となる。また、“会社員”クラスのスコアは、“所属”の素性で「１」、“国籍”の素性で「１」、“名前”の素性で「１」、“所属＋学長”の素性で「０」、“所属＋学部”の素性で「０」であるので、スコアの合計が１＋１＋１＋０＋０＝３となる。また、“作曲家”クラスのスコアは、“所属”の素性で「１」、“国籍”の素性で「１」、“名前”の素性で「１」、“所属＋学長”の素性で「０」、“所属＋学部”の素性で「０」であるので、スコアの合計が１＋１＋１＋０＋０＝３となる。
【００６６】
そして、クラス推定部１６は、例えばスコア閾値をスコア４と設定し、スコア閾値である４を超えるスコアの“人物”クラス及び“科学者”クラスを、クラス推定対象データに対する推定クラスとして出力する。
【００６７】
（実施例の他の適用例）
図１９は、実施例の他の適用例に係る目的語のクラスの出現確率の算出の一例を示す図である。図１９に示す例では、「述語」“所在地”については、対応する「目的語」はリテラルではなく、出現するクラスは“市区町村”が９つ、“都道府県”が１つであることから、“市区町村”の出現確率が９／１０であり、“都道府県”の出現確率が１／１０である。また、「述語」“祭神”については、対応する「目的語」はリテラルではなく、出現するクラスは“皇族”が３つ、“神”が３つであることから、“皇族”“神”の出現確率はともに３／６である。
【００６８】
同様に、「述語」“本尊”については、対応する「目的語」はリテラルではなく、出現するクラスは全て“仏”であることから、“仏”の出現確率は１である。また、「述語」“開基”については、対応する「目的語」はリテラルではなく、出現するクラスは全て“僧”であることから、“僧”の出現確率は１である。
【００６９】
よって、「述語」“所在地”において、出現するクラスは“市区町村”“都道府県”の２つであり、それぞれの出現確率が９／１０、１／１０である。よって、曖昧性計算部１１は、エントロピーＳ＝−（９／１０）×log２（９／１０）−（１／１０）×log２（１／１０）≒０．４７と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２２）／２＝１／２＝０．５と計算する。よって、曖昧性計算部１１は、「述語」“所在地”は、エントロピーＳ＜閾値となり、エントロピーＳが閾値より大きいという条件が満たされないので、「述語」“所在地”を展開述語保存部１２に保存しない。つまり、「述語」“所在地”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性がなく、曖昧性が小さい。
【００７０】
同様に、曖昧性計算部１１は、「述語」“祭神”において、出現するクラスは“皇族”“神”の２つであり、出現確率はともに３／６であることから、エントロピーＳ＝−（３／６）×log２（３／６）−（３／６）×log２（３／６）＝１と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２２）／２＝１／２＝０．５と計算する。よって、曖昧性計算部１１は、「述語」“祭神”は、エントロピーＳ＞閾値となり、エントロピーＳが閾値より大きいという条件が満たされるので、「述語」“祭神”を展開述語保存部１２に保存する。つまり、「述語」“祭神”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性があり、曖昧性が大きい。
【００７１】
同様に、曖昧性計算部１１は、「述語」“本尊”において、出現するクラスは“仏”のみであり、出現確率は１であることから、エントロピーＳ＝−１×log２１＝０と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２１）／２＝０と計算する。よって、曖昧性計算部１１は、「述語」“本尊”は、エントロピーＳ＝閾値となり、エントロピーＳが閾値より大きいという条件が満たされないので、「述語」“本尊”を展開述語保存部１２に保存しない。つまり、「述語」“本尊”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性がなく、曖昧性が小さい。
【００７２】
同様に、曖昧性計算部１１は、「述語」“開基”において、出現するクラスは“僧”のみであり、出現確率は１であることから、エントロピーＳ＝−１×log２１＝０と計算する。また、この場合、曖昧性計算部１１は、閾値は（log２Ｎ）／２＝（log２１）／２＝０と計算する。よって、曖昧性計算部１１は、「述語」“開基”は、エントロピーＳ＝閾値となり、エントロピーＳが閾値より大きいという条件が満たされないので、「述語」“開基”を展開述語保存部１２に保存しない。つまり、「述語」“開基”の先の「目的語」のクラスは、取り得るクラスのリソースの多様性がなく、曖昧性が小さい。
【００７３】
よって、図１９の例では、図２０に示すように、“祭神”を展開し、“所在地”“本尊”“開基”は展開しない。図２０は、実施例の他の適用例に係るグラフの展開の一例を示す図である。図２０に示すように、「主語」“明治神宮”“吉野神宮”“住吉神社”“赤間神宮”“厳島神社”“出雲大社”のそれぞれについて「述語」“祭神”以下を展開し、展開後の各述語を取得する。図２０の例では、「主語」“明治神宮”“吉野神宮”“赤間神宮”のそれぞれについて「述語」“祭神”の展開後の述語は“在位”“元号”である。また、「主語」“住吉神社”“厳島神社”“出雲大社”について「述語」“祭神”の展開後の述語は“正式名”である。
【００７４】
そして、上述したように、素性生成部１３は、素性リストＬ３を生成する。素性生成部１３は、「主語」“明治神宮”である場合、「述語」“祭神”の先について展開を行い、“祭神”の展開結果である“在位”“元号”を取得する。そして、素性生成部１３は、「述語」“所在地”“祭神”と、“祭神”の展開結果である“在位”“元号”から、クラス“神宮”の素性として「所在地，祭神，祭神＋在位，祭神＋元号」を生成し、図２１に示す素性リストＬ３に格納する。図２１に示すその他の「主語」についても同様である。
【００７５】
そして、分類規則学習部１４は、上述と同様に、個々の素性の各クラスにおける出現頻度からクラス分類規則Ｒ１を生成する。図２１は、実施例の他の適用例に係るクラス分類規則（各クラスにおける各素性の出現頻度）の一例を示す図である。分類規則学習部１４は、“所在地”“祭神”“本尊”“開基”“祭神＋在位”“祭神＋元号”“祭神＋正式名”について、素性と各クラスにおけるスコアとを対応付けたクラス分類規則Ｒ１を生成して、クラス分類規則保存部１５に保存する。なお、“祭神＋在位”“祭神＋元号”“祭神＋正式名”が、目的語の先のグラフを展開することにより追加取得された素性である。
【００７６】
また、素性生成部１３は、上述と同様に、クラス推定対象データに基づく素性及び組合せ素性を得る。そして、クラス推定部１６は、クラス分類規則Ｒ１を参照し、“所在地”“祭神”“本尊”“開基”“祭神＋在位”“祭神＋元号”“祭神＋正式名”それぞれの素性の各クラスのスコアを計算する。そして、素性生成部１３は、スコアがスコア閾値を超えるクラスを、クラス推定対象データに対する推定クラスとして出力する。
【００７７】
以上の実施例では、ＲＤＦグラフにおいて、各述語に対する目的語のクラスの曖昧性（多様性）が閾値判定により所定より高いと判定されるときに、その先のグラフを展開し、展開前後のグラフの述語を組合せた組合せ素性を生成する。そして、組合せ素性に基づくクラス分類のための学習データを生成し、この学習データからクラス分類規則を学習する。
【００７８】
そして、実施例では、クラスを推定したいクラス推定対象リソースを入力とし、クラス分類規則の学習時と同様にグラフを展開して組合せ素性を生成し、生成した組合せ素性に対してクラス分類規則を適用することで、入力したリソースのクラスを推定する。これにより、素性の増加を抑制することで処理負荷及び計算コストを抑制しつつ、クラス推定の精度を向上させることができる。
【００７９】
例えば、ウェブ上の膨大なリソースのなかには、述語が同一でも目的語のクラスが異なるリソースが存在するため、このようなリソースのクラスを精度よく判別することは容易ではない。クラスを精度よく判別するためには、判別の手がかりとなる素性の数を増やすことが考えられる。しかし、単純に素性の数を増加させることは、処理負荷が増大し、計算速度が低下する。
【００８０】
そこで、実施例は、各述語に対する目的語のクラスの曖昧性が閾値を超える場合にのみ目的語を展開し、クラスを特徴付ける素性を増加させたクラス分類規則を学習する。これにより、処理負荷の増大及び計算速度の低下を抑制し、精度よくクラス分類できる。
【００８１】
また、ウェブ上の膨大なリソースについて、ＲＤＦとして、データ構造のスキーマを定義し、リソース同士をリンクさせて公開することにより、あるリソースを手がかりに他のリソースを機械探索できるとされている。これは、“西出  頼継他、「日本のOpen  Data活用を目的としたデータセットのスキーマ分析とリンク関係の調査」、研究報告情報基礎とアクセス技術（IFAT）、1-8、一般社団法人電子情報通信学会、２０１３年９月１９日、2013-IFAT-112（4）”に示される。例えば、リソースにクラス情報を付与することで，データの円滑な利用を行うことが期待されている。
【００８２】
しかし、ウェブ上で公開されている多くのリソースが、クラス情報が付与されていない等、スキーマ定義が不十分である。このため、ウェブ上で公開されている多くのリソースは、スキーマに基づいた機械的アクセスができず、活用が困難である。
【００８３】
しかし、実施例によるクラス推定の結果を用いると、ＲＤＦの異なるリソースを、推定クラスに基づいて適切に結びつけることができる。よって、実施例は、他のリソースをもとに目的のリソースの探索が容易でないという不都合を補完し、リソース探索を容易にすることで、リソース活用の利便性を向上させる。
【００８４】
以上の実施例において図示した各装置の各構成要素は、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各部の分散又は統合の具体的形態は図示に限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００８５】
例えば、展開述語保存部１２及びクラス分類規則保存部１５は、クラス推定装置１０に接続される外部記憶装置であってもよい。また、クラス推定装置１０は、曖昧性計算部１１、素性生成部１３、分類規則学習部１４を含む学習装置と、素性生成部１３、クラス推定部１６を含む推定装置とに分散実装されてもよい。
【００８６】
また、クラス推定装置１０の曖昧性計算部１１、素性生成部１３、分類規則学習部１４、クラス推定部１６の各種処理機能は、ＣＰＵ（Central  Processing  Unit）及びメモリの協働により、その全部又は任意の一部が実現される。または、クラス推定装置１０の各種処理機能は、ＭＰＵ、ＭＣＵ、ＡＳＩＣ、ＦＰＧＡ等のマイクロコンピュータにより、その全部又は任意の一部が実現されてもよい。ＭＰＵはMicro  Processing  Unitであり、ＭＣＵはMicro  Controller  Unitであり、ＡＳＩＣはApplication  Specific  Integrated  Circuitであり、ＦＰＧＡはField-Programmable  Gate  Arrayである。
【００８７】
また、クラス推定装置１０の各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロコンピュータ）により解析実行されるプログラム又はワイヤードロジック等によるハードウェアで、その全部又は任意の一部が実現されてもよい。
【符号の説明】
【００８８】
１０  クラス推定装置
１１  曖昧性計算部
１２  展開述語保存部
１３  素性生成部
１４  分類規則学習部
１５  クラス分類規則保存部
１６  クラス推定部
【図１Ａ】
2018005632.tif 000003
【図１Ｂ】
2018005632.tif 000004
【図１Ｃ】
2018005632.tif 000005
【図２】
2018005632.tif 000006
【図３】
2018005632.tif 000007
【図４】
2018005632.tif 000008
【図５】
2018005632.tif 000009
【図６】
2018005632.tif 000010
【図７】
2018005632.tif 000011
【図８】
2018005632.tif 000012
【図９】
2018005632.tif 000013
【図１０】
2018005632.tif 000014
【図１１】
2018005632.tif 000015
【図１２】
2018005632.tif 000016
【図１３】
2018005632.tif 000017
【図１４】
2018005632.tif 000018
【図１５】
2018005632.tif 000019
【図１６】
2018005632.tif 000020
【図１７】
2018005632.tif 000021
【図１８】
2018005632.tif 000022
【図１９】
2018005632.tif 000023
【図２０】
2018005632.tif 000024
【図２１】
2018005632.tif 000025