(57)【特許請求の範囲】
【請求項１】
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数のボキャブラリに分けて記憶されたデータベースを検索するコンピュータに、
文字列毎に区切られ、互いに関連付けられた複数の文字列を含むデータを取得し、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースの複数のボキャブラリから抽出し、
前記複数の文字列の数と、特定の前記ボキャブラリに含まれていた前記抽出された文字列の数との割合に基づき、前記複数のボキャブラリに含まれる何れかのボキャブラリに関する情報を出力する、
処理を実行させる情報提示プログラム。
【請求項２】
前記抽出された前記文字列が前記複数のボキャブラリのそれぞれに含まれる回数に基づき、前記何れかのボキャブラリに関する情報を出力する、
請求項１に記載の情報提示プログラム。
【請求項３】
前記２つの文字列である主語と目的語と、前記２つの文字列の間の関係を示す文字列である述語と、が前記関係を示す文字列に応じて分けて記憶された前記複数のボキャブラリのうち、前記何れかのボキャブラリに、前記抽出した文字列であって特定の主語と目的語のそれぞれとの間の関係を示す述語のすべてが含まれない場合、前記何れかのボキャブラリに含まれない前記述語が前記何れかのボキャブラリ以外のボキャブラリに含まれる割合に基づき、前記複数のボキャブラリに含まれる、前記何れかのボキャブラリとは異なるボキャブラリに関する情報を出力する、
請求項１又は２に記載の情報提示プログラム。
【請求項４】
前記取得するデータのクラスを取得し、
前記複数のボキャブラリのうちの取得した前記データのクラスに分類されるボキャブラリから、前記特定の文字列と前記複数の文字列のうちの何れかの文字列との間の関係を示す前記文字列を抽出する、
請求項１〜３のいずれか一項に記載の情報提示プログラム。
【請求項５】
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数のボキャブラリに分けて記憶されたデータベースを検索するコンピュータが、
文字列毎に区切られ、互いに関連付けられた複数の文字列を含むデータを取得し、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースの複数のボキャブラリから抽出し、
前記複数の文字列の数と、特定の前記ボキャブラリに含まれていた前記抽出された文字列の数との割合に基づき、前記複数のボキャブラリに含まれる何れかのボキャブラリに関する情報を出力する、
処理を実行する情報提示方法。
【請求項６】
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数のボキャブラリに分けて記憶されたデータベースを検索する情報提示装置であって、
文字列毎に区切られ、互いに関連付けられた複数の文字列を含むデータを取得する取得部と、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースの複数のボキャブラリから抽出する抽出部と、
前記複数の文字列の数と、特定の前記ボキャブラリに含まれていた前記抽出された文字列の数との割合に基づき、前記複数のボキャブラリに含まれる何れかのボキャブラリに関する情報を出力する出力部と、
を有する情報提示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報提示プログラム、情報提示方法及び情報提示装置に関する。
【背景技術】
【０００２】
中央省庁等で作成され、公衆に開示された書類に含まれる情報、いわゆるオープンデータの利用を促進するためのデータ形式の統一に関する技術が提案されている。オープンデータの活用においては、ＲＤＦ（Resource Description Framework）形式を用いたＬＯＤ（Linked Open Data）によりオープンデータが公開されることが望ましい。ＲＤＦ形式のデータは、(主語、述語、目的語)のデータ構造を有し、コンピュータが自動で処理できるため、再利用が容易なためである。
【０００３】
企業内や自治体、中央省庁で作成されるＥｘｃｅｌやＣＳＶ（Comma-Separated Values）等の書類は、ＲＤＦ形式のデータに変換することが容易でなく、ＲＤＦ形式を用いたＬＯＤによるオープンデータの公開が進まない要因の一つとなっている。
【０００４】
例えば、ＣＳＶ形式のデータ（以下、「ＣＳＶデータ」ともいう。）をＲＤＦ形式のデータ（以下、「ＲＤＦデータ」ともいう。）に変換することを困難にさせる理由の一つに、ＲＤＦ形式に変換する際に使用すべき適切なボキャブラリが自動で選定できないことが挙げられる。ボキャブラリは、入力データがＣＳＶデータの場合、カンマで区切られた各文字列を(主語、述語、目的語)のデータ構造に変換するために使用される。ここで、述語は、主語と目的語の２つの文字列の間の関係を示す文字列であり、業界で標準的に使われているボキャブラリを選定して、そのボキャブラリで使用されている述語を用いることが望ましい。業界で標準的に使われているボキャブラリを使ってＲＤＦデータへの変換を行わなければ、変換後のＲＤＦデータを再利用することが難しくなり、オープンデータの利用を促進する目的の達成は困難になるためである。業界で標準的に使われているボキャブラリとしては、現在、http://prefix.cc/に示す１２９１種類のボキャブラリが登録されている。ＲＤＦデータへの変換にはこれらのボキャブラリから、適切なボキャブラリを選定して活用することがオープンデータの利用の促進に繋がる。
【０００５】
オープンリファイン（Open Refine）の技術には、ボキャブラリが使用されている（例えば、特許文献１を参照）。オープンリファインでは、既存の(主語、述語、目的語)のメタデータのデータベース（登録されているボキャブラリ）について先頭文字列の入力に対するオートコンプリートを行うことで、文字列の候補を提示可能とする。例えば、「日」と入力された場合、先頭文字列の入力に対するオートコンプリートを行うことで、「日」を先頭文字に含む「日常」や「日時」等の文字列の候補が提示される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−５２７２３号公報
【特許文献２】特開２００５−２５８６５９号公報
【特許文献３】特開２０１４−２１８６９号公報
【特許文献４】特開２００９−５１６３２３号公報
【特許文献５】特開２００６−０７６２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
オートコンプリートによれば、使用すべきボキャブラリが分かっている場合、そのボキャブラリの中から該当する先頭文字を含む文字列を提示することでユーザが入力する文字数を減らすことができる。しかしながら、使用すべきボキャブラリが分からない場合、オートコンプリートの技術では、登録されているすべてのボキャブラリの中から該当する先頭文字を含む文字列を選択し、そのすべてを提示する。よって、特許文献１では、入力データから特定される主語と目的語の２つの文字列の間の関係を示す文字列を特定することは困難である。
【０００８】
そこで、一側面では、本発明は、２つの文字列間の関係を示す文字列の選択を支援することを目的とする。
【課題を解決するための手段】
【０００９】
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数のボキャブラリに分けて記憶されたデータベースを検索するコンピュータに、文字列毎に区切られ、互いに関連付けられた複数の文字列を含むデータを取得し、前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースの複数のボキャブラリから抽出し、前記複数の文字列の数と、特定の前記ボキャブラリに含まれていた前記抽出された文字列の数との割合に基づき、前記複数のボキャブラリに含まれる何れかのボキャブラリに関する情報を出力する、処理を実行させる情報提示プログラムが提供される。
【発明の効果】
【００１０】
一側面によれば、２つの文字列間の関係を示す文字列の選択を支援することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態にかかる情報提示システムの全体構成例を示す図。
【図２】一実施形態にかかる情報提示装置の機能構成例を示す図。
【図３】一実施形態にかかる入力データ形式例を示す図。
【図４】一実施形態にかかるデータの種類とデータ構造例を示す図。
【図５】一実施形態にかかる情報（ボキャブラリ）提示処理例を示すフローチャート。
【図６】一実施形態にかかる情報（ボキャブラリ）提示処理結果の一例を示す図。
【図７】一実施形態にかかる情報（ボキャブラリ）提示処理結果の表示例を示す図。
【図８】一実施形態にかかる情報提示装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１３】
［情報提示システムの全体構成］
まず、本発明の一実施形態に係る情報提示システムの構成の一例について、図１を参照しながら説明する。本実施形態に係る情報提示システムは、情報提示装置１０及びボキャブラリのＲＤＦデータが格納されたデータベース２０を有する。情報提示装置１０及びデータベース２０は、ネットワーク３０を介して接続されている。
【００１４】
情報提示装置１０は、入力データをＲＤＦ形式のデータ（ＲＤＦデータ）に変換する際に使用すべき適切なボキャブラリを自動で選定する。ボキャブラリは、（主語、述語、目的語）のデータ構造を有するＲＤＦデータで構成される文字列の組が複数集まった文字列の集合（以下、「文字列集合体」ともいう。）である。ボキャブラリは、入力データの各文字列を（主語、述語、目的語）のデータ構造に変換するために情報提示装置１０により使用される。
【００１５】
述語（Ｖ）は、主語（Ｓ）及び目的語（Ｏ）の２つの文字列間の関係を示す文字列である。(主語、述語、目的語)のデータ構造の一例としては、主語が「本田太郎」、目的語が「タロウ」の場合、一のボキャブラリでは、述語には「ニックネーム」が定義される。つまり、一のボキャブラリには、（本田太郎、ニックネーム、タロウ）のＲＤＦデータが保存されている。また、他のボキャブラリでは、述語には「あだ名」が定義される。つまり、他のボキャブラリには、（本田太郎、あだ名、タロウ）のＲＤＦデータが保存されている。
【００１６】
このように、述語は、主語と目的語との間の関係を示す文字列であり、目的語の属性又はプロパティを示す。述語の属性に応じて分けられた複数の文字列集合体の一例として、図２のＦｏａｆのボキャブラリのＤＢ２１や、ＶｃａｒｄのボキャブラリのＤＢ２２や、ｓｋｏｓのボキャブラリのＤＢ２３等が挙げられる。業界で標準的に使われているボキャブラリとしては、現在、http://prefix.cc/に示す１２９１種類のボキャブラリが登録されている。１２９１種類のボキャブラリには、Ｖｃａｒｄ、Ｆｏａｆ、ｓｋｏｓのボキャブラリが含まれる。これらのボキャブラリは、データベース２０に記憶されている。なお、データベース２０は、ネットワーク３０を介して情報提示装置１０に接続されるクラウド上のサーバー等に格納され得る。
【００１７】
Ｆｏａｆは、人と人との友達関係を示すボキャブラリである。つまり、Ｆｏａｆのボキャブラリでは、述語の属性は、主語（Ｓ）に示される人と目的語（Ｏ）に示される人との交友関係である。Ｆｏａｆのボキャブラリは、主語と目的語に示される人の友達関係を述語に示した（主語、述語、目的語）の組が複数集まった文字列の集合体である。述語に使用される文字列としては、「友人」、「家族」、「同僚」、「夫婦」、「親子」等が挙げられる。
【００１８】
Ｖｃａｒｄは、名刺を示すボキャブラリである。つまり、Ｖｃａｒｄでは、述語の属性は、主語（Ｓ）に示される人と目的語（Ｏ）に示される名称との名に関する関係である。述語に使用される文字列としては、「氏名」、「姓」、「名」、「ニックネーム」、「あだ名」等が挙げられる。
【００１９】
ｓｋｏｓは、組織構造を定義するボキャブラリである。つまり、ｓｋｏｓでは、述語の属性は、主語（Ｓ）に示される人と目的語（Ｏ）に示される名称との組織関係である。
【００２０】
業界で標準的に使われているボキャブラリは、上記ボキャブラリに限らず、以下の（１）及び（２）に示すＵＲＬに定義されているＲＤＦ形式のデータに基づき定義することができる。
（１）「Resource Description Framework(RDF)Model and Syntax Specification」, Ora Lassia, Ralph R.Swick編,[online], インターネット<URL:http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/>
（２）「RDF Vocabulary Description Language 1.0: RDF Schema」, Dan Brickley, R.V.Guha編,[online], インターネット<URL:http://www.w3.org/TR/rdf-schema/>
ＲＤＦ形式でない入力データを、ＲＤＦ形式のデータに変換するには、http://prefix.cc/に定義される１２９１種のボキャブラリから適切なボキャブラリを選定して活用することが好ましい。しかしながら、１２９１種類のうちのどのボキャブラリに含まれる述語を使用して入力データに含まれる各文字列をＲＤＦ形式のデータへ変換すればよいかを人手で探すとすると１２９１種のボキャブラリの定義を調べて適切なものを人手で探すことは困難である。また、ボキャブラリの定義を調べても、どのボキャブラリが高い頻度で使われているのかを知ることはできない。
【００２１】
また、入力データに含まれる目的語のそれぞれに対して関係性を示す述語が一つのボキャブラリにすべて含まれるとは限らない。その場合、入力データのいずれかの目的語の関係性を示す述語と他の目的語の関係性を示す述語とが異なるボキャブラリに含まれることになる。この場合にも、入力データのすべての目的語の関係性を示す述語が使用可能な、できるだけ少ない組み合わせボキャブラリを選定することが好ましい。しかしながら、この場合にも１２９１種のボキャブラリの定義を調べて適切なボキャブラリの組み合わせを人手で探すことは困難である。
【００２２】
これに対して、本実施形態に係る情報提示装置１０は、ＣＳＶデータ等の入力データをＲＤＦデータに変換する際に使用に適したボキャブラリを自動で提示し、主語と目的語の２つの文字列間の関係を示す述語の文字列の選択を支援する。
【００２３】
［機能構成］
次に、一実施形態に係る情報提示装置１０の機能構成の一例について、図２を参照しながら説明する。情報提示装置１０は、取得部１１、記憶部１２、算出部１３、抽出部１４及び出力部１５を有する。
【００２４】
取得部１１は、文字列毎に区切られた複数の文字列を含むデータを取得する。本実施形態では、取得部１１は、ＣＳＶデータが保存されたＣＳＶファイルを取得する。図３に示すように、ＣＳＶデータは、カンマで区切られた複数の文字列から構成される。例えば、ＣＳＶデータを構成する文字列は、カンマで区切られた複数の文字列「Ａ」、「Ｂ」・・・である。
【００２５】
本実施形態では、入力データの一例としてＣＳＶデータを挙げて説明する。ただし、入力データは、ＣＳＶデータに限らない。入力データの他の例としては、ＴＳＶ（Tab-Separated Values）データやＳＳＶ（Space-Separated Values）データが挙げられる。ＴＳＶデータは、タブで区切られた複数の文字列「Ａ」、「Ｂ」・・・から構成される。ＳＳＶデータは、スペースで区切られた複数の文字列「Ａ」、「Ｂ」・・・から構成される。
【００２６】
抽出部１４は、ＣＳＶデータに含まれる複数の文字列のうち、特定の文字列を主語とし、主語を含むＣＳＶデータの複数の文字列又は主語を除いたＣＳＶデータの複数の文字列を目的語をしてその間の関係を示す文字列を文字列毎にデータベース２０内のボキャブラリから抽出する。
【００２７】
抽出部１４は、ＣＳＶデータが保存されたＣＳＶファイルに含まれるいずれかの文字列を特定の文字列とする。本実施形態では、抽出部１４は、第１列の文字列を主語とする。
【００２８】
特定の文字列は、入力したＣＳＶデータの文字列の識別情報ＩＤとして機能してもよい。図４では、ＣＳＶデータの第１列の文字列「本田太郎」が、ＣＳＶデータの文字列の識別情報ＩＤとなる。識別情報ＩＤには、ＵＲＬが含まれてもよい。例えば、図４のＣＳＶデータの第１列の文字列「本田太郎」にＣＳＶデータが格納されているＵＲＬ情報を付加することで、ウェブブラウザを使用してＵＲＬにアクセスすることで簡単にＣＳＶデータを入手することができる。
【００２９】
また、取得部１１が取得したクラスに基づき、取得したクラスと同じ属性の特定の文字列を有するボキャブラリをデータベース２０から選択し、選択したボキャブラリを使用して述語を取り出し、選択されなかったボキャブラリを検索対象から排除してもよい。
【００３０】
なお、本実施形態では、特定の文字列はＣＳＶデータの第１列の文字列としたが、これに限らず、ＣＳＶデータの第２列以降の文字列としてもよい。
【００３１】
例えば、クラスに「人」が指定されると、人の分類に関するボキャブラリが検索され、その他の分類（例えば、犬の分類や猫の分類）のボキャブラリは検索されないようにしてもよい。これにより、ボキャブラリの検索処理時間を短縮できる。
【００３２】
例えば、図４に示すＣＳＶデータが、「本田太郎、本田、タロウ、大阪府、１９８６−０７−１３、http://server/TaroHonda.jpg、男」の７つの文字列で構成されている場合を例に挙げると、本実施形態では、第１列の文字列の「本田太郎」が主語であり、かつＣＳＶデータの識別情報ＩＤ１となる。前述したように識別情報ＩＤ１を「本田太郎」＋ＣＳＶデータが格納されたＵＲＬとしてもよい。
【００３３】
目的語は、ＣＳＶデータに含まれるカンマで区切られた各文字列である。図４に示すＣＳＶデータの場合、「本田太郎」、「本田」、「タロウ」、「大阪府」、「１９８６−０７−１３」、「http://server/TaroHonda.jpg」、「男」の７つの文字列のそれぞれが、目的語となる。第２列以降を目的語としてもよい。その場合、「本田」、「タロウ」、「大阪府」、「１９８６−０７−１３」、「http://server/TaroHonda.jpg」、「男」の６つの文字列のそれぞれが、目的語となる。
【００３４】
抽出部１４は、主語の「本田太郎」と、目的語の「本田太郎」、「本田」、「タロウ」、「大阪府」、「１９８６−０７−１３」、「http://serer/TaroHonda.jpg」、「男」の７つの文字列のそれぞれとの間の関係を示す文字列である述語を文字列毎にデータベース２０内の各ボキャブラリから抽出する。
【００３５】
算出部１３は、被覆率１６及び使用頻度１７を算出する。被覆率１６は、抽出された述語がデータベース２０内のボキャブラリのそれぞれに含まれる割合を示す。例えば、図４のＲＤＦデータに使用する述語が、データベース２０内のボキャブラリのそれぞれにいくつ含まれているかを示す。例えば、図４の７つの目的語に対応した述語のうちＦｏａｆのボキャブラリに６つの述語が含まれている場合、Ｆｏａｆのボキャブラリの被覆率１６は、６／７となる。
【００３６】
使用頻度１７は、抽出された述語がデータベース２０内のボキャブラリで使用されている数をいう。例えば、抽出部１４は、図４のＲＤＦデータの一行目に示されている主語が「本田太郎」で目的語が「本田太郎」の２つの文字列の関係を示す述語を抽出する場合、データベース２０内のクラスが人のボキャブラリを検索する。検索の結果、主語及び目的語「本田太郎」が「氏名」の述語で１００回使用され、「姓名」の述語で５０回使用されていたとする。この場合、算出部１３は、抽出される述語の文字列（この場合は「氏名」及び「姓名」）が、検索範囲内のボキャブラリに含まれる数の総和１５０回を算出し、これを使用頻度１７とする。記憶部１２は、算出された被覆率１６や使用頻度１７を記憶する。
【００３７】
抽出部１４は、被覆率１６に基づき、データベース２０内の複数のボキャブラリから使用に適したボキャブラリを選定する。例えば、抽出部１４は、データベース２０内の複数のボキャブラリから被覆率１６の最も高いボキャブラリを選定することが好ましい。
【００３８】
抽出部１４は、一つのボキャブラリ内にすべての述語が含まれない場合、含まれなかった述語が使用されている他のボキャブラリを選定してもよい。例えば、被覆率１６が６／７のＦｏａｆのボキャブラリになかった述語が「性別」だった場合、抽出部１４は、「性別」に対して最もよく使われている他のボキャブラリ（例えばＶｃａｒｄのボキャブラリ）を選択してもよい。この場合、Ｆｏａｆ、Ｖｃａｒｄのボキャブラリの組み合わせが選定される。
【００３９】
抽出部１４は、使用頻度１７に基づき、データベース２０内の複数のボキャブラリから所定のボキャブラリを選定してもよい。例えば、抽出部１４は、データベース２０内の複数のボキャブラリから最も使用頻度１７が高いボキャブラリを選定してもよい。抽出部１４は、被覆率１６及び使用頻度１７の少なくともいずれかに基づき、使用に適したボキャブラリを選定することができる。ただし、抽出部１４は、被覆率１６を使用頻度１７に優先して用いて、使用に適したボキャブラリを選定してもい。
【００４０】
出力部１５は、選定されたボキャブラリに関する情報を出力する。出力部１５は、選定されたボキャブラリに関する情報をディスプレイに表示したり、紙媒体に出力したりしてもよい。出力部１５は、選定されたボキャブラリだけでなく使用に適した述語を通知してもよい。例えば、出力部１５は、Ｆｏａｆのボキャブラリから「氏名」の述語を使い、Ｖｃａｒｄのボキャブラリから「性別」の述語を使うことが好ましいことを表示したり、通知したりしてもよい。出力部１５は、選定されたボキャブラリから最適な述語を選択して、自動付与し、ＲＤＦデータを自動生成してもよい。例えば、図４のＲＤＦデータの各目的語と主語との関係を示す述語を、選定されたボキャブラリから選び出し、自動付与してもよい。
【００４１】
以上に説明したように、本実施形態にかかる情報提示装置１０によれば、入力データからＲＤＦデータを作成するために既存のＬＯＤで標準的に使われている１２９１種のボキャブラリから使用に適したボキャブラリを自動的に選定することができる。
【００４２】
同じ標準的なボキャブラリを用いて作成されたデータベースaとデータベースｂとは、これらのデータベースがたとえ異なる者によって作成されたとしても、新たなデータベースｃを作成する際に容易にこれらのデータベースを再利用することができる。または、情報提示装置１０が新たなデータベースｃをデータベースaとデータベースｂとから自動的に作成し得る。
【００４３】
例えば、サッカー選手に関するデータベースｓを作成したＡ氏と、野球選手に関するデータベースｔを作成したＢ氏とが異なるボキャブラリを使用して述語を抽出した場合、データベースｓとデータベースｔとを再利用してバレーボール選手に関する新たなデータベースuを作成することは困難な場合がある。各データベースｓ、ｔで使用される述語が異なるボキャブラリから抽出されているため、データベースｓとデータベースｔとで使用されている述語に統一性がないことがコンピュータによるデータベースｓ、ｔの再利用を困難にさせるためである。
【００４４】
すなわち、新たにデータベースを作成するときは、既存のデータベースの多くが使用しているボキャブラリを用いることがデータベースを再利用するために望ましいことになる。
【００４５】
一方、本実施形態にかかる情報提示装置１０によれば、入力されたＣＳＶデータの文字列に対する被覆率１６及び使用頻度１７に基づき、使用に適したボキャブラリが選定される。そして、選定されたボキャブラリにて使用される述語が、変換後のＲＤＦデータの述語に使用される。このようにして、（主語、述語、目的語）のデータ構造を有する既存のＬＯＤのデータ（つまり使用に適したボキャブラリ）を用いて変換後のＲＤＦデータを生成することで、変換されたＲＤＦデータは再利用性の高いＬＯＤとなる。また、人手で適切なボキャブラリを見つけるより迅速に適切なボキャブラリを見つけることができる。さらに、取得したクラスを用いて、データベース２０内からクラスに属するボキャブラリのみを検索対象として絞り込むことができる。これにより、ボキャブラリの選定のための処理時間を短縮することができる。
【００４６】
［情報提示処理］
次に、本実施形態に係る情報（ボキャブラリ）提示処理について、図５を参照して説明する。図５の処理がスタートすると、まず、取得部１１は、クラス（Ａ）とＣＳＶデータとを入力し、ＣＳＶデータから第１のデータを得る（ステップＳ１０）。
【００４７】
例えば、取得部１１が、図７の左側に示すＣＳＶデータの第１のデータ「本田太郎、本田、タロウ、大阪府、１９８６−０７−１３、http://serer/TaroHonda.jpg、男」を取得した場合を例に挙げる。また、取得部１１は、ＣＳＶデータの第２のデータ「大久保二郎、大久保、二郎、じろう、福岡県、1982-06-09、男」を取得した場合を例に挙げる。各ＣＳＶデータの第１列目がクラス（Ａ）になる。この例では、第１列目「本田太郎」および「大久保二郎」の文字列から、クラス（Ａ）は人（person）となる。
【００４８】
次に、抽出部１４は、既存のデータベース２０に含まれるボキャブラリからクラス（Ａ）に分類される、クラスが人の主語のボキャブラリを抽出する（ステップＳ１２）。
【００４９】
次に、抽出部１４は、取得したＣＳＶデータから目的語（Ｏ）を取り出す（ステップＳ１４）。本実施形態では、抽出部１４は、第１列目を含むＣＳＶデータの各文字列を目的語（Ｏ）として取り出す。図４では、７つの文字列が含まれるＣＳＶデータの第１のデータから、ＲＤＦデータを生成するために、７つの文字列のすべてを目的語（Ｏ）として取り出した例が示されている。これにより、ＣＳＶデータの第１のデータ「本田太郎、本田、タロウ、大阪府、１９８６−０７−１３、http://server/TaroHonda.jpg、男」から主語の「本田太郎」と、目的語の「本田太郎」、「本田」、「タロウ」、「大阪府」、「１９８６−０７−１３」、「http://server/TaroHonda.jpg」、「男」の７つの文字列が取り出される。なお、抽出部１４は、第２列目以降の文字列を目的語（Ｏ）として取り出してもよい。
【００５０】
次に、抽出部１４は、ＣＳＶデータの全文字列についてボキャブラリとの比較が終わったかを判定し（ステップＳ１６）、ＣＳＶデータの全文字列についてボキャブラリとの比較が終わるまで、ステップＳ１８及びステップＳ２０の処理を繰り返す。
【００５１】
ステップＳ１８では、抽出部１４は、ステップＳ１２にて抽出されたボキャブラリから、ステップＳ１４にて取り出された目的語（Ｏ）毎にボキャブラリで使われている目的語（Ｏ）と主語（Ｓ）との関係を示す述語（Ｐ）を抽出する。ボキャブラリでは、複数の文字列が(主語、述語、目的語)の組になって保存されている。そこで、抽出部１４は、ステップＳ１４にて取り出された目的語（Ｏ）毎にボキャブラリで使用されている述語（Ｐ）があればその述語を取り出す。
【００５２】
次に、ステップＳ２０において、算出部１３は、述語（Ｐ）が使用されているボキャブラリを識別し、各ボキャブラリにおける述語（Ｐ）の使用回数をカウントする（Ｃ[Ｐ]＝Ｃ[Ｐ]＋１）。例えば、一のボキャブラリでは、ある目的語の述語Ｐ１に「氏名」が使用され、他のボキャブラリでは、ある目的語の述語Ｐ１に「姓名」が使用されている場合、算出部１３は、「氏名」及び「姓名」毎に使用回数Ｃ[Ｐ]をカウントする。
【００５３】
(主語、述語、目的語)の組になっている述語は、「Ｆｏａｆ：氏名」や「Ｖｃａｒｄ：姓名」のようにボキャブラリが識別できるようになっている。これは、次の標準化文書（Tim Bray, et al. Namespaces in XML, 2999, W3C Recommendation <http://www.w3.org/TR/REC-xml-names>）で定められている記法である。よって、算出部１３は、述語（Ｐ）が使用されたボキャブラリを識別し、ボキャブラリ毎に「氏名」及び「姓名」の述語（Ｐ）の使用回数をカウントすることができる。
【００５４】
また、算出部１３は、目的語（Ｏ）毎に対応する述語（Ｐ）が、あるボキャブラリで使用されている場合、述語（Ｐ）がそのボキャブラリで使用されていることを示すフラグをオンにし（Ｉｆ（Ｖ[Ｏ][Ｐ]≧０）、Ｖ[Ｏ][Ｐ]＝１）、述語（Ｐ）がそのボキャブラリでカバーされていることを示す。例えば、目的語（Ｏ）が７つある場合、７つの目的語（Ｏ）に対してそれぞれ述語（Ｐ）が使用されているボキャブラリに対するフラグがオンに設定される。
【００５５】
ステップＳ１６にて、抽出部１４は、ＣＳＶデータの全文字列についてボキャブラリとの比較が終わったと判定した場合、算出部１３は、ＣＳＶデータの文字列の数（Ｎ）を得る（ステップＳ２２）。図４の例では、ＣＳＶデータの文字列の数（Ｎ）は７である。
【００５６】
次に、算出部１３は、目的語（Ｏ）に対して使用された述語（Ｐ１）のボキャブラリの被覆率１６を算出する（ステップＳ２４）。具体的には、算出部１３は、ＣＳＶデータの文字列の数（Ｎ）に対する、述語（Ｐ）がボキャブラリでカバーされていることを示すフラグのオン数の絶対値により被覆率１６（｜Ｖ[Ｏ][Ｐ１]｜／Ｎ）を算出する。これにより、７つの目的語（Ｏ）に対応する述語（Ｖ）のうち、ボキャブラリで使用されている述語（Ｐ１）の割合である被覆率１６が算出される。算出部１３は、すべての目的語（Ｏ）をカバーするボキャブラリ毎の被覆率１６を算出する。
【００５７】
算出部１３は、各目的語（Ｏ）に対応する述語（Ｐ）の使用回数（Ｃ[Ｐ]）に基づき使用頻度１７を算出する。例えば、目的語（Ｏ）「本田太郎」に対する述語（Ｐ）としてＦｏａｆのボキャブラリでは「氏名」が１００回使用された場合、Ｃ[Ｐ(氏名)]＝１００となる。また、Ｖｃａｒｄのボキャブラリでは「姓名」が５０回使用された場合、Ｃ[Ｐ(姓名)]＝５０）となる。この例の場合、「本田太郎」に対する氏名又は姓名の述語（Ｐ）の使用頻度１７は１５０回と算出される。
【００５８】
次に、抽出部１４は、ボキャブラリ毎に算出された、目的語の集合に対する被覆率１６と使用頻度１７とから最も適切なボキャブラリを選定する(ステップＳ２６)。このとき、一つのボキャブラリですべての目的語に対する述語をカバーできなかった場合には、抽出部１４は、カバーできなかった目的語のボキャブラリについて、次に被覆率１６の高いボキャブラリを得る。抽出部１４は、すべての目的語のボキャブラリがカバーできていない間、カバーできていない目的語について他のボキャブラリを探索し、使用されている述語を取り出すことを繰り返す。
【００５９】
抽出部１４は、すべての目的語のボキャブラリがカバーされるか、使用されるボキャブラリがなくなったらステップＳ２６を完了する。ＣＳＶデータが複数行ある場合は、各行についてステップＳ１４〜Ｓ２６の処理が繰り返し実行される。これにより、ＣＳＶデータの各行に対して被覆率１６と使用頻度１７とが高いボキャブラリが取得される。すべての行について、ボキャブラリの組み合わせを得た結果に基づき、出力部１５は、全体の被覆率１６と使用頻度１７を掛けた値が大きいものをＣＳＶデータのＲＤＦデータへの変換に適切なボキャブラリ又はボキャブラリの組み合わせとして提示する。記憶部１２は、提示した結果の情報をデータベース２０に蓄積し、次回以降の本処理において利用できるようにし（ステップＳ２８）、本処理を終了する。
【００６０】
例えば、上記処理の結果の一例を図６に示す。図６に示す算出結果の例では、クラスが人のＦｏａｆのボキャブラリの被覆率１６が「６／７」であり、使用頻度１７が、「１２３」である。また、クラスが人のＶｃａｒｄのボキャブラリの被覆率１６が「５／７」であり、使用頻度１７が、「２５６」である。また、クラスが人のｓｋｏｓとＶｃａｒｄの組み合わせのボキャブラリを合わせた被覆率１６が「６／７」であり、使用頻度１７が、「５０」である。
【００６１】
この場合、抽出部１４は、Ｆｏａｆのボキャブラリの被覆率１６が６／７であるため、Ｆｏａｆでカバーできなかった残りの述語が含まれるボキャブラリを抽出する。残りの述語が含まれるボキャブラリがＶｃａｒｄのボキャブラリであるとすると、ＦｏａｆとＶｃａｒｄのボキャブラリを併せて被覆率１６は７／７になり、ＦｏａｆとＶｃａｒｄのボキャブラリからすべての目的語に対する述語が抽出できる。ＦｏａｆとＶｃａｒｄのボキャブラリを併せて被覆率１６を７／７にしたときの使用頻度１７は「７６」である。よって、算出部１３は、ＦｏａｆとＶｃａｒｄのボキャブラリを提示したときの総合点を被覆率「７／７」×使用頻度「７６」＝７６点と算出する。
【００６２】
また、抽出部１４は、Ｖｃａｒｄのボキャブラリの被覆率１６が「５／７」であるため、Ｖｃａｒｄでカバーできなかった残りの述語の一つが含まれるボキャブラリを抽出する。残りの述語が含まれるボキャブラリがｓｋｏｓのボキャブラリであるとすると、Ｖｃａｒｄとｓｋｏｓのボキャブラリを併せて被覆率１６は６／７になり、Ｖｃａｒｄとｓｋｏｓのボキャブラリから７つの目的語のうち６つの目的語に対する述語が抽出できる。Ｖｃａｒｄとｓｋｏｓのボキャブラリを併せて被覆率１６を６／７にしたときの使用頻度１７は「５０」である。よって、算出部１３は、Ｖｃａｒｄとｓｋｏｓのボキャブラリを提示したときの総合点を被覆率「６／７」×使用頻度「５０」＝４３点と算出する。
【００６３】
出力部１５は、使用すべきボキャブラリを提示する。提示例を示した図７を参照しながら説明を続ける。ユーザが、情報提示装置１０の画面５０ａにおいて表示されている各欄に、ＣＳＶデータ及びクラスを入力し、実行ボタンを押すと、情報提示装置１０は、図５の情報提示処理を実行する。
【００６４】
出力部１５は、その結果を図７の画面５０ｂに示すように表示する。画面５０ｂには、使用をお奨めするボキャブラリが、総合点の高い順に提示されている。図７に示すように、提示したボキャブラリの組み合わせによる被覆率、使用頻度、総合点を開示してもよい。ただし、図５の画面５０ｂの表示例は一例であり、最も総合点が高いボキャブラリのみを提示してもよい。
【００６５】
また、画面５０ｃに示すように、最も総合点が高いボキャブラリ（ここでは、Ｆｏａｆ＋Ｖｃａｒｄ）を使用した場合に用いられる述語を主語と目的語と関連付けて示してもよい。この場合、述語がどのボキャブラリで使用されているかを提示することが好ましい。例えば、述語「性別」がＶｃａｒｄのボキャブラリを使用している場合、「Ｖｃａｒｄ：性別」と表示し、残りの述語がＦｏａｆのボキャブラリを使用している場合、「Ｆｏａｆ：氏名」・・・「Ｆｏａｆ：ＵＲＬ」と表示することが好ましい。
【００６６】
また、次に総合点が高いボキャブラリを使用した場合に用いられる述語を主語と目的語と関連付けて示してもよい。また、入力したＣＳＶデータに対するＲＤＦデータを自動作成してもよい。
【００６７】
以上に説明したように、一実施形態に係る情報提示装置１０によれば、入力されたＣＳＶデータの文字列に対する被覆率１６及び使用頻度１７に基づき、使用に適したボキャブラリが選定される。そして、選定されたボキャブラリにて使用される述語が、変換後のＲＤＦデータの述語に使用される。これにより、変換されたＲＤＦデータを再利用性の高いＬＯＤとすることができる。
【００６８】
また、ＲＤＦデータの主語に付与されるクラスを用いて、データベース２０内からクラスに属するボキャブラリのみを検索対象として絞り込むことができる。これにより、ボキャブラリの選定のための処理時間を短縮することができる。
【００６９】
なお、本実施形態は、ボキャブラリで使用されている目的語と入力データの文字列（目的語）とが完全一致する場合の述語を抽出した。しかしながら、ボキャブラリで使用されている目的語と入力データの目的語とが完全一致する場合のみならず部分一致する場合の述語を抽出してもよい。例えば、「大阪」と「大阪府」を一致しているとして、対応する述語を抽出してもよい。
【００７０】
（ハードウェア構成例）
最後に、本実施形態に係る情報提示装置１０のハードウェア構成例について、図８を参照して説明する。情報提示装置１０は、入力装置１０１、表示装置１０２、外部Ｉ／Ｆ１０３、ＲＡＭ(Random Access Memory)１０４、ＲＯＭ(Read Only Memory)１０５、ＣＰＵ(Central Processing Unit)１０６、通信Ｉ／Ｆ１０７、及びＨＤＤ(Hard Disk Drive)１０８を備える。各部はバスＢで相互に接続されている。
【００７１】
入力装置１０１は、キーボードやマウスなどを含み、情報提示装置１０に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイを含み、使用に適したボキャブラリや自動生成したＲＤＦデータを表示する。
【００７２】
通信Ｉ／Ｆ１０７は、情報提示装置１０をネットワークに接続するインタフェースである。これにより、情報提示装置１０は、通信Ｉ／Ｆ１０７を介して、データベース２０に保存されているボキャブラリ内を検索することができる。
【００７３】
ＨＤＤ１０８は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する基本ソフトウェア及びアプリケーションソフトウェアがある。例えば、ＨＤＤ１０８には、各種のＤＢ情報やプログラム等が格納されている。
【００７４】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａなどがある。これにより、情報提示装置１０は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、ＣＤ(Compact Disk)、及びＤＶＤ(Digital Versatile Disk)、ならびに、ＳＤメモリカード(SD Memory card)やＵＳＢメモリ(Universal Serial Bus memory)などがある。
【００７５】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、ネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記記憶装置（例えば「ＨＤＤ１０８」や「ＲＯＭ１０５」など）から、プログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
【００７６】
上記ハードウェア構成により、本実施形態に係る情報提示装置１０は、情報(ボキャブラリ)の提示処理を行うことができる。例えば、ＣＰＵ１０６は、ＲＯＭ１０５やＨＤＤ１０８内に格納されたデータ及びプログラムを用いて情報(ボキャブラリ)の提示処理を実行する。この結果、本実施形態では、入力データをＲＤＦデータに変換する際に使用すべきボキャブラリ)に関する情報を提示したり、入力データをＲＤＦデータに自動変換した結果を表示することができる。
【００７７】
以上、情報提示プログラム、情報提示方法及び情報提示装置を上記実施形態により説明した。しかしながら、本発明にかかる情報提示プログラム、情報提示方法及び情報提示装置は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記複数の実施形態に記載された事項は、矛盾しない範囲で組み合わせることができる。また、上記情報提示装置の各機能は、ハードウェアにより構成されてもよく、ソフトウェアにより構成されてもよく、ハードウェアとソフトウェアとを組み合わせて構成されてもよい。
【００７８】
例えば、上記実施形態に係る情報提示システムの構成は一例であり、本発明の範囲を限定するものではなく、用途や目的に応じて様々なシステム構成例があることは言うまでもない。
【００７９】
例えば、情報提示装置１０がネットワーク３０を介してデータベース２０に接続されているシステム形態は、本実施形態に係る情報提示システムの一態様であり、これに限定されない。例えば、本実施形態に係る情報提示システムに含まれ情報提示装置１０の台数は、１台又は２台以上であり得る。複数台の情報提示装置１０が設置される場合、情報(ボキャブラリ)の提示処理は、複数台の情報提示装置１０で分散処理され得る。なお、用途や目的に応じて、複数台のうち１台の情報提示装置１０に選択的にそれら処理機能を集約させてもよい。
【００８０】
また、情報提示装置１０は、通信機能を有する電子機器であれば、その個数や機種は問わない。情報提示装置１０の一例としては、サーバ、パーソナルコンピュータ等であってもよい。
【００８１】
以上の説明に関し、更に以下の項を開示する。
（付記１）
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数の文字列集合体に分けて記憶されたデータベースを検索するコンピュータに、
文字列毎に区切られた複数の文字列を含むデータを取得し、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースから抽出し、
前記抽出された文字列が前記複数の文字列集合体のそれぞれに含まれる割合に基づき、前記複数の文字列集合体に含まれる何れかの文字列集合体に関する情報を出力する、
処理を実行させる情報提示プログラム。
（付記２）
前記抽出された前記文字列が前記複数の文字列集合体に含まれる回数に基づき、前記何れかの文字列集合体に関する情報を出力する、
付記１に記載の情報提示プログラム。
（付記３）
前記何れかの文字列集合体に、前記抽出された前記文字列のすべてが含まれない場合、前記何れかの文字列集合体に含まれない前記抽出された前記文字列が前記何れかの文字列集合体以外の文字列集合体に含まれる割合に基づき、前記複数の文字列集合体に含まれる、前記何れかの文字列集合体とは異なる文字列集合体に関する情報を出力する、
付記１又は２に記載の情報提示プログラム。
（付記４）
前記取得するデータの種類を取得し、
前記複数の文字列集合体のうちの前記取得した種類に属する文字列集合体から、前記特定の文字列と前記複数の文字列のうちの何れかの文字列との間の関係を示す前記文字列を前記データベースから抽出する、
付記１〜３のいずれか一項に記載の情報提示プログラム。
（付記５）
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数の文字列集合体に分けて記憶されたデータベースを検索するコンピュータが、
文字列毎に区切られた複数の文字列を含むデータを取得し、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースから抽出し、
前記抽出された文字列が前記複数の文字列集合体のそれぞれに含まれる割合に基づき、前記複数の文字列集合体に含まれる何れかの文字列集合体に関する情報を出力する、
処理を実行する情報提示方法。
処理を実行する情報提示方法。
（付記６）
前記抽出された前記文字列が前記複数の文字列集合体に含まれる回数に基づき、前記何れかの文字列集合体に関する情報を出力する、
付記５に記載の情報提示方法。
（付記７）
前記何れかの文字列集合体に、前記抽出された前記文字列のすべてが含まれない場合、前記何れかの文字列集合体に含まれない前記抽出された前記文字列が前記何れかの文字列集合体以外の文字列集合体に含まれる割合に基づき、前記複数の文字列集合体に含まれる、前記何れかの文字列集合体とは異なる文字列集合体に関する情報を出力する、
付記５又は６に記載の情報提示方法。
（付記８）
前記取得するデータの種類を取得し、
前記複数の文字列集合体のうちの前記取得した種類に属する文字列集合体から、前記特定の文字列と前記複数の文字列のうちの何れかの文字列との間の関係を示す前記文字列を前記データベースから抽出する、
付記５〜７のいずれか一項に記載の情報提示方法。
（付記９）
２つの文字列と該２つの文字列の間の関係を示す文字列とが関連付けて記憶された文字列の集合が、前記関係を示す文字列に応じて複数の文字列集合体に分けて記憶されたデータベースを検索する情報提示装置であって、
文字列毎に区切られた複数の文字列を含むデータを取得する取得部と、
前記データに含まれる複数の文字列のうちの特定の文字列と前記複数の文字列のうちの何れかの文字列のそれぞれとの間の関係を示す文字列を前記データベースから抽出する抽出部と、
前記抽出された文字列が前記複数の文字列集合体のそれぞれに含まれる割合に基づき、前記複数の文字列集合体に含まれる何れかの文字列集合体に関する情報を出力する出力部と、
を有する情報提示装置。
（付記１０）
前記出力部は、
前記抽出された前記文字列が前記複数の文字列集合体に含まれる回数に基づき、前記何れかの文字列集合体に関する情報を出力する、
付記９に記載の情報提示装置。
（付記１１）
前記出力部は、
前記何れかの文字列集合体に、前記抽出された前記文字列のすべてが含まれない場合、前記何れかの文字列集合体に含まれない前記抽出された前記文字列が前記何れかの文字列集合体以外の文字列集合体に含まれる割合に基づき、前記複数の文字列集合体に含まれる、前記何れかの文字列集合体とは異なる文字列集合体に関する情報を出力する、
付記９又は１０に記載の情報提示装置。
（付記１２）
前記取得部は、
前記取得するデータの種類を取得し、
前記抽出部は、
前記複数の文字列集合体のうちの前記取得した種類に属する文字列集合体から、前記特定の文字列と前記複数の文字列のうちの何れかの文字列との間の関係を示す前記文字列を前記データベースから抽出する、
付記９〜１１のいずれか一項に記載の情報提示装置。
【符号の説明】
【００８２】
１０：情報提示装置
１１:取得部
１２：記憶部
１３：算出部
１４：抽出部
１５：出力部
１６：被覆率
１７：使用頻度
２０：データベース（ＲＤＦデータ）
３０：ネットワーク
【図１】
0006557959.tif 000002
【図２】
0006557959.tif 000003
【図３】
0006557959.tif 000004
【図４】
0006557959.tif 000005
【図５】
0006557959.tif 000006
【図６】
0006557959.tif 000007
【図７】
0006557959.tif 000008
【図８】
0006557959.tif 000009