(57)【要約】【課題】自由な書式で作成された情報からは、抽出方法を予め定義しなければ情報を取得できなかった。【解決手段】ｍ種類（ｍは３以上の整数である）の異なる属性の属性値の集合であるメイン集合が格納され得るメイン集合格納部１０１と、メイン集合格納部１０１に格納されているメイン集合の属性のうち、ｎ種類（ｎは２以上、（ｍ−１）以下の整数である）の属性の属性値の集合であるサブ集合を含んだ１以上のテキスト情報からサブ集合を取得するためのルールを取得するルール取得部１０２と、サブ集合が格納され得るサブ集合格納部１０５と、ルール取得部１０２が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合をサブ集合格納部１０５に蓄積するサブ集合取得部１０４とを具備するデータベース構築装置１により、予めルールを定義せずに情報を取得できる。【選択図】図１
2014071876.tif 000002
【特許請求の範囲】
【請求項１】
ｍ種類（ｍは３以上の整数である）の異なる属性の属性値の集合である１以上のメイン集合が格納され得るメイン集合格納部と、
前記メイン集合格納部に格納されているメイン集合の属性のうち、ｎ種類（ｎは２以上、（ｍ−１）以下の整数である）の属性の属性値の集合であるサブ集合を含んだ１以上のテキスト情報から当該サブ集合を取得するためのルールを取得するルール取得部と、
１以上のサブ集合が格納され得るサブ集合格納部と、
前記ルール取得部が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部に蓄積するサブ集合取得部とを具備するデータベース構築装置。
【請求項２】
前記サブ集合取得部は、
予め指定された属性の属性値を有するサブ集合を取得し、取得したサブ集合を前記サブ集合格納部に蓄積する、請求項１記載のデータベース構築装置。
【請求項３】
前記ルール取得部は、
１以上のテキスト情報から、前記メイン集合格納部に格納されているメイン集合の一部であるサブ集合の属性値を含む文字列を２以上取得し、取得した文字列に含まれる当該サブ集合の属性値を除いた文字列である除外文字列のうち、予め決められた条件を満たすほど多く存在する除外文字列であるルールを取得する、請求項１または請求項２記載のデータベース構築装置。
【請求項４】
前記ルール取得部は、
多く存在したルールほど高くなるスコアをルールごとに算出し、
前記サブ集合取得部は、
前記ルールごとに算出されたスコアが予め決められた条件を満たすほど高いルールのみを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部に蓄積する、請求項３記載のデータベース構築装置。
【請求項５】
前記ルール取得部は、
１以上のテキスト情報から取得した２以上の文章に関する情報を少なくとも素性として用い、当該素性に前記メイン集合格納部に格納されているメイン集合の一部であるサブ集合の属性値を含むか否かを教師データとする機械学習を行い、学習した結果であるルールを取得する、請求項１または請求項２記載のデータベース構築装置。
【請求項６】
前記ルール取得部は、２以上のルールを取得し、
前記ｎは、ルールごとに異なり得る値であり、
前記サブ集合格納部に格納されている２個以上のサブ集合を取得し、共通する属性をキーとしてサブ集合を結合することによってメイン集合を取得し、取得したメイン集合を前記メイン集合格納部へ蓄積する結合部をさらに具備する請求項１から請求項５いずれか一項に記載のデータベース構築装置。
【請求項７】
前記結合部は、
予め指定された属性をキーとして用いて、２個以上のサブ集合を結合し、メイン集合を取得し、取得したメイン集合を前記メイン集合格納部へ蓄積する、請求項６記載のデータベース構築装置。
【請求項８】
前記テキスト情報は、
ウェブページである、請求項１から請求項７いずれか一項に記載のデータベース構築装置。
【請求項９】
ｍ種類の異なる属性の属性値の集合であるメイン集合が格納され得るメイン集合格納部と、前記メイン集合格納部に格納されているメイン集合の属性のうち、ｎ種類の属性の属性値の集合であるサブ集合が格納され得るサブ集合格納部と、ルール取得部と、サブ集合取得部とを用いて処理されるデータベース構築方法であって、
前記ルール取得部が、サブ集合を含んだ１以上のテキスト情報から当該サブ集合を取得するためのルールを取得するルール取得ステップと、
前記サブ集合取得部が、前記ルール取得ステップで取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部に蓄積するサブ集合取得ステップとを具備するデータベース構築方法。
【請求項１０】
ｍ種類の異なる属性の属性値の集合であるメイン集合が格納され得るメイン集合格納部と、
前記メイン集合格納部に格納されているメイン集合の属性のうち、ｎ種類の属性の属性値の集合であるサブ集合が格納され得るサブ集合格納部とにアクセス可能なコンピュータを、
サブ集合を含んだ１以上のテキスト情報から当該サブ集合を取得するためのルールを取得するルール取得部、
前記ルール取得部が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部に蓄積するサブ集合取得部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースを構築するデータベース構築装置等に関するものである。
【背景技術】
【０００２】
従来、専門用語を抽出する専門用語抽出装置等が開発されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２５７５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
膨大な量の情報が電子化されたテキスト情報として存在している。しかしながら、当該情報の多くは、自由な書式で作成されており、従来の専門用語抽出装置では、抽出方法を予め定義しなければ情報を取得できないという課題があった。
【課題を解決するための手段】
【０００５】
本第一の発明のデータベース構築装置は、ｍ種類（ｍは３以上の整数である）の異なる属性の属性値の集合である１以上のメイン集合が格納され得るメイン集合格納部と、メイン集合格納部に格納されているメイン集合の属性のうち、ｎ種類（ｎは２以上、（ｍ−１）以下の整数である）の属性の属性値の集合であるサブ集合を含んだ１以上のテキスト情報からサブ集合を取得するためのルールを取得するルール取得部と、１以上のサブ集合が格納され得るサブ集合格納部と、ルール取得部が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合をサブ集合格納部に蓄積するサブ集合取得部とを具備するデータベース構築装置である。
かかる構成により、ｍ種類の属性による属性値の集合を用いて、テキスト情報からｎ種類の属性の組み合わせの情報を有するデータベースを構築できる。これにより、例えば、会社名と商品名と商品の固有名称（以下、固有名称とする）との属性値の集合から、会社名と商品名との属性値の組み合わせ、会社名と固有名称との属性値の組み合わせ、または商品名と固有名称との属性値の組み合わせを予めルールを定義せずに取得できる。
【０００６】
また、本第二の発明のデータベース構築装置は、第一の発明に対して、サブ集合取得部は、予め指定された属性の属性値を有するサブ集合を取得し、取得したサブ集合をサブ集合格納部に蓄積する、データベース構築装置である。
かかる構成により、予め指定した属性の属性値を有するサブ集合のみを取得できる。
【０００７】
また、本第三の発明のデータベース構築装置は、第一または第二の発明に対して、ルール取得部は、１以上のテキスト情報から、メイン集合格納部に格納されているメイン集合の一部であるサブ集合の属性値を含む文字列を２以上取得し、取得した文字列に含まれるサブ集合の属性値を除いた文字列である除外文字列のうち、予め決められた条件を満たすほど多く存在する除外文字列であるルールを取得する、データベース構築装置である。
かかる構成により、１以上のテキスト情報からサブ集合を取得するための文字列であるルールを取得できる。
【０００８】
また、本第四の発明のデータベース構築装置は、第三の発明に対して、ルール取得部は、多く存在したルールほど高くなるスコアをルールごとに算出し、サブ集合取得部は、ルールごとに算出されたスコアが予め決められた条件を満たすほど高いルールのみを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合をサブ集合格納部に蓄積する、データベース構築装置である。
かかる構成により、出現頻度の高いルールのみを使用してサブ集合を取得できる。これにより、例えば、出現頻度の高いルールを用いて確実性の高い属性値の集合のみを取得できる。
【０００９】
また、本第五の発明のデータベース構築装置は、第一または第二の発明に対して、ルール取得部は、１以上のテキスト情報から取得した２以上の文章に関する情報を少なくとも素性として用い、素性にメイン集合格納部に格納されているメイン集合の一部であるサブ集合の属性値を含むか否かを教師データとする機械学習を行い、学習した結果であるルールを取得する、データベース構築装置である。
かかる構成により、機械学習の学習結果であるルールを取得できる。これにより、例えば、共通する文字列がなくても属性値の集合を取得できる。
【００１０】
また、本第六の発明のデータベース構築装置は、第一から第五いずれか一項の発明に対して、ルール取得部は、２以上のルールを取得し、ｎは、ルールごとに異なり得る値であり、サブ集合格納部に格納されている２個以上のサブ集合を取得し、共通する属性をキーとしてサブ集合を結合することによってメイン集合を取得し、取得したメイン集合をメイン集合格納部へ蓄積する結合部をさらに具備するデータベース構築装置である。
かかる構成により、個々に取得したサブ集合同士を結合し、結合前の属性値の集合の属性値数より属性の数が多い属性値の集合を取得する。これにより、例えば、会社名と固有名称との属性値の集合と商品名と固有名称との属性値の集合から、会社名と商品名と固有名称との属性値の集合を取得できる。
【００１１】
また、本第七の発明のデータベース構築装置は、第六の発明に対して、結合部は、予め指定された属性をキーとして用いて、２個以上のサブ集合を結合し、メイン集合を取得し、取得したメイン集合をメイン集合格納部へ蓄積する、データベース構築装置である。
かかる構成により、属性値の２以上の集合を予め指定した属性で結合し、属性値の集合を取得する。これにより、例えば、結合する属性として適切な属性を指定して属性の集合を取得できる。
【００１２】
また、本第八の発明のデータベース構築装置は、第一から第七いずれか一項の発明に対して、テキスト情報は、ウェブページである、データベース構築装置である。
かかる構成により、ウェブページから属性値の集合を収集する。これにより、例えば、膨大でかつ、コストの低いウェブ上の資源を利用できる。
【発明の効果】
【００１３】
本発明によるデータベース構築装置等によれば、予め抽出方法を定義していなくても自由な書式で作成されたテキスト情報から情報を抽出し、データベースを構築できる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１におけるデータベース構築装置のブロック図
【図２】同実施の形態におけるデータベース構築装置の動作を示すフローチャート
【図３】同実施の形態におけるルール取得部の動作を示すフローチャート
【図４】同実施の形態におけるサブ集合取得部の動作を示すフローチャート
【図５】同実施の形態におけるメイン集合格納部に格納されているメイン集合の一例を示す図
【図６】同実施の形態におけるルール取得部がルールを取得する対象のテキスト情報の一例を示す図
【図７】同実施の形態におけるルール格納部に格納されているルールの一例を示す図
【図８】同実施の形態におけるサブ情報取得部がサブ情報を取得する対象のテキスト情報の一例を示す図
【図９】同実施の形態におけるサブ集合格納部に格納されているサブ集合の一例を示す図
【図１０】同実施の形態におけるメイン集合格納部に格納されているメイン集合の一例を示す図
【図１１】上記実施の形態におけるコンピュータシステムの外観の一例を示す図
【図１２】上記実施の形態におけるコンピュータシステムの構成の一例を示す図
【発明を実施するための形態】
【００１５】
以下、データベース構築装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００１６】
（実施の形態１）
本実施の形態において、予め用意した属性値の集合から、その属性値の集合の属性の数より少ない属性の数の属性値の集合を取得し、取得した属性値の集合を結合することで、予め用意した属性値の集合と同じ属性の属性値の集合を多数取得するデータベース構築装置１について説明する。なお、以下、属性値の集合を属性値集合、属性の数を属性数と記述する。
【００１７】
図１は、本実施の形態におけるデータベース構築装置１のブロック図である。データベース構築装置１は、メイン集合格納部１０１、ルール取得部１０２、ルール格納部１０３、サブ集合取得部１０４、サブ集合格納部１０５、および結合部１０６を備える。また、データベース構築装置１は、ネットワーク１００と接続されている。ネットワーク１００は、有線、または無線の通信回線であり、例えば、インターネットやイントラネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、公衆電話回線等である。
【００１８】
メイン集合格納部１０１には、ｍ種類の異なる属性の属性値集合である１以上のメイン集合が格納され得る。ｍは３以上の整数である。メイン集合は、３以上の属性値を有する属性値集合である。また、メイン集合の属性値は、それぞれ異なる属性の属性値である。つまり、メイン集合は、表形式のデータモデルにおけるレコードであっても良く、メモリ等の記憶媒体に記憶される配列であっても良い。当該データモデルが関係モデルである場合のメイン集合格納部１０１は、テーブルである。関係モデルとは、情報処理におけるデータモデルの一つであり、データの従属関係は度外視して、表形式で表すモデルである。関係モデルの詳細は、公知技術であるため説明を省略する。なお、メイン集合格納部１０１に格納される属性値集合の内容は問わない。
【００１９】
メイン集合格納部１０１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。メイン集合格納部１０１にメイン集合が格納される過程は問わない。通常、メイン集合格納部１０１には、予めユーザが用意したメイン集合が格納されるが、例えば、図示しない受付部が受け付けたメイン集合が格納されるようになっても良く、記録媒体を介してメイン集合が格納されるようになっても良く、通信回線等を介して送信されたメイン集合が格納されるようになっても良く、結合部１０６が取得したメイン集合が格納されるようになっても良い。
【００２０】
ルール取得部１０２は、メイン集合格納部１０１に格納されているメイン集合の属性のうち、ｎ種類の属性の属性値の集合であるサブ集合を含んだ１以上のテキスト情報からサブ集合を取得するためのルールを取得する。ｎは２以上ｍ未満の整数である。すなわち、サブ集合は、２より多く、ｍより少ない属性値を有する属性値集合である。また、サブ集合の属性値は、それぞれ異なる属性の属性値である。なお、サブ集合の属性値の属性は、メイン集合格納部１０１に格納されているメイン集合の属性値の属性に含まれている。ルール取得部１０２は、メイン集合格納部１０１に格納されているメイン集合からサブ集合を取得し、取得したサブ集合を用いてルールを取得する。ルール取得部１０２が取得するルールは、テキスト情報からサブ集合を取得できるルールであればどのようにルールを定義しても良い。例えば、ルールは、サブ集合を取得できる文章パターンであっても良く、サブ集合を取得できる機械学習の学習結果であっても良い。
【００２１】
ルール取得部１０２は、検索キーを用いてテキスト情報の少なくとも一部の情報を取得する。テキスト情報は、電子化された情報であればデータの構造や記述言語等は問わない。例えば、テキスト情報は、平文の文字列であっても良く、ＨＴＭＬやＸＭＬ等の構造化されたものであっても良い。また、テキスト情報は、画像、動画、または音等のテキスト以外のデータを一部に含んでいても良い。例えば、テキスト情報がＨＴＭＬで記載されている場合は、テキスト情報は画像へのリンクを有していても良い。テキスト情報の少なくとも一部の情報は、検索キーを含む一部の文章であっても良く、検索キーを含むテキスト情報に記載されている全文の文章であっても良い。検索キーを含む一部の文章は、検索キーを含む一文であっても良く、検索キーを含む一段落であっても良く、検索キーを含む１ページであっても良い。なお、ルール取得部１０２は、データベース構築装置１内の図示しないテキスト情報格納部に格納されているテキスト情報を検索してテキスト情報の少なくとも一部を取得しても良く、ネットワーク１００を介して外部の検索装置を用いてテキスト情報からテキスト情報の少なくとも一部を取得しても良い。検索に用いる検索キーは、メイン集合格納部１０１に格納されているメイン集合の部分集合であるサブ集合から作成する。検索に用いる検索キーは、例えば、サブ集合の属性値をワイルドカードで連結した文字列であっても良く、サブ集合の属性値を論理積で結合した文字列であっても良い。
【００２２】
ルール取得部１０２が（１）文章パターンであるルールを取得する方法、（２）機械学習の学習結果であるルールを取得する方法、の２つに分けて説明する。なお、ルール取得部１０２は、テキスト情報に対して同様の方法でルールを取得しても良く、テキスト情報の内容ごとに取得する方法を変更してルールを取得しても良い。また、ルール取得部１０２は、２以上のルールを取得しても良く、１のルールのみ取得しても良い。また、２以上のルールを取得する場合はルール取得部１０２が取得するルールにおけるサブ集合の属性数であるｎは、ルールごとに異なる値であっても良く、同じ値であっても良い。
【００２３】
（１）文章パターンであるルールを取得する方法
文章パターンとは、単語、熟語、形態素、形態素の品詞情報、または上記以外の情報を示す記号等の情報から構成されるものである。文章パターンの表現方法は問わない。例えば、文章パターンは、「［名詞］は、［名詞］である。」のように、テキスト情報に含まれる検索キーを、形態素の品詞情報を示す情報に置換したものであっても良く、「［名詞］は、［数詞：整数］円で発売します。」のように形態素の品詞とその形態素の性質を示す情報に置換したものであっても良い。ルール取得部１０２は、１以上のテキスト情報から、メイン集合格納部１０１に格納されているメイン集合の一部であるサブ集合を取得する。そして、ルール取得部１０２は、取得したサブ集合の属性値を含む文字列を２以上取得する。属性値を含む文字列は、テキスト情報の少なくとも一部を含む文字列であり、かつメイン集合の一部であるサブ集合の属性値を含む文字列であれば文章量は問わない。例えば、属性値を含む文字列は、１文程度が好適であるが、文書１ページ分であっても良く、１段落分であっても良い。また、属性値を含む文字列は、平文の文字列であっても良く、ＨＴＭＬ等の構造化された文字列であっても良い。また、属性値を含む文字列は、形態素ごとに形態素解析の結果を有していても良い。
【００２４】
ルール取得部１０２は、取得した属性値を含む文字列に含まれるサブ集合の属性値を除いた文章パターンの文字列である除外文字列を取得する。ルール取得部１０２は、属性値を除く際に、除いた属性値の位置と属性とを対応付けて文章パターンを取得する。ここで、ルール取得部１０２は、属性とその属性値を除いた位置とを対応付けるための情報を属性位置情報とする。属性位置情報の実現形態は問わない。例えば、属性位置情報は、属性を示す文字列を除外文字列に挿入したものであっても良く、文字列内の属性値があった文字位置を示す数値と属性とを対応付けた情報であっても良い。つまり、除外文字列は、属性値を含む文字列に対して、属性値と属性位置情報とを置換した文字列であっても良く、属性値を除外した後に属性値を含む文字列と属性位置情報とを関連づけた文字列であっても良い。具体的には、除外文字列は、「株式会社良品家電がＢｅａｒｕｔｙＳｃｒｅｅｎを発売しました。」等の文字列から属性値「会社名：株式会社良品家電」と属性値「固有名称：ＢｅａｒｕｔｙＳｃｒｅｅｎ」を除外し、属性位置情報を挿入した「＄会社名＄が＄固有名称＄を発売しました。」のような文字列であっても良い。なお、除外文字列は、属性位置情報を除いた文字列が、テキスト情報に記載されている情報そのままであっても良く、２以上の除外文字列から、共通部分を抽出し、共通部分をワイルドカードで置換したものであっても良い。
【００２５】
ルール取得部１０２は、予め決められた条件を満たすほど多く存在する除外文字列であるルールを取得しても良い。予め決められた条件を満たすほど多く存在する除外文字列とは、例えば、ルール取得部１０２が取得したルールのうち、閾値より多く出現する除外文字列であっても良く、全部の除外文字列の出現割合を算出し、割合が閾値より大きい除外文字列であっても良い。なお、閾値は、例えば、予め決められた値であっても良く、取得した除外文字列の件数に応じて変動する値であっても良い。取得した除外文字列の件数に応じて変動する値とは、最も多く出現した除外文字列の出現回数や出現割合に１より小さい数（例えば、０．８や０．５等）を掛けた値であっても良く、最も少なく出現した除外文字列の出現回数や出現割合に１より大きい数（例えば、１．５や２．０等）を掛けた値であっても良く、出現回数や出現割合の平均値に任意の正の実数を掛けた値等であっても良い。なお、ルール取得部１０２は、除外文字列の内容によって閾値を変更しても良い。具体的には、ワイルドカードを含む除外文字列と、含まない除外文字列とで閾値を変更しても良い。また、ルール取得部１０２は、多く存在したルールほど高くなるスコアをルールごとに算出しても良い。多く存在したルールほど高くなるスコアは、ルールの取得回数であっても良く、取得割合であっても良く、出現回数から任意の自然数を引いた値であっても良く、ルールを取得した際の閾値を用いて算出した値であっても良い。ルールを取得した際の閾値を用いて算出するとは、例えば、出現回数からルールを取得した際の閾値を引いた値であっても良く、ルールを取得した際の閾値に任意の正の実数を掛けた値を出現回数からルールを取得した際の閾値を引いた値であっても良い。
【００２６】
（２）機械学習の学習結果であるルールを取得する方法
ルール取得部１０２は、１以上のテキスト情報から取得した２以上の文章に関する情報を少なくとも素性として用いて機械学習を行い、学習した結果であるルールを取得しても良い。なお、ルール取得部１０２は、機械学習の際に、メイン集合格納部１０１に格納されているメイン集合の一部であるサブ集合の属性値を含むか否かを教師データとする機械学習を行う。サブ集合の属性値を含む教師データ、つまり正解の教師データは、文章パターンであるルールを取得する方法で取得した除外文字列である。サブ集合の属性値を含まない教師データ、つまり不正解の教師データは、正解の教師データの不適切な位置に属性値を挿入した文字列である。例えば、不正解の教師データは、除外文字列の属性位置情報を入れ替えて作成した文字列であっても良く、除外文字列以外の文字列の文節の切れ目に属性値を挿入した文字列であっても良く、除外文字列以外の文字列に含まれる名詞句と属性位置情報を置換した文字列であっても良い。機械学習に用いる手法は、ニューラルネットワークであっても良く、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）であっても良く、その他の公知の学習手法であっても良い。ニューラルネットワークとは、脳機能におけるいくつかの特性を計算機上のシミュレーションによって表現することを目指した学習モデルである。ニューラルネットワークには、様々な種類のモデルや方法が提案されているが、そのどれを採用しても良い。例えば、ニューラルネットワークの種類は、パーセプトロンを採用しても良く、バックプロパケーションを採用しても良く、ボルツマンマシン等を採用しても良い。ニューラルネットワークに関する各モデルの詳細は、公知技術であるため説明を省略する。ＳＶＭとは、教師データを用いて分類パターンを学習し、分類の境界線を設定し、分類を行う学習モデルである。ＳＶＭの詳細は、公知技術であるため説明を省略する。
【００２７】
学習器に学習させる素性は、教師データを形態素ごとに分割した文字列であっても良く、除外文字列を形態素ごとに分割した品詞の情報の列であっても良く、除外文字列を文節ごとに分割した文字列であっても良く、上記情報を複数組み合わせたものであっても良い。なお、除外文字列の属性位置情報は、何の属性に対応しているのか明確になるように学習させる。例えば属性位置情報は、属性を一意に表す記号、または数値等にして学習させる。なお、学習させる形態素や品詞に関する情報等の数値ではない情報は、各情報を一意に特定する数値を設定し、その値を用いて学習させる。
【００２８】
ルール取得部１０２は、取得したルールをルール格納部１０３に蓄積する。ルールごとにスコアを算出した場合は、ルール取得部１０２は、スコアとルールとの対応が分かるように蓄積する。スコアとルールを対応付ける方法は、例えば、ルールにＩＤを付与して、ルールのＩＤとスコアを対応付ける方法であっても良く、ルールとそのルールのスコアとをまとめた情報を１つのグループとして扱うようにしても良い。ルール取得部１０２は、通常、ＭＰＵやメモリ等から実現され得る。ルール取得部１０２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００２９】
ルール格納部１０３には、ルール取得部１０２が取得した１位上のルールがサブ集合の種類ごとに格納され得る。ルール格納部１０３は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。通常、ルール格納部１０３には、ルール取得部１０２が取得したルールのみが格納されるが、例えば、図示しない受付部が受け付けたルールが追記されるようになっても良く、記録媒体を介してルールが追記されるようになっても良く、通信回線等を介して送信されたルールが追記されるようになっても良い。
【００３０】
サブ集合取得部１０４は、ルール取得部１０２が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得する。なお、サブ集合取得部１０４は、予め指定された属性の属性値を有するサブ集合を取得しても良い。予め指定された属性の属性値を有するサブ集合は、サブ集合を結合時に不適切なメイン集合を生成しない属性を有するサブ集合である。サブ集合の結合、および結合時に不適切なメイン集合を生成しない属性については、後述する。なお、予め指定された属性の属性値を有するサブ集合は、１種類のサブ集合であっても良く、２種類以上のサブ集合であっても良い。サブ集合取得部１０４は、ルール取得部１０２が取得した文章パターン、または機械学習の結果を用いてテキスト情報からサブ集合を取得する。以下、サブ集合取得部１０４が（１）文章パターンを用いてサブ集合を取得する方法、（２）機械学習の学習結果を用いてサブ集合を取得する方法、の２つに分けて説明する。
【００３１】
（１）文章パターンを用いてサブ集合を取得する方法
サブ集合取得部１０４は、テキスト情報から、ルール格納部１０３に格納されているルールに合致するサブ集合を取得する。なお、サブ集合取得部１０４は、検索キーを用いて、テキスト情報の少なくとも一部の情報を取得する。検索キーは、ルール格納部１０３に格納されているルールから作成する。検索キーは、例えば、属性位置情報をワイルドカードで置換した文字列であっても良く、ルールの属性位置情報の部分を論理積で結合した文字列であっても良い。具体的には、ルールが「＄会社名＄が＄固有名称＄を発売しました。」であった場合の検索キーは、「”＊が＊を発売しました。”」である。テキスト情報の少なくとも一部の情報は、検索キーを含む一部の文章であっても良く、検索キーを含む全文の文章であっても良い。検索キーを含む一部の文章は、検索キーを含む一文であっても良く、検索キーを含む一段落であっても良く、検索キーを含む１ページであっても良い。なお、ルール取得部１０２は、データベース構築装置１内の図示しないテキスト情報格納部に格納されているテキスト情報を検索してテキスト情報の少なくとも一部を取得しても良く、ネットワーク１００を介して外部の検索装置を用いてテキスト情報からテキスト情報の少なくとも一部を取得しても良い。
【００３２】
なお、サブ集合取得部１０４は、ルールごとにスコアが算出されている場合、ルールごとに算出されたスコアが予め決められた条件を満たすほど高いルールのみを用いても良い。スコアが予め決められた条件を満たすほど高いルールとは、例えば、閾値より大きいスコアに対応したルールである。閾値は、例えば、予め決められた値であっても良く、取得したルールのスコアに応じて変動する値であっても良い。取得したルールのスコアに応じて変動する値とは、最も大きいスコアのルールのスコアに１より小さい数（例えば、０．９や０．８等）を掛けた値等であっても良く、最も小さいスコアのルールのスコアに１より大きい数（例えば、１．１や１．２等）を掛けた値等であっても良く、スコアの平均値に任意の正の実数を掛けた値等であっても良く、スコアが上位からＬ番目までのルールであっても良い。なお、Ｌは任意の自然数である。
【００３３】
（２）機械学習の学習結果を用いてサブ集合を取得する方法
サブ集合取得部１０４は、テキスト情報から、ルール格納部１０３に格納されている機械学習の結果を用いて、テキスト情報からサブ集合を取得する。テキスト情報を取得する方法は問わない。サブ集合取得部１０４は、任意の検索キーで外部の検索装置に対して検索して取得しても良く、ウェブページのリンク構造を探索して無作為に取得しても良い。サブ集合取得部１０４は、テキスト情報をルール取得部１０２で学習させた除外文字列と同じ文章量になるように分割する。具体的には、サブ集合取得部１０４は、ルール取得部１０２で学習させた除外文字列が、１ページ分であるならばテキスト情報を１ページごとに分割し、ルール取得部１０２で学習させた除外文字列が、１段落分であるならばテキスト情報を１段落ごとに分割する。
【００３４】
サブ集合取得部１０４は、分割したテキスト情報に属性位置情報を含めたテスト文字列を作成する。テスト文字列は、分割したテキスト情報に含まれる形態素と属性位置情報を置換した文字列であっても良く、分割したテキスト情報に含まれる形態素と属性位置情報を置換した文字列であっても良い。また、テスト文字列は、置換される文字列と置換する属性位置情報がすべてのパターンを満たすように２以上のテスト文字列を取得しても良い。例えば、属性位置情報が２あるルールの場合、分割したテキスト情報に属性位置情報を含める方法は、「これは、赤色のペンである。」という文章に対して、「［属性位置情報１］は、［属性位置情報２］のペンである。」としても良く、「［属性位置情報１］は、赤色の［属性位置情報２］である。」としても良く、「［属性位置情報２］は、［属性位置情報１］のペンである。」としても良く、その他考えられるいかなる組み合わせであっても良い。なお、上記例では、同じ属性位置情報が１つの文章内に重複しないようにしたが、同じ属性位置情報が１つの文章内に重複して含まれていても良い。サブ集合取得部１０４は、作成したテスト文字列をルール取得部１０２で学習させた素性と同様の形式に変換し、テスト文字列に含まれる属性位置情報が適切な位置であるかどうかを判断する。サブ集合取得部１０４は、テスト文字列が、サブ集合を含むと学習器に判断された場合に、テスト文字列の属性位置情報で置換した用語の集合であるサブ集合を取得する。
【００３５】
サブ集合取得部１０４は、文章パターンを用いてサブ集合を取得する方法、または機械学習の学習結果を用いてサブ集合を取得する方法のどちらを用いてサブ集合を取得しても良く、一方の方法をサブ集を得取得するために用い、もう一方の方法を取得したサブ集合が正しいかどうかのチェックのために用いても良い。
【００３６】
サブ集合取得部１０４は、取得したサブ集合をサブ集合格納部１０５に蓄積する。サブ集合取得部１０４は、通常、ＭＰＵやメモリ等から実現され得る。サブ集合取得部１０４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３７】
サブ集合格納部１０５には、１以上のサブ集合が格納され得る。サブ集合格納部１０５は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。サブ集合格納部１０５にサブ集合が格納される過程は問わない。通常、サブ集合格納部１０５には、サブ集合取得部１０４が取得したサブ集合、または結合部１０６が結合したサブ集合のみが格納されるが、図示しない受付部が受け付けたサブ集合が追記されるようになっても良く、記録媒体を介してサブ集合が追記されるようになっても良く、通信回線等を介して送信されたサブ集合が追記されるようになっても良い。
【００３８】
結合部１０６は、サブ集合格納部１０５に格納されている２個以上のサブ集合を取得し、共通する属性をキーとしてサブ集合を結合することによってメイン集合を取得する。つまり、結合部１０６は、サブ集合格納部１０５に格納されている２個以上のサブ集合に共通する属性である共通属性の属性値が一致している場合に、２個以上のサブ集合の共通属性の属性値と、当該２個以上のサブ集合の共通属性以外の属性である非共通属性の属性値とを有するメイン集合を取得する。具体的には、サブ集合「Ａさん，知財部」と、サブ集合「Ａさん，部長」とから、「Ａさん」の属性をキーにしてメイン集合「Ａさん，知財部、部長」を取得する。なお、上記例では、属性数が２のサブ集合２個を結合し属性数３のメイン集合を取得しているが、属性数が３以上のサブ集合から属性数４以上のメイン集合を取得しても良い。また、結合する２個以上のサブ集合は、サブ集合の属性数が同一であっても良く、異なっていても良い。また、結合部１０６は、１の属性をキーとして用いても良く、２以上の属性をキーとして用いても良い。また、結合部１０６は、２個以上のサブ集合の全てに共通する属性をキーとして用いても良く、２個以上のサブ集合のうちの２個に共通する属性キーとして用いて複数回結合しても良い。具体的には、サブ集合「Ａさん，知財部」と、サブ集合「Ａさん，部長」と、サブ集合「知財部，１０階」から、「Ａさん」と「知財部」との属性をキーにしてメイン集合「Ａさん，知財部、部長，１０階」を取得しても良い。
【００３９】
なお、結合部１０６は、予め指定された属性をキーとして用いて、２個以上のサブ集合を結合し、メイン集合を取得しても良い。予め指定された属性は、サブ集合格納部１０５に格納されている２個のサブ集合に共通する属性である。予めキーとして指定する属性は、メイン集合の属性値の属性のうち、結合時に不適切なメイン集合を生成しない属性を指定するのが好適であるが、どの属性を指定しても良い。不適切なメイン集合を生成しない属性とは、具体的には、下記例における属性「固有名称」である。サブ集合Ａ「会社名：株式会社良品家電，固有名称：ＢｅａｒｕｔｙＳｃｒｅｅｎ」と、サブ集合Ｂ「固有名称：ＢｅａｒｕｔｙＳｃｒｅｅｎ，商品名：テレビ」と、サブ集合Ｃ「会社名：株式会社良品家電，商品名：エアコン」とがあった場合、予め属性「固有名称」をキーとして指定していれば、サブ集合Ａとサブ集合Ｂとから「会社名：株式会社良品家電，固有名称：ＢｅａｒｕｔｙＳｃｒｅｅｎ，商品名：テレビ」のように正しいメイン集合を得ることができるが、予め属性「会社名」をキーとして指定していれば、サブ集合Ａとサブ集合Ｃとから「会社名：株式会社良品家電，固有名称：ＢｅａｒｕｔｙＳｃｒｅｅｎ，商品名：エアコン」のように、不適切なメイン集合を取得してしまう。なお、予めキーとして指定される属性は、１の属性であっても良く、２以上の属性であっても良い。
【００４０】
なお、結合部１０６は、結合してできたメイン集合の部分集合のうち、結合する過程で用いたサブ集合の部分集合ではないｋ個の部分集合がサブ集合格納部１０５に格納されている場合に、メイン集合を取得しても良い。ｋは、１位上の整数である。つまり、結合部１０６は、結合してできたメイン集合の部分集合が、結合に用いたサブ集合以外にサブ集合格納部１０５に格納されているかどうかを確認するチェックを行い、取得するメイン集合を正しい組み合わせの可能性の高い属性値集合のみに限定して取得しても良い。結合したメイン集合の部分集合とは、具体的には、サブ集合「Ａさん，知財部」と、サブ集合「Ａさん，部長」とから、「Ａさん」の属性をキーにして結合したメイン集合「Ａさん，知財部、部長」があった場合は、属性値集合「Ａさん，知財部」と、属性値集合「Ａさん，部長」と、属性値集合「知財部，部長」のように結合したメイン集合より属性数の少ない集合である。結合する過程で用いたサブ集合の部分集合ではないｋ個の部分集合とは、結合に用いたサブ集合のいずれにもすべての属性値が含まれていない属性値集合である。具体的には、上記例における属性値集合「知財部，部長」のような属性値集合である。属性値集合「知財部，部長」がサブ集合格納部１０５に格納されていることを確認することで、結合した属性値集合が、確からしいかどうかが検証できる。
【００４１】
なお、サブ集合格納部１０５に格納されているか否かを判断する部分集合は、結合する過程で用いたサブ集合の部分集合ではない１個の部分集合であっても良く、２個以上の部分集合であっても良い。また、２個以上の部分集合がサブ集合格納部１０５に格納されているかどうか判断する場合は、結合部１０６は、すべての部分集合がサブ集合格納部１０５に格納されている場合に取得するようにしても良く、１個以上の部分集合がサブ集合格納部１０５に格納されている場合に取得するようにしても良く、判断する部分集合の数に応じて変化する閾値以上の部分集合がサブ集合格納部１０５に格納されている場合に取得するようにしても良い。判断する部分集合の数に応じて変化する閾値は、部分集合の数に１より小さい数（例えば、０．９や０．８等）を掛けた値等であっても良く、部分集合の数の半数を示す値等であっても良い。また、結合部１０６は、サブ集合格納部１０５に格納されていた部分集合の数に応じて大きくなるスコアを結合した属性値集合に対して算出しても良い。
【００４２】
結合部１０６は、取得したメイン集合をメイン集合格納部１０１へ蓄積する。また、結合部１０６は、サブ集合を結合した結果、サブ集合を取得しても良い。サブ集合を取得した場合は、結合部１０６は、取得したサブ集合をサブ集合格納部１０５に蓄積しても良い。結合部１０６は、結合して取得したサブ集合を用いて新たにメイン集合、またはサブ集合を結合して取得しても良い。また、結合部１０６は、結合したサブ集合の部分集合のうち、結合する過程で用いたサブ集合の部分集合ではないｋ個の部分集合がサブ集合格納部１０５に格納されている場合に、メイン集合を取得しても良い。つまり、結合部１０６は、結合してできたサブ集合に対して１回、または２回以上のチェックを行い、取得するサブ集合を正しい組み合わせの可能性の高い属性値集合のみに限定して取得しても良い。チェックの方法は、メイン集合を取得した場合と同様である。
【００４３】
なお、結合した属性値集合の部分集合は、属性が１の集合、または空集合以外の集合であることが好適である。結合部１０６は、通常、ＭＰＵやメモリ等から実現され得る。結合部１０６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４４】
図２は、本実施の形態におけるデータベース構築装置１の動作の一例を示すフローチャートである。以下、図２を用いて動作について説明する。なお、本フローチャートにおいて、テキスト情報は、ウェブページであるものとする。
【００４５】
（ステップＳ２０１）ルール取得部１０２は、メイン集合格納部１０１に格納されているメイン集合からすべてのパターンのサブ集合を取得する。
【００４６】
（ステップＳ２０２）ルール取得部１０２は、ステップＳ２０１で取得したすべてのサブ集合を用いてルールを取得する。ルール取得部１０２がルールを取得する動作の詳細は、図３のフローチャートを用いて後述する。
【００４７】
（ステップＳ２０３）サブ集合取得部１０４は、ステップＳ２０２でルール格納部１０３に格納されたすべてのルールを用いてサブ集合を取得する。サブ集合取得部１０４がサブ集合を取得する動作の詳細は、図４のフローチャートを用いて後述する。
【００４８】
（ステップＳ２０４）結合部１０６は、サブ集合格納部１０５に結合できるサブ集合の対が格納されているかどうかを判断する。具体的には、予め指定されたキーとなる属性の属性値が共通するサブ集合の対があるかどうかを判断する。判断する際は、一度結合したサブ集合の対は、結合できるサブ集合の対と判断されないようにする。サブ集合格納部１０５に結合できるサブ集合の対が格納されている場合は、ステップＳ２０５へ進み、格納されていなかった場合は、終了する。
【００４９】
（ステップＳ２０５）結合部１０６は、サブ集合格納部１０５に格納されているサブ集合から結合できるサブ集合の対を取得する。
【００５０】
（ステップＳ２０６）結合部１０６は、ステップＳ２０５で取得したサブ集合の対を予め指定された属性をキーにして結合する。
【００５１】
（ステップＳ２０７）結合部１０６は、ステップＳ２０６で結合した属性値集合の部分集合のうち、結合する過程で用いたサブ集合の部分集合ではない部分集合がサブ集合格納部１０５に格納されているかどうかを判断する。結合する過程で用いたサブ集合の部分集合ではない部分集合がサブ集合格納部１０５に格納されている場合、すなわち結合した属性値集合が適切な属性値集合だった場合はステップＳ２０８へ進み、格納されていない場合、すなわち結合した属性値集合が不適切な属性値集合だった場合は、ステップＳ２０４へ戻る。
【００５２】
（ステップＳ２０８）ステップＳ２０６で結合した属性値集合がメイン集合であれば、メイン集合格納部１０１に格納し、サブ集合であればサブ集合格納部１０５に格納する。そして、ステップＳ２０４へ戻る。
【００５３】
図３は、図２のルール取得部１０２がルールを取得する処理（ステップＳ２０２）の動作の一例を示すフローチャートである。以下、図３を用いて、ルール取得部１０２のルールを取得する処理について説明する。なお、本実施の形態において、テキスト情報は、ウェブページである。また、ルール取得部１０２は、テキスト情報の一文を対象にして除外文字列を取得する。
【００５４】
（ステップＳ３０１）ルール取得部１０２は、ネットワーク１００を介して、ステップＳ２０１で取得したサブ集合を含むウェブページをすべて取得する。
【００５５】
（ステップＳ３０２）ルール取得部１０２は、ステップＳ３０１で取得したすべてのウェブページから、ステップＳ２０１で取得したすべてのサブ集合を含む一文である文字列を取得する。
【００５６】
（ステップＳ３０３）ルール取得部１０２は、ステップＳ３０２で取得したすべての文字列に対して、サブ集合の属性値と属性位置情報とを置換し、除外文字列を取得する。
【００５７】
（ステップＳ３０４）ルール取得部１０２は、ステップＳ３０３で取得したすべての除外文字列のうち、出現回数の多い除外文字列であるルールを取得する。
【００５８】
（ステップＳ３０５）ルール取得部１０２は、ステップＳ３０４で取得したすべてのルールに対して、出現回数からステップＳ３０４でルールを取得するために用いた閾値を引いた値であるスコアを算出する。
【００５９】
（ステップＳ３０６）ルール取得部１０２は、ステップＳ３０４で取得したすべてのルールをスコアと共にルール格納部１０３に格納する。そして、上位の処理へ戻る。
【００６０】
図４は、図２のサブ集合取得部１０４がサブ集合を取得する処理（ステップＳ２０３）の動作の一例を示すフローチャートである。以下、図４を用いて、ルール取得部１０２のルールを取得する処理について説明する。
【００６１】
（ステップＳ４０１）サブ集合取得部１０４は、ステップＳ２０２でルール格納部１０３に格納したすべてのルールのうち、スコアの高いルールを取得する。
【００６２】
（ステップＳ４０２）サブ集合取得部１０４は、ネットワーク１００を介して、ステップＳ４０１で取得したすべてのルールに対して、ルールごとに合致する文字列を有するウェブページを検索する。
【００６３】
（ステップＳ４０３）サブ集合取得部１０４は、ステップＳ４０２で検索によって取得したすべてのウェブページから、対応するルールに合致する文字列を取得する。
【００６４】
（ステップＳ４０４）サブ集合取得部１０４は、ステップＳ４０３で取得したすべての文字列に対して、文字列に含まれるルールが有する属性位置情報に該当する部分を属性値として取得する。
【００６５】
（ステップＳ４０５）サブ集合取得部１０４は、ステップＳ４０３で取得した属性値の集合をサブ集合としてサブ集合格納部１０５に格納する。そして、上位の処理へ戻る。
【００６６】
以下、本実施の形態におけるデータベース構築装置１の具体的な動作について説明する。なお、本具体例において示した各図面の情報は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。なお、本具体例において、テキスト情報は、ウェブページであるものとする。また、本具体例において、ルール取得部１０２は、ルールを取得する際に、完全一致した除外文字列であれば５回、共通部分を含む除外文字列に対して、非共通部分を＊に置換した除外文字列であれば、１００回以上一致した場合に除外文字列をルールとして取得する。また、本具体例において、サブ集合取得部１０４は、ルール格納部１０３に格納されている全ルールのスコアの平均値より高いスコアを用いてサブ集合を取得する。
【００６７】
本具体例において、メイン集合格納部１０１に格納されているメイン集合は、図５で示されるものであるとする。図５のテーブルは、メイン集合ＩＤ、会社名、固有名称、および商品名を有するレコードを多数有している。なお、本具体例のメイン集合の属性値の属性は、会社名、固有名称、および商品名である。メイン集合ＩＤは、関係モデル、および説明の便宜上の問題で含めた属性であるため、メイン集合の属性値の属性ではないものとする。また、結合部１０６がキーとして用いる属性は、「［固有名称］」に設定されているものとする。
【００６８】
データベース構築装置１のユーザが、データベース構築装置１をスタートさせたとする。すると、ルール取得部１０２は、「メイン集合ＩＤ：１００」から、サブ集合「特許分析株式会社，ＰＡＴ−Ａｎａｌｙｚｅｒ」と、サブ集合「特許分析株式会社，ソフトウェア」と、サブ集合「ソフトウェア：ＰＡＴ−Ａｎａｌｙｚｅｒ」とを取得する。また、ルール取得部１０２は、「メイン集合ＩＤ：１０１」から、サブ集合「株式会社良品家電，ＢｅａｕｔｙＳｃｒｅｅｎ」と、サブ集合「株式会社良品家電，テレビ」と、サブ集合「テレビ：ＢｅａｕｔｙＳｃｒｅｅｎ」とを取得する。以下、「メイン集合ＩＤ：１００」未満、および「メイン集合ＩＤ：１０２」以降についても同様にサブ集合を取得する（ステップＳ２０１）。
【００６９】
ルール取得部１０２は、サブ集合を取得すると、サブ集合から検索キーを生成してウェブページを検索し、取得したウェブページからルールを取得する（ステップＳ２０２）。以下、かかる処理の詳細を説明する。本具体例において、図６は、ルール取得部１０２がルールを取得する対象のウェブページの１つであるとする。図６のウェブページは、不特定多数の会社がプレスリリースを掲載するウェブページである。
【００７０】
ルール取得部１０２は、サブ集合「特許分析株式会社，ＰＡＴ−Ａｎａｌｙｚｅｒ」から、順番を入れ替えた２種類の検索キーである検索キー「“特許分析株式会社＊ＰＡＴ−Ａｎａｌｙｚｅｒ”」と検索キー「“ＰＡＴ−Ａｎａｌｙｚｅｒ＊特許分析株式会社”」とを生成し、ネットワーク１００を介してウェブページを検索する。なお、本具体例における検索キーでは、「＊（アスタリスク）」をワイルドカードであるものとし、「“（ダブルクォーテーション）」で囲んだ文字列を、検索時に語順が変更されない検索キーとして指定するものとする。ルール取得部１０２は、取得したすべてのサブ集合を用いて、同様にウェブページを検索する（ステップＳ３０１）。
【００７１】
ルール取得部１０２は、図６で示すウェブページを検索によって取得すると、ウェブページを検索する際に使用したサブ集合「特許分析株式会社，ＰＡＴ−Ａｎａｌｙｚｅｒ」を含む文字列「特許分析株式会社が特許文書の権利範囲を解析するＰＡＴ−Ａｎａｌｙｚｅｒを発売」と、ＨＴＭＬの文字列「＜ｓｐａｎ＞特許分析株式会社が特許文書の権利範囲を解析するＰＡＴ−Ａｎａｌｙｚｅｒを発売＜／ｓｐａｎ＞」とを取得する。ルール取得部１０２は、検索によって取得したすべてのウェブページに対して、同様にウェブページを検索する際に使用したサブ集合を含む文字列を取得する（ステップＳ３０２）。
【００７２】
ルール取得部１０２は、ウェブページからサブ集合を含む文字列を取得すると、サブ集合の属性値と一致する文字列「特許分析株式会社」と「ＰＡＴ−Ａｎａｌｙｚｅｒ」を属性位置情報と置換し、除外文字列「＄会社名＄が特許文書の権利範囲を解析する＄固有名称＄を発売」と、除外文字列「＜ｓｐａｎ＞＄会社名＄が特許文書の権利範囲を解析する＄固有名称＄を発売＜／ｓｐａｎ＞」とを取得する。ルール取得部１０２は、取得したすべての文字列に対して、同様にサブ集合の属性値と一致する文字列を属性位置情報と置換し、除外文字列を取得する（ステップＳ３０３）。
【００７３】
ルール取得部１０２は、取得した除外文字列から５回以上完全に一致した除外文字列「＄固有名称＄が、＄会社名＄から発売」と、共通部分を含む除外文字列に対して、非共通部分を＊に置換した除外文字列から１００回以上完全に一致した除外文字列「会社名＄が＊する＄固有名称＄を発売」であるルールを取得する。ルール取得部１０２は、同様に取得した除外文字列のうち出現回数が上記の閾値を超える除外文字列であるルール取得する（ステップＳ３０４）。ルール取得部１０２は、取得したすべてのルールのスコアに出現回数から上記の５回、または１００回である閾値の値を引いた値を設定し、（ステップＳ３０５）、すべてのルールとスコアを対応付けてルール格納部１０３に蓄積する（ステップＳ３０６）。ルール取得部１０２は、ルールを蓄積すると、サブ集合取得部１０４に処理が終了したことを通知する。
【００７４】
本具体例において、ルール格納部１０３に格納されているルールは、図７で示されるものであるとする。図７のテーブルは、ルールＩＤ、ルール、およびスコアを有するレコードを多数有している。本具体例におけるルールでは、属性位置情報を属性の左右に「＄」を付けて表現している。具体的には、「＄会社名＄」等のように表現している。本具体例におけるルール格納部１０３には、「ルールＩＤ：２０１」や「ルールＩＤ：２０２」等のように属性値を属性位置情報に置換した際の文字列が一致して取得したルールと、「ルールＩＤ：２００」のように属性値を属性位置情報に置換した際の文字列から共通部分を抽出し、非共通部分の文字列をワイルドカードに置換して取得したルールと、「ルールＩＤ：２０３」のように属性値を属性位置情報に置換した際のＨＴＭＬ構造と文字列が一致して取得したルールとが格納されている。なお、ワイルドカードは「＊（アスタリスク）」で表現している。
【００７５】
サブ集合取得部１０４は、ルール取得部１０２からの通知を受け取ると、ルール格納部１０３からすべてのルールを取得し、ルールを用いてから検索キーを生成してウェブページを検索し、取得したウェブページからサブ集合を取得する（ステップＳ２０３）。以下、かかる処理の詳細を説明する。
【００７６】
本具体例において、図８は、サブ集合取得部１０４がサブ集合を取得する対象であるウェブページの１つであるとする。図８のウェブページは、不特定多数の会社がプレスリリースを掲載するウェブページである。
【００７７】
サブ集合取得部１０４は、ルール格納部１０３に格納されている全ルールのスコアの平均値である３０より高いスコアを有するルールをすべて取得する（ステップＳ４０１）。サブ集合取得部１０４は、取得した「ルールＩＤ：２０１」から、検索キー「“＊が、＊から発売”」を生成し、ネットワーク１００を介して検索する。サブ集合取得部１０４は、取得したすべてのルールを用いて、同様にウェブページを検索する（ステップＳ４０２）。
【００７８】
サブ集合取得部１０４は、図８で示すウェブページを検索によって取得すると、ウェブページを検索する際に使用した「ルールＩＤ：２０１」と合致する文字列「対災害金庫が株式会社合鍵金庫から発売」を取得する。サブ集合取得部１０４は、検索によって取得したすべてのウェブページに対して、同様にウェブページを検索する際に使用したルールに合致する文字列を取得する（ステップＳ４０３）。
【００７９】
サブ集合取得部１０４は、ウェブページからルールに合致する文字列を取得すると、ルールの属性位置情報の位置と一致する文字列「対災害金庫」と、文字列「株式会社合鍵金庫」とを取得し（ステップＳ４０４）、一つのルールから取得した文字列の属性値集合「対災害金庫，株式会社合鍵金庫」をサブ集合格納部１０５に蓄積する。サブ集合取得部１０４は、取得したすべてのルールに合致する文字列に対して、同様にルールの属性位置情報の位置と一致する文字列を取得し、サブ集合格納部１０５に蓄積する（ステップＳ４０５）。サブ集合取得部１０４は、サブ集合を格納し終えると、結合部１０６に処理が終了したことを通知する。
【００８０】
本具体例において、サブ集合格納部１０５に格納されているサブ集合は、図９で示されるものであるとする。図９（ａ）のテーブルは、属性値集合ＩＤ、会社名、および固有名称を有するレコードを多数有している。図９（ｂ）のテーブルは、属性値集合ＩＤ、商品名、および固有名称を有するレコードを多数有している。図９（ｃ）のテーブルは、属性値集合ＩＤ、会社名、および商品名を有するレコードを多数有している。なお、本具体例のサブ集合の属性値の属性は、会社名、商品名、または固有名称のうち２の属性の組み合わせである。属性値集合ＩＤは、関係モデル、および説明の便宜上の問題で含めた属性であるため、サブ集合格納部１０５に格納される属性値集合の属性値の属性ではないものとする。
【００８１】
結合部１０６は、サブ集合取得部１０４からの通知を受け取ると、サブ集合格納部１０５に格納されているサブ集合のうち、属性「［固有名称］」の属性値が共通し結合できるサブ集合の対である、例えば、サブ集合「会社名：株式会社合鍵金庫，固有名称：対災害金庫」と、サブ集合「商品名：金庫，固有名称：対災害金庫」との対を取得する（ステップＳ２０４、Ｓ２０５）。なお、結合部１０６は、図示しない結合済情報格納部に、結合済みのサブ集合の組合せを格納し、図示しない結合済み情報格納部に格納されていないサブ集合の対のみを結合できるサブ集合と判断する。
【００８２】
結合部１０６は、取得したサブ集合を属性「［固有名称］」をキーにして結合し、属性値集合「会社名：株式会社合鍵金庫，固有名称：対災害金庫，商品名：金庫」を取得する（ステップＳ２０６）。
【００８３】
結合部１０６は、結合した属性値集合の部分集合のうち、結合する過程で用いたサブ集合の部分集合ではない部分集合「会社名：株式会社合鍵金庫，商品名：金庫」がサブ集合格納部１０５に格納されているため、結合した属性値集合であるメイン集合「会社名：株式会社合鍵金庫，固有名称：対災害金庫，商品名：金庫」を取得し、メイン集合格納部１０１に蓄積する（ステップＳ２０７、Ｓ２０８）。なお、部分集合「会社名：株式会社合鍵金庫，商品名：金庫」がサブ集合格納部１０５に格納されていなければ、メイン集合格納部１０１には格納しない。そして、結合部１０６は、結合に用いたサブ集合「会社名：株式会社合鍵金庫，固有名称：対災害金庫」と、サブ集合「商品名：金庫，固有名称：対災害金庫」との対を図示しない結合済み情報格納部に蓄積する。結合部１０６は、サブ集合格納部１０５に属性値が共通し結合できるサブ集合の対が無くなるまでかかる処理を繰り返す。
【００８４】
本具体例において、メイン集合格納部１０１に格納されているメイン集合は、図１０で示されるものであるとする。図１０のテーブルは、メイン集合ＩＤ、会社名、固有名称、および商品名を有するレコードを格納できる。なお、メイン集合ＩＤは、関係モデル、および説明の便宜上の問題で含めた属性であるため、メイン集合の属性値の属性ではないものとする。
【００８５】
以上、本実施の形態によれば、わずかなメイン集合から同じ属性を有するメイン集合を大量に取得できる。また、メイン集合を取得する過程で、サブ集合を大量に取得できる。また、属性値集合を取得するルールをスコアで評価し、その評価を用いることで間違いの少ない属性値集合を取得できる。また、取得した属性値集合に対して、エラーチェックを行うことで、より間違いの少ない属性値集合を取得できる。
【００８６】
また、本実施の形態において、データベース構築装置１が結合部１０６を備える場合について説明したが、データベース構築装置１は、結合部１０６を備えていなくても良い。結合部１０６を備えていない場合には、サブ集合格納部１０５にサブ集合が格納された段階で処理を終了しても良い。すなわち、サブ集合を取得するデータベース構築装置１であっても良い。なお、取得したサブ集合を外部の結合装置で結合してメイン集合を取得しても良い。
【００８７】
また、本実施の形態では、メイン集合を用いて取得したルールを用いてサブ集合を取得するデータベース構築装置１について説明したが、データベース構築装置１におけるルールからサブ集合を取得する各構成要素を情報処理装置として用いても良い。つまり、この情報処理装置は、サブ集合を含んだ１以上のテキスト情報から当該サブ集合を取得するためのルールを格納し得るルール格納部１０３と、サブ集合が格納され得るサブ集合格納部１０５と、前記ルール格納部１０３に格納されているルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部１０５に蓄積するサブ集合取得部１０４とを具備する情報処理装置である。なお、この情報処理装置におけるサブ集合取得部１０４とサブ集合格納部１０５とは、上記実施の形態で説明したものと同様のものである。また、この情報処理装置におけるルール格納部１０３は、上記実施の形態で説明したものと同様のものであるが、ルール格納部１０３で格納されるルールは、ルール取得部１０２以外によって格納されたものであっても良い。例えば、ルール格納部１０３には、図示しない受付部が受け付けたルールが格納されるようになっても良く、記録媒体を介してルールが格納されるようになっても良く、通信回線等を介して送信されたルールが格納されるようになっても良い。この情報処理装置は、予めルール格納部１０３に格納されているルールを用いてサブ集合を取得できる。これにより、例えば、予め用意した精度の高いルールを使用してサブ集合を取得できる。
【００８８】
また、本実施の形態では、メイン集合を用いて取得したルールを用いてサブ集合を取得し、サブ集合同士を結合するデータベース構築装置１について説明したが、データベース構築装置１におけるルールからサブ集合を取得し、サブ集合同士を結合する各構成要素を情報処理装置として用いても良い。つまり、この情報処理装置は、サブ集合を含んだ１以上のテキスト情報から当該サブ集合を取得するためのルールを格納し得るルール格納部１０３と、サブ集合が格納され得るサブ集合格納部１０５と、前記ルール格納部１０３に格納されているルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合を前記サブ集合格納部１０５に蓄積するサブ集合取得部１０４と、前記サブ集合格納部１０５に格納されている２個以上のサブ集合に共通する属性をキーとして用いて当該２個以上のサブ集合の属性値を１個の属性値の集合になるよう結合し、結合してできた前記メイン集合をメイン集合格納部１０１、結合してできたサブ集合を前記サブ集合格納部１０５へ蓄積する結合部１０６とを具備する情報処理装置である。なお、この情報処理装置におけるサブ集合取得部１０４とサブ集合格納部１０５と結合部１０６とは、上記実施の形態で説明したものと同様のものである。また、この情報処理装置におけるルール格納部１０３は、上記実施の形態で説明したものと同様のものであるが、ルール格納部１０３で格納されるルールは、ルール取得部１０２以外によって格納されたものであっても良い。例えば、ルール格納部１０３には、図示しない受付部が受け付けたルールが格納されるようになっても良く、記録媒体を介してルールが格納されるようになっても良く、通信回線等を介して送信されたルールが格納されるようになっても良い。この情報処理装置は、予めルール格納部１０３に格納されているルールを用いてサブ集合を取得し、取得したサブ集合からメイン集合を取得できる。これにより、例えば、予め用意した精度の高いルールを使用してサブ集合を取得し、サブ集合同士を結合して、メイン集合を取得できる。
【００８９】
また、本実施の形態では、メイン集合を用いて取得したルールを用いてサブ集合を取得し、サブ集合同士を結合するデータベース構築装置１について説明したが、データベース構築装置１におけるサブ集合同士を結合する各構成要素を情報処理装置として用いても良い。つまり、この情報処理装置は、サブ集合が格納され得るサブ集合格納部１０５と、前記サブ集合格納部１０５に格納されている２個以上のサブ集合に共通する属性をキーとして用いて当該２個以上のサブ集合の属性値を１個の属性値の集合になるよう結合し、結合してできた前記メイン集合をメイン集合格納部１０１、結合してできたサブ集合を前記サブ集合格納部１０５へ蓄積する結合部１０６とを具備する情報処理装置である。なお、この情報処理装置における結合部１０６は、上記実施の形態で説明したものと同様のものである。また、この情報処理装置におけるサブ集合格納部１０５は、上記実施の形態で説明したものと同様のものであるが、サブ集合格納部１０５で格納されるサブ集合は、サブ集合取得部１０４以外によって格納されたものであっても良い。例えば、サブ集合格納部１０５には、図示しない受付部が受け付けたサブ集合が格納されるようになっても良く、記録媒体を介してサブ集合が格納されるようになっても良く、通信回線等を介して送信されたサブ集合が格納されるようになっても良い。この情報処理装置は、予めサブ集合格納部１０５に格納されているサブ集合からメイン集合を取得できる。これにより、例えば、予め用意した精度の高いサブ集合同士を結合して、メイン集合を取得できる。
【００９０】
また、本実施の形態におけるデータベース構築装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、プログラムは、ｍ種類の異なる属性の属性値の集合であるメイン集合が格納され得るメイン集合格納部と、メイン集合格納部に格納されているメイン集合の属性のうち、ｎ種類の属性の属性値の集合であるサブ集合が格納され得るサブ集合格納部とにアクセス可能なコンピュータを、サブ集合を含んだ１以上のテキスト情報からサブ集合を取得するためのルールを取得するルール取得部、ルール取得部が取得したルールを用いて、１以上のテキスト情報からサブ集合を取得し、取得したサブ集合をサブ集合格納部に蓄積するサブ集合取得部として機能させるためのプログラムである。
【００９１】
なお、本実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されても良く、または、複数の装置によって分散処理されることによって実現されても良い。また、本実施の形態において、一の装置に存在する２以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【００９２】
また、本実施の形態において、各構成要素は、専用のハードウェアにより構成されても良く、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されても良い。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
【００９３】
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部等におけるモデムやインターフェースカード等のハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
【００９４】
図１１は、上記プログラムを実行して、上記実施の形態による本発明を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
【００９５】
図１１において、コンピュータシステム１１００は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６を含むコンピュータ１１０１と、キーボード１１０２と、マウス１１０３と、モニタ１１０４とを備える。
【００９６】
図１２は、コンピュータシステム１１００の内部構成を示す図である。図１９において、コンピュータ１１０１は、ＣＤ−ＲＯＭドライブ１１０５、ＦＤドライブ１１０６に加えて、ＭＰＵ１１１１と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ１１１２と、ＭＰＵ１１１１に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するＲＡＭ１１１３と、アプリケーションプログラム、システムプログラム、およびデータを記憶するハードディスク１１１４と、ＭＰＵ１１１１と、ＲＯＭ１１１２等を相互に接続するバス１１１５とを備える。なお、コンピュータ１１０１は、ＬＡＮへの接続を提供する図示しないネットワークカードを含んでいても良い。
【００９７】
コンピュータシステム１１００に、上記実施の形態による本発明等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ１１２１、またはＦＤ１１２２に記憶されて、ＣＤ−ＲＯＭドライブ１１０５、またはＦＤドライブ１１０６に挿入され、ハードディスク１１１４に転送されても良い。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ１１０１に送信され、ハードディスク１１１４に記憶されても良い。プログラムは実行の際にＲＡＭ１１１３にロードされる。なお、プログラムは、ＣＤ−ＲＯＭ１１２１やＦＤ１１２２、またはネットワークから直接、ロードされても良い。
【００９８】
プログラムは、コンピュータ１１０１に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティプログラム等を必ずしも含んでいなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいても良い。コンピュータシステム１１００がどのように動作するのかについては周知であり、詳細な説明は省略する。
【００９９】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１００】
以上のように、本発明にかかるデータベース構築装置は、抽出方法を予め定義すること無く、ルールを取得してデータベースを構築できるという効果を有し、データベース構築装置等として有用である。
【符号の説明】
【０１０１】
１  データベース構築装置
１０１  メイン集合格納部
１０２  ルール取得部
１０３  ルール格納部
１０４  サブ集合取得部
１０５  サブ集合格納部
１０６  結合部
【図１】
2014071876.tif 000003
【図２】
2014071876.tif 000004
【図３】
2014071876.tif 000005
【図４】
2014071876.tif 000006
【図５】
2014071876.tif 000007
【図７】
2014071876.tif 000008
【図９】
2014071876.tif 000009
【図１０】
2014071876.tif 000010
【図１１】
2014071876.tif 000011
【図１２】
2014071876.tif 000012
【図６】
2014071876.tif 000013
【図８】
2014071876.tif 000014