以下、データベース構築装置などの実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
図1は、本実施の形態におけるデータベース構築装置1のブロック図である。データベース構築装置1は、会社データベース101、商品データベース102、固有名称データベース103、会社商品データベース104、会社固有名称データベース105、商品固有名称データベース106、会社商品固有名称データベース107、会社ルールデータベース108、商品ルールデータベース109、固有名称ルールデータベース110、知識増殖ルールデータベース111、会社名取得部112、商品名取得部113、固有名称取得部114、知識獲得部115、ルール学習部116を備える。
会社データベース101は、1以上の会社名を格納し得る。会社名とは、商品またはサービスを提供する株式会社、有限会社、公益法人、社団法人、独立行政法人などの法人格をもつ名称、および個人の名称である。
また、会社名とは、その会社名を特定する情報でも良い。会社データベース101は、会社名だけでなく、会社名を取得した文書の情報、または会社名の取得回数や取得割合などを格納しても良い。会社名の会社を特定する情報とは、会社を一意に特定できる情報であればなんでも良い。例えば、ホームページのアドレスなどを示す情報、または住所、または電話番号などであっても良い。会社名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または会社名の前後の文章やHTMLのタグ構造などである。
格納とは、不揮発性の記録媒体による長期的な格納や、揮発性の記録媒体による一時的な格納も含む概念である。以下、本発明内における格納の概念は、同一のものとする。
また、会社データベース101に会社名が記憶される過程は問わない。例えば、記録媒体を介して会社名が会社データベース101で記憶されるようになってもよく、通信回線等を介して送信された会社名が会社データベース101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された会社名が会社データベース101で記憶されるようになってもよい。また、会社データベース101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
なお、後述する商品データベース102、固有名称データベース103、会社商品データベース104、会社固有名称データベース105、商品固有名称データベース106、会社商品固有名称データベース107、会社ルールデータベース108、商品ルールデータベース109、固有名称ルールデータベース110、知識増殖ルールデータベース111、商品類似群コード対応データベース21、会社類似群コード固有名称データベース22、データベース31、データベース401、商品コード管理手段4021の各構成要素について、これらに情報が記憶される過程や、これらの実現手段は、会社データベース101と同様であるので、説明を省略する。
商品データベース102は、1以上の商品名を格納し得る。商品名とは、法人、および個人が販売、または提供している商品、または役務の名称である。具体的には、「チョコレート」「パソコン」「宅配」「引越しサービス」などである。ここでいう商品、および役務の名称は、商標法施行規則第6条で規定されている商品および役務の区分(以下、類似群コード表という)に記載されている商品、および役務の名称に必ずしも準じていなくても良い。
また、商品名は、その商品名を特定する情報でも良い。商品データベース102は、商品名だけでなく、商品名を取得した文書の情報、または商品名の取得回数や取得割合などを格納しても良い。商品名の商品を特定する情報とは、商品を一意に特定できる情報であればなんでも良い。例えば、ホームページのアドレスなどを示す情報、または住所、または電話番号などであっても良い。商品名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または商品名の前後の文章やHTMLのタグ構造などである。
固有名称データベース103は、1以上の商品の固有名称を格納し得る。商品の固有名称とは、商品、および役務を識別可能な名称である。具体的には、「雪見だいふく(登録商標)」「宅急便(登録商標)」「PatentSearchAssistant(登録商標)」などである。またここでいう商品の固有名称とは、商標登録されている商標であっても良いし、なくても良い。
また、商品の固有名称とは、その商品の固有名称を特定する情報でも良い。固有名称データベース103は、商品の固有名称だけでなく、商品の固有名称を取得した文書の情報、または商品の固有名称の取得回数や取得割合などを格納しても良い。商品の固有名称を特定する情報とは、商品の固有名称を一意に特定できる情報であればなんでも良い。例えば、商標の出願番号や公開番号などであっても良い。商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
会社商品データベース104は、会社名と商品名とを有する1以上の組を格納し得る。
会社商品データベース104は、会社名と、商品名だけでなく、同一レコードにある会社名と商品名を取得した文書の情報、または同一レコードにある会社名と商品名の取得回数、取得頻度や共起頻度、文書内で会社名と商品名の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値でも良い。などを格納しても良い。同一レコードにある会社名と商品名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または会社名と商品名の前後の文章やHTMLのタグ構造などである。
会社固有名称データベース105は、会社名と商品の固有名称とを有する1以上の組を格納し得る。
会社固有名称データベース105は、会社名と、商品の固有名称だけでなく、同一レコードにある会社名と商品の固有名称を取得した文書の情報、または同一レコードにある会社名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で会社名と商品の固有名称の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納しても良い。同一レコードにある会社名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
商品固有名称データベース106は、商品名と商品の固有名称とを有する1以上の組を格納し得る。
会社固有名称データベース105は、商品名と、商品の固有名称だけでなく、同一レコードにある商品名と商品の固有名称を取得した文書の情報、または同一レコードにある商品名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で商品名と商品の固有名称の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納しても良い。同一レコードにある商品名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
会社商品固有名称データベース107は、会社名と商品名と商品の固有名称とを有する1以上の組を格納し得る。
会社商品固有名称データベース107は、会社名と、商品名と、商品の固有名称だけでなく、同一レコードにある会社名と商品名と商品の固有名称を取得した文書の情報、または同一レコードにある会社名と商品名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で会社名と商品名と商品の固有名称のそれぞれの間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納しても良い。同一レコードにある商品名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
また、会社商品固有名称データベース107は、既に出願公開されている商標の情報から登録しても良い。その場合、その識別情報(例えば登録番号)、または登録状況などの情報を格納しても良い。
会社ルールデータベース108は、文書から会社名を取得するためのルールである1以上の会社ルールを格納し得る。
文書とは、1以上の文の集合であり、会社名や商品名、商品の固有名称が必ずしも記載されている必要はなく、また日本語だけでなく、英語や中国語、その他あらゆる言語であっても良く、2種類以上の言語が混在していても良い。例えば、WebページやHTML、XML、Wordファイルなどあっても良い。
文書から会社名を取得するとは、文書から、会社名が記載されている部分を割り出し、会社名を抽出することである。
会社ルールとは、文書から会社名を抽出するルールである。例えば、会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、会社名を抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名を取得する会社ルールの場合、「<td>社名</td><td>株式会社%会社名%</td>」などとして表す。
会社ルールデータベース108は、会社ルールだけでなく、会社ルールの取得回数や取得割合、または会社ルールが抽出する対象を格納しても良い。会社ルールが抽出する対象とは、文書から会社ルールを利用した結果、会社名を取得する場合と、会社名を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、「会社名」または「文章」などの値を格納しても良い。
商品ルールデータベース109は、文書から商品名を取得するためのルールである1以上の商品ルールを格納し得る。
文書から商品名を取得するとは、文書から、商品名が記載されている部分を割り出し、商品名を抽出することである。
商品ルールとは、文書から商品名を取得するルールである。例えば、商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、商品名を抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名を取得する商品ルールの場合、「<title>商品名一覧</title>.*?<div.*?><h[1−5].*?>一覧<h[1−5]></div><ul.*?>(<li.*?><a.*?>%商品名%</a></</li>)+</ul>」などとして表す。
商品ルールデータベース109は、商品ルールだけでなく、商品ルールの取得回数や取得割合、または商品ルールが抽出する対象を格納しても良い。商品ルールが抽出する対象とは、文書から商品ルールを利用した結果、商品名を取得する場合と、商品名を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、「商品名」または「文章」などの値を格納しても良い。
固有名称ルールデータベース110は、文書から商品の固有名称を取得するためのルールである1以上の固有名称ルールを格納し得る。
文書から商品の固有名称を取得するとは、文書から、商品の固有名称が記載されている部分を割り出し、商品名を抽出することである。
固有名称ルールとは、文書から商品の固有名称を取得するルールである。例えば、商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%固有名称%」の部分に記載された商品の固有名称を取得する固有名称ルールの場合、「<title>製品一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
固有名称ルールデータベース110は、固有名称ルールだけでなく、固有名称ルールの取得回数や取得割合、または固有名称ルールが抽出する対象を格納しても良い。固有名称ルールが抽出する対象とは、文書から固有名称ルールを利用した結果、商品の固有名称を取得する場合と、商品の固有名称を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、「商品の固有名称」または「文章」などの値を格納してもよい。
知識増殖ルールデータベース111は、文書から、構成数が少ない情報を用いて、より構成数の多い情報を取得するルールである1以上の知識増殖ルールを格納し得る。
構成数が少ない情報を用いて、より構成数の多い情報を取得するとは、以下の情報のことである。
・会社データベース101に格納されている情報を用いて、会社商品データベース104、および会社固有名称データベース105、および会社商品固有名称データベース107に格納されている情報を取得すること
・商品データベース102に格納されている情報を用いて、会社商品データベース104、および商品固有名称データベース106、および会社商品固有名称データベース107に格納されている情報を取得すること
・固有名称データベース103に格納されている情報を用いて、会社固有名称データベース105、および商品固有名称データベース106、および会社商品固有名称データベース107に格納されている情報を取得すること
・会社商品データベース104に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報を取得すること
・会社固有名称データベース105に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報を取得すること
・商品固有名称データベース106に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報。を取得すること
知識増殖ルールとは、文書から会社名、または商品名、または商品の固有名称から1、または2種類の情報を利用して、残る2、または1種類の情報を取得するルールである。具体的には、第一知識増殖ルールと、第二知識増殖ルールと、第三知識増殖ルールと、第四知識増殖ルールと、第五知識増殖ルールと、第六知識増殖ルールと、第七知識増殖ルールと、第八知識増殖ルールと、第九知識増殖ルールと、第十知識増殖ルールと、第十一知識増殖ルールと、第十二知識増殖ルールとがある。
第一知識増殖ルールは、文書から、会社名を用いて、会社名と商品名との組を取得する。会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第一知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名が記載されているWebページのうち、会社名にかかわりのある商品名を直接抽出するHTMLタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、会社名が記載されている文書のうち、会社名にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%商品名%」の部分に記載された商品名の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」などとして表す。
第二知識増殖ルールは、文書から、会社名を用いて、会社名と商品の固有名称との組を取得する
会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第二知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品の固有名詞を直接抽出することができる文章のパターンであっても良く、商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名が記載されているWebページのうち、会社名にかかわりのある商品の固有名詞を直接抽出するHTMLタグ構造のパターンであっても良く、商品の固有名詞が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、会社名が記載されている文書のうち、会社名にかかわりのある商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>製品一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第三知識増殖ルールは、文書から、会社名を用いて、会社名と商品名と商品の固有名称との組を取得する。
会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第三知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品名と商品の固有名詞を直接抽出することができる文章のパターンであっても良く、商品名を直接抽出し商品の固有名称を含む文章を特定する文章パターンであっても良く、商品名を含む文章を特定し商品の固有名詞を直接抽出する文章パターンであっても良く、商品名と商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名が記載されているWebページのうち、会社名にかかわりのある商品名と商品の固有名詞を直接抽出するHTMLタグ構造のパターンであっても良く、商品名を直接特定し商品の固有名称を含む文章を特定するHTMLタグ構造のパターンであっても良く、商品名を含む文章を特定し商品の固有名詞を直接特定するHTMLタグ構造のパターンであっても良く、商品名と商品の固有名詞が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、会社名が記載されている文書のうち、会社名にかかわりのある商品名と商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第四知識増殖ルールは、文書から、商品名を用いて、会社名と商品名との組を取得する。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第四知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品名が記載されているWebページのうち、商品名にかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品名が記載されている文書のうち、商品名にかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%商品名%」の部分に記載された商品名の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」などとして表す。
第五知識増殖ルールは、文書から、商品名を用いて、商品名と商品の固有名称との組を取得する。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第五知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品名が記載されているWebページのうち、商品名にかかわりのある商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品名が記載されている文書のうち、商品名にかかわりのある商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名と「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第六知識増殖ルールは、文書から、商品名を用いて、会社名と商品名と商品の固有名称との組を取得する。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第六知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある会社名と商品の固有名詞を直接抽出することができる文章のパターンであっても良く、会社名を直接抽出し商品の固有名称を含む文章を特定する文章パターンであっても良く、会社名を含む文章を特定し商品の固有名詞を直接抽出する文章パターンであっても良く、会社名と商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品名が記載されているWebページのうち、商品名にかかわりのある会社名と商品の固有名詞を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名を直接特定し商品の固有名称を含む文章を特定するHTMLのタグ構造のパターンであっても良く、会社名を含む文章を特定し商品の固有名詞を直接特定するHTMLのタグ構造のパターンであっても良く、会社名と商品の固有名詞が記載されている文章を特定するタグHTMLタグ構造のパターンであっても良い。また、商品名が記載されている文書のうち、商品名にかかわりのある会社名と商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第七知識増殖ルールは、文書から、商品の固有名称を用いて、会社名と商品の固有名称との組を取得する。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第七知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>製品一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第八知識増殖ルールは、文書から、商品の固有名称を用いて、商品名と商品の固有名称との組を取得する。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第八知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名と「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第九知識増殖ルールは、文書から、商品の固有名称を用いて、会社名と商品名と商品の固有名称との組を取得する。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第九知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名と商品名を直接抽出することができる文章のパターンであっても良く、会社名を直接抽出し商品名を含む文章を特定する文章パターンであっても良く、会社名を含む文章を特定し商品名を直接抽出する文章パターンであっても良く、会社名と商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある会社名と商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名を直接特定し商品名を含む文章を特定するHTMLのタグ構造のパターンであっても良く、会社名を含む文章を特定し商品名を直接特定するHTMLのタグ構造のパターンであっても良く、会社名と商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名と商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十知識増殖ルールは、文書から、会社名と商品名の組を用いて、会社名と商品名と商品の固有名称との組を取得する。
会社名と商品名の組を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名と、商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、会社名と、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第十知識増殖ルールとは、例えば、会社名と商品名が記載されている文書のうち、会社名と商品名にかかわりのある商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名と商品名が記載されているWebページのうち、会社名と商品名にかかわりのある商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、会社名と商品名が記載されている文書のうち、会社名と商品名にかかわりのある商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十一知識増殖ルールは、文書から、会社名と商品の固有名称の組を用いて、会社名と商品名と固有名称との組を取得する。
会社名と固有名称の組を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名と、固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、会社名と、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第十一知識増殖ルールとは、例えば、会社名と商品の固有名称が記載されている文書のうち、会社名と商品の固有名称にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社名と商品の固有名称が記載されているWebページのうち、会社名と商品の固有名称にかかわりのある商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、会社名と商品の固有名称が記載されている文書のうち、会社名と商品の固有名称にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十二知識増殖ルールは、文書から、商品名と商品の固有名称の組を用いて、会社名と商品名と固有名称との組を取得する。
商品名と固有名称の組を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名と、固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品名と、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第十二知識増殖ルールとは、例えば、商品名と商品の固有名称が記載されている文書のうち、商品名と商品の固有名称とかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品名と商品の固有名称が記載されているWebページのうち、商品名と商品の固有名称とかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、商品名と商品の固有名称が記載されている文書のうち、商品名と商品の固有名称とかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらには上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得する場合、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
知識増殖ルールデータベース111は、知識増殖ルールだけでなく、知識増殖ルールの種類、または知識増殖ルールの取得回数や取得割合、または知識増殖ルールが抽出する対象を格納しても良い。知識増殖ルールが抽出する対象とは、文書から知識増殖ルールを利用した結果、会社名、または商品名、または商品の固有名称といった名称を取得する場合と、商品の固有名称を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、「名称」または「文章」などの値を格納してもよい。
また、知識増殖ルールデータベース111は、上述の各知識増殖ルールをフラグとして保持しても良く、または上述の知識増殖ルールごとに別々のデータベースであっても良い。
会社名取得部112は、1以上のWebサーバ装置から、1以上の会社ルールを用いて、1以上の会社名を取得し、会社データベース101に蓄積する。
Webサーバ装置とは、具体的には、Webサービス、またはデータベースを公開するサーバ装置である。Webサービスとは、HTML形式などのマークアップ言語などにより構成されるものを公開していることに限るものではなく、例えば、Webブラウザ上や専用のアプリケーション実行環境上で動作可能なアプリケーションソフトウェアのシステムを公開していることであっても良い。Webサーバ装置は、インターネット上に公開されているものでも良く、ローカルエリア上に公開されているものでも良い。
会社名取得部112は、Webサーバ装置から取得したWebページから会社ルールを用いて会社名を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
会社ルールを用いて会社名を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、会社ルールデータベース108に登録されている会社ルールから会社名を取得することである。例えば、任意の会社ルールで「%会社名%」と記載されている部分に当てはまる文字列を取得する。
会社名を会社データベース101に蓄積する際、使用した会社ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを会社データベース101に登録するようにしても良い。閾値は、運用に応じて任意に設定しても良い。
商品名取得部113は、1以上のWebサーバ装置から、1以上の商品ルールを用いて、1以上の商品名を取得し、商品データベース102に蓄積する。
商品名取得部113は、Webサーバ装置から取得したWebページから商品ルールを用いて商品名を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
商品ルールを用いて商品名を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから商品名を取得することである。例えば、任意の商品ルールで「%商品名%」と記載されている部分に当てはまる文字列を取得する。
商品名を商品データベース102に蓄積する際、使用した商品ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを商品データベース102に登録するようにしても良い。閾値は、運用に応じて任意に設定しても良い。
固有名称取得部114は、1以上のWebサーバ装置から、1以上の固有名称ルールを用いて、1以上の固有名称を取得し、固有名称データベース103に蓄積する。
固有名称取得部114は、Webサーバ装置から取得したWebページから固有名称ルールを用いて商品の固有名称を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
固有名称ルールを用いて商品の固有名称を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから商品の固有名称を取得することである。例えば、任意の固有名称ルールで「%固有名称%」と記載されている部分に当てはまる文字列を取得する。
商品の固有名称を固有名称データベース103に蓄積する際、使用した固有名称ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを固有名称データベース103に登録するようにしても良い。閾値は、運用に応じて任意に設定しても良い。
知識獲得部115は、1以上のWebサーバ装置から、会社データベース101の1以上の各会社名と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の会社名と固有名称、または1以上の会社名と商品名と固有名称とを取得し、取得した情報を対応するデータベースに蓄積する。または、商品データベース102の1以上の各商品名と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得し、取得した情報を対応するデータベースに蓄積する。または、固有名称データベース103の1以上の各固有名称と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と固有名称、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得し、取得した情報を対応するデータベースに蓄積する。または、会社商品データベース104の1以上の会社名と商品名の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得し、取得した情報を会社商品固有名称データベース107に蓄積する。または、会社固有名称データベース105の1以上の会社名と商品の固有名称の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得し、取得した情報を会社商品固有名称データベース107に蓄積する。または、商品固有名称データベース106の1以上の商品名と商品の固有名称の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得し、取得した情報を会社商品固有名称データベース107に蓄積する。
知識獲得部115は、Webサーバ装置から取得したWebページから知識増殖ルールを用いて、会社名、または商品名、または商品の固有名称を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
会社データベース101の1以上の各会社名と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の会社名と固有名称、または1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、会社データベース101に蓄積されている会社名が出現し、かつ知識増殖データベースに蓄積されている第一知識増殖、または第二知識増殖ルール、または第三知識増殖ルールを用いて、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
商品データベース102の1以上の各商品名と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、商品データベース102に蓄積されている商品名が出現し、かつ知識増殖データベースに蓄積されている第四知識増殖、または第五知識増殖ルール、または第六知識増殖ルールを用いて、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
固有名称データベース103の1以上の各固有名称と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と固有名称、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、固有名称データベース103に蓄積されている商品の固有名称が出現し、かつ知識増殖データベースに蓄積されている第七知識増殖ルール、または第八知識増殖ルール、または第九知識増殖ルールを用いて、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
会社商品データベース104の1以上の会社名と商品名の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、会社データベース101の会社名と商品データベース102に蓄積されている商品名が出現し、かつ知識増殖データベースに蓄積されている第十知識増殖ルールを用いて、会社名、商品名、商品の固有名称の組を取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
会社固有名称データベース105の1以上の会社名と商品の固有名称の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、会社データベース101の会社名と固有名称データベース103に蓄積されている商品の固有名称が出現し、かつ知識増殖データベースに蓄積されている第十一知識増殖ルールを用いて、会社名、商品名、商品の固有名称の組取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
商品固有名称データベース106の1以上の商品名と商品の固有名称の組と1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などから、商品データベース102に蓄積されている商品名と固有名称データベース103に登録されている商品の固有名称が出現し、かつ知識増殖データベースに蓄積されている第十二知識増殖ルールを用いて、会社名、商品名、商品の固有名称の組を取得することである。例えば、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
会社名、および商品名、および商品の固有名称を対応する各データベースに蓄積する際、使用した知識増殖ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを各データベースに登録するようにしても良い。閾値は、運用に応じて任意に設定しても良い。
ルール学習部116は、1以上の各データベースに存在する1以上の情報を用いて、1以上のWebサーバ装置を検索し、1以上の情報が出現する1以上のパターンを取得し、パターンが予め決められた条件を満たすほどよく出現する1以上のパターンを取得し、1以上のパターンを対応する各ルールデータベースに蓄積する。
1以上の各データベースに存在する1以上の情報を用いて、1以上のWebサーバ装置を検索するとは、具体的には、会社データベース101、または商品データベース102、または固有名称データベース103、または会社商品データベース104、または会社固有名称データベース105、または商品固有名称データベース106から1以上のデータベースに格納されている1以上の任意の情報を検索キーワードとして、サーバ装置を検索することである。
Webサーバ装置を検索するとは、例えば、インターネット上のWebサーバ装置(図示せず)が提供するWebページに含まれる文字列情報を検索対象とした検索である。Web検索は、例えば、検索用サイトを利用して行われる。ここでは、例えば、検索用サイトが提供するいわゆる検索エンジンに検索キーを含むクエリなどを送信し、検索エンジンが送信する検索結果を示す情報を受信することを、例えば、Web検索を行うことと考える。検索キーの送信などは、検索エンジンが提供するAPIなどを利用することで可能である。
1以上の情報が出現する1以上のパターンを取得するとは、サーバ装置を検索した結果取得した情報から、検索に使用した1以上の各データベースに存在する1以上の情報が含まれているパターンを取得することである。パターンとは、例えば、文章のパターンであっても良く、対象がWebページの場合は、HTMLのタグ構造のパターンであっても良く、上述したルールが複合的に合わさっていても良い。パターンの取得は、会社名、および商品名、および商品の固有名称を取得できる内容あれば何でも良く、例えば文章全体をパターンとして取得しても良く、複数の文章から検索に用いた情報を含む最長共通部分列を取得しても良い。
予め決められた条件を満たすほど良く出現する1以上のパターンを取得は、各ルールデータベースに登録する条件を予め定め、その条件を良く満たすパターンのみを取得する。
予め決められた条件とは、各ルールデータベースに登録する条件を予め定めたものである。条件は、パターンを評価できる値であればなんでも良い。例えば、パターンの取得回数であっても良く、取得したすべてのパターンのうちそのパターンが占める割合であっても良い。
1以上のパターンを対応する各ルールデータベースに蓄積するとは、予め決められた条件を満たすほど良く出現したパターンをそのパターンに対応するデータベースに登録する。対応するデータベースとは、会社名を取得するパターンであれば会社ルールデータベース108、商品名を取得するパターンであれば商品ルールデータベース109、商品の固有名称を取得するパターンであれば固有名称ルールデータベース110、会社名と商品名の組を取得するパターン、および会社名と商品の固有名称の組を取得するパターン、および商品名と商品の固有名称の組を取得するパターン、および会社名と商品名と商品の固有名称の組を取得するパターンであれば知識増殖ルールデータベース111に登録する。
また、ルール学習部116は、2種類以上の情報の組を格納しているデータベースに存在する1以上の情報を用いて、1以上のパターンを取得した場合は、2種類以上の情報の組に対応するルールデータベース、および2種類以上の情報の組の一部分の情報を用いて、2種類以上の情報の組に対応する1以上のルールデータベースに、1以上のパターンを蓄積する。
2種類以上の情報の組とは、会社名と商品名、または会社名と商品の固有名称、または商品名と商品の固有名称、または会社名と商品名と商品の固有名称の情報である。2種類以上の情報の組を格納しているデータベースとは、会社商品データベース104、または固有名称データベース103、または商品固有名称データベース106、または会社商品固有名称データベース107である。1以上のパターンを取得した場合とは、2種類以上の情報の組を用いて、会社名と商品名と商品の固有名称のうち2種類以上の組を含むパターンを取得した場合である。2種類以上の情報の組の一部分の情報を用いてとは、2種類の情報の組であった場合は各々の情報、3種類の情報の組であった場合は各々、および任意の2種類の情報の組のすべての組み合わせを用いることである。これら分解した情報を用いてパターンを取得し、取得したパターンを対応するデータベースに登録する。例えば、2種類以上の情報の組が会社名と商品名であった場合、会社名と商品名を取得するパターンを取得するだけでなく、会社名を取得するパターンと商品名を取得するパターンについても取得し、各々対応する知識増殖ルールデータベース111、または会社ルールデータベース108、または商品ルールデータベース109に蓄積する。
図2は、本実施の形態におけるデータベース構築装置2のブロック図である。データベース構築装置2は、会社商品固有名称データベース107、商品類似群コード対応データベース21、会社類似群コード固有名称データベース22、会社類似群コード固有名称データベース構築部23を備える。
商品類似群コード対応データベース21は、商品名と類似群コードを関連付けて保持するデータベースである。商品名は会社商品固有名称データベース107に格納されている商品名と同様、法人、および個人が販売、または提供している商品、または役務の名称である。ここでいう商品、および役務の名称は、類似群コード表に記載されている商品、および役務の名称に必ずしも準じていなくても良い。類似群コードとは、商標の審査基準上、互いに類似するものと考えられる商品、役務に付与されたコードで、数字2桁とアルファベット1桁と数字2桁のコードである。(http://www.jpo.go.jp/shiryou/kijun/kijun2/ruiji_kijun9.htm)
商品類似群コード対応データベース21における商品名と類似群コードは、通常1対多の関係で格納されており、複数の商品名に対して同一の類似群コードが関連付けられて格納されている。
会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107に格納されている1以上の会社名と商品名と商品の固有名称の組から商品名を取得し、取得した商品名を用いて、商品類似群コード対応データベース21から商品の類似群コードを取得し、会社名と取得した類似群コードと商品の固有名称との組を会社類似群コード固有名称データベース22に蓄積する。
図3は、本実施の形態における商標侵害検知装置3のブロック図である。商標侵害検知装置3は、データベース31、受付部32、商標類否判断部33、商品類否判断部34、出力部35を備える。
データベース31は、データベース構築装置1が構築した会社商品固有名称データベース107であっても良く、データベース構築装置2が構築した会社類似群コード固有名称データベース22であっても良い。
受付部32は、商標および商品の類似群コードを特定する情報であるコード特定情報を有する調査対象商標情報を受け付ける。調査対象商標情報とは、例えば、商標の文字列である商標文字列と、1以上のコード特定情報の組である。コード特定情報とは、商品名、または類似群コードそのものなどの類似群コードを特定する文字列である。商標文字列、および商品名の文字列は1文字以上の文字で構成される。商標文字列、および商品名の文字列を構成する文字は、漢字やアルファベットやカタカナやひらがななど、種類は問わない。また2種類以上の文字が混在していてもよい。ここでの受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線または無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。調査対象商標情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でも良い。受付部32は、テンキーやキーボードなどの入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
商標類否判断部33は、データベース31が有する1以上の商品の固有名称と、調査対象商標情報が有する商標とを用いて、商標の類否判断を行う。
図4は、本実施の形態における商標侵害検知装置3の商標類否判断部33のブロック図である。商標類否判断部33は、商標文字列取得部331、称呼取得部332、称呼表示部333、称呼指定受付部334、類似検索部335、商標類否判断結果取得部336を備える。
商標文字列取得部331は、商標の文字列である商標文字列を受け付ける。商標文字列は1文字以上の文字で構成される。商標文字列を構成する文字は、漢字やアルファベットやカタカナやひらがななど、種類は問わない。
称呼取得部332は、商標文字列取得部331が受け付けた商標文字列から、この商標文字列の称呼の情報である称呼情報を取得する。称呼取得部332は、一の商標文字列から複数の称呼情報を取得しても良い。称呼取得部332が取得する称呼情報は、ひらがなまたはカタカナまたはこれらと同などの情報である。称呼情報がこれらのいずれであるかは、例えば、この称呼情報を検索に利用する後述する類似検索部335の仕様などによって決定される。
称呼取得部332は、称呼情報をどのように取得しても良い。例えば、称呼取得部332は、1以上の文字列と、当該文字列の読みの情報とを対応付けて有する辞書を用いて、図示しない記憶媒体などに格納されている辞書を用いて商標文字列取得部331が受け付けた商標文字列に対応する1以上の称呼情報を自動取得するようにしてもよい。また、ユーザなどから図示しない入力デバイスなどを介して入力された商標文字列に対応する1以上の称呼情報を取得(受付)してもよい。この実施の形態においては、特に、称呼情報を自動取得する場合を例に挙げて説明する。
称呼取得部332は、例えば、商標文字列に対して形態素解析を行い、形態素解析により得られた商標文字列の読みの情報を称呼情報として取得する。例えば、形態素解析を用いることにより、商標文字列を形態素に分解し、分解された各文字列の読みを取得し、この文字列を組み合わせることで商標文字列の称呼情報を取得することが可能である。形態素解析においては、形態素の分解や形態素に分解された文字列からの読みの取得は、例えば、上記と同様の、形態素となりうる文字列と、その読みの情報とを対応付けて有する辞書を用いて行われる。形態素解析としては、例えば、「Mecab(和布蕪)」(http://mecab.sourceforge.net/)や、「ChaSen(茶筌)」(http://chasen.naist.jp)などの形態素解析システムなどが利用可能である。
また、称呼取得部332は、商標文字列を構成する漢字や、数字や、アルファベットなどの文字や単語などを読みに変換して、称呼情報を取得しても良い。漢字や、数字の文字や単語を読みに変換する処理は、例えば、日本語のインプットメソッドのいわゆる再変換技術や、上述したような形態素解析システムの技術により実現可能である。また、アルファベットの文字や単語を読みに変換する処理は、例えば、日本語のインプットメソッドのアルファベット列の入力を日本語に変換する技術により実現可能である。アルファベット列を日本語の読みに変換する技術は、例えば、特開2009−199434号公報などに開示されている。なお、アルファベットや、漢字や、数字の称呼(読み)は、一通りとは限らないため、称呼取得部332は、様々な組合せの複数の情報を取得しても良い。例えば「IT」から「アイティー」、「アイティイ」と「イット」という複数の称呼を取得しても良い。また、「山田」から「ヤマダ」、「ヤマタ」、「ヤマデン」、「サンデン」、「サンダ」、「サンタ」という複数の称呼を取得しても良い。
また、称呼取得部332は、商標文字列を構成し得る文字列(例えば、漢字や、アルファベットや、数字など)と、その読みの情報(辞書情報)を予め図示しない格納部に蓄積しておくようにし、商標文字列を構成する各文字についてそれぞれ1以上の読みの情報を取得して、取得した読みの情報を組み合わせたものを称呼情報として取得してもよい。
また、例えば、1以上の文字列とその読みを示すカタカナまたはひらがなとを対応付けて有する予め用意された形態素の辞書情報について、称呼取得部332が、商標文字列に含まれるカタカナまたはひらがな以外の文字列と一致する文字列を検索し、検出された文字列に対応付けられた読み(称呼)の情報を辞書情報から順次取得していくことで実現可能である。なお、一の文字列について読みが複数ある場合や、検索に用いる文字数の区切で異なる称呼が得られる場合には、複数の読みを組み合わせたり区切を変更したりしてこれらを適宜組み合わせて複数の称呼情報を取得する。このような辞書情報は、例えば、称呼取得部332が、予め保持しているようにすればよい。称呼取得部332は、このような辞書情報を保持する記憶媒体などを有していても良い。
称呼取得部332は、さらに、上記で取得した1以上の称呼情報を分割して1以上の分割称呼情報を取得してもよい。分割称呼情報は、具体的には、称呼情報の一部分の情報である。分割称呼情報は、例えば、後述する類似検索などで称呼情報と実質的に同じものとして利用される。例えば、称呼取得部332は、取得した称呼情報のそれぞれの文字列を、任意の位置で区切って、その区切った位置によって分割される前または後、またはその両方の文字列を分割称呼情報として取得する。また、称呼取得部332は、文字列の区切る位置を順次変更して、それぞれの区切る位置に応じて分割称呼情報を取得しても良い。例えば、称呼取得部332は、各称呼情報を構成する文字列をそれぞれの文字間で区切っていった場合にそれぞれ得られる区切り位置の前後の文字列を、すべて分割称呼情報として取得しても良い。
称呼表示部333は、称呼取得部332が取得した1以上の称呼情報を図示しないモニタなどの表示デバイスに表示する。また、称呼表示部333は、称呼取得部332が取得した1以上の分割称呼情報を表示してもよい。称呼表示部333は、表示デバイスを含むと考えても含まないと考えてもよい。称呼表示部333は、表示デバイスのドライバーソフト、または表示デバイスのドライバーソフトと表示デバイスなどで実現され得る。
称呼指定受付部334は、称呼取得部332が取得した称呼情報の1以上を指定する称呼指定情報をユーザなどから受け付ける。例えば、称呼指定情報は、称呼表示部333に表示された称呼情報の1以上を指定する称呼指定情報を受け付ける。また、称呼指定受付部334は、称呼取得部332が取得した称呼情報と分割称呼情報とのうちの1以上を指定する称呼指定情報をユーザなどから受け付けてもよい。例えば、称呼指定受付部334は、称呼表示部333により表示された称呼情報と分割称呼情報とのうちの1以上を指定する称呼指定情報を受け付ける。なお、称呼指定受付部334は、予めどのような称呼を指定するか定めたルールを設けることで、ユーザに選択させなくても良いようにしてもよい。称呼指定情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でも良い。称呼指定受付部334は、テンキーやキーボードなどの入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
類似検索部335は、称呼取得部332が取得した各称呼情報を用いて類似検索を行う。または、類似検索部335は、称呼取得部332が取得した称呼情報のうちの、称呼指定情報が指定する各称呼情報を用いて類似検索を行うようにしてもよい。また、類似検索部335は、称呼取得部332が取得した各称呼情報と各分割称呼情報とを用いて類似検索を行うようにしてもよい。または、類似検索部335は、称呼取得部332が取得した各称呼情報と各分割称呼情報とのうちの、称呼指定情報が指定する称呼情報と分割称呼情報とを用いて類似検索を行うようにしてもよい。称呼指定情報が指定する称呼情報と分割称呼情報とを用いてとは、例えば、指定された称呼情報または分割称呼情報だけを用いることを意味する。類似検索部335は、図示しない記憶媒体などの格納部に予め格納されている固有名称の称呼の情報(以下、登録称呼情報と称す)の中から、称呼情報(または分割称呼情報)と類似する登録称呼情報を検索する。登録称呼情報は会社商品固有名称データベース107、または会社類似群コード固有名称データベース22の固有名称から、予め作成構築しておく。
なお、固有名称の称呼の情報が格納されている図示しない格納部は、商標類否判断部33が有していても良いし、図示しない外部のサーバ装置などが有していても良い。また、図示しない固有名称の類似検索の処理を行うサーバ装置などに、称呼情報または分割称呼情報、および類似群コードを送信して類似検索を実行させ、その検索結果を類似検索部335が受信するようにしても良く、このような場合も、類似検索部335が類似検索を行ったと考えて良い。
また、類似検索部335による類似検索の処理は、称呼情報の音響学的な判断処理であっても良い。称呼情報の音節などから類似しないと判断される要因を検出し、その要因をペナルティ値に換算し、換算したペナルティ値を用いて、称呼情報が類似するか否かを判断して、商標文字列から取得した称呼情報と類似する称呼情報を固有名称の称呼情報の中から検出する処理である。なお、ここでは、説明の便宜上、分割称呼情報も称呼情報と呼ぶこととする。また、ここでは、固有名称の称呼情報である登録称呼情報が、類似群コードと固有名称の識別情報などと対応付けて図示しない格納部に格納されているものとする。
類似検索部335が取得する類似検索の結果は、例えば、少なくとも類似する登録称呼情報が検出されたか否かを示すことが可能な情報である。例えば、類似検索の結果は、類似する登録称呼情報の有無を示す情報であっても良いし、類似する1以上の登録称呼情報を示す情報でもよい。また類似する登録称呼情報の数などを示す情報でも良い。また、称呼の情報が、登録商標や、その識別情報(例えば登録番号)などと対応付けて上述した図示しない格納部に格納されている場合、類似する登録称呼情報に対応する登録商標やその識別情報を図示しない格納部から取得して検索結果として出力してもよい。また、登録称呼情報に対応付けられた類似群コードの情報を含む情報を出力してもよい。固有名称の称呼について類似検索を行うための具体的な処理については、上述した特許文献1や、日本の特許庁が提供する称呼検索サービスや、商用データベースの称呼検索サービスなどの技術として公知であるので、ここでは詳細な説明は省略する。
商標類否判断結果取得部336は、例えば、類似検索部335による類似検索の結果と、類似検索の結果の各称呼情報と関連する会社名と類似群コード特定情報を取得する。類似検索の結果については、類似検索の結果を、類似検索を行った称呼情報ごとに取得する。また、類似検索の結果については、例えば、類似検索の結果を、類似検索を行った分割称呼情報ごとに取得する。また、称呼が類似すると判断された固有名称や、登録商標の識別情報を示す情報も各証拠情報に対して付加しても良い。
商品類否判断部34は、データベース31が有する1以上の商品名または1以上の類似群コードと、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行う。調査対象商標情報が商品名を保持していた場合、会社商品固有名称データベース107から調査対象商標情報の商品名に関連する商品名をもつレコードの会社名と商品の固有名称を取得する。調査対象商標情報の商品名に関連したとは、例えば、調査対象商標情報の商品名と会社商品固有名称データベース107の商品名とが同一である、または意味的に類似しているなどの場合である。調査対象商標情報が類似群コードを保持していた場合、会社類似群コード固有名称データベース22から調査対象商標情報の類似群コードと同一の類似群コードをもつレコードの会社名と商品の固有名称を取得する。
出力部35は、商標類否判断部33の判断結果と、商品類否判断部34の判断結果とから、商標の類似、および商品の類似に関する情報を出力する。例えば、類否する情報が検出されたか否かを示すことが可能な情報を出力する。例えば、商標類否判断部33の判断結果の場合は、類似する登録称呼情報の有無を示す情報であっても良いし、類似する1以上の登録称呼情報を示す情報でも良い。また、類似する登録称呼情報の数などを示す情報でも良い。また、類似する任意数の類似する登録称呼情報であっても良い。また、類似する登録称呼情報に対応する登録商標やその識別情報を出力しても良い。また、上記すべての出力内容について、会社名、または商品名、または類似群コード、または商品の固有名称のうち、一部または全部を付加して出力しても良い。また、例えば商品類否判断部34の判断結果の場合は、該当するコード特定情報の有無を示す情報であっても良いし、該当する1以上のコード特定情報を示す情報でも良い。また、該当するコード特定情報の数などを示す情報でも良い。また、上記すべての出力内容について、会社名、または固有名称のうち、一方または双方を付加して出力しても良い。
出力部35は、商標類否判断部33の判断結果すべてと、商品類否判断部34の判断結果をすべて出力しても良く、どちらか一方であっても良い。また、出力部35は商標類否判断部33と商品類否判断部34の結果のうち商品の固有名称が共通するものだけを出力しても良い。
ここで述べる出力とは、ディスプレイへの表示、プリンタによる紙などへの印字、外部の装置への送信、記録媒体への蓄積などを含む概念である。出力部35は、表示デバイスを含むと考えても含まないと考えてもよい。出力部35は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイスなどで実現され得る。
図5は、本実施の形態にかかる会社名取得部112の動作の一例を示すフローチャートである。以下、図5を用いて動作について説明する。
(ステップS401)会社名取得部112は、会社ルールデータベース108から会社ルールを取得する。取得できた場合、ステップS402に進み、取得できなかった場合、終了する。
(ステップS402)会社名取得部112は、カウンターmに1を代入する。
(ステップS403)会社名取得部112は、ステップS401で取得した会社ルールにm番目の会社ルールがあるか否かを判断する。ある場合は、ステップS404に進み、ない場合は、終了する。
(ステップS404)会社名取得部112は、Webサーバ装置からWebページを取得する。このとき取得する。Webページは、会社ルールデータベース108から会社名を含む文章を取得する会社ルールを用いて、予め取得した会社名が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS405へ進み、取得できなかった場合はステップS410に進む。
(ステップS405)会社名取得部112は、カウンターnに1を代入する。
(ステップS406)会社名取得部112は、ステップS404で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS407に進み、ない場合は、ステップS410に進む。
(ステップS407)会社名取得部112は、ステップS404で取得したWebページのn番目のWebページに対し、ステップS401で取得した会社ルールのm番目の会社ルールを用いて会社名を取得する。取得できた場合は、ステップS408へ進み、取得できなかった場合は、ステップS409に移動する。
(ステップS409)会社名取得部112は、カウンターnをインクリメントする。そして、ステップS406に戻る。
(ステップS410)会社名取得部112は、カウンターmをインクリメントする。そしてステップS403に戻る。
以下、本実施の形態における会社名取得部112の具体的な動作について説明する。なお、この具体例において示した会社名取得部112の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
会社名取得部112が、会社ルールデータベース108から会社名を取得するためのすべてのルールを取得する。もし、会社ルールデータベース108に、会社ルールが抽出する対象に関するデータを保持していた場合、「会社名」が対象の会社ルールだけを取得する。また、もし会社ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた会社ルールだけを取得しても良い。今回の具体例では、会社ルールを5種類取得したとする。
図6は会社ルールデータベース108に格納されているデータの一例を示す図である。会社ルールデータベース108は、会社名を取得するパターンを有している。具体例として、「%会社名%」と記載されている部分に該当する名詞句を会社名として取得する会社ルールを列挙した。
会社名取得部112は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
会社名取得部112は取得したすべての会社ルールを用いて、取得したすべてのWebページから会社名を取得する。今回の場合では、会社ルールが5種類、Webページが100種類なので500回会社名の取得を行う。具体的には、会社ルールが「<title>%会社名%株式会社</title>」の場合、取得したWebページに「<title>サンプル商事株式会社</title>」と記載されていれば、「サンプル商事」の部分を取得する。しかし、パターンに対応する内容が記載されていなければ何も取得しない。
会社名取得部112は、会社名が取得できた場合は、会社データベース101に登録する。今回の場合では、「サンプル商事」を登録する。また、もし会社ルールデータベース108が会社ルールの取得回数や取得割合等の値を保持していた場合、その値と一緒に登録しても良く、取得した情報の周辺である「<title>サンプル商事株式会社</title>」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから会社名を取得できる。
図7は、本実施の形態にかかる商品名取得部113の動作の一例を示すフローチャートである。以下、図7を用いて動作について説明する。
(ステップS501)商品名取得部113は、商品ルールデータベース109から商品ルールを取得する。取得できた場合、ステップS502に進み、取得できなかった場合、終了する。
(ステップS502)商品名取得部113は、カウンターmに1を代入する。
(ステップS503)商品名取得部113は、ステップS501で取得した商品ルールにm番目の商品ルールがあるか否かを判断する。ある場合は、ステップS504に進み、ない場合は、終了する。
(ステップS504)商品名取得部113は、Webサーバ装置からWebページを取得する。このとき取得する。Webページは、商品ルールデータベース109から商品名を含む文章を取得する商品ルールを用いて、予め取得した商品名が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS505へ進み、取得できなかった場合はステップS510に進む。
(ステップS505)商品名取得部113は、カウンターnに1を代入する。
(ステップS506)商品名取得部113は、ステップS504で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS507に進み、ない場合は、ステップS510に進む。
(ステップS507)商品名取得部113は、ステップS504で取得したWebページのn番目のWebページに対し、ステップS501で取得した商品ルールのm番目の商品ルールを用いて商品名を取得する。取得できた場合は、ステップS508へ進み、取得できなかった場合は、ステップS509に移動する。
(ステップS509)商品名取得部113は、カウンターnをインクリメントする。そして、ステップS506に戻る。
(ステップS510)商品名取得部113は、カウンターmをインクリメントする。そしてステップS503に戻る。
以下、本実施の形態における商品名取得部113の具体的な動作について説明する。なお、この具体例において示した商品名取得部113の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
商品名取得部113が、商品ルールデータベース109から商品名を取得するためのすべてのルールを取得する。もし、商品ルールデータベース109に、商品ルールが抽出する対象に関するデータを保持していた場合、「商品名」が対象の商品ルールだけを取得する。また、もし、商品ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた商品ルールだけを取得しても良い。今回の具体例では、商品ルールを5種類取得したとする。
図8は商品ルールデータベース109に格納されているデータの一例を示す図である。商品ルールデータベース109は、商品名を取得するパターンを有している。具体例として、「%商品名%」と記載されている部分に該当する名詞句を商品名として取得する商品ルールを列挙した。
商品名取得部113は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
商品名取得部113は取得したすべての商品ルールを用いて、取得したすべてのWebページから商品名を取得する。今回の場合では、商品ルールが5種類、Webページが100種類なので500回商品名の取得を行う。具体的には、商品ルールが「<title>商品名一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?>%商品名%</li>)+</ul>」の場合、取得したWebページに「<title>商品名一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="tv.html">テレビ</li><li><a href="dvd.html">DVDプレイヤ</li><li><a href="pc.html">パソコン</li></ul>・・・(省略)・・・」と記載されていれば、「テレビ」「DVDプレイヤ」「パソコン」の部分を取得する。しかし、パターンに対応する内容が記載されていなければ何も取得しない。
商品名取得部113は、商品名が取得できた場合は、商品データベース102に登録する。今回の場合では、「テレビ」と「DVDプレイヤ」と「パソコン」を登録する。また、もし商品ルールデータベース109が商品ルールの取得回数や取得割合等の値を保持していた場合、その値と一緒に登録しても良く、取得した情報の周辺である「<title>商品名一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="tv.html">テレビ</li><li><a href="dvd.html">DVDプレイヤ</li><li><a href="pc.html">パソコン</li></ul>・・・(省略)・・・」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから商品名を取得できる。
図9は、本実施の形態にかかる固有名称取得部114の動作の一例を示すフローチャートである。以下、図9を用いて動作について説明する。
(ステップS601)固有名称取得部114は、固有名称ルールデータベース110から固有名称ルールを取得する。取得できた場合、ステップS602に進み、取得できなかった場合、終了する。
(ステップS602)固有名称取得部114は、カウンターmに1を代入する。
(ステップS603)固有名称取得部114は、ステップS601で取得した固有名称ルールにm番目の固有名称ルールがあるか否かを判断する。ある場合は、ステップS604に進み、ない場合は、終了する。
(ステップS604)固有名称取得部114は、Webサーバ装置からWebページを取得する。このとき取得する。Webページは、固有名称ルールデータベース110から商品の固有名称を含む文章を取得する固有名称ルールを用いて、予め取得した商品の固有名称が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS605へ進み、取得できなかった場合はステップS610に進む。
(ステップS605)固有名称取得部114は、カウンターnに1を代入する。
(ステップS606)固有名称取得部114は、ステップS604で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS607に進み、ない場合は、ステップS610に進む。
(ステップS607)固有名称取得部114は、ステップS604で取得したWebページのn番目のWebページに対し、ステップS601で取得した固有名称ルールのm番目の固有名称ルールを用いて商品の固有名称を取得する。取得できた場合は、ステップS608へ進み、取得できなかった場合は、ステップS609に移動する。
(ステップS609)固有名称取得部114は、カウンターnをインクリメントする。そして、ステップS606に戻る。
(ステップS610)固有名称取得部114は、カウンターmをインクリメントする。そしてステップS603に戻る。
以下、本実施の形態における固有名称取得部114の具体的な動作について説明する。なお、この具体例において示した固有名称取得部114の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
固有名称取得部114が、固有名称ルールデータベース110から商品の固有名称を取得するためのすべてのルールを取得する。もし、固有名称ルールデータベース110に、固有名称ルールが抽出する対象に関するデータを保持していた場合、「商品の固有名称」が対象の固有名称ルールだけを取得する。また、もし固有名称ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた固有名称ルールだけを取得しても良い。今回の具体例では、固有名称ルールを5種類取得したとする。
図10は固有名称ルールデータベース110に格納されているデータの一例を示す図である。固有名称ルールデータベース110は、商品の固有名称を取得するパターンを有している。具体例として、「%固有名称%」と記載されている部分に該当する名詞句を商品の固有名称として取得する固有名称ルールを列挙した。
固有名称取得部114は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
固有名称取得部114は取得したすべての固有名称ルールを用いて、取得したすべてのWebページから商品の固有名称を取得する。今回の場合では、固有名称ルールが5種類、Webページが100種類なので500回商品の固有名称の取得を行う。具体的には、固有名称ルールが「<title>製品一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」の場合、取得したWebページに「<title>製品一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="sc.html">サンプルカメラ</li><li><a href="sc2.html">サンプルカメラ2</li></ul>・・・(省略)・・・」と記載されていれば、「サンプルカメラ」「サンプルカメラ2」を取得する。しかし、パターンに対応する内容が記載されていなければ何も取得しない。
固有名称取得部114は、商品の固有名称が取得できた場合は、固有名称データベースに登録する。今回の場合では、「サンプルカメラ」と「サンプルカメラ2」を登録する。なお、固有名称ルールデータベース110が固有名称ルールの取得回数や取得割合等の値を保持していた場合、その値と一緒に登録しても良く、取得した情報の周辺である「<title>製品一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="sc.html">サンプルカメラ</li><li><a href="sc2.html">サンプルカメラ2</li></ul>・・・(省略)・・・」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから商品の固有名称を取得できる。
図11は、本実施の形態にかかる知識獲得部115の動作の一例を示すフローチャートである。以下、図11を用いて動作について説明する。
(ステップS701)知識獲得部115は、知識増殖ルールデータベース111から知識増殖ルールを取得する。取得できた場合、ステップS702に進み、取得できなかった場合、終了する。
(ステップS702)知識獲得部115は、カウンターmに1を代入する。
(ステップS703)知識獲得部115は、ステップS701で取得した知識増殖ルールにm番目の知識増殖ルールがあるか否かを判断する。ある場合は、ステップS704に進み、ない場合は、終了する。
(ステップS704)知識獲得部115は、ステップS701で取得した知識増殖ルールのm番目の知識増殖ルールが用いるために使用する情報を各データベースから取得する。知識増殖ルールが用いるために使用する情報とは、具体的には、第一から第三知識増殖ルールの場合は会社データベース101から会社名を取得し、第四から第六知識増殖ルールの場合は商品データベース102から商品名を取得し、第七から第九知識増殖ルールの場合は固有名称データベース103から商品の固有名称を取得し、第十知識増殖ルールの場合は会社データベース101と商品データベース102から会社名と商品名を取得し、第十一知識増殖ルールの場合は会社データベース101と固有名称データベース103から会社名と商品の固有名称を取得し、第十二知識増殖ルールの場合は商品データベース102と固有名称データベース103から商品名と商品の固有名称を取得する。
(ステップS705)知識獲得部115は、カウンターnに1を代入する。
(ステップS706)ステップS704で取得した知識増殖ルールが用いるために使用する情報にn番目の情報があるか否かを判断する。ある場合は、ステップS707へ進み、ない場合はステップS713へ進む。
(ステップS707)知識獲得部115は、Webサーバ装置からWebページを取得する。この時取得するWebページは、ステップS704で取得した知識増殖ルールが用いるために使用する情報のうちn番目の情報を含んだWebページを取得する。Webページを取得できた場合は、ステップS708へ進み、取得できなかった場合はステップS714に進む。
(ステップS708)知識獲得部115は、カウンターoに1を代入する。
(ステップS709)知識獲得部115は、ステップS707で取得したWebページにo番目のWebページがあるか否かを判断する。ある場合は、ステップS710に進み、ない場合は、ステップS714に進む。
(ステップS710)知識獲得部115は、ステップS707で取得したWebページのo番目のWebページに対し、ステップS701で取得した知識増殖ルールのm番目の知識増殖ルールを用いて会社名、または商品名、または商品の固有名称を取得する。取得できた場合は、ステップS711へ進み、取得できなかった場合は、ステップS712に移動する。
(ステップS711)ステップS710で取得した会社名、または商品名、または商品の固有名称を対応するデータベースに蓄積する。
(ステップS712)知識獲得部115は、カウンターoをインクリメントする。そして、ステップS709に戻る。
(ステップS713)知識獲得部115は、カウンターmをインクリメントする。そして、ステップS703に戻る。
(ステップS714)知識獲得部115は、カウンターnをインクリメントする。そして、ステップS706に戻る。
以下、本実施の形態における知識獲得部115の具体的な動作について説明する。なお、この具体例において示した知識獲得部115の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
知識獲得部115は、知識増殖ルールデータベース111から会社名、または商品名、または商品の固有名称を取得するためのすべてのルールを取得する。もし、知識増殖ルールデータベース111に、知識増殖ルールが抽出する対象に関するデータを保持していた場合、「名称」が対象の知識増殖ルールだけを取得する。また、もし知識増殖ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた知識増殖ルールだけを取得しても良い。今回の具体例では、知識増殖ルールを5種類取得したとする。
図12は知識増殖ルールデータベース111に格納されているデータの一例を示す図である。知識増殖ルールデータベース111は、会社名、または商品名、または商品の固有名称を取得するパターンを有している。具体例として、「%会社名%」と記載されている部分に該当する名詞句を会社名、同様に「%商品名%」と記載されている部分に該当する名詞句を商品名、「%固有名称%」と記載されている部分に該当する名詞句を商品の固有名称として取得する知識増殖ルールを列挙した。なお、今回の具体例では、知識増殖ルールの種類ごとにデータベースを作成するのではなく、知識増殖データベースに知識増殖ルールの種類を保持させた。
知識獲得部115は、取得した知識増殖ルールが用いるための情報を取得する。例えば、第一知識増殖ルールを取得した場合、会社データベース101に記載されている会社名をすべて取得する。なお、もし会社データベース101が会社名の取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、会社名を10種類取得したとする。
知識獲得部115は、Webページを取得する。Webページは、例えば今回の具体例では、取得した会社名一つに対して100種類ずつ取得したとする。
知識獲得部115は取得したすべての知識増殖ルールを用いて、取得したすべてのWebページから会社名を取得する。今回の場合では、知識増殖ルールが5種類、知識増殖ルールが用いる情報が10種類、Webページが100種類なので5000回会社名、商品名、商品の固有名称のうち、1または2種類の情報の取得を行う。
具体的には、知識増殖ルールが「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」で第一の知識増殖ルールであり、用いる情報が「サンプル工業」であった場合、取得したWebページに「<title>サンプル工業の商品</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="scr.html">ネジ</a></li><li><a href="driv.html">ドライバー</a></li></ul>・・・(省略)・・・」と記載されていれば、「ネジ」「ドライバー」の部分を取得する。しかし、パターンに対応する内容が記載されていなければ何も取得しない。
知識獲得部115は、新たな情報が取得できた場合は、対応する各データベースに登録する。今回の場合では、「ネジ」と「ドライバー」を商品データベース102、「サンプル工業」と「ネジ」、「サンプル工業」と「ドライバー」を会社商品データベース104に登録する。なお、もし知識増殖ルールデータベース111が知識増殖ルールの取得回数や取得割合等の値を保持していた場合、その値と一緒に登録しても良く、取得した情報の周辺である「<title>サンプル工業の商品</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="scr.html">ネジ</a></li><li><a href="driv.html">ドライバー</a></li></ul>・・・(省略)・・・」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから会社名、または商品名、または商品の固有名称を取得できる。
図13と図14は、本実施の形態にかかるルール学習部116の動作の一例を示すフローチャートである。以下、図13と図14を用いて動作について説明する。
(ステップS801)ルール学習部116は、カウンターmに0を代入する。
(ステップS802)ルール学習部116は、カウンターmをインクリメントする。
(ステップS803)ルール学習部116は、カウンターmの値によって処理を分岐する。mの値が1の時はステップS804に進み、mの値が2の時はステップS805に進み、mの値が3の時はステップS806に進み、mの値が4の時はステップS807に進み、mの値が5の時はステップS810に進み、mの値が6の時はステップS813に進み、mの値が7の時はステップS816に進み、mの値が8の場合は終了する。
(ステップS804)ルール学習部116は、変数oに「会社データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS805)ルール学習部116は、変数oに「商品データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS806)ルール学習部116は、変数oに「固有名称データベース」、変数dに「商品の固有名称」を代入する。そして、ステップS823へ進む。
(ステップS807)ルール学習部116は、変数oに「会社商品データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS808)ルール学習部116は、変数oに「会社商品データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS809)ルール学習部116は、変数oに「会社商品データベース」、変数dに「会社名・商品名」を代入する。そして、ステップS823へ進む。
(ステップS810)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS811)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS812)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「会社名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS813)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS814)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS815)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS816)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS817)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS818)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS819)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・商品名」を代入する。そして、ステップS823へ進む。
(ステップS820)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS821)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS822)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS823)ルール学習部116は、変数oに格納されているデータベースから、変数dに格納されている情報を取得する。例えば、変数oに「会社データベース」変数dに「会社名」が格納されている場合、会社データベース101から会社名をすべて取得する。また、変数dに格納されている情報が「会社名・商品名」など、「・」で区切って二種類の情報が登録されていた場合、「・」の前後で文字列を分割し、前と後ろの両方の情報の組を取得する。「会社名・商品名」の場合は、「会社名」と「商品名」の組を取得する。取得できた場合は、ステップS824へ進み、取得できなかった場合は829に進む。
(ステップS824)ルール学習部116は、カウンターhに1を代入する。
(ステップS825)ルール学習部116は、ステップS823で取得したoから取得したdに関する情報にh番目の情報があるか否かを判断する。ある場合は、ステップS826に進み、ない場合は、ステップS831に進む。
(ステップS826)ルール学習部116は、Webサーバ装置からWebページを取得する。この時取得するWebページは、ステップS823で取得したoから取得したdに関するh番目の情報を含んだWebページを取得する。Webページを取得できた場合はステップS827へ進み、取得できなかった場合はステップS829へ進む。
(ステップS827)ルール学習部116は、ステップS826で取得したWebページから、ステップS823で取得したoから取得したdに関するh番目の情報の文字列を情報の内容がわかる文字列に置換する。例えば、会社名の部分を「%会社名%」に置換する。
(ステップS828)ルール学習部116は、ステップS827で置換したWebページを、例えば、図示しないメモリなどの記憶媒体に一時記憶する。
(ステップS829)ルール学習部116は、カウンターhをインクリメントする。
(ステップS830)ルール学習部116は、ステップS828で記憶したすべてのWebページからパターンを取得する。パターンを取得できた場合は、ステップS831へ進み、取得できなかった場合はステップS833へ進む
(ステップS831)ルール学習部116は、ステップS830で取得したパターンから5回以上抽出したパターンを選別し取得する。パターンを取得できた場合は、ステップS832へ進み、取得できなかった場合はステップS833へ進む。
(ステップS832)ルール学習部116は、ステップS831で取得したパターンを変数dに対応するルールデータベースに格納する。具体的には、dの値が「会社名」であれば「会社ルールデータベース」、「商品名」であれば「商品ルールデータベース」、「固有名称」であれば「固有名称ルールデータベース」、「会社名・商品名」「会社名・固有名称」「商品名・固有名称」であれば「知識増殖ルールデータベース」に格納する。
(ステップS833)ルール学習部116は、ステップS823へ進む前に実行していた処理の次の処理進む。
以下、本実施の形態におけるルール学習部116の具体的な動作について説明する。なお、この具体例において示したルール学習部116の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
ルール学習部116は、会社データベース101と商品データベース102と固有名称データベース103と会社商品データベース104と会社固有名称データベース105と商品固有名称データベース106と会社商品固有名称データベース107から、会社名、または商品名、または商品の固有名称、またはこれらの組み合わせを可能な限り取得し、取得した情報を取得できるWebページから、データベースから取得した情報を抽出するためのパターンを取得する。
今回は具体例として、会社データベース101から会社名を取得し会社ルールデータベース108に格納するルールを学習する場合について述べる。
まず、会社データベース101から会社名をすべて取得する。なお、もし会社データベース101が会社名の取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、会社名を10種類取得したとする。
ルール学習部116は、Webページを取得する。Webページは、例えば今回の具体例では、取得した会社名一つに対して100種類ずつ取得したとする。
ルール学習部116は、取得したWebページから、取得するために用いた会社名を「%会社名%」に置換する。今回は「%会社名%」であったが、商品名を使用した場合は「%商品名%」、商品の固有名称を使用した場合は「%固有名称%」に置換する。例えば、「サンプル商事」を用いて「<table><tbody><tr><td>社名</td><td>サンプル商事株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」の文章を取得した場合は「<table><tbody><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」とする。
ルール学習部116は、取得したWebページからパターンを取得する。取得したWebページから2以上のWebページを取り出し、取得するために用いた「%会社名%」を含む最長共通部分列を取得する。最長共通部分の取得は、取得したWebページから2つを選ぶすべての組み合わせで行う。例えば「<table><tbody><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」と「<table><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>設立</td><td>1950年1月1日</td></tr>」の二つの文章を記載されているWebページがあった場合、「%会社名%」を保持した最も長い文字列である「<tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>」をパターンとして取得する。今回の場合では、会社名が10種類、Webページが会社名に対して100種類なので49500回パターンの取得を行う。なお、パターンの取得対象はHTMLのタグを含まない文章でも良く、また最長共通部分列以外の方法であっても良く、2つ以上のWebページの組み合わせからパターンを取得しても良い。
ルール学習部116は、取得したパターンからよく使われているパターンのみを知識増殖データベースに登録する。一定以上の頻度、例えば5回以上出現するパターンを知識増殖ルールデータベース111に登録する。
以上、本実施の形態によれば、任意のWebページから会社名、または商品名、または商品の固有名称を取得するパターンを取得できる。
図15は、本実施の形態にかかる会社類似群コード固有名称データベース構築部23の動作の一例を示すフローチャートである。以下、図15を用いて動作について説明する。
(ステップS901)会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107から会社名と商品名と商品の固有名称の情報を取得する。取得できた場合はステップS902へ進み、取得できなかった場合は終了する。
(ステップS902)会社類似群コード固有名称データベース構築部23は、カウンターmに1を代入する。
(ステップS903)会社類似群コード固有名称データベース構築部23は、ステップS901で取得した情報にm番目の情報があるか否かを判断する。あった場合はステップS904へ進み、なかった場合は終了する。
(ステップS904)会社類似群コード固有名称データベース構築部23は、ステップS901で取得したm番目の情報の商品名をキーにし、商品類似群コード対応データベース21から商品名に対応した類似群コードを取得する。
(ステップS905)会社類似群コード固有名称データベース構築部23は、ステップS901で取得したm番目の情報の会社名と、商品の固有名称と、ステップS904で取得した類似群コードを1レコードとして会社類似群コード固有名称データベース22に登録する。
(ステップS906)会社類似群コード固有名称データベース構築部23は、カウンターmをインクリメントする。
以下、本実施の形態における会社類似群コード固有名称データベース構築部23の具体的な動作について説明する。なお、この具体例において示した会社類似群コード固有名称データベース構築部23の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
会社類似群コード固有名称データベース構築部23は会社商品固有名称データベース107の商品名をキーにして、類似群コード対応データベースから類似群コードを取得し、会社類似群コード固有名称データベース22を構築する。
まず、会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107から、会社名と商品名と商品の固有名称をすべて取得する。なお、もし会社商品固有名称データベース107が取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、会社名と商品名と商品の固有名称の組を10種類取得したとする。
次に、商品類似群コード対応データベース21から各商品名に対応した類似群コードを取得する。なお、この時取得する類似群コードは、商品名の完全一致だけではなく、例えば「テレビ」と「TV」のような商品名が概念的に一致する類似群コードを取得しても良い。
そして、取得した会社名と類似群コードと商品の固有名称の組を会社類似群コード固有名称データベース22に登録する。
以上、本実施の形態によれば、会社商品固有名称データベース107と類似群コード対応データベースから商品名をキーにして、会社名と類似群コードと商品の固有名称を保持する会社類似群コード固有名称データベース22を構築できる。
図16は、本実施の形態にかかる商標侵害検知装置3の動作の一例を示すフローチャートである。以下、図16を用いて動作について説明する。
(ステップS1001)受付部32は、調査対象商標情報、具体的には商標文字列と商品名、または類似群コードとを受け付けたか否かを判断する。受け付けた場合、ステップS1002に進み、受け付けていない場合、ステップS1001に戻る。
(ステップS1002)商標文字列取得部331は、調査対象商標情報から商標文字列を取得する。取得できた場合は、ステップS1003に進み、取得できなかった場合はステップS1017へ進む。
(ステップS1003)称呼取得部332は、ステップS1002で取得した商標文字列を用いて、1以上の称呼情報を取得する。例えば、商標文字列を形態素解析することや、商標文字列を構成する各文字の読みを、予め用意された文字の読みが格納された辞書などから読み出し、それらの組合せを取得することで、称呼情報を取得する。
(ステップS1004)称呼取得部332は、カウンターmに1を代入する。
(ステップS1005)称呼取得部332は、ステップS1003で取得した称呼情報にm番目の称呼情報があるか否かを判断する。ある場合、ステップS1006に進み、ない場合、ステップS1011に進む。
(ステップS1006)称呼取得部332は、カウンターnに1を代入する。
(ステップS1007)称呼取得部332は、m番目の称呼情報にn番目の区切位置があるか否かを判断する。例えば、称呼情報の全ての文字の間を区切り位置に設定していく場合、n番目の区切り位置とは、例えば、称呼情報の先頭からn番目の文字と(n+1)番目の文字との間である。このため、称呼取得部332は、例えばm番目の称呼情報に、先頭から(n+1)番目の文字があるか否かを判断すればよい。n番目の区切位置がある場合、ステップS1008に進み、ない場合、ステップS1010に進む。なお、称呼情報のうちの、商標文字列を構成する各文字の読みの間や、商標文字列を構成する形態素の読みの間を、区切り位置に設定して称呼情報を分割していくようにしても良い。例えば、商標文字列「ABC」の各文字の読み「エー」と「ビー」と「シー」を組み合わせて称呼情報「エービーシー」が取得された場合、区切り位置に設定できる位置を、「エー」と「ビー」との間、及び「ビー」と「シー」の間としてもよい。
(ステップS1008)称呼取得部332は、n番目の区切位置でm番目の称呼情報を区切って、その前後の文字列である分割称呼情報を取得する。なお、商標の称呼となり得ないような予め指定された文字が先頭に来る文字列は、分割称呼情報として取得しないことが好ましい。予め指定された文字は、例えば長音や、「ン」などである。取得した分割称呼情報は、図示しないメモリなどの記憶媒体に一時記憶する。既に他の分割称呼情報が記憶されている場合は、追記する。
(ステップS1009)称呼取得部332は、カウンターnを1インクリメントする。そして、ステップS1007に戻る。
(ステップS1010)称呼取得部332は、カウンターmを1インクリメントする。そして、ステップS1005に戻る。
(ステップS1011)称呼表示部333は、ステップS1003で取得した称呼情報と、ステップS1008で取得した分割称呼情報を表示する。なお、ユーザに選択させず、特定のルールで称呼指定を選択する場合は、本ステップの表示、およびステップS1012の受付をスキップしても良い。
(ステップS1012)称呼指定受付部334は、称呼指定情報または分割称呼指定情報の少なくとも一方を指定する称呼指定情報を受け付けたか否かを判断する。受け付けた場合、例えば、称呼指定情報で指定された称呼情報と割称呼情報とをメモリなどの記憶媒体に一時記憶して、ステップS212に進み、受け付けていない場合、ステップS1012に戻る。
(ステップS1013)類似検索部335は、カウンターkに1を代入する。
(ステップS1014)類似検索部335は、ステップS1012で受け付けた称呼指定情報によって指定された称呼情報と分割称呼情報とを合わせた中に、k番目の称呼情報または分割称呼情報があるか否かを判断する。ある場合、ステップS1015に進み、ない場合、ステップS1017に進む。
(ステップS1015)k番目の称呼情報または分割称呼情報とを用いて、類似検索を行う。そして、類似検索の結果を、図示しない記憶媒体などに蓄積する。類似検索の結果は、例えば、類似検索に用いられたk番目の称呼情報または分割称呼情報と、類似すると判断された称呼と、その称呼に対応付けられた会社名、および商品の固有名称とを含む情報である。
(ステップS1016)類似検索部335は、カウンターkを1インクリメントする。そして、ステップS1014に戻る。
(ステップS1017)商品類否判断部34は、ステップS1001で取得した調査対象商標情報をもとに使用するデータベース31を選択する。具体的には、調査対象商標情報に類似群コードが含まれていた場合は会社類似群コード固有名称データベース22を選択し、商品名が含まれていた場合は会社商品固有名称データベース107を選択する。選択できた場合は、ステップS1018に進み、選択できなかった場合はステップS1019に進む。
(ステップS1018)商品類否判断部34は、ステップS1017のデータベース31からステップS1001で取得した調査対象商標情報の商品名、または類似群コードをキーにして商品の類否判断を行う。そして、類否判断の結果を、図示しない記憶媒体などに蓄積する。類否判断の結果は、例えば、類否判断に用いられた商品名、または類似群コードと、一致すると判断された商品名、または類似群コードと、その称呼に対応付けられた会社名と商品の固有名称とを含む情報である。
(ステップS1019)ステップS1015で蓄積した類似検索結果と、ステップS1018で蓄積した情報から、商品の固有名称が共通する情報を取得する。
(ステップS1020)出力部35は、ステップS1019で取得した情報を出力する。そして処理を終了する。
以下、本実施の形態における商標侵害検知装置3の具体的な動作について説明する。なお、この具体例において示したデータは、説明のために便宜上用意されたものであって、実際の運用時に使用するものではない。
まず、ユーザが、中華そばの麺についての「針金麺」という侵害の可能性を判断したいと考えて、「針金麺」という商標文字列と、中華そばの麺の類似群コードである「32F03」を、商標侵害検知装置3にキーボードなどを操作して入力したとする。受付部32は、商標文字列「針金麺」を受け付ける。そして、商標文字列取得部331に商標文字列を取得させ、類似群コードを商品類否判断部34に類似群コードを取得させる。
称呼取得部332は、商標文字列取得部331が受け付けた商標文字列「針金麺」の称呼情報を取得する。ここでは、まず、商標文字列に対して形態素解析を行って形態素ごとの読みの情報を取得する。例えば、形態素解析によって「針金麺」は2つの形態素「針金」と「麺」とに分けられ、形態素「針金」からは読みとして「ハリガネ」が、また、形態素「麺」からは読みとして「メン」が取得されたとする。それぞれの形態素には、1つの読みしか取得されないため、「針金麺」の称呼情報の一つとしてこれらの読みを単に結合した「ハリガネメン」を取得する。
さらに、称呼取得部332は、予め用意された漢字の読みが格納された辞書(図示せず)から、商標文字列「針金麺」の各文字の読みを取得する。例えば、「針」からは「ハリ」、「シン」という読みを取得したとする。また「金」からは、「キン」、「コガネ」、「コン」、「カネ」を取得したとする。また、「麺」からは「メン」を取得したとする。そして、取得した文字の読みを、取得元となる文字の並びに沿って組み合わせることで称呼情報を取得する。例えば、「ハリキンメン」、「ハリコガネメン」、「ハリコンメン」、「ハリカネメン」、「シンキンメン」、「シンコガネメン」などの称呼情報が取得される。なお、形態素解析で取得した称呼情報と一致するものは、削除する。
次に、称呼取得部332は、上記で取得した各称呼情報を分割して分割称呼情報を取得する。例えば、称呼情報「ハリガネメン」については、まず、区分位置を1文字目の「ハ」と2文字目の「リ」の間に設定して称呼情報を分割することで、「ハ」という分割称呼情報と、「リガネメン」という分割称呼情報とを取得する。更に、区分位置を2文字目の「リ」と3文字目の「ガ」の間に設定して称呼情報を分割することで、「ハリ」という分割称呼情報と、「ガネメン」という分割称呼情報とを取得する。同様にして、「ハリガ」、「ネメン」、「ハリガネ」、「メン」、「ハリガネメ」を取得する。但し「ン」は、分割称呼情報としては取得しない。同様にして、他の称呼情報についても分割称呼情報を取得する。なお、取得した分割称呼情報において、重複するものは一つを除いて削除する。
そして、称呼表示部333は、取得した称呼情報と分割称呼情報とをモニタなどに出力する。
図17は、称呼表示部333による、称呼情報と分割称呼情報との表示例を示す図である。なお、ここでは、称呼情報も分割称呼情報も、後述する類似検索においては特に区別せずに利用されるため、称呼情報と分割称呼情報とを特に区別せずに称呼として表示している。
次に、ユーザが、図17に示した称呼情報と分割称呼情報とのうちの、類似検索に利用したいと考えるものの横のチェックボックスにチェックを入れて、「指定完了」ボタン31を押したとする。例えば、「ハリガネメン」、「ハリガネ」、「ハリキンメン」の横のチェックボックスに図17に示すようにチェックをいれて「指定完了」ボタン31を押すと、称呼指定受付部334は、チェックの入った称呼情報である「ハリガネメン」および「ハリキンメン」と、チェックの入った分割称呼情報である「ハリガネ」を受け付ける。
次に、類似検索部335は、称呼指定受付部334が受け付けた称呼情報と分割称呼情報とのそれぞれとを用いて、称呼の類似検索を行う。称呼の類似検索については、公知の技術であるので、詳細な具体例は省略する。例えば、類似検索の結果、称呼情報「ハリガネメン」と分割称呼情報「ハリガネ」については、称呼が類似する固有名称が検出されなかったが、称呼情報「ハリキンメン」については、称呼が類似する固有名称が検出されたとする。具体的には、称呼が「ハリキントン」という商品の固有名称が検出されたとする。商標類否判断結果取得部336は、この検出結果を図示しない記憶媒体などに一時記憶する。
そして、商標類否判断結果取得部336は、類似検索の結果を取得する。
さらに次に、商品の類否判断を行う、受付部32から取得した類似群コードを用いて、会社類似群コード固有名称データベース22から情報を取得する。「32F03」の場合、穀物の加工品に関する情報が「針金面」に関係なく取得されるが、全て取得する。
そして、商標類否判断部33の判断結果と商品類否判断部34の判断結果をのうち、商品の固有名称が共通する情報を取得し、会社名と商品の固有名称を出力する。なお、この際に会社データベース101に会社を特定する情報、または会社名の確信度、その他保持している情報があれば出力しても良い。
以上、本実施の形態によれば、ユーザが指定した調査対象商標文字列から、商標の文字列の称呼情報を自動的に取得して、これを用いた類似検索が行えるようにしたので、商標の総合的な侵害状況の判断材料となる情報をユーザに提供することができる。
また、称呼情報を分割した分割称呼情報を取得して、これを用いた類似検索が行えるようにしたので、例えば、ユーザが入力した商標が結合商標である場合には、結合商標を分割した場合の称呼を自動で取得することができ、分割した称呼情報を用いた適切な類似検索が可能となる。また、分割した称呼情報の入力を容易にすることができるとともに、分割した称呼情報を用いた類似検索をユーザに促すことができる。また、分割称呼情報を取得することで、商標の主要部だけを用いた適切な類似検索が可能となる。また、分割した称呼情報の入力を容易にすることができるとともに、主要部を用いた類似検索をユーザに促すことができる。
(実施の形態2)
本実施の形態は、調査対象商標情報が商品名を保持し、類似群コードを保持していない場合であっても、類似群コードを用いて商品の類否判断ができる事を特徴とする。
図21は、本実施の形態における商標侵害検知装置4のブロック図である。商標侵害検知装置4は、データベース401、受付部32、商標類否判断部33、商品類否判断部402、出力部35を備える。受付部32、商標類否判断部33、出力部35については、実施の形態1と同様であるため、説明を省略する。
データベース401は、1以上の図示しないWebサーバ装置から取得した情報である、会社名と商品名と商品の固有名称との組を1組以上格納し得る。データベース401は、1以上のWebサーバ装置から取得した情報であれば何でもよく、データベース構築装置1を用いて構築してもよく、無作為、または調査対象商標情報の商品名をキーワードにして検索して収集したWebページから特定のルールを用いて情報を取得して構築してもよい。特定のルールとは、例えば、データベース構築装置1の各ルールデータベースに格納されるルールなどである。
商品類否判断部402は、データベース401が有する1以上の商品名と、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行い、データベース401に格納されている調査対象商標情報に類似する会社名と商品名と商品の固有名称を取得する。商品類否判断部402は、商品コード管理手段4021、コード特定情報取得手段4022、商品類否判断手段4023を備える。なお、本実施の形態におけるコード特定情報とは、商品名であってもよく、図示しない記憶部で管理されている類似群コードを参照するための番号等であってもよく、類似群コード表における見出しの商品または役務名(たとえば、01A01であれば「化学品」)であってもよく、類似群コード表における商品・役務名であってもよく、類似群コードそのものであってもよい。
商品コード管理手段4021は、商品名とコード特定情報との対応を管理している。管理する商品名とコード特定情報は、類似群コードの説明文から特定のルールを用いて取得してもよく、図示しないWebサーバ装置から取得したWebページから特定のルールを用いて取得してもよく、人が手作業で入力してもよい。特定のルールとは、例えば「04A01は、例えば、洗い粉やシャンプーなどがあげられる」といった文章から、コード特定情報として「04A01」を、商品名として「洗い粉」と「シャンプー」を取得するようなルールであってもよく、「<table><tr><td>染料</td><td>藍・あかね</td></tr></table>」といったHTMLの構造から、コード特定情報として「染料」を、商品名として「藍」と「あかね」を取得するルールであってもよい。また、商品コード管理手段4021はその対応を再帰的に探索することで類似群コードを取得できるような構成にしてもよい。具体的には、コード特定情報「01A01」と商品名「化学品」、コード特定情報「化学品」と商品名「アンモニア水」という2組の情報があった場合、商品名「アンモニア水」からコード特定情報「01A01」を取得できるように管理しても良い。
コード特定情報取得手段4022は、商品コード管理手段4021が管理する商品に対応するコード特定情報を用いて、データベース401が有する1以上の商品名に対応するコード特定情報を取得する。取得するコード特定情報は、データベース401が有する商品名に対応する任意のコード特定情報であっても良く、再帰的に対応を取得した結果取得した類似群コードであってもよく、類似群コードに到るまで再帰的に対応を取得する過程に取得したすべてのコード特定情報であっても良い。コード特定情報取得手段4022は、通常、MPUやメモリ等から実現され得る。コード特定情報取得手段4022の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
商品類否判断手段4023は、コード特定情報取得手段4022が取得したコード特定情報と、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行う。商品の類否判断は、調査対象商標情報が有するコード特定情報と、コード特定情報取得手段4022が取得したコード特定情報が同一、または含まれているかどうかを判断し、同一、または含まれていた場合、その情報に対応する会社名と商品名と商品の固有名称とを取得する。商品類否判断手段4023は、通常、MPUやメモリ等から実現され得る。商品類否判断手段4023の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
本実施の形態にかかる商標侵害検知装置4の動作は、商標侵害検知装置3における図16のステップS1018の処理のみを変更したものもである。
以下、本実施の形態における商標侵害検知装置4における商品類否判断部402の具体的な動作について説明する。なお、この具体例において示した商品類否判断部402の出力結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。ここでは、例として、受付部32が受け付けた調査対象商標情報のコード特定情報を「ビール」とし、データベース401には、会社名が「A社」、商品名が「ラガービール」、商品の固有名称が「Bビール」という1組の情報が少なくとも記憶されているものとし、商品コード管理手段4021は、コード特定情報「28A02」と商品名「ビール」、コード特定情報「ビール」と商品名「ラガービール」という2組の情報が少なくとも記憶されているものとする。
コード特定情報取得手段4022は、データベース401から商品名に関する情報を取得する。例えば、「ラガービール」などの情報を取得する。そして、商品コード管理手段4021か管理している情報を用いて、各商品名からコード特定情報を取得する。具体的には、「ラガービール」から「ビール」、「ビール」から「28A02」と類似群コードを取得するまでのコード特定情報をすべて取得し、商品名と対応付けて図示しない記憶部に記憶する。
商品類否判断手段4023は、受付部32が受け付けた調査対象商標情報が有する「ビール」と同一のコード特定情報を保持した情報を、コード特定情報取得手段4022が取得し、図示しない記憶部に記憶した情報から探索し、データベース401に格納されている会社名と商品の固有名称を取得する。具体的には、「ビール」および「28A02」と対応付けられている「ラガービール」を取得し、会社名が「A社」、商品名が「ラガービール」、商品の固有名称が「Bビール」という情報を取得する。
以上、本実施の形態によれば、Webサーバ装置から取得した会社名と商品名と商品の固有名称との組に対して、類似群コードを指定しなくても、類似群コードを考慮した商標の類似検索が行えるようにしたため、商標の侵害状況の判断材料となる情報をユーザに提供することができる。
なお、本実施の形態では、コード特定情報取得手段4022でコード特定情報を取得したが、図示しない処理部を用いて、予めコード特定情報を取得しておき、データベース401に格納しておいても良い。
また、上記実施の形態1、実施の形態2において、会社名取得部112、商品名取得部113、固有名称取得部114、知識獲得部115、ルール学習部116、会社類似群コード固有名称データベース構築部23、商品類否判断部34、商標文字列取得部331、称呼取得部332、類似検索部335、商標類否判断結果取得部336、コード特定情報取得手段4022、商品類否判断手段4023は、通常、MPUやメモリ等から実現され得る。商品名取得部113等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
(実施の形態3)
本実施の形態において、Webページから2以上の属性値集合を取得し、当該2以上の属性値集合から新たな属性値集合を生成するデータベース構築装置5について説明する。
なお、本実施の形態において、所定の情報が格納され得る格納部等において、当該格納部に情報が記憶される過程は問わないものとする。例えば、記録媒体を介して情報が格納部等で記憶されるようになってもよい。また、通信回線などを介して送信された情報が格納部等で記憶されるようになってもよい。さらに、入力デバイスを介して入力された情報が格納部等で記憶されるようになってもよい。また、本実施の形態において説明する各情報の形式、内容などは、あくまで例示であり、各情報の持つ意味を示すことができれば、形式、内容などは問わない。
図21は、本実施の形態におけるデータベース構築装置5のブロック図である。データベース構築装置5は、表格納部51、ルール格納部52、スコア格納部53、辞書格納部54、取得部55、結合部56、ルール取得部57を備える。
表格納部51には、第一の表と2以上の第二の表とが格納される。第一の表は、属性の異なるm個(m≧3)の属性値を有する1以上の属性値集合を有する。また、第二の表は、属性の異なるn個(n≦m−1)の属性値を有する1以上の属性値集合を有する。つまり、属性値集合は、一のデータモデルにおけるレコードである。また、第一の表および第二の表は、一のデータモデルにおける1以上のレコードの集合である。例えば、当該データモデルがリレーショナル型データモデルである場合、第一の表および第二の表は、テーブルである。なお、属性、および属性値の内容は問わない。
また、第一の表は、通常、第二の表になり得る。例えば、上記mが3である場合、属性の異なる3個の属性値を有する1以上の属性値集合を有する表が、第一の表であり、属性の異なる2個または1個の属性値を有する1以上の属性値集合を有する表が、第二の表である。また、上記mが4である場合、属性の異なる4個の属性値を有する1以上の属性値集合を有する表が、第一の表となり、属性の異なる3個または2個または1個の属性値を有する1以上の属性値集合を有する表が、第二の表となる。つまり、表格納部51に格納されている表が、第一の表であるか第二の表であるかは、他の表との関係で相対的に決まるものである。
また、「属性の属性値」とは、「属性に対応する属性値」を意味する。また、「属性値の属性」とは、「属性値が対応する属性」を意味する。また、「属性の属性値集合」とは、「属性に対応する属性値集合」を意味し、当該属性の属性値を1以上有する属性値集合を意味する。また、「属性値集合の属性」とは、「属性値集合が対応する属性」を意味し、当該属性値集合が有する1以上の属性値の属性を意味する。
また、第二の表は、n個の各属性がユニークであるか否かを示すユニーク識別子を有していてもよい。当該ユニーク識別子は、通常、各属性が有しているが、当該ユニーク識別子により、どの属性がユニークであるかが示されてもよい。当該ユニーク識別子は、例えば、いわゆるRDBにおけるユニークキーであるが、主キーであってもよい。また、当該ユニーク識別子は、2以上の各第二の表がユニークであるか否かを示すものであってもよい。
また、第一の表および第二の表は、属性値集合に対応するスコアを有していてもよい。当該スコアは、通常、当該属性値集合の信頼度を示す。また、当該スコアは、属性値集合が有する各属性値に対応するものであってもよい。
「属性値集合の信頼度」とは、当該属性値集合に対する信頼の度合いを示すものである。「属性値集合の信頼度」は、例えば、当該属性値集合を取得したWebページの信頼度や、当該属性値集合そのものの信頼度などである。「Webページの信頼度」は、例えば、当該WebページがいわゆるオフィシャルサイトのWebページである場合は高く、当該Webページがいわゆるオフィシャルサイト以外のWebページである場合は低いものなどである。また、「属性値集合そのものの信頼度」は、例えば、当該属性値集合の取得元であるWebページの信頼度や、当該属性値集合が有する各属性値と、当該属性値の条件である属性値条件との一致度などである。
属性値条件とは、例えば、属性値の例や、属性値のパターンなどである。つまり、「属性値条件との一致度」とは、当該属性値集合が有する各属性値と、当該属性値の属性と同一の属性の属性値の例との一致度や、当該属性値集合が有する各属性値と、当該属性値の属性と同一の属性の属性値のパターンとの一致度などである。なお、属性値の例とは、属性値そのものである。また、属性値のパターンとは、例えば、属性値が予め決められた文字を含むことや、属性値が漢字列であること、属性値がカタカナ列であること、属性値がひらがな列であること、属性値が数値であることなどを示すものなどである。
なお、「属性値集合の信頼度」は、「属性値集合の精度」や、「属性値集合の確度」と呼んでもよい。また、当該スコアは、属性値集合または当該属性値集合が有する各属性値に対応するスコアであり、当該属性値集合または当該属性値が信頼できるか否か、正しいか否かなどを判断できるものであれば、その内容は問わない。
ルール格納部52には、1以上のルールが格納される。当該ルールとは、1以上のWebページから、上記m個または上記n個の属性値を有する1以上の属性値集合を取得するためのルールである。当該ルールは、通常、後述の取得部55が使用するが、当該取得部55が使用することで、1以上のWebページから1以上の属性値集合を取得できるルールであればよい。
ルールは、Webページが有するHTML(Hyper Text Markup Language)を解釈して得られるテキスト文書(例えば、いわゆるWebブラウザが表示するWebページ)から、1以上の属性値集合を取得するためのルールや、いわゆるHTML文書であるWebページから、1以上の属性値集合を取得するためのルールなどである。
また、ルールは、通常、正規表現であるが、例えば、いわゆる文字列のパターンや、タグのパターン、URI(Uniform Resource Identifier)のパターン、これら3つのパターンのうちの2以上のパターンの組み合わせなどであってもよい。また、ルールは、その他の表記や表現であってもよい。また、ルールは、通常、属性値を取得することを示す変数を有している。当該変数は、属性に対応するものである。
例えば、Webページがテキスト文書である場合、ルールは、(1)「$会社名$は、.*?$商品名$、$固有名称$を発売しました」や、(2)「%固有名称%:%商品名%」、(3)「会社概要<改行>社名|&会社名&<改行>設立|&設立年月日&」などである。(1)は、会社名と、商品名と、固有名称とを取得するためのルールである。(1)において、例えば、「$会社名$」は、当該箇所にある文字列を会社名として取得することを示す変数である。また、「.*?」は、正規表現である。また、(2)は、固有名称と、商品名とを取得するためのルールである。(2)において、例えば、「%固有名称%」は、当該箇所にある文字列を固有名称として取得することを示す変数である。また、(3)は、会社名と、設立年月日を取得するためのルールである。(3)において、例えば、「&設立年月日&」は、当該箇所にある文字列を設立年月日として取得することを示す変数である。また、「<改行>」は、改行を示す。
また、例えば、WebページがHTML文書である場合、ルールは、(4)「<p>$会社名$は、.*?$商品名$、$固有名称$を発表しました</p>」や、(5)「<td>%固有名称%:</td><td>%商品名%</td>」、(6)「<div.*?>会社概要</div><br><div.*?>社名</div><div.*?>&会社名&</div><br><div.*?>設立</div><div.*?>&設立年月日&</div>」などである。なお、当該(4)〜(6)の意味は、上記(1)〜(3)と同様であるので、説明を省略する。また、当該(4)〜(6)の各ルールにおける変数や記号の意味も、上記(1)〜(3)と同様であるので、説明を省略する。
また、ルール格納部52には、上記各変数に対応するパターンが格納されてもよい。当該パターンとは、例えば、当該変数により取得することが示される文字列が、予め決められた文字を含むことや、当該文字列が漢字列であること、当該文字列がカタカナ列であること、当該文字列がひらがな列であること、当該文字列が数値であることなどを示すものなどである。
また、Webページは、通常、1以上のWebサイトが有するものであり、当該Webサイトを運用するサーバ装置が有する。また、Webページは、データベース構築装置5が備える任意の記憶装置や、記憶領域に格納されていてもよい。また、Webページは、前述のテキスト文書やHTML文書などの文書や、文、段落、文字、文字列、テキストなどを含み、広く解する。
また、Webページは、当該Webページを識別するWebページ識別子を有していてもよい。当該Webページ識別子は、当該WebページのURLや、Webページのファイル名、Webページのタイトル(HTMLのtitle要素の要素値)、メタ情報(HTMLのmeta要素のkeyword属性値や、description属性値)などである。なお、URLは、いわゆるドメイン名やホスト名などを含み、広く解する。
また、ルールは、通常、当該ルールにより取得できる属性値集合を有する第一の表または第二の表に対応付いてルール格納部52に格納されている。これはつまり、ルールと、当該ルールにより取得できる属性値集合に対応する1以上の属性、または当該属性値集合を有し得る表との対応関係がわかるように格納されているということである。
スコア格納部53には、Webページ識別子が対応付けられた1以上のスコアが格納される。当該スコアは、Webページのスコアであり、通常、当該Webページの信頼度を示すものである。
辞書格納部54には、属性ごとの1以上の属性値の集合である1以上の辞書が格納される。辞書は、属性値の例の集合であると考えてもよい。また、一の辞書は、通常、一の属性の1以上の属性値の集合である。また、辞書格納部54には、1以上の属性値のパターンが格納されてもよい。この場合、属性値のパターンは、通常、当該属性値の属性と対応付いている。
取得部55は、ルール格納部52に格納されている1以上のルールに従い、1以上のWebページから、1以上の属性値集合を取得する。このとき、取得部55は、通常、当該1以上のWebページから、当該1以上のルールに合致する文字列を取得する。そして、取得部55は、取得した文字列から、使用したルールが有する1以上の変数の箇所にある文字列を、属性値として取得する。そして、取得部55は、当該取得した1以上の属性値集合を、表格納部51に蓄積する。当該蓄積とは、第一の表または第二の表に追記することである。また、当該追記は、追加や挿入の意味も含む。
例えば、ルールに従い上記m個の属性値を有する1以上の属性値集合を取得した場合、取得部55は、当該属性値集合に対応する属性を有する表に、当該取得した属性値集合を追記する。当該表は、通常、第一の表である。また、例えば、ルールに従い上記n個の属性値を有する1以上の属性値集合を取得した場合、取得部55は、当該属性値集合に対応する属性を有する表に、当該取得した属性値集合を追記する。当該表は、通常、第二の表である。
また、取得部55は、ルール格納部52に格納されている1以上のルールが有する変数に、当該変数が対応する属性の属性値であり、表格納部51に格納されている1以上の属性値を代入し、新たなルールを生成し、当該ルールに従い、1以上のWebページから1以上の属性値集合を取得してもよい。
また、取得部55は、ルール格納部52に格納されている1以上のルールが有する変数に、当該変数のパターンであり、ルール格納部52に格納されているパターンを代入し、新たなルールを生成し、当該ルールに従い、1以上のWebページから1以上の属性値集合を取得してもよい。
また、取得部55は、通常、いわゆるクローリングを行い、いわゆるWebから1以上のWebページを取得する。また、例えば、1以上のWebページが任意の記憶領域に格納されている場合、取得部55は、当該記憶領域から、1以上のWebページを取得する。
例えば、1以上のWebページに文字列『特許分析株式会社は、特許明細書の分析を行うソフトウェア「PAT−Analyzer」を発売した』が存在しており、ルールが『$会社名$は、.*?$商品名$「$固有名称$」を発売した』である場合、取得部55は、まず、当該ルールに合致する当該文字列を取得する。そして、取得部55は、当該文字列から、属性値を取得するための変数「$会社名$」や、「$商品名$」の箇所にある文字列「特許分析株式会社」、「ソフトウェア」、「PAT−Analyzer」を、それぞれ、会社名、商品名、固有名称として取得する。そして、取得部55は、会社名、商品名、固有名称の3つの属性を有する表に、取得した属性値集合を追記する。
また、例えば、会社名「特許分析株式会社」が既に表格納部51に格納されている場合、取得部55は、当該会社名を上記ルールに代入し、新たなルール『特許分析株式会社は、.*?$商品名$「$固有名称$」を発売した』を生成し、当該ルールを用いて、上記と同様に文字列「ソフトウェア」、「PAT−Analyzer」を、それぞれ、商品名、固有名称として取得してもよい。そして、取得部55は、商品名、固有名称の3つの属性を有する表に、取得した属性値集合を追記する。
また、例えば、上記の場合において、変数「$会社名$」に対応するパターンが「<漢字列>株式会社」であるとき、取得部55は、上記ルールに「<漢字列>株式会社」を代入し、新たなルール『<漢字列>株式会社は、.*?$商品名$「$固有名称$」を発売した』を生成する。そして、取得部55は、当該ルールに合致する上記文字列を取得する。そして、取得部55は、当該文字列から、属性値を取得するための変数「$会社名$」や、「$商品名$」の箇所にある文字列「特許分析株式会社」、「ソフトウェア」、「PAT−Analyzer」を、それぞれ、会社名、商品名、固有名称として取得する。
また、取得部55は、例えば、属性値集合の取得の際に、当該属性値集合を取得したWebページが有するWebページ識別子を取得してもよい。この場合、取得部55は、当該属性値集合と、当該Webページ識別子とを対応付け、第一の表または第二の表に追記する。
また、取得部55は、例えば、属性値集合の取得の際に、当該属性値集合に対応するスコアを算出してもよい。この場合、取得部55は、当該属性値集合と、当該スコアとを対応付け、第一の表または第二の表に追記する。また、取得部55は、例えば、取得した属性値集合が有する各属性値に対応するスコアを算出してもよい。この場合、取得部55は、当該各属性値と、当該スコアとを対応付け、第一の表または第二の表に追記する。また、取得部55は、当該各属性値に対応するスコアを用いて、当該属性値集合に対応するスコアを算出してもよい。当該算出とは、例えば、各属性値に対応するスコアの平均を算出することなどである。この場合、取得部55は、当該属性値集合と、当該スコアとを対応付け、第一の表または第二の表に追記する。
例えば、取得部55は、属性値集合を取得したWebページが有するWebページ識別子に対応するスコアを、スコア格納部53から取得してもよい。例えば、属性値集合を取得したWebページのURLが「http://www.webpage.com」であり、当該URLがスコア格納部53においてスコア「95」と対応付いている場合、取得部55は、当該スコア「95」を取得する。そして、取得部55は、当該属性値集合と、当該スコアとを対応付け、第一の表または第二の表に追記する。
また、例えば、取得部55は、取得した属性値集合と、属性値条件との一致度を、スコアとして算出してもよい。この場合、取得部55は、通常、当該属性値集合が有する各属性値と、当該属性値条件との一致度を算出する。また、この場合、取得部55は、通常、当該各属性値の属性と同一の属性の属性値条件との一致度を算出する。
例えば、当該属性値集合が有する属性値が会社名「特許分析株式会社」であるとする。この場合において、属性値条件が会社名の例「特許分析株式会社」であるとき、当該会社名と会社名の例が一致するので、取得部55は、一致度「100」を取得する。また、この場合において、属性値条件が会社名の例「特許解析株式会社」であるとき、取得部55は、当該会社名の文字のうち当該会社名の例と一致している文字数「7」と、当該会社名の文字数「8」を取得し、「7÷8」を計算し、一致度「0.875」を取得する。また、この場合において、属性値条件が会社名のパターン「漢字列」であるとき、当該会社名が漢字列であるので、取得部55は、一致度「100」を取得する。また、この場合において、属性値条件が会社名のパターン「カタカナ列」であるとき、当該会社名がカタカナを1文字も有さないため、取得部55は、一致度「0」を取得する。
なお、属性値条件が属性値の例である場合、当該属性値の例は、通常、辞書格納部54に格納されている属性値である。また、属性値条件が属性値のパターンである場合、当該属性値のパターンは、通常、取得部55が保持しているが、任意の記憶領域または予め決められた記憶領域に格納されていてもよい。
また、取得部55は、例えば、取得した属性値集合を、いわゆる検索エンジンにて検索し、当該属性値集合を有するWebページの件数をスコアとして取得してもよい。例えば、取得した属性値集合が会社名「特許分析株式会社」と商品名「PAT−Analyzer」であり、当該2個の属性値の両方を有するWebページを検索エンジンにて検索した結果、「1,000」件存在する場合、取得部55は、当該件数「1,000」をスコアとして取得する。
また、取得部55は、例えば、取得した属性値集合の累積取得回数をスコアとして取得してもよい。当該累積取得回数の取得の方法は自明であるので、詳細な説明を省略する。
結合部56は、第二の表が有する2以上の属性値集合を結合し、第一の表が有し得る新たな属性値集合を生成する。そして、結合部56は、生成した属性値集合を、第一の表に追記する。ここで、「第一の表が有し得る」とは、第一の表が有する属性値集合になり得ることを意味し、上記m個の属性値を有することを意味する。具体的には、属性値集合を生成する際に用いた2以上の属性値集合に対応する属性の数よりも、属性の数が多いことを意味する。
例えば、結合部56は、上記m個の属性値を有する属性値集合を、上記n個の属性値を有する2つの属性値集合を結合し、生成したとする。この場合、結合の対象である属性値集合の属性の数(n個)よりも、結合により生成した属性値集合の属性の数(m個)の方が多い。従って、結合部56は、当該生成した属性値集合を、第一の表に追記する。また、例えば、結合部56は、属性の異なる3個の属性値を有する2つの属性値集合を結合し、当該属性の異なる3個の属性値を有する属性値集合を生成したとする。この場合、結合の対象である属性値集合の属性の数(3個)と、結合により生成した属性値集合の属性の数(3個)とが同じである。従って、結合部56は、当該生成した属性値集合を、第一の表に追記しない。また、この場合、結合部56は、通常、結合の対象とする属性値集合の属性の数と、結合により生成する属性値集合の属性の数とを比較し、前者の数よりも後者の数の方が多い場合に、新たな属性値を生成する。
また、結合部56は、例えば、以下の方法にて、第一の表が有し得る新たな属性値集合を生成する。
(1)2以上の異なる第二の表の各々が有する属性値集合であり、同一の属性の同一の属性値を有し、かつ当該属性が前記ユニーク識別子によりユニークであることが示される2以上の属性値集合を結合する。
(2)3以上の異なる第二の表の各々が有する属性値集合であり、同一の属性の同一の属性値を2以上有する属性値集合を結合する。
なお、結合とは、いわゆるRDBにおけるテーブルの結合(JOIN)と同義である。つまり、結合とは、結合の対象となる属性値集合において重複する属性値(キー)を1つにし、残りの属性値と対応付け、新たな属性値集合を生成することである。
(1)は、以下の条件に合致する2以上の属性値集合を結合することである。
(a)他の属性値集合の属性と同一の属性を有する。
(b)(a)の属性の属性値であり、他の属性値集合が有する属性値と同一の属性値を有する。
(c)(a)の属性がユニーク識別子によりユニークであることが示される。
なお、(1)は、例えば、結合の対象となる属性値集合のすべてが、当該属性値集合の属性がユニーク識別子を有する場合の結合方法であり、上記(a)〜(c)は、当該結合を行う条件(結合条件)である。また、(1)では、ユニーク識別子によりユニークであることが示される属性をキーに、2以上の属性値集合を結合する。
また、(2)は、以下の条件に合致する3以上の属性値集合を結合することである。
(a)他の2以上の属性値集合の属性と同一の属性を2以上有する。
(b)(a)の属性の属性値であり、他の属性値集合が有する属性値と同一の属性値を有する。
なお、(2)は、例えば、結合の対象となる属性値集合の少なくとも1つが、当該属性値集合の属性がユニーク識別子を有さない場合の結合方法であり、上記(a)、(b)は、当該結合を行う条件(結合条件)である。また、結合部56は、(2)の結合を行う場合、3以上の属性値集合であり、当該3以上の属性値集合の2個ずつの属性の対応関係が、当該3以上の属性値集合から明らかであるような属性値集合を結合することが好適である。
例えば、属性値「A」、「B」、「C」のいずれかを有する3つの属性値集合「A−B」、「B−C」、「C−A」があるとする。これら3つの各属性値集合は、他の2つの属性値集合が有する属性値と同一の属性値を、2以上有する。従って、結合部56は、これら3つの属性値集合を結合し、新たな属性値集合「A−B−C」を生成する。
また、例えば、属性値「A」、「B」、「C」、「D」のいずれかを有する3つの属性値集合「A−B−C」、「C−D」、「D−A」があるとする。これら3つの各属性値集合は、他の2つの属性値集合が有する属性値と同一の属性値を、2以上有する。従って、結合部56は、これら3つの属性値集合を結合し、新たな属性値集合「A−B−C−D」を生成する。なお、この場合、これら3つの属性値集合からは、「B」と「D」との対応関係が明らかではない。従って、結合部56は、これら3つの属性値集合を結合しないことが好適である。
また、例えば、属性値「A」、「B」、「C」、「D」のいずれかを有する3つの属性値集合「A−B」、「B−C」、「C−D」があるとする。これら3つの属性値集合のうち、「C−D」は、他の2つの属性値集合が有する属性値と同一の属性値を2以上有さない。従って、結合部56は、これら3つの属性値集合を結合しない。これは、つまり、「A」と「D」との対応関係が明らかではない状態で、「A」と「D」との対応関係を構築することを防ぐためである。
また、例えば、属性値「A」、「B」、「C」、「D」、「E」のいずれかを有する3つの属性値集合「A−B−C」、「A−B−D」、「C−D−E」があるとする。これら3つの各属性値集合は、他の2つの属性値集合が有する属性値と同一の属性値を、2以上有する。従って、結合部56は、これら3つの属性値集合を結合し、新たな属性値集合「A−B−C−D−E」を生成する。なお、この場合、これら3つの属性値集合からは、「E」と「A」、「E」と「B」との対応関係が明らかではない。従って、結合部56は、これら3つの属性値集合を結合しないことが好適である。しかし、結合部56は、これら3つの属性値集合の一部であり、対応関係が明らかである属性値集合を結合し、新たな属性値集合「A−B−C−D」を生成してもよい。
なお、以上について、便宜上、属性値のみで説明したが、通常、当該属性値の属性も同一でないと結合は行わない。
また、結合部56は、例えば、当該属性値集合に対応するスコアが、予め決められた条件を満たすほど高い属性値集合のみを用いて、新たな属性値集合を生成してもよい。当該条件は、通常、結合部56が保持しているが、任意の記憶領域に格納されていてもよい。
なお、結合部56は、第二の表が有する2以上の属性値集合を結合し、第一の表が有し得る新たな属性値集合を生成すればよく、当該結合の方法や手順などは問わない。また、当該生成の元となる第二の表が有する属性値集合は、表格納部51に格納されているものであれば何でもよい。例えば、結合部56は、取得部55が取得した2以上の属性値集合を結合してもよいし、結合部56が生成した2以上の属性値集合を結合してもよいし、取得部55が取得した属性値集合または結合部56が生成した属性値集合のうちの2以上の属性値集合を結合してもよい。
ルール取得部57は、まず、1以上のWebページから、表格納部51に格納されている1以上の属性値集合が存在する文字列を取得する。そして、ルール取得部57は、当該文字列のうち、当該属性値集合以外の文字列を前記ルールとして取得する。そして、ルール取得部57は、当該取得したルールを、ルール格納部52に蓄積する。
ルール取得部57は、例えば、いわゆるクローリングを行い、1以上のWebページを取得する。そして、ルール取得部57は、通常、当該Webページから、属性値集合を有するWebページを取得する。また、ルール取得部57は、例えば、属性値集合を検索キーとし、いわゆる検索エンジンを用いて、1以上のWebページを取得してもよい。
また、ルール取得部57は、例えば、上記の様にして取得した1以上のWebページから、属性値集合が存在する文や、行、表など、1つのまとまりと言える文字列を取得する。
また、ルール取得部57は、例えば、上記の様にして取得した文字列に存在する属性値集合を、予め決められた変数に置換する。そして、ルール取得部57は、当該置換後の文字列を、ルールとして取得する。例えば、当該文字列に会社名が存在する場合、ルール取得部57は、当該文字列に存在する会社名を、当該会社名に対応する変数(例えば、「%会社名%」)に置換する。また、例えば、当該文字列に商品名および固有名称が存在する場合、ルール取得部57は、当該文字列に存在する商品名および固有名称を、当該商品名および固有名称に対応する変数(例えば、「$商品名」、「$固有名称$」)に置換する。
また、ルール取得部57は、例えば、対象が自明である文字列を、予め決められた変数に置換してもよい。「対象が自明である文字列」は、例えば、日付や、時刻、曜日、人名などである。また、ルール取得部57は、例えば、いわゆる動詞や、助詞、名詞など以外の文字列を、任意の0以上の文字列を示す記号に置換してもよい。
また、ルール取得部57は、例えば、取得したルールと、ルール格納部52に既に格納されているルールとから、新たなルールを生成してもよい。この場合、ルール取得部57は、通常、取得したルールとの類似度が予め決められた条件を満たすほど高いルールを、ルール格納部52から取得し、当該2つのルールの共通部分を、新たなルールとして取得する。なお、このとき、共通部分以外は、任意の0以上の文字列を示す記号に置換してもよいし、いわゆる論理和で連結してもよい。また、ルール取得部57は、例えば、取得した2以上のルールから、またはルール格納部52に既に格納される2以上のルールから上記のような新たなルールを作成してもよい。
また、ルール取得部57は、上記の様にして取得したルールを、ルール格納部52に蓄積する。このとき、ルール取得部57は、通常、取得したルールを、当該ルールを取得した際に用いた属性値集合を有する第一の表または第二の表に対応付けて、ルール格納部52に蓄積する。なお、ルール取得部57は、取得したルールと、当該ルールにより取得できる属性値集合(属性の集合)との対応関係がわかるように、取得したルールをルール格納部52に蓄積すればよく、その方法や手順などは問わない。
なお、表格納部51、ルール格納部52、スコア格納部53、辞書格納部54は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
また、取得部55、結合部56、ルール取得部57は、通常、MPUやメモリ等から実現され得る。取得部55等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現してもよい。
次に、データベース構築装置5の動作について説明する。なお、所定の情報におけるi番目の情報は、「情報[i]」と記載するものとする。図22は、データベース構築装置5の全体動作を示すフローチャートである。
(ステップS2201)取得部55は、属性値集合を取得するか否かを判断する。この判断は、具体的には、例えば、データベース構築装置5が、受付部(図示せず)を有しており、当該受付部が属性値集合を取得する旨の指示を受け付けたか否か判断することや、属性値集合を取得するタイミング(周期)が予め決められており、当該タイミングになったか否かを判断することなどである。取得する場合は、ステップS2202に進み、そうでない場合は、ステップS2203に進む。
(ステップS2202)取得部55は、属性値集合を取得する。この処理の詳細は、図23のフローチャートを用いて説明する。そして、ステップS2201に戻る。
(ステップS2203)結合部56は、属性値集合を生成するか否かを判断する。この判断は、具体的には、例えば、データベース構築装置5が、受付部(図示せず)を有しており、当該受付部が属性値集合を生成する旨の指示を受け付けたか否か判断することや、属性値集合を生成するタイミング(周期)が予め決められており、当該タイミングになったか否かを判断することなどである。生成する場合は、ステップS2204に進み、そうでない場合は、ステップS2205に進む。
(ステップS2204)結合部56は、属性値集合を生成する。この処理の詳細は、図24のフローチャートを用いて説明する。そして、ステップS2201に戻る。
(ステップS2205)ルール取得部57は、ルールを取得するか否かを判断する。この判断は、具体的には、例えば、データベース構築装置5が、受付部(図示せず)を有しており、当該受付部がルールを取得する旨の指示を受け付けたか否か判断することや、ルールを取得するタイミング(周期)が予め決められており、当該タイミングになったか否かを判断することなどである。取得する場合は、ステップS2206に進み、そうでない場合は、ステップS2201に戻る。
(ステップS2206)ルール取得部57は、ルールを取得する。この処理の詳細は、図25のフローチャートを用いて説明する。そして、ステップS2201に戻る。
なお、図22のフローチャートにおいて、電源オフや処理終了の割り込みにより処理を終了してもよい。
また、図22のフローチャートにおいて、ステップS2201の判断、ステップS2203の判断、ステップS2205の判断の順序は問わない。
図23は、図22のフローチャートのステップS2202の属性値集合の取得処理を示すフローチャートである。
(ステップS2301)取得部55は、ルール格納部52に格納されているすべてのルールを取得する。ここで、M個のルールが取得できたものとする。
(ステップS2302)取得部55は、クローリングを行い、Webから1以上のWebページを取得する。ここで、N個のWebページが取得できたものとする。
(ステップS2303)取得部55は、カウンタiに1をセットする。
(ステップS2304)取得部55は、カウンタjに1をセットする。
(ステップS2305)取得部55は、変数countに0をセットする。
(ステップS2306)取得部55は、ルール[i]に合致する文字列が、Webページ[j]に存在するか否かを判断する。存在する場合は、ステップS2307に進み、そうでない場合は、ステップS2311に進む。
(ステップS2307)取得部55は、ルール[i]に合致する文字列を、Webページ[j]から取得する。
(ステップS2308)取得部55は、取得した文字列から属性値集合を取得する。
(ステップS2309)取得部55は、countを1インクリメントする。
(ステップS2310)取得部55は、変数attrs[count]に、取得した属性値集合をセットする。
(ステップS2311)取得部55は、jがNであるか否かを判断する。Nである場合は、ステップ2313に進み、そうでない場合は、ステップS2312に進む。
(ステップS2312)取得部55は、jを1インクリメントし、ステップS2306に戻る。
(ステップS2313)取得部55は、countが1以上であるか否かを判断する。1以上である場合は、ステップS2314に進み、そうでない場合は、S2315に進む。
(ステップS2314)取得部55は、第二の表にattrsを追記する。
(ステップS2315)取得部55は、iがMであるか否かを判断する。Mである場合は、上位処理にリターンし、そうでない場合は、ステップS2316に進む。
(ステップS2316)取得部55は、iを1インクリメントし、ステップS2304に戻る。
なお、図23のフローチャートにおいて、一のルールごとに、N個のWebページから1以上の属性値集合を取得している。これにより、当該ルールを用いて取得した属性値集合の属性ごとに、取得した属性値集合を、当該属性を有する第二の表に追記することができる。
また、図23のフローチャートにおいて、M個のすべての各ルールについて、N個のWebページから1以上の属性値集合を取得し、当該取得したすべての属性値集合を、一括で第二の表に追記してもよい。
図24は、図22のフローチャートのステップS2204の属性値集合の生成処理を示すフローチャートである。
(ステップS2401)結合部56は、表格納部51に格納されているすべての第二の表を取得する。ここで、M個の属性値集合が取得できたものとする。
(ステップS2402)結合部56は、カウンタiに1をセットする。
(ステップS2403)結合部56は、属性値集合[i]に対応する属性のいずれかが、ユニーク識別子を有するか否かを判断する。有する場合は、ステップS2404に進み、そうでない場合は、ステップS2413に進む。
(ステップS2404)結合部56は、属性値集合[i]を有する第二の表、および属性値集合[i]から、ユニーク識別子を有する属性、および当該属性に対応する属性値を取得する。
(ステップS2405)結合部56は、カウンタjに1をセットする。
(ステップS2406)結合部56は、iとjが異なるか否かを判断する。異なる場合は、ステップS2407に進み、そうでない場合は、ステップS2409に進む。
(ステップS2407)結合部56は、属性値集合[j]が、ステップS2404で取得した属性に対応し、かつステップS2404で取得した属性値と同一である属性値を有するか否かを判断する。有する場合は、ステップS2408に進み、そうでない場合は、ステップS2409に進む。
(ステップS2408)結合部56は、属性値集合[i]と属性値集合[j]とを結合する。
(ステップS2409)結合部56は、jがMであるか否かを判断する。Mである場合は、ステップS2411に進み、そうでない場合は、ステップS2410に進む。
(ステップS2410)結合部56は、jを1インクリメントし、ステップS2406に戻る。
(ステップS2411)結合部56は、iがMであるか否かを判断する。Mである場合は、上位処理にリターンし、そうでない場合は、ステップS2412に進む。
(ステップS2412)結合部56は、iを1インクリメントし、ステップS2403に戻る。
(ステップS2413)結合部56は、jに1をセットする。
(ステップS2414)結合部56は、カウンタkに1をセットする。
(ステップS2415)結合部56は、iとjとkとが異なるか否かを判断する。異なる場合は、ステップS2416に進み、そうでない場合は、ステップS2418に進む。
(ステップS2416)結合部56は、属性値集合[i]と属性値集合[j]と属性値集合[k]とが、結合条件を満たすか否かを判断する。満たす場合は、ステップS2417に進み、そうでない場合は、ステップS2418に進む。
(ステップS2417)結合部56は、属性値集合[i]と属性値集合[j]と属性値集合[k]とを結合する。
(ステップS2418)結合部56は、kがMであるか否かを判断する。Mである場合は、ステップS2420に進み、そうでない場合は、S2419に進む。
(ステップS2419)結合部56は、kを1インクリメントし、ステップS2415に戻る。
(ステップS2420)結合部56は、jがMであるか否かを判断する。Mである場合は、ステップS2411に進み、そうでない場合は、ステップS2421に進む。
(ステップS2421)結合部56は、jを1インクリメントし、ステップS2414に戻る。
なお、図24のフローチャートにおいて、2以上の属性値集合が、ユニーク識別子を有する場合の結合条件を満たすか否かを判断し、満たす場合は、当該2以上の属性値集合を結合するようにしてもよい。
また、図24のフローチャートにおいて、3以上の属性値集合が、ユニーク識別子を有さない場合の結合条件を満たすか否かを判断し、満たす場合は、当該3以上の属性値集合を結合するようにしてもよい。
図25は、図22のフローチャートのステップS2206のルールの取得処理を示すフローチャートである。
(ステップS2501)ルール取得部57は、表格納部51に格納されているすべての属性値集合を取得する。ここで、M個の属性値集合が取得できたものとする。
(ステップS2502)ルール取得部57は、クローリングを行い、Webから1以上のWebページを取得する。ここで、N個のWebページが取得できたものとする。
(ステップS2503)ルール取得部57は、カウンタiに1をセットする。
(ステップS2504)ルール取得部57は、カウンタjに1をセットする。
(ステップS2505)ルール取得部57は、変数countに0をセットする。
(ステップS2506)ルール取得部57は、属性値集合[i]が存在する文字列が、Webページ[j]に存在するか否かを判断する。存在する場合は、ステップS2507に進み、そうでない場合は、ステップS2511に進む。
(ステップS2507)ルール取得部57は、属性値集合[i]が存在する文字列を、Webページ[j]から取得する。
(ステップS2508)ルール取得部57は、取得した文字列からルールを取得する。
(ステップS2509)ルール取得部57は、countを1インクリメントする。
(ステップS2510)ルール取得部57は、変数rules[count]に、取得した属性値集合をセットする。
(ステップS2511)ルール取得部57は、jがNであるか否かを判断する。Nである場合は、ステップ2513に進み、そうでない場合は、ステップS2512に進む。
(ステップS2512)ルール取得部57は、jを1インクリメントし、ステップS2506に戻る。
(ステップS2513)ルール取得部57は、countが1以上であるか否かを判断する。1以上である場合は、ステップS2514に進み、そうでない場合は、S2515に進む。
(ステップS2514)ルール取得部57は、ルール格納部52にrulesを蓄積する。
(ステップS2515)ルール取得部57は、iがMであるか否かを判断する。Mである場合は、上位処理にリターンし、そうでない場合は、ステップS2516に進む
なお、図25のフローチャートにおいて、一の属性値集合ごとに、N個のWebページから1以上のルールを取得している。これにより、当該属性値集合の属性ごとに、当該取得したルールを、ルール格納部52に蓄積することができる。
また、図25のフローチャートにおいて、M個のすべての各属性値集合について、N個のWebページから1以上のルールを取得し、当該取得したすべてのルールを、一括でルール格納部52に蓄積してもよい。
(具体例)
次に、データベース構築装置5の動作の具体例について説明する。
(例1:属性値集合の取得)
本例において、ルール格納部52には、図26に示すルールが格納されているものとする。当該ルールは、各レコードを一意に特定するためのID(項目名:ID)と、ルール(項目名:取得ルール)と、当該ルールにより取得できる属性値集合の属性(項目名:属性)とを対応付けて有する。
まず、取得部55は、図26のすべてのルールを取得する。
次に、取得部55は、クローリングを行い、Webから1以上のWebページを取得し、図27および図28に示すWebページを取得したものとする。図27のWebページは、テキスト文書であり、図28のWebページは、HTML文書である。
次に、取得部55は、取得したルールの各々に合致する文字列を、取得したWebページから取得する。ここで、図27のテキスト文書には、図26の「ID=011」のルール「$会社名$、$商品名$、$固有名称$を.*?発売」に合致する文字列「株式会社良品家電、フルHDテレビ、BeautyScreenを発売」が、12行目に存在する。また、図28のHTML文書には、図26の「ID=021」のルール「<h2>$会社名$、$商品名$、固有名称$を.*?発売</h2>」に合致する文字列「<h2>株式会社良品家電、フルHDテレビ、BeautyScreenを発売</h2>」が、12行目に存在する。従って、取得部55は、当該2つの文字列を取得する。
次に、取得部55は、取得した文字列「株式会社良品家電、フルHDテレビ、BeautyScreenを発売」から、当該文字列を取得した際に用いたルール「$会社名$、$商品名$、$固有名称$を.*?発売」が有する属性値を示す変数の箇所にある文字列を取得する。そして、取得部55は、会社名として「株式会社良品家電」、商品名として「フルHDテレビ」、固有名称として「BeautyScreen」を取得する。また、取得部55は、取得した文字列「<h2>株式会社良品家電、フルHDテレビ、BeautyScreenを発売</h2>」から、当該文字列を取得した際に用いたルール「<h2>$会社名$、$商品名$、$固有名称$を.*?発売</h2>」が有する属性値を示す変数の箇所にある文字列を取得する。そして、取得部55は、会社名として「株式会社良品家電」、商品名として「フルHDテレビ」、固有名称として「BeautyScreen」を取得する。
なお、当該取得した2つの属性値集合が重複しているため、取得部55は、通常、いわゆるユニーク処理を行い、最終的に1つの属性値集合「株式会社良品家電|フルHDテレビ|BeautyScreen」を取得する。
次に、取得部55は、取得した属性値集合「株式会社良品家電|フルHDテレビ|BeautyScreen」を、第二の表に追記する。このときの様子は、例えば、図29である。また、このとき、例えば、表格納部51に当該属性値集合に対応する属性を有する表が存在しない場合、取得部55は、まず、取得した属性値集合に対応する属性を有する表を生成し、当該表に取得した属性値集合を追記する。
また、例えば、図27のWebページのURLが「http://official.beautyscreen.com」であったとする。この場合、取得部55は、当該URLを取得してもよい。そして、取得部55は、当該取得したURLを、取得した属性値集合と対応付けて、第二の表に追記してもよい。このときの様子は、例えば、図30である。
また、例えば、スコア格納部53に、URL「http://official.beautyscreen.com」とスコア「100」とを対応付けて有するWebページスコア管理情報が格納されているとする。この場合、取得部55は、上記URLに対応するスコア「100」を、スコア格納部53から取得する。そして、取得部55は、当該取得したスコアを、取得した属性値集合と対応付けて、第二の表に追記する。このときの様子は、例えば、図31である。
(例2:属性値集合の生成)
本例において、表格納部51には、図32から図36に示す第二の表が格納されているものとする。当該第二の表は、それぞれ、2つの属性を有し、かつ当該属性の属性値を有する。また、当該第二の表において、項目名「ID」は、通常、属性値ではないが、属性値としてもよい。また、図32と図33の第二の表において、「*」はユニーク識別子であり、当該ユニーク識別子が付された属性がユニークであることを示す。
まず、結合部56は、ユニーク識別子を有する図32と図33の第二の表を取得する。
次に、結合部56は、図32の「ID=011」の固有名称「PAT−Analyzer」と同一の属性および属性値を有する属性値集合である図33の「ID=014」の属性値集合「PAT−Analyzer|ソフトウェア」を取得する。そして、結合部56は、図32の「ID=011」の属性値集合「特許分析株式会社|PAT−Analyzer」と、図33の「ID=014」の属性値集合「PAT−Analyzer|ソフトウェア」とを結合し、新たな属性値集合「特許分析株式会社|PAT−Analyzer|ソフトウェア」を生成する。
次に、結合部56は、生成した属性値集合「特許分析株式会社|PAT−Analyzer|ソフトウェア」を、第一の表が有する属性値集合として、表格納部51に蓄積する。このとき、結合部56は、図32に示すような表の形式にて、属性値集合を生成する。また、このとき、例えば、表格納部51に当該属性値集合に対応する属性を有する表が存在しない場合、結合部56は、まず、生成した属性値集合に対応する属性を有する表を生成し、当該表に取得した属性値集合を追記する。
次に、結合部56は、上記と同様に、図32の「ID=012」の固有名称「BeautyScreen」と同一の属性および属性値を有する属性値集合である図33の「ID=011」の属性値集合「BeautyScreen|フルHDテレビ」を取得する。そして、結合部56は、図32の「ID=012」の属性値集合「株式会社良品家電|BeautyScreen」と、図33の「ID=011」の属性値集合「BeautyScreen|フルHDテレビ」とを結合し、新たな属性値集合「株式会社良品家電|BeautyScreen|フルHDテレビ」を生成する。そして、結合部56は、上記と同様に、生成した属性値集合「株式会社良品家電|BeautyScreen|フルHDテレビ」を表格納部51に蓄積する。
なお、結合部56は、図32の「ID=013」と「ID=014」の属性値集合については、図33の属性値集合において、同一の属性および属性値を有する属性値集合が存在しないので、結合の処理を行わない。
次に、結合部56は、ユニーク識別子を有さない図34と図35と図36の第二の表を取得する。
次に、結合部56は、取得した第二の表の各々から、属性値集合を1つずつ取得し、3つの属性値集合の組み合わせを生成する。例えば、図34の「ID=011」の属性値集合、図35の「ID=011」の属性値集合、図36の「ID=011」の属性値集合を取得し、これら3つの属性値集合の組み合わせ『「特許分析株式会社|情報サービス」、「電気機械器具製造|760,000千円」、「株式会社建築物|640,000千円」』を生成したとする。当該組み合わせは、結合条件を満たさないので、結合部56は、何も行わない。
次に、結合部56は、上記と同様に、属性値集合の組み合わせを生成するために、図34の「ID=013」の属性値集合「株式会社建築物|総合工事」、図35の「ID=011」の属性値集合「総合工事|640,000千円」、図36の「ID=011」の属性値集合「株式会社建築物|640,000千円」を取得し、属性値集合の組み合わせ『「株式会社建築物|総合工事」、「総合工事|640,000千円」、「株式会社建築物|640,000千円」』を生成したとする。当該組み合わせは、結合条件を満たすので、結合部56は、当該属性値集合を結合し、新たな属性値集合「株式会社建築物|総合工事|640,000千円」を生成する。そして、結合部56は、上記と同様に、生成した属性値集合を表格納部51に蓄積する。
(例3:ルールの取得)
本例において、表格納部51には、例2にて生成した第一の表、および図32から図36に示す第二の表が格納されているものとする。
まず、ルール取得部57は、クローリングを行い、Webから1以上のWebページを取得し、図27および図28に示すWebページを取得したものとする。
次に、ルール取得部57は、取得した属性値集合を順に用いて、取得した図27と図28のWebページから、当該属性値が出現する1以上のルールを取得する。ここで、例えば、ルール取得部57は、図32の「ID=012」の属性値集合「株式会社良品家電|BeautyScreen」を用いるとする。すると、ルール取得部57は、当該属性値集合が有する2つの属性値の両方が存在する文字列を、図27と図28のWebページから取得する。図27のテキスト文書には、当該属性値集合を有する文字列が、12行目と、13行目から14行目に掛けて存在する。また、図28のHTML文書には、当該属性値集合を有する文字列が、12行目と、13行目から14行目に掛けて存在する。従って、ルール取得部57は、当該行に存在する文字列「株式会社良品家電、フルHDテレビ、BeautyScreenを発売」、「株式会社良品家電は、新型のフルHDテレビ、BeautyScreenを、<改行>2011年10月14日に発売することを発表しました」、「<h2>株式会社良品家電、フルHDテレビ、BeautyScreenを発売</h2>」、「<p>株式会社良品家電は、新型のフルHDテレビ、BeautyScreenを、<改行>2011年10月14日に発売することを発表しました</p>」を取得する。
ここで、会社名に対応する変数を「%会社名%」、固有名称に対応する変数を「%固有名称」とする。次に、ルール取得部57は、取得した文字列中の属性値を、これらの変数で置換し、新たなルール「%会社名%、フルHDテレビ、%固有名称%を発売」、「%会社名%は、新型のフルHDテレビ、%固有名称%を、<改行>2011年10月14日に発売することを発表しました」、「<h2>%会社名%、フルHDテレビ、%固有名称%を発売</h2>」、「<p>%会社名%は、新型のフルHDテレビ、%固有名称%を、<改行>2011年10月14日に発売することを発表しました</p>」を取得する。
なお、取得したルールが有する「フルHDテレビ」は、図10の第二の表から、商品名であることが明らかである。また、取得したルールが有する「2011年10月14日」は、その書式から日付であることが明らかである。従って、ルール取得部57は、これらの商品名、日付を、これらに対応する変数に置換したルール「%会社名%、%商品名%、%固有名称%を発売」、「%会社名%は、新型の%商品名%、%固有名称%を、<改行>%日付%に発売することを発表しました」、「<h2>%会社名%、%商品名%、%固有名称%を発売</h2>」、「<p>%会社名%は、新型の%商品名%、%固有名称%を、<改行>%日付%に発売することを発表しました</p>」を取得してもよい。
次に、ルール取得部57は、当該取得したルールを、ルール格納部52に蓄積する。
以上、本実施の形態によるデータベース構築装置5によれば、Web上のあらゆる情報を取得し、データベース化することができる。
また、本実施の形態によるデータベース構築装置5によれば、データベース化した情報を自動的に結合し、属性数の少ない属性値集合から、当該属性数よりも属性数の多い属性値集合を生成することができる。
また、本実施の形態によるデータベース構築装置5によれば、属性値集合を取得する際のルールを、自動的に増やすことができる。
(実施の形態4)
上記実施の形態1をさらに明瞭に説明する。図1は、本実施の形態におけるデータベース構築装置1のブロック図である。データベース構築装置1は、会社データベース101、商品データベース102、固有名称データベース103、会社商品データベース104、会社固有名称データベース105、商品固有名称データベース106、会社商品固有名称データベース107、会社ルールデータベース108、商品ルールデータベース109、固有名称ルールデータベース110、知識増殖ルールデータベース111、会社名取得部112、商品名取得部113、固有名称取得部114、知識獲得部115、およびルール学習部116を備える。
会社データベース101は、1以上の会社名を格納し得る。会社名とは、商品またはサービスを提供する株式会社、有限会社、公益法人、社団法人、独立行政法人などの法人格をもつ名称、および個人の名称である。
また、会社名とは、その会社名を特定する情報でも良い。会社データベース101は、会社名だけでなく、会社名を取得した文書の情報、または会社名の取得回数や取得割合などを格納していても良い。会社名の会社を特定する情報とは、会社を一意に特定できる情報であればなんでも良い。会社名の会社を特定する情報は、例えば、ホームページのアドレスなどを示す情報、または住所、または電話番号などであっても良い。会社名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または会社名の前後の文章やHTMLのタグ構造などである。
格納とは、不揮発性の記録媒体による長期的な格納や、揮発性の記録媒体による一時的な格納も含む概念である。以下、本発明内における格納の概念は、同一のものとする。
また、会社データベース101に会社名が記憶される過程は問わない。例えば、記録媒体を介して会社名が会社データベース101で記憶されるようになってもよく、通信回線等を介して送信された会社名が会社データベース101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された会社名が会社データベース101で記憶されるようになってもよい。また、会社データベース101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
なお、後述する商品データベース102、固有名称データベース103、会社商品データベース104、会社固有名称データベース105、商品固有名称データベース106、会社商品固有名称データベース107、会社ルールデータベース108、商品ルールデータベース109、固有名称ルールデータベース110、知識増殖ルールデータベース111、商品類似群コード対応データベース21、会社類似群コード固有名称データベース22、データベース31、データベース401、商品コード管理手段4021の各構成要素について、これらに情報が記憶される過程や、これらの実現手段は、会社データベース101と同様であるので、説明を省略する。
商品データベース102は、1以上の商品名を格納し得る。商品名とは、法人、および個人が販売、または提供している商品、または役務の名称である。商品名は、具体的には、「チョコレート」「パソコン」「宅配」「引越しサービス」などである。ここでいう商品、および役務の名称は、商標法施行規則第6条で規定されている商品および役務の区分(以下、類似群コード表という)に記載されている商品、および役務の名称に必ずしも準じていなくても良い。
また、商品名は、その商品名を特定する情報でも良い。商品データベース102は、商品名だけでなく、商品名を取得した文書の情報、または商品名の取得回数や取得割合などを格納していても良い。商品名の商品を特定する情報とは、商品を一意に特定できる情報であればなんでも良い。商品名の商品を特定する情報は、例えば、ホームページのアドレスなどを示す情報、または住所、または電話番号などであっても良い。商品名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または商品名の前後の文章やHTMLのタグ構造などである。
固有名称データベース103は、1以上の商品の固有名称を格納し得る。商品の固有名称とは、商品、および役務を識別可能な名称である。商品、および役務を識別可能な名称は、具体的には、「雪見だいふく(登録商標)」「宅急便(登録商標)」「PatentSearchAssistant(登録商標)」などである。またここでいう商品の固有名称とは、商標登録されている商標であっても良いし、そうでなくても良い。
また、商品の固有名称とは、その商品の固有名称を特定する情報でも良い。固有名称データベース103は、商品の固有名称だけでなく、商品の固有名称を取得した文書の情報、または商品の固有名称の取得回数や取得割合などを格納していても良い。商品の固有名称を特定する情報とは、商品の固有名称を一意に特定できる情報であればなんでも良い。商品の固有名称を一意に特定できる情報は、例えば、商標の出願番号や公開番号などであっても良い。商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報など、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
会社商品データベース104は、会社名と商品名とを有する1以上の組を格納し得る。
会社商品データベース104は、会社名と、商品名だけでなく、同一レコードにある会社名と商品名を取得した文書の情報、または同一レコードにある会社名と商品名の取得回数、取得頻度や共起頻度、文書内で会社名と商品名の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値でも良い。同一レコードにある会社名と商品名を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または会社名と商品名の前後の文章やHTMLのタグ構造などである。
会社固有名称データベース105は、会社名と商品の固有名称とを有する1以上の組を格納し得る。
会社固有名称データベース105は、会社名と、商品の固有名称だけでなく、同一レコードにある会社名と商品の固有名称を取得した文書の情報、または同一レコードにある会社名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で会社名と商品の固有名称の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納していても良い。同一レコードにある会社名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
商品固有名称データベース106は、商品名と商品の固有名称とを有する1以上の組を格納し得る。
会社固有名称データベース105は、商品名と、商品の固有名称だけでなく、同一レコードにある商品名と商品の固有名称を取得した文書の情報、または同一レコードにある商品名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で商品名と商品の固有名称の間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納していても良い。同一レコードにある商品名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
会社商品固有名称データベース107は、会社名と商品名と商品の固有名称とを有する1以上の組を格納し得る。
会社商品固有名称データベース107は、会社名と、商品名と、商品の固有名称だけでなく、同一レコードにある会社名と商品名と商品の固有名称を取得した文書の情報、または同一レコードにある会社名と商品名と商品の固有名称の取得回数、取得頻度や共起頻度、文書内で会社名と商品名と商品の固有名称のそれぞれの間に記載されている文字数や、形態素数、または単語数などによる平均距離、または、後述する各ルールの取得数や出現頻度の値の合計や平均など何らかの方法で用いて算出した値などを格納していても良い。同一レコードにある商品名と商品の固有名称を取得した文書の情報とは、例えば、文書の名称やそのページ数、またはWebサイトのURL示す情報、または商品の固有名称の前後の文章やHTMLのタグ構造などである。
また、会社商品固有名称データベース107に、既に出願公開されている商標の情報を格納していても良い。その場合は、会社商品固有名称データベース107は、商標の識別情報(例えば登録番号)や、登録状況などの情報を格納していても良い。
会社ルールデータベース108は、文書から会社名を取得するためのルールである1以上の会社ルールを格納し得る。
文書とは、1以上の文の集合であり、会社名や商品名、商品の固有名称が必ずしも記載されている必要はなく、また日本語だけでなく、英語や中国語、その他あらゆる言語であっても良く、2種類以上の言語が混在していても良い。例えば、文書は、WebページやHTML、XML、Wordファイルなどあっても良い。
文書から会社名を取得するとは、文書から、会社名が記載されている部分を割り出し、会社名を抽出することである。
会社ルールとは、文書から会社名を抽出するルールである。会社ルールは、例えば、会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、会社ルールは、会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、会社名を抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、会社ルールは、上述したルールが複合的に合わさっていても良い。会社ルールは、具体的には、「%会社名%」の部分に記載された会社名を取得する会社ルールの場合、「<td>社名</td><td>株式会社%会社名%</td>」などとして表す。
会社ルールデータベース108は、会社ルールだけでなく、会社ルールの取得回数や取得割合、または会社ルールが抽出する対象を格納していても良い。会社ルールが抽出する対象とは、文書から会社ルールを利用した結果、会社名を取得する場合と、会社名を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、会社ルールデータベース108は、「会社名」または「文章」などの値を格納していても良い。
商品ルールデータベース109は、文書から商品名を取得するためのルールである1以上の商品ルールを格納し得る。
文書から商品名を取得するとは、文書から、商品名が記載されている部分を割り出し、商品名を抽出することである。
商品ルールとは、文書から商品名を取得するルールである。例えば、商品ルールは、商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、商品ルールは、商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、商品ルールは、商品名を抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、商品ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名を取得する商品ルールの場合、商品ルールは、「<title>商品名一覧</title>.*?<div.*?><h[1−5].*?>一覧<h[1−5]></div><ul.*?>(<li.*?><a.*?>%商品名%</a></</li>)+</ul>」などとして表す。
商品ルールデータベース109は、商品ルールだけでなく、商品ルールの取得回数や取得割合、または商品ルールが抽出する対象を格納していても良い。商品ルールが抽出する対象とは、文書から商品ルールを利用した結果、商品名を取得する場合と、商品名を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、商品ルールデータベース109は、「商品名」または「文章」などの値を格納していても良い。
固有名称ルールデータベース110は、文書から商品の固有名称を取得するためのルールである1以上の固有名称ルールを格納し得る。
文書から商品の固有名称を取得するとは、文書から、商品の固有名称が記載されている部分を割り出し、商品名を抽出することである。
固有名称ルールとは、文書から商品の固有名称を取得するルールである。例えば、固有名称ルールは、商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、固有名称ルールは、商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称が記載されている文章を特定するHTMLのタグ構造のパターンであっても良い。また、固有名称ルールは、商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、固有名称ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%固有名称%」の部分に記載された商品の固有名称を取得する固有名称ルールの場合、固有名称ルールは、「<title>製品一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
固有名称ルールデータベース110は、固有名称ルールだけでなく、固有名称ルールの取得回数や取得割合、または固有名称ルールが抽出する対象を格納していても良い。固有名称ルールが抽出する対象とは、文書から固有名称ルールを利用した結果、商品の固有名称を取得する場合と、商品の固有名称を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、固有名称ルールデータベース110は、「商品の固有名称」または「文章」などの値を格納していてもよい。
知識増殖ルールデータベース111は、文書から、構成数が少ない情報を用いて、より構成数の多い情報を取得するルールである1以上の知識増殖ルールを格納し得る。
構成数が少ない情報を用いて、より構成数の多い情報を取得するとは、以下の様なことである。
(1)会社データベース101に格納されている情報を用いて、会社商品データベース104、および会社固有名称データベース105、および会社商品固有名称データベース107に格納されている情報を取得すること
(2)商品データベース102に格納されている情報を用いて、会社商品データベース104、および商品固有名称データベース106、および会社商品固有名称データベース107に格納されている情報を取得すること
(3)固有名称データベース103に格納されている情報を用いて、会社固有名称データベース105、および商品固有名称データベース106、および会社商品固有名称データベース107に格納されている情報を取得すること
(4)会社商品データベース104に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報を取得すること
(5)会社固有名称データベース105に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報を取得すること
(6)商品固有名称データベース106に格納されている情報を用いて、会社商品固有名称データベース107に格納されている情報を取得すること
知識増殖ルールとは、文書から会社名、または商品名、または商品の固有名称から1、または2種類の情報を利用して、残る2、または1種類の情報を取得するためのルールである。具体的には、知識増殖ルールは、第一知識増殖ルールと、第二知識増殖ルールと、第三知識増殖ルールと、第四知識増殖ルールと、第五知識増殖ルールと、第六知識増殖ルールと、第七知識増殖ルールと、第八知識増殖ルールと、第九知識増殖ルールと、第十知識増殖ルールと、第十一知識増殖ルールと、第十二知識増殖ルールとがある。
第一知識増殖ルールは、文書から、会社名を用いて、会社名と商品名との組を取得するためのルールである。会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第一知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第一知識増殖ルールは、会社名が記載されているWebページのうち、会社名にかかわりのある商品名を直接抽出するHTMLタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第一知識増殖ルールは、会社名が記載されている文書のうち、会社名にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第一知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%商品名%」の部分に記載された商品名の組を取得することを示す場合、第一知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」などとして表す。
第二知識増殖ルールは、文書から、会社名を用いて、会社名と商品の固有名称との組を取得するためのルールである。
会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第二知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品の固有名詞を直接抽出することができる文章のパターンであっても良く、商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第二知識増殖ルールは、会社名が記載されているWebページのうち、会社名にかかわりのある商品の固有名詞を直接抽出するHTMLタグ構造のパターンであっても良く、商品の固有名詞が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第二知識増殖ルールは、会社名が記載されている文書のうち、会社名にかかわりのある商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第二知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第二知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>製品一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第三知識増殖ルールは、文書から、会社名を用いて、会社名と商品名と商品の固有名称との組を取得するためのルールである。
会社名を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名が記載されている文書を選別することであっても良く、会社名が記載されている周辺の文字列を抽出することなどであっても良い。
第三知識増殖ルールとは、例えば、会社名が記載されている文書のうち、会社名にかかわりのある商品名と商品の固有名詞を直接抽出することができる文章のパターンであっても良く、商品名を直接抽出し商品の固有名称を含む文章を特定する文章パターンであっても良く、商品名を含む文章を特定し商品の固有名詞を直接抽出する文章パターンであっても良く、商品名と商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第三知識増殖ルールは、会社名が記載されているWebページのうち、会社名にかかわりのある商品名と商品の固有名詞を直接抽出するHTMLタグ構造のパターンであっても良く、商品名を直接特定し商品の固有名称を含む文章を特定するHTMLタグ構造のパターンであっても良く、商品名を含む文章を特定し商品の固有名詞を直接特定するHTMLタグ構造のパターンであっても良く、商品名と商品の固有名詞が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第三知識増殖ルールは、会社名が記載されている文書のうち、会社名にかかわりのある商品名と商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第三知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第三知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第四知識増殖ルールは、文書から、商品名を用いて、会社名と商品名との組を取得するためのルールである。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第四知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第四知識増殖ルールは、商品名が記載されているWebページのうち、商品名にかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第四知識増殖ルールは、商品名が記載されている文書のうち、商品名にかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第四知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%商品名%」の部分に記載された商品名の組を取得することを示す場合、第四知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」などとして表す。
第五知識増殖ルールは、文書から、商品名を用いて、商品名と商品の固有名称との組を取得するためのルールである。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第五知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第五知識増殖ルールは、商品名が記載されているWebページのうち、商品名にかかわりのある商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第五知識増殖ルールは、商品名が記載されている文書のうち、商品名にかかわりのある商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第五知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名と「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第五知識増殖ルールは、例えば、「<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第六知識増殖ルールは、文書から、商品名を用いて、会社名と商品名と商品の固有名称との組を取得するためのルールである。
商品名を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第六知識増殖ルールとは、例えば、商品名が記載されている文書のうち、商品名にかかわりのある会社名と商品の固有名詞を直接抽出することができる文章のパターンであっても良く、会社名を直接抽出し商品の固有名称を含む文章を特定する文章パターンであっても良く、会社名を含む文章を特定し商品の固有名詞を直接抽出する文章パターンであっても良く、会社名と商品の固有名詞が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第六知識増殖ルールは、商品名が記載されているWebページのうち、商品名にかかわりのある会社名と商品の固有名詞を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名を直接特定し商品の固有名称を含む文章を特定するHTMLのタグ構造のパターンであっても良く、会社名を含む文章を特定し商品の固有名詞を直接特定するHTMLのタグ構造のパターンであっても良く、会社名と商品の固有名詞が記載されている文章を特定するタグHTMLタグ構造のパターンであっても良い。また、第六知識増殖ルールは、商品名が記載されている文書のうち、商品名にかかわりのある会社名と商品の固有名詞が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第六知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第六知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第七知識増殖ルールは、文書から、商品の固有名称を用いて、会社名と商品の固有名称との組を取得するためのルールである。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第七知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第七知識増殖ルールは、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第七知識増殖ルールは、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第七知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第七知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>製品一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第八知識増殖ルールは、文書から、商品の固有名称を用いて、商品名と商品の固有名称との組を取得するためのルールである。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第八知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第八知識増殖ルールは、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第八知識増殖ルールは、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第八知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%商品名%」の部分に記載された商品名と「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第八知識増殖ルールは、例えば、「<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第九知識増殖ルールは、文書から、商品の固有名称を用いて、会社名と商品名と商品の固有名称との組を取得するためのルールである。
固有名称を用いてとは、例えば、上述する文書から固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第九知識増殖ルールとは、例えば、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名と商品名を直接抽出することができる文章のパターンであっても良く、会社名を直接抽出し商品名を含む文章を特定する文章パターンであっても良く、会社名を含む文章を特定し商品名を直接抽出する文章パターンであっても良く、会社名と商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第九知識増殖ルールは、商品の固有名称が記載されているWebページのうち、商品の固有名称にかかわりのある会社名と商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名を直接特定し商品名を含む文章を特定するHTMLのタグ構造のパターンであっても良く、会社名を含む文章を特定し商品名を直接特定するHTMLのタグ構造のパターンであっても良く、会社名と商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第九知識増殖ルールは、商品の固有名称が記載されている文書のうち、商品の固有名称にかかわりのある会社名と商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第九知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第九知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十知識増殖ルールは、文書から、会社名と商品名の組を用いて、会社名と商品名と商品の固有名称との組を取得するためのルールである。
会社名と商品名の組を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名と、商品データベース102に格納されている1以上の商品名が記載されている文書を選別することであっても良く、会社名と、商品名が記載されている周辺の文字列を抽出することなどであっても良い。
第十知識増殖ルールとは、例えば、会社名と商品名が記載されている文書のうち、会社名と商品名にかかわりのある商品の固有名称を直接抽出することができる文章のパターンであっても良く、商品の固有名称が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第十知識増殖ルールは、会社名と商品名が記載されているWebページのうち、会社名と商品名にかかわりのある商品の固有名称を直接抽出するHTMLのタグ構造のパターンであっても良く、商品の固有名称が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第十知識増殖ルールは、会社名と商品名が記載されている文書のうち、会社名と商品名にかかわりのある商品の固有名称が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第十知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第十知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十一知識増殖ルールは、文書から、会社名と商品の固有名称の組を用いて、会社名と商品名と固有名称との組を取得するためのルールである。
会社名と固有名称の組を用いてとは、例えば、上述する文書から会社データベース101に格納されている1以上の会社名と、固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、会社名と、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第十一知識増殖ルールとは、例えば、会社名と商品の固有名称が記載されている文書のうち、会社名と商品の固有名称にかかわりのある商品名を直接抽出することができる文章のパターンであっても良く、商品名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第十一知識増殖ルールは、会社名と商品の固有名称が記載されているWebページのうち、会社名と商品の固有名称にかかわりのある商品名を直接抽出するHTMLのタグ構造のパターンであっても良く、商品名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第十一知識増殖ルールは、会社名と商品の固有名称が記載されている文書のうち、会社名と商品の固有名称にかかわりのある商品名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第十一知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、第十一知識増殖ルールは、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第十一知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
第十二知識増殖ルールは、文書から、商品名と商品の固有名称の組を用いて、会社名と商品名と固有名称との組を取得するためのルールである。
商品名と固有名称の組を用いてとは、例えば、上述する文書から商品データベース102に格納されている1以上の商品名と、固有名称データベース103に格納されている1以上の商品の固有名称が記載されている文書を選別することであっても良く、商品名と、商品の固有名称が記載されている周辺の文字列を抽出することなどであっても良い。
第十二知識増殖ルールとは、例えば、商品名と商品の固有名称が記載されている文書のうち、商品名と商品の固有名称とかかわりのある会社名を直接抽出することができる文章のパターンであっても良く、会社名が記載されている文章を特定する文章パターンであっても良い。また、文書がWebページの場合は、第十二知識増殖ルールは、商品名と商品の固有名称が記載されているWebページのうち、商品名と商品の固有名称とかかわりのある会社名を直接抽出するHTMLのタグ構造のパターンであっても良く、会社名が記載されている文章を特定するHTMLタグ構造のパターンであっても良い。また、第十二知識増殖ルールは、商品名と商品の固有名称が記載されている文書のうち、商品名と商品の固有名称とかかわりのある会社名が抽出できない上記と同様のパターンであっても良い。また、上記各パターンは、例えば、決め打ちの文字列であっても良く、正規表現であってもよく、品詞や文字数などを指定するものであっても良い。さらに、第十二知識増殖ルールは、上述したルールが複合的に合わさっていても良い。具体的には、「%会社名%」の部分に記載された会社名と、「%商品名%」の部分に記載された商品名と、「%固有名称%」の部分に記載された商品の固有名称の組を取得することを示す場合、第十二知識増殖ルールは、例えば、「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>%商品名%一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」などとして表す。
知識増殖ルールデータベース111は、知識増殖ルールだけでなく、知識増殖ルールの種類、または知識増殖ルールの取得回数や取得割合、または知識増殖ルールが抽出する対象を格納していても良い。知識増殖ルールが抽出する対象とは、知識増殖ルールを利用した結果、文書から、会社名、または商品名、または商品の固有名称といった名称を取得する場合と、商品の固有名称を含む文章を取得する場合など、複数の種類の情報を取得する可能性がある場合、何を取得するのか明示する値である。具体的には、知識増殖ルールデータベース111は、「名称」または「文章」などの値を格納していてもよい。
また、知識増殖ルールデータベース111は、上述の各知識増殖ルールをフラグとして保持しても良く、または上述の知識増殖ルールごとに別々のデータベースであっても良い。
会社名取得部112は、1以上の会社ルールを用いて、1以上の会社名を、1以上のWebサーバ装置から取得し、会社データベース101に蓄積する。
Webサーバ装置とは、具体的には、Webサービス、またはデータベースを公開するサーバ装置である。Webサービスとは、HTML形式などのマークアップ言語などにより構成されるものを公開していることに限るものではなく、例えば、Webブラウザ上や専用のアプリケーション実行環境上で動作可能なアプリケーションソフトウェアのシステムを公開していることであっても良い。Webサーバ装置は、インターネット上に公開されているものでも良く、ローカルエリア上に公開されているものでも良い。
会社名取得部112は、Webサーバ装置から取得したWebページから、会社ルールを用いて会社名を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
会社ルールを用いて会社名を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などに、会社ルールデータベース108に登録されている会社ルールを適用し、当該会社ルールに合致する会社名を取得することである。例えば、会社名取得部112は、任意の会社ルールで「%会社名%」と記載されている部分に当てはまる文字列を取得する。
会社名取得部112は、会社名を会社データベース101に蓄積する際、使用した会社ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを会社データベース101に登録するようにしても良い。
商品名取得部113は、1以上の商品ルールを用いて、1以上の商品名を、1以上のWebサーバ装置から取得し、商品データベース102に蓄積する。
商品名取得部113は、Webサーバ装置から取得したWebページから、商品ルールを用いて商品名を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
商品ルールを用いて商品名を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などに、商品ルールデータベース109に登録されている商品ルールを適用し、当該商品ルールに合致する商品名を取得することである。例えば、商品名取得部113は、任意の商品ルールで「%商品名%」と記載されている部分に当てはまる文字列を取得する。
商品名取得部113は、商品名を商品データベース102に蓄積する際、使用した商品ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを商品データベース102に登録するようにしても良い。
固有名称取得部114は、1以上の固有名称ルールを用いて、1以上の固有名称を、1以上のWebサーバ装置から取得し、固有名称データベース103に蓄積する。
固有名称取得部114は、Webサーバ装置から取得したWebページから、固有名称ルールを用いて商品の固有名称を取得する。Webサーバ装置からWebページを取得するとは、いわゆるWebブラウザが取得する処理と同様である。
固有名称ルールを用いて商品の固有名称を取得するとは、Webサーバ装置から取得した文書、またはHTMLの構造などに、固有名称ルールデータベース110に格納されている固有名称ルールを適用し、当該固有名称ルールに合致する商品の固有名称を取得することである。例えば、固有名称取得部114は、任意の固有名称ルールで「%固有名称%」と記載されている部分に当てはまる文字列を取得する。
固有名称取得部114は、商品の固有名称を固有名称データベース103に蓄積する際、使用した固有名称ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを固有名称データベース103に登録するようにしても良い。
知識獲得部115は、1以上のWebサーバ装置から取得したWebページから、所定の情報を用いて、所定の情報を取得し、取得した情報を対応するデータベースに蓄積する。具体的には、知識獲得部115は、以下の様にして所定の情報を取得する。
(1)会社データベース101の1以上の各会社名と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の会社名と固有名称、または1以上の会社名と商品名と固有名称とを取得する。
(2)商品データベース102の1以上の各商品名と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得する。
(3)固有名称データベース103の1以上の各固有名称と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と固有名称、または1以上の商品名と固有名称、または1以上の会社名と商品名と固有名称とを取得する。
(4)会社商品データベース104の1以上の会社名と商品名の組と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得する。
(5)会社固有名称データベース105の1以上の会社名と商品の固有名称の組と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得する。
(6)商品固有名称データベース106の1以上の商品名と商品の固有名称の組と、1以上の知識増殖ルールのいずれかとを用いて、1以上の会社名と商品名と固有名称とを取得する。
(1)は、会社データベース101に蓄積されている会社名が含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第一知識増殖ルール、または第二知識増殖ルール、または第三知識増殖ルールを適用し、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
(2)は、商品データベース102に蓄積されている商品名が含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第四知識増殖ルール、または第五知識増殖ルール、または第六知識増殖ルールを適用し、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
(3)は、固有名称データベース103に蓄積されている商品の固有名称が含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第七知識増殖ルール、または第八知識増殖ルール、または第九知識増殖ルールを適用し、会社名、または商品名、または商品の固有名称の2以上の組を取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
(4)は、会社データベース101の会社名と、商品データベース102に蓄積されている商品名とが含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第十知識増殖ルールを適用し、会社名、商品名、商品の固有名称の組を取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
(5)は、会社データベース101の会社名と、固有名称データベース103に蓄積されている商品の固有名称とが含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第十一知識増殖ルールを適用し、会社名、商品名、商品の固有名称の組取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
(6)は、商品データベース102に蓄積されている商品名と、固有名称データベース103に登録されている商品の固有名称とが含まれている文書をWebサーバ装置から取得し、当該文書に対して知識増殖データベースに蓄積されている第十二知識増殖ルールを適用し、会社名、商品名、商品の固有名称の組を取得することである。例えば、知識獲得部115は、各ルールで「%会社名%」と記載されている部分に当てはまる文字列を会社名、「%商品名%」と記載されている部分に当てはまる文字列を商品名、「%固有名称%」と記載されている部分に当てはまる文字列を商品の固有名称として取得する。
知識獲得部115は、会社名、および商品名、および商品の固有名称を対応する各データベースに蓄積する際、使用した知識増殖ルールの取得回数や取得割合に対して、一定の閾値を設けてその閾値を超えた情報のみを各データベースに登録するようにしても良い。
ルール学習部116は、1以上の各データベースに存在する1以上の情報を用いて、1以上のWebサーバ装置を検索し、1以上の情報が出現する1以上のパターンを取得し、パターンが予め決められた条件を満たすほどよく出現する1以上のパターンを取得し、1以上のパターンを対応する各ルールデータベースに蓄積する。
1以上の各データベースに存在する1以上の情報を用いて、1以上のWebサーバ装置を検索するとは、具体的には、会社データベース101、または商品データベース102、または固有名称データベース103、または会社商品データベース104、または会社固有名称データベース105、または商品固有名称データベース106から1以上のデータベースに格納されている1以上の任意の情報を検索キーワードとして、サーバ装置を検索することである。
Webサーバ装置を検索するとは、例えば、インターネット上のWebサーバ装置(図示せず)が提供するWebページに含まれる文字列情報を検索対象とした検索である。Web検索は、例えば、検索用サイトを利用して行われる。ここでは、例えば、検索用サイトが提供するいわゆる検索エンジンに検索キーを含むクエリなどを送信し、検索エンジンが送信する検索結果を示す情報を受信することを、例えば、Web検索を行うことと考える。検索キーの送信などは、検索エンジンが提供するAPIなどを利用することで可能である。
1以上の情報が出現する1以上のパターンを取得するとは、サーバ装置を検索した結果取得した情報から、検索に使用した1以上の各データベースに存在する1以上の情報が含まれているパターンを取得することである。パターンとは、例えば、文章のパターンであっても良く、対象がWebページの場合は、HTMLのタグ構造のパターンであっても良く、上述したルールが複合的に合わさっていても良い。パターンの取得は、会社名、および商品名、および商品の固有名称を取得できる内容あれば何でも良く、例えば文章全体をパターンとして取得しても良く、複数の文章から検索に用いた情報を含む最長共通部分列を取得しても良い。
予め決められた条件を満たすほど良く出現する1以上のパターンを取得は、各ルールデータベースに登録する条件を予め定め、その条件を良く満たすパターンのみを取得する。
予め決められた条件とは、各ルールデータベースに登録する条件を予め定めたものである。条件は、パターンを評価できる値であればなんでも良い。例えば、条件は、パターンの取得回数であっても良く、取得したすべてのパターンのうちそのパターンが占める割合であっても良い。
1以上のパターンを対応する各ルールデータベースに蓄積するとは、予め決められた条件を満たすほど良く出現したパターンをそのパターンに対応するデータベースに登録する。対応するデータベースとは、会社名を取得するパターンであれば会社ルールデータベース108、商品名を取得するパターンであれば商品ルールデータベース109、商品の固有名称を取得するパターンであれば固有名称ルールデータベース110、会社名と商品名の組を取得するパターン、および会社名と商品の固有名称の組を取得するパターン、および商品名と商品の固有名称の組を取得するパターン、および会社名と商品名と商品の固有名称の組を取得するパターンであれば知識増殖ルールデータベース111に登録する。
また、ルール学習部116は、2種類以上の情報の組を格納しているデータベースに存在する1以上の情報を用いて、1以上のパターンを取得した場合は、2種類以上の情報の組に対応するルールデータベース、および2種類以上の情報の組の一部分の情報を用いて、2種類以上の情報の組に対応する1以上のルールデータベースに、1以上のパターンを蓄積する。
2種類以上の情報の組とは、会社名と商品名、または会社名と商品の固有名称、または商品名と商品の固有名称、または会社名と商品名と商品の固有名称の情報である。2種類以上の情報の組を格納しているデータベースとは、会社商品データベース104、または会社固有名称データベース105、または商品固有名称データベース106、または会社商品固有名称データベース107である。1以上のパターンを取得した場合とは、2種類以上の情報の組を用いて、会社名と商品名と商品の固有名称のうち2種類以上の組を含むパターンを取得した場合である。2種類以上の情報の組の一部分の情報を用いてとは、2種類の情報の組であった場合は各々の情報、3種類の情報の組であった場合は各々、および任意の2種類の情報の組のすべての組み合わせを用いることである。ルール学習部116は、これら分解した情報を用いてパターンを取得し、取得したパターンを対応するデータベースに登録する。また、ルール学習部116は、例えば、2種類以上の情報の組が会社名と商品名であった場合、会社名と商品名を取得するパターンを取得するだけでなく、会社名を取得するパターンと商品名を取得するパターンについても取得し、取得したパターンを知識増殖ルールデータベース111、または会社ルールデータベース108、または商品ルールデータベース109に取得したパターンを蓄積しても良い。
図2は、本実施の形態におけるデータベース構築装置2のブロック図である。データベース構築装置2は、会社商品固有名称データベース107、商品類似群コード対応データベース21、会社類似群コード固有名称データベース22、会社類似群コード固有名称データベース構築部23を備える。
商品類似群コード対応データベース21は、商品名と類似群コードを関連付けて保持するデータベースである。商品名は、会社商品固有名称データベース107に格納されている商品名と同様、法人、および個人が販売、または提供している商品、または役務の名称である。ここでいう商品、および役務の名称は、類似群コード表に記載されている商品、および役務の名称に必ずしも準じていなくても良い。類似群コードとは、商標の審査基準上、互いに類似するものと考えられる商品、役務に付与されたコードで、数字2桁とアルファベット1桁と数字2桁のコードである。(http://www.jpo.go.jp/shiryou/kijun/kijun2/ruiji_kijun9.htm)
商品類似群コード対応データベース21における商品名と類似群コードは、通常1対多の関係で格納されており、複数の商品名に対して同一の類似群コードが関連付けられて格納されている。
会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107に格納されている1以上の会社名と商品名と商品の固有名称の組から商品名を取得し、取得した商品名を用いて、商品類似群コード対応データベース21から商品の類似群コードを取得し、会社名と取得した類似群コードと商品の固有名称との組を会社類似群コード固有名称データベース22に蓄積する。
図3は、本実施の形態における商標侵害検知装置3のブロック図である。商標侵害検知装置3は、データベース31、受付部32、商標類否判断部33、商品類否判断部34、出力部35を備える。
データベース31は、データベース構築装置1が構築した会社商品固有名称データベース107であっても良く、データベース構築装置2が構築した会社類似群コード固有名称データベース22であっても良い。
受付部32は、商標および商品の類似群コードを特定する情報であるコード特定情報を有する調査対象商標情報を受け付ける。調査対象商標情報とは、例えば、商標の文字列である商標文字列と、1以上のコード特定情報の組である。コード特定情報とは、商品名、または類似群コードそのものなどの類似群コードを特定する文字列である。商標文字列、および商品名の文字列は、1文字以上の文字で構成される。商標文字列、および商品名の文字列を構成する文字は、漢字やアルファベットやカタカナやひらがななど、種類は問わない。また、商標文字列、および商品名の文字列を構成する文字は、2種類以上の文字が混在していてもよい。ここでの受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線または無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。調査対象商標情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でも良い。受付部32は、テンキーやキーボードなどの入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
商標類否判断部33は、データベース31が有する1以上の商品の固有名称と、調査対象商標情報が有する商標とを用いて、商標の類否判断を行う。
図4は、本実施の形態における商標侵害検知装置3の商標類否判断部33のブロック図である。商標類否判断部33は、商標文字列取得部331、称呼取得部332、称呼表示部333、称呼指定受付部334、類似検索部335、商標類否判断結果取得部336を備える。
商標文字列取得部331は、商標の文字列である商標文字列を受け付ける。商標文字列は、1文字以上の文字で構成される。商標文字列を構成する文字は、漢字やアルファベットやカタカナやひらがななど、種類は問わない。
称呼取得部332は、商標文字列取得部331が受け付けた商標文字列から、この商標文字列の称呼の情報である称呼情報を取得する。称呼取得部332は、一の商標文字列から複数の称呼情報を取得しても良い。称呼取得部332が取得する称呼情報は、ひらがなまたはカタカナまたはこれらと同などの情報である。称呼情報がこれらのいずれであるかは、例えば、この称呼情報を検索に利用する後述する類似検索部335の仕様などによって決定される。
称呼取得部332は、称呼情報をどのように取得しても良い。例えば、称呼取得部332は、1以上の文字列と、当該文字列の読みの情報とを対応付けて有する辞書を用いて、図示しない記憶媒体などに格納されている辞書を用いて商標文字列取得部331が受け付けた商標文字列に対応する1以上の称呼情報を自動取得するようにしてもよい。また、称呼取得部332は、ユーザなどから図示しない入力デバイスなどを介して入力された商標文字列に対応する1以上の称呼情報を取得(受付)してもよい。この実施の形態においては、特に、称呼情報を自動取得する場合を例に挙げて説明する。
称呼取得部332は、例えば、商標文字列に対して形態素解析を行い、形態素解析により得られた商標文字列の読みの情報を称呼情報として取得する。例えば、称呼取得部332は、形態素解析を用いることにより、商標文字列を形態素に分解し、分解された各文字列の読みを取得し、この文字列を組み合わせることで商標文字列の称呼情報を取得することが可能である。形態素解析においては、形態素の分解や形態素に分解された文字列からの読みの取得は、例えば、上記と同様の、形態素となりうる文字列と、その読みの情報とを対応付けて有する辞書を用いて行われる。形態素解析としては、例えば、「Mecab(和布蕪)」(http://mecab.sourceforge.net/)や、「ChaSen(茶筌)」(http://chasen.naist.jp)などの形態素解析システムなどが利用可能である。
また、称呼取得部332は、商標文字列を構成する漢字や、数字や、アルファベットなどの文字や単語などを読みに変換して、称呼情報を取得しても良い。漢字や、数字の文字や単語を読みに変換する処理は、例えば、日本語のインプットメソッドのいわゆる再変換技術や、上述したような形態素解析システムの技術により実現可能である。また、アルファベットの文字や単語を読みに変換する処理は、例えば、日本語のインプットメソッドのアルファベット列の入力を日本語に変換する技術により実現可能である。アルファベット列を日本語の読みに変換する技術は、例えば、特開2009−199434号公報などに開示されている。なお、アルファベットや、漢字や、数字の称呼(読み)は、一通りとは限らないため、称呼取得部332は、様々な組合せの複数の情報を取得しても良い。例えば、称呼取得部332は、「IT」から「アイティー」、「アイティイ」と「イット」という複数の称呼を取得しても良い。また、称呼取得部332は、「山田」から「ヤマダ」、「ヤマタ」、「ヤマデン」、「サンデン」、「サンダ」、「サンタ」という複数の称呼を取得しても良い。
また、称呼取得部332は、商標文字列を構成し得る文字列(例えば、漢字や、アルファベットや、数字など)と、その読みの情報(辞書情報)を予め図示しない格納部に蓄積しておくようにし、商標文字列を構成する各文字についてそれぞれ1以上の読みの情報を取得して、取得した読みの情報を組み合わせたものを称呼情報として取得してもよい。
また、例えば、1以上の文字列とその読みを示すカタカナまたはひらがなとを対応付けて有する予め用意された形態素の辞書情報について、称呼取得部332が、商標文字列に含まれるカタカナまたはひらがな以外の文字列と一致する文字列を検索し、検出された文字列に対応付けられた読み(称呼)の情報を辞書情報から順次取得していくことで実現可能である。なお、称呼取得部332は、一の文字列について読みが複数ある場合や、検索に用いる文字数の区切で異なる称呼が得られる場合には、複数の読みを組み合わせたり区切を変更したりしてこれらを適宜組み合わせて複数の称呼情報を取得する。このような辞書情報は、例えば、称呼取得部332が、予め保持しているようにすればよい。称呼取得部332は、このような辞書情報を保持する記憶媒体などを有していても良い。
称呼取得部332は、さらに、上記で取得した1以上の称呼情報を分割して1以上の分割称呼情報を取得してもよい。分割称呼情報は、具体的には、称呼情報の一部分の情報である。分割称呼情報は、例えば、後述する類似検索などで称呼情報と実質的に同じものとして利用される。例えば、称呼取得部332は、取得した称呼情報のそれぞれの文字列を、任意の位置で区切って、その区切った位置によって分割される前または後、またはその両方の文字列を分割称呼情報として取得する。また、称呼取得部332は、文字列の区切る位置を順次変更して、それぞれの区切る位置に応じて分割称呼情報を取得しても良い。例えば、称呼取得部332は、各称呼情報を構成する文字列をそれぞれの文字間で区切っていった場合にそれぞれ得られる区切り位置の前後の文字列を、すべて分割称呼情報として取得しても良い。
称呼表示部333は、称呼取得部332が取得した1以上の称呼情報を図示しないモニタなどの表示デバイスに表示する。また、称呼表示部333は、称呼取得部332が取得した1以上の分割称呼情報を表示してもよい。称呼表示部333は、表示デバイスを含むと考えても含まないと考えてもよい。称呼表示部333は、表示デバイスのドライバーソフト、または表示デバイスのドライバーソフトと表示デバイスなどで実現され得る。
称呼指定受付部334は、称呼取得部332が取得した称呼情報の1以上を指定する称呼指定情報をユーザなどから受け付ける。例えば、称呼指定情報は、称呼表示部333に表示された称呼情報の1以上を指定する称呼指定情報を受け付ける。また、称呼指定受付部334は、称呼取得部332が取得した称呼情報と分割称呼情報とのうちの1以上を指定する称呼指定情報をユーザなどから受け付けてもよい。例えば、称呼指定受付部334は、称呼表示部333により表示された称呼情報と分割称呼情報とのうちの1以上を指定する称呼指定情報を受け付ける。なお、称呼指定受付部334は、予めどのような称呼を指定するか定めたルールを設けることで、ユーザに選択させなくても良いようにしてもよい。称呼指定情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるものなど、何でも良い。称呼指定受付部334は、テンキーやキーボードなどの入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェアなどで実現され得る。
類似検索部335は、称呼取得部332が取得した各称呼情報を用いて類似検索を行う。または、類似検索部335は、称呼取得部332が取得した称呼情報のうちの、称呼指定情報が指定する各称呼情報を用いて類似検索を行うようにしてもよい。また、類似検索部335は、称呼取得部332が取得した各称呼情報と各分割称呼情報とを用いて類似検索を行うようにしてもよい。または、類似検索部335は、称呼取得部332が取得した各称呼情報と各分割称呼情報とのうちの、称呼指定情報が指定する称呼情報と分割称呼情報とを用いて類似検索を行うようにしてもよい。称呼指定情報が指定する称呼情報と分割称呼情報とを用いてとは、例えば、指定された称呼情報または分割称呼情報だけを用いることを意味する。類似検索部335は、図示しない記憶媒体などの格納部に予め格納されている商品の固有名称の称呼の情報(以下、登録称呼情報と称す)の中から、称呼情報(または分割称呼情報)と類似する登録称呼情報を検索する。登録称呼情報は、会社商品固有名称データベース107、または会社類似群コード固有名称データベース22の固有名称から、予め作成構築しておく。
なお、商品の固有名称の称呼の情報が格納されている図示しない格納部は、商標類否判断部33が有していても良いし、図示しない外部のサーバ装置などが有していても良い。また、類似検索部335は、図示しない商品の固有名称の類似検索の処理を行うサーバ装置などに、称呼情報または分割称呼情報、および類似群コードを送信して類似検索を実行させ、その検索結果を受信するようにしても良く、このような場合も、類似検索部335が類似検索を行ったと考えて良い。
また、類似検索部335による類似検索の処理は、称呼情報の音響学的な判断処理であっても良い。類似検索の処理は、例えば、称呼情報の音節などから類似しないと判断される要因を検出し、その要因をペナルティ値に換算し、換算したペナルティ値を用いて、称呼情報が類似するか否かを判断して、商標文字列から取得した称呼情報と類似する称呼情報を商品の固有名称の称呼情報の中から検出する処理である。なお、ここでは、説明の便宜上、分割称呼情報も称呼情報と呼ぶこととする。また、ここでは、商品の固有名称の称呼情報である登録称呼情報が、類似群コードと商品の固有名称の識別情報などと対応付けて図示しない格納部に格納されているものとする。
類似検索部335が取得する類似検索の結果は、例えば、少なくとも類似する登録称呼情報が検出されたか否かを示すことが可能な情報である。例えば、類似検索の結果は、類似する登録称呼情報の有無を示す情報であっても良いし、類似する1以上の登録称呼情報を示す情報でもよい。また、類似検索の結果は、類似する登録称呼情報の数などを示す情報でも良い。また、称呼の情報が、商品の固有名称や、その識別情報(例えば登録番号)などと対応付けて上述した図示しない格納部に格納されている場合、類似検索部335は、類似する登録称呼情報に対応する商品の固有名称やその識別情報を図示しない格納部から取得して検索結果として出力してもよい。また、類似検索部335は、登録称呼情報に対応付けられた類似群コードの情報を含む情報を出力してもよい。商品の固有名称の称呼について類似検索を行うための具体的な処理については、上述した特許文献1や、日本の特許庁が提供する称呼検索サービスや、商用データベースの称呼検索サービスなどの技術として公知であるので、ここでは詳細な説明は省略する。
商標類否判断結果取得部336は、例えば、類似検索部335による類似検索の結果と、類似検索の結果の各称呼情報と関連する会社名と類似群コード特定情報を取得する。類似検索の結果については、類似検索の結果を、類似検索を行った称呼情報ごとに取得する。また、類似検索の結果については、例えば、類似検索の結果を、類似検索を行った分割称呼情報ごとに取得する。また、商標類否判断結果取得部336は、称呼が類似すると判断された商品の固有名称や、商品の固有名称の識別情報を示す情報も各証拠情報に対して付加しても良い。
商品類否判断部34は、データベース31が有する1以上の商品名または1以上の類似群コードと、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行う。調査対象商標情報が商品名を保持していた場合、商品類否判断部34は、会社商品固有名称データベース107から調査対象商標情報の商品名に関連する商品名をもつレコードの会社名と商品の固有名称を取得する。調査対象商標情報の商品名に関連したとは、例えば、調査対象商標情報の商品名と会社商品固有名称データベース107の商品名とが同一である、または意味的に類似しているなどの場合である。調査対象商標情報が類似群コードを保持していた場合、商品類否判断部34は、会社類似群コード固有名称データベース22から調査対象商標情報の類似群コードと同一の類似群コードをもつレコードの会社名と商品の固有名称を取得する。
出力部35は、商標類否判断部33の判断結果と、商品類否判断部34の判断結果とから、商標の類似、および商品の類似に関する情報を出力する。例えば、出力部35は、類否する情報が検出されたか否かを示すことが可能な情報を出力する。類否する情報が検出されたか否かを示すことが可能な情報は、例えば、商標類否判断部33の判断結果の場合は、類似する登録称呼情報の有無を示す情報であっても良いし、類似する1以上の登録称呼情報を示す情報でも良い。また、類否する情報が検出されたか否かを示すことが可能な情報は、類似する登録称呼情報の数などを示す情報でも良い。また、類否する情報が検出されたか否かを示すことが可能な情報は、類似する任意数の類似する登録称呼情報であっても良い。また、出力部35は、類似する登録称呼情報に対応する商品の固有名称やその識別情報を出力しても良い。また、出力部35は、上記すべての出力内容について、会社名、または商品名、または類似群コード、または商品の固有名称のうち、一部または全部を付加して出力しても良い。また、例えば、商品類否判断部34の判断結果の場合は、類否する情報が検出されたか否かを示すことが可能な情報は、該当するコード特定情報の有無を示す情報であっても良いし、該当する1以上のコード特定情報を示す情報でも良い。また、類否する情報が検出されたか否かを示すことが可能な情報は、該当するコード特定情報の数などを示す情報でも良い。また、出力部35は、上記すべての出力内容について、会社名、または固有名称のうち、一方または双方を付加して出力しても良い。
出力部35は、商標類否判断部33の判断結果すべてと、商品類否判断部34の判断結果をすべて出力しても良く、どちらか一方であっても良い。また、出力部35は、商標類否判断部33と商品類否判断部34の結果のうち商品の固有名称が共通するものだけを出力しても良い。
ここで述べる出力とは、ディスプレイへの表示、プリンタによる紙などへの印字、外部の装置への送信、記録媒体への蓄積などを含む概念である。出力部35は、表示デバイスを含むと考えても含まないと考えてもよい。出力部35は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイスなどで実現され得る。
図5は、本実施の形態にかかる会社名取得部112の動作の一例を示すフローチャートである。以下、図5を用いて動作について説明する。
(ステップS401)会社名取得部112は、会社ルールデータベース108から会社ルールを取得する。取得できた場合、ステップS402に進み、取得できなかった場合、終了する。
(ステップS402)会社名取得部112は、カウンターmに1を代入する。
(ステップS403)会社名取得部112は、ステップS401で取得した会社ルールにm番目の会社ルールがあるか否かを判断する。ある場合は、ステップS404に進み、ない場合は、終了する。
(ステップS404)会社名取得部112は、Webサーバ装置からWebページを取得する。なお、このとき取得するWebページは、会社ルールデータベース108から会社名を含む文章を取得する会社ルールを用いて、予め取得した会社名が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS405へ進み、取得できなかった場合はステップS410に進む。
(ステップS405)会社名取得部112は、カウンターnに1を代入する。
(ステップS406)会社名取得部112は、ステップS404で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS407に進み、ない場合は、ステップS410に進む。
(ステップS407)会社名取得部112は、ステップS404で取得したWebページのn番目のWebページに対し、ステップS401で取得した会社ルールのm番目の会社ルールを用いて会社名を取得する。取得できた場合は、ステップS408へ進み、取得できなかった場合は、ステップS409に進む。
(ステップS408)会社名取得部112は、ステップS407で取得した会社名を会社データベース101に格納する。
(ステップS409)会社名取得部112は、カウンターnを1インクリメントする。そして、ステップS406に戻る。
(ステップS410)会社名取得部112は、カウンターmを1インクリメントする。そしてステップS403に戻る。
以下、本実施の形態における会社名取得部112の具体的な動作について説明する。なお、この具体例において示した会社名取得部112の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
会社名取得部112は、会社ルールデータベース108から会社名を取得するためのすべてのルールを取得する。会社名取得部112は、会社ルールデータベース108が、会社ルールが抽出する対象に関するデータを保持していた場合、「会社名」が対象の会社ルールだけを取得する。また、会社名取得部112は、会社ルールデータベース108が会社ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた会社ルールだけを取得しても良い。今回の具体例では、会社ルールを5種類取得したとする。
図6は、会社ルールデータベース108に格納されているデータの一例を示す図である。会社ルールデータベース108は、会社名を取得するパターンを有している。ここでは、具体例として、「%会社名%」と記載されている部分に該当する名詞句を会社名として取得する会社ルールを列挙した。
会社名取得部112は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
会社名取得部112は、取得したすべての会社ルールを用いて、取得したすべてのWebページから会社名を取得する。今回の場合では、会社名取得部112は、会社ルールが5種類、Webページが100種類なので500回会社名を取得する処理を行う。具体的には、会社名取得部112は、会社ルールが「<title>%会社名%株式会社</title>」の場合、取得したWebページに「<title>サンプル商事株式会社</title>」と記載されていれば、「サンプル商事」の部分を取得する。しかし、会社名取得部112は、パターンに対応する内容が記載されていなければ何も取得しない。
会社名取得部112は、会社名が取得できた場合は、会社データベース101に登録する。今回の場合では、会社名取得部112は、「サンプル商事」を登録する。また、もし会社ルールデータベース108が会社ルールの取得回数や取得割合等の値を保持していた場合、会社名取得部112は、その値と一緒に会社データベース101に登録しても良く、取得した情報の周辺である「<title>サンプル商事株式会社</title>」も一緒に登録しても良い。
図7は、本実施の形態にかかる商品名取得部113の動作の一例を示すフローチャートである。以下、図7を用いて動作について説明する。
(ステップS501)商品名取得部113は、商品ルールデータベース109から商品ルールを取得する。取得できた場合、ステップS502に進み、取得できなかった場合、終了する。
(ステップS502)商品名取得部113は、カウンターmに1を代入する。
(ステップS503)商品名取得部113は、ステップS501で取得した商品ルールにm番目の商品ルールがあるか否かを判断する。ある場合は、ステップS504に進み、ない場合は、終了する。
(ステップS504)商品名取得部113は、Webサーバ装置からWebページを取得する。なお、このとき取得するWebページは、商品ルールデータベース109から商品名を含む文章を取得する商品ルールを用いて、予め取得した商品名が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS505へ進み、取得できなかった場合はステップS510に進む。
(ステップS505)商品名取得部113は、カウンターnに1を代入する。
(ステップS506)商品名取得部113は、ステップS504で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS507に進み、ない場合は、ステップS510に進む。
(ステップS507)商品名取得部113は、ステップS504で取得したWebページのn番目のWebページに対し、ステップS501で取得した商品ルールのm番目の商品ルールを用いて商品名を取得する。取得できた場合は、ステップS508へ進み、取得できなかった場合は、ステップS509に進む。
(ステップS508)商品名取得部113は、ステップS507で取得した商品名を商品データベース102に格納する。
(ステップS509)商品名取得部113は、カウンターnを1インクリメントする。そして、ステップS506に戻る。
(ステップS510)商品名取得部113は、カウンターmを1インクリメントする。そしてステップS503に戻る。
以下、本実施の形態における商品名取得部113の具体的な動作について説明する。なお、この具体例において示した商品名取得部113の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
商品名取得部113は、商品ルールデータベース109から商品名を取得するためのすべてのルールを取得する。商品名取得部113は、商品ルールデータベース109が、商品ルールが抽出する対象に関するデータを保持していた場合、「商品名」が対象の商品ルールだけを取得する。また、商品名取得部113は、商品ルールデータベース109が、商品ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた商品ルールだけを取得しても良い。今回の具体例では、商品ルールを5種類取得したとする。
図8は商品ルールデータベース109に格納されているデータの一例を示す図である。商品ルールデータベース109は、商品名を取得するパターンを有している。ここでは、具体例として、「%商品名%」と記載されている部分に該当する名詞句を商品名として取得する商品ルールを列挙した。
商品名取得部113は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
商品名取得部113は、取得したすべての商品ルールを用いて、取得したすべてのWebページから商品名を取得する。今回の場合では、商品名取得部113は、商品ルールが5種類、Webページが100種類なので500回商品名を取得する処理を行う。具体的には、商品名取得部113は、商品ルールが「<title>商品名一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?>%商品名%</li>)+</ul>」の場合、取得したWebページに「<title>商品名一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="tv.html">テレビ</li><li><a href="dvd.html">DVDプレイヤ</li><li><a href="pc.html">パソコン</li></ul>・・・(省略)・・・」と記載されていれば、「テレビ」「DVDプレイヤ」「パソコン」の部分を取得する。しかし、商品名取得部113は、パターンに対応する内容が記載されていなければ何も取得しない。
商品名取得部113は、商品名が取得できた場合は、商品データベース102に登録する。今回の場合では、商品名取得部113は、「テレビ」と「DVDプレイヤ」と「パソコン」を登録する。また、もし商品ルールデータベース109が商品ルールの取得回数や取得割合等の値を保持していた場合、商品名取得部113は、その値と一緒に商品データベース102に登録しても良く、取得した情報の周辺である「<title>商品名一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="tv.html">テレビ</li><li><a href="dvd.html">DVDプレイヤ</li><li><a href="pc.html">パソコン</li></ul>・・・(省略)・・・」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから商品名を取得できる。
図9は、本実施の形態にかかる固有名称取得部114の動作の一例を示すフローチャートである。以下、図9を用いて動作について説明する。
(ステップS601)固有名称取得部114は、固有名称ルールデータベース110から固有名称ルールを取得する。取得できた場合、ステップS602に進み、取得できなかった場合、終了する。
(ステップS602)固有名称取得部114は、カウンターmに1を代入する。
(ステップS603)固有名称取得部114は、ステップS601で取得した固有名称ルールにm番目の固有名称ルールがあるか否かを判断する。ある場合は、ステップS604に進み、ない場合は、終了する。
(ステップS604)固有名称取得部114は、Webサーバ装置からWebページを取得する。なお、このとき取得するWebページは、固有名称ルールデータベース110から商品の固有名称を含む文章を取得する固有名称ルールを用いて、予め取得した商品の固有名称が含まれる可能性のあるWebページであっても良いし、無作為に大量に取得しても良い。Webページを取得できた場合は、ステップS605へ進み、取得できなかった場合はステップS610に進む。
(ステップS605)固有名称取得部114は、カウンターnに1を代入する。
(ステップS606)固有名称取得部114は、ステップS604で取得したWebページにn番目のWebページがあるか否かを判断する。ある場合は、ステップS607に進み、ない場合は、ステップS610に進む。
(ステップS607)固有名称取得部114は、ステップS604で取得したWebページのn番目のWebページに対し、ステップS601で取得した固有名称ルールのm番目の固有名称ルールを用いて商品の固有名称を取得する。取得できた場合は、ステップS608へ進み、取得できなかった場合は、ステップS609に進む。
(ステップS608)固有名称取得部114は、ステップS607で取得した商品の固有名称を固有名称データベース103に格納する。
(ステップS609)固有名称取得部114は、カウンターnを1インクリメントする。そして、ステップS606に戻る。
(ステップS610)固有名称取得部114は、カウンターmを1インクリメントする。そしてステップS603に戻る。
以下、本実施の形態における固有名称取得部114の具体的な動作について説明する。なお、この具体例において示した固有名称取得部114の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
固有名称取得部114は、固有名称ルールデータベース110から商品の固有名称を取得するためのすべてのルールを取得する。固有名称取得部114は、固有名称ルールデータベース110が、固有名称ルールが抽出する対象に関するデータを保持していた場合、「商品の固有名称」が対象の固有名称ルールだけを取得する。また、固有名称取得部114は、固有名称ルールデータベース110が、固有名称ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた固有名称ルールだけを取得しても良い。今回の具体例では、固有名称ルールを5種類取得したとする。
図10は、固有名称ルールデータベース110に格納されているデータの一例を示す図である。固有名称ルールデータベース110は、商品の固有名称を取得するパターンを有している。ここでは、具体例として、「%固有名称%」と記載されている部分に該当する名詞句を商品の固有名称として取得する固有名称ルールを列挙した。
固有名称取得部114は、Webページを取得する。今回の具体例では、Webページを無作為に100種類取得したとする。
固有名称取得部114は、取得したすべての固有名称ルールを用いて、取得したすべてのWebページから商品の固有名称を取得する。今回の場合では、固有名称取得部114は、固有名称ルールが5種類、Webページが100種類なので500回商品の固有名称を取得する処理を行う。具体的には、固有名称取得部114は、固有名称ルールが「<title>製品一覧</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%固有名称%</a></li>)+</ul>」の場合、取得したWebページに「<title>製品一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="sc.html">サンプルカメラ</li><li><a href="sc2.html">サンプルカメラ2</li></ul>・・・(省略)・・・」と記載されていれば、「サンプルカメラ」「サンプルカメラ2」を取得する。しかし、固有名称取得部114は、パターンに対応する内容が記載されていなければ何も取得しない。
固有名称取得部114は、商品の固有名称が取得できた場合は、固有名称データベースに登録する。今回の場合では、固有名称取得部114は、「サンプルカメラ」と「サンプルカメラ2」を登録する。なお、固有名称ルールデータベース110が固有名称ルールの取得回数や取得割合等の値を保持していた場合、固有名称取得部114は、その値と一緒に固有名称データベース103に登録しても良く、取得した情報の周辺である「<title>製品一覧</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="sc.html">サンプルカメラ</li><li><a href="sc2.html">サンプルカメラ2</li></ul>・・・(省略)・・・」も一緒に登録しても良い。
以上、本実施の形態によれば、任意のWebページから商品の固有名称を取得できる。
図11は、本実施の形態にかかる知識獲得部115の動作の一例を示すフローチャートである。以下、図11を用いて動作について説明する。
(ステップS701)知識獲得部115は、知識増殖ルールデータベース111から知識増殖ルールを取得する。取得できた場合、ステップS702に進み、取得できなかった場合、終了する。
(ステップS702)知識獲得部115は、カウンターmに1を代入する。
(ステップS703)知識獲得部115は、ステップS701で取得した知識増殖ルールにm番目の知識増殖ルールがあるか否かを判断する。ある場合は、ステップS704に進み、ない場合は、終了する。
(ステップS704)知識獲得部115は、ステップS701で取得した知識増殖ルールのm番目の知識増殖ルールが用いるために使用する情報を各データベースからすべて取得する。知識増殖ルールが用いるために使用する情報とは、具体的には、第一から第三知識増殖ルールの場合は会社データベース101から会社名を取得し、第四から第六知識増殖ルールの場合は商品データベース102から商品名を取得し、第七から第九知識増殖ルールの場合は固有名称データベース103から商品の固有名称を取得し、第十知識増殖ルールの場合は会社商品データベース104から会社名と商品名を取得し、第十一知識増殖ルールの場合は会社固有名称データベース105から会社名と商品の固有名称を取得し、第十二知識増殖ルールの場合は商品固有名称データベース106から商品名と商品の固有名称を取得する。
(ステップS705)知識獲得部115は、カウンターnに1を代入する。
(ステップS706)知識獲得部115は、ステップS704で取得した知識増殖ルールが用いるために使用する情報にn番目の情報があるか否かを判断する。ある場合は、ステップS707へ進み、ない場合はステップS713へ進む。
(ステップS707)知識獲得部115は、Webサーバ装置からWebページを取得する。なお、この時取得するWebページは、ステップS704で取得した知識増殖ルールが用いるために使用する情報のうちn番目の情報を含んだWebページを取得する。Webページを取得できた場合は、ステップS708へ進み、取得できなかった場合はステップS714に進む。
(ステップS708)知識獲得部115は、カウンターoに1を代入する。
(ステップS709)知識獲得部115は、ステップS707で取得したWebページにo番目のWebページがあるか否かを判断する。ある場合は、ステップS710に進み、ない場合は、ステップS714に進む。
(ステップS710)知識獲得部115は、ステップS707で取得したWebページのo番目のWebページに対し、ステップS701で取得した知識増殖ルールのm番目の知識増殖ルールを用いて会社名、または商品名、または商品の固有名称を取得する。取得できた場合は、ステップS711へ進み、取得できなかった場合は、ステップS712に進む。
(ステップS711)知識獲得部115は、ステップS710で取得した会社名、または商品名、または商品の固有名称を対応するデータベースに蓄積する。
(ステップS712)知識獲得部115は、カウンターoを1インクリメントする。そして、ステップS709に戻る。
(ステップS713)知識獲得部115は、カウンターmを1インクリメントする。そして、ステップS703に戻る。
(ステップS714)知識獲得部115は、カウンターnを1インクリメントする。そして、ステップS706に戻る。
以下、本実施の形態における知識獲得部115の具体的な動作について説明する。なお、この具体例において示した知識獲得部115の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
知識獲得部115は、知識増殖ルールデータベース111から会社名、または商品名、または商品の固有名称を取得するためのすべてのルールを取得する。知識獲得部115は、知識増殖ルールデータベース111に、知識増殖ルールが抽出する対象に関するデータを保持していた場合、「名称」が対象の知識増殖ルールだけを取得する。なお、知識獲得部115は、知識増殖ルールの取得回数や取得割合等の値を保持していた場合、任意の閾値を超えた知識増殖ルールだけを取得しても良い。今回の具体例では、知識増殖ルールを5種類取得したとする。
図12は知識増殖ルールデータベース111に格納されているデータの一例を示す図である。知識増殖ルールデータベース111は、会社名、または商品名、または商品の固有名称を取得するパターンを有している。本具体例の知識増殖ルールは、「%会社名%」と記載されている部分に該当する名詞句を会社名、同様に「%商品名%」と記載されている部分に該当する名詞句を商品名、「%固有名称%」と記載されている部分に該当する名詞句を商品の固有名称として取得する知識増殖ルールである。なお、今回の具体例では、知識増殖ルールの種類ごとにデータベースを作成するのではなく、知識増殖データベースに知識増殖ルールの種類を保持させた。
知識獲得部115は、取得した知識増殖ルールが用いるための情報を取得する。例えば、知識獲得部115は、第一知識増殖ルールを取得した場合、会社データベース101に記載されている会社名をすべて取得する。なお、知識獲得部115は、会社データベース101が会社名の取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、会社名を10種類取得したとする。
知識獲得部115は、Webページを取得する。Webページは、例えば今回の具体例では、知識獲得部115は、取得した会社名一つに対して100種類ずつ取得したとする。
知識獲得部115は、取得したすべての知識増殖ルールを用いて、取得したすべてのWebページから会社名を取得する。今回の場合では、知識獲得部115は、知識増殖ルールが5種類、知識増殖ルールが用いる情報が10種類、Webページが100種類なので5000回会社名、商品名、商品の固有名称のうち、1または2種類の情報の取得を行う。
具体的には、知識獲得部115は、知識増殖ルールが「<title>%会社名%の(取り扱い)?商品</title>.*?<span.*?>一覧</span><ul.*?>(<li.*?><a.*?>%商品名%</a></li>)+</ul>」で第一の知識増殖ルールであり、用いる情報が「サンプル工業」であった場合、取得したWebページに「<title>サンプル工業の商品</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="scr.html">ネジ</a></li><li><a href="driv.html">ドライバー</a></li></ul>・・・(省略)・・・」と記載されていれば、「ネジ」「ドライバー」の部分を取得する。知識獲得部115は、パターンに対応する内容が記載されていなければ何も取得しない。
知識獲得部115は、新たな情報が取得できた場合は、対応する各データベースに登録する。今回の場合では、知識獲得部115は、「ネジ」と「ドライバー」を商品データベース102、「サンプル工業」と「ネジ」、「サンプル工業」と「ドライバー」を会社商品データベース104に登録する。なお、知識獲得部115は、知識増殖ルールデータベース111が知識増殖ルールの取得回数や取得割合等の値を保持していた場合、その値と一緒に登録しても良く、取得した情報の周辺である「<title>サンプル工業の商品</title>・・・(省略)・・・<span>一覧</span><ul><li><a href="scr.html">ネジ</a></li><li><a href="driv.html">ドライバー</a></li></ul>・・・(省略)・・・」も一緒に登録しても良い。なお、知識獲得部115は、取得した全ての知識増殖ルールに対して上記処理を行う。
以上、本実施の形態によれば、任意のWebページから会社名、または商品名、または商品の固有名称を取得できる。
図13と図14は、本実施の形態にかかるルール学習部116の動作の一例を示すフローチャートである。以下、図13と図14を用いて動作について説明する。
(ステップS801)ルール学習部116は、カウンターmに0を代入する。
(ステップS802)ルール学習部116は、カウンターmを1インクリメントする。
(ステップS803)ルール学習部116は、カウンターmの値によって処理を分岐する。mの値が1の時はステップS804に進み、mの値が2の時はステップS805に進み、mの値が3の時はステップS806に進み、mの値が4の時はステップS807に進み、mの値が5の時はステップS810に進み、mの値が6の時はステップS813に進み、mの値が7の時はステップS816に進み、mの値が8の場合は終了する。
(ステップS804)ルール学習部116は、変数oに「会社データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS805)ルール学習部116は、変数oに「商品データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS806)ルール学習部116は、変数oに「固有名称データベース」、変数dに「商品の固有名称」を代入する。そして、ステップS823へ進む。
(ステップS807)ルール学習部116は、変数oに「会社商品データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS808)ルール学習部116は、変数oに「会社商品データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS809)ルール学習部116は、変数oに「会社商品データベース」、変数dに「会社名・商品名」を代入する。そして、ステップS823へ進む。
(ステップS810)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS811)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS812)ルール学習部116は、変数oに「会社固有名称データベース」、変数dに「会社名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS813)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS814)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS815)ルール学習部116は、変数oに「商品固有名称データベース」、変数dに「商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS816)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名」を代入する。そして、ステップS823へ進む。
(ステップS817)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「商品名」を代入する。そして、ステップS823へ進む。
(ステップS818)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「固有名称」を代入する。そして、ステップS823へ進む。
(ステップS819)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・商品名」を代入する。そして、ステップS823へ進む。
(ステップS820)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS821)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS822)ルール学習部116は、変数oに「会社商品固有名称データベース」、変数dに「会社名・商品名・固有名称」を代入する。そして、ステップS823へ進む。
(ステップS823)ルール学習部116は、変数oに格納されているデータベースから、変数dに格納されている情報に関する情報を取得する。例えば、変数oに「会社データベース」変数dに「会社名」が格納されている場合、ルール学習部116は、会社データベース101から会社名をすべて取得する。また、ルール学習部116は、変数dに格納されている情報が「会社名・商品名」など、「・」で区切って二種類の情報が登録されていた場合、「・」の前後で文字列を分割し、前と後ろの両方の情報の組を取得する。「会社名・商品名」の場合は、ルール学習部116は、「会社名」と「商品名」の組を取得する。取得できた場合は、ステップS824へ進み、取得できなかった場合は829に進む。
(ステップS824)ルール学習部116は、カウンターhに1を代入する。
(ステップS825)ルール学習部116は、ステップS823で取得したoから取得したdに関する情報にh番目の情報があるか否かを判断する。ある場合は、ステップS826に進み、ない場合は、ステップS830に進む。
(ステップS826)ルール学習部116は、Webサーバ装置からWebページを取得する。この時取得するWebページは、ステップS823で取得したoから取得したdに関するh番目の情報を含んだWebページを取得する。Webページを取得できた場合はステップS827へ進み、取得できなかった場合はステップS829へ進む。
(ステップS827)ルール学習部116は、ステップS826で取得したWebページから、ステップS823で取得したoから取得したdに関するh番目の情報の文字列を情報の内容がわかる文字列に置換する。例えば、ルール学習部116は、会社名の部分を「%会社名%」に置換する。
(ステップS828)ルール学習部116は、ステップS827で置換したWebページを、例えば、図示しないメモリなどの記憶媒体に一時記憶する。
(ステップS829)ルール学習部116は、カウンターhを1インクリメントする。
(ステップS830)ルール学習部116は、ステップS828で記憶したすべてのWebページからパターンを取得する。パターンを取得できた場合は、ステップS831へ進み、取得できなかった場合はステップS833へ進む。
(ステップS831)ルール学習部116は、ステップS830で取得したパターンから5回以上抽出したパターンを選別し取得する。パターンを取得できた場合は、ステップS832へ進み、取得できなかった場合はステップS833へ進む。
(ステップS832)ルール学習部116は、ステップS831で取得したパターンを変数dに格納されている情報に対応するルールデータベースに格納する。具体的には、ルール学習部116は、dの値が「会社名」であれば「会社ルールデータベース」、「商品名」であれば「商品ルールデータベース」、「固有名称」であれば「固有名称ルールデータベース」、「会社名・商品名」「会社名・固有名称」「商品名・固有名称」であれば「知識増殖ルールデータベース」に格納する。
(ステップS833)ルール学習部116は、ステップS823へ進む前に実行していた処理の次の処理進む。
以下、本実施の形態におけるルール学習部116の具体的な動作について説明する。なお、この具体例において示したルール学習部116の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
ルール学習部116は、会社データベース101と商品データベース102と固有名称データベース103と会社商品データベース104と会社固有名称データベース105と商品固有名称データベース106と会社商品固有名称データベース107から、会社名、または商品名、または商品の固有名称、またはこれらの組み合わせを可能な限り取得し、取得した情報が記載されたWebページから、各データベースから取得した情報を抽出するためのパターンを取得する。
今回は具体例として、ルール学習部116が、会社データベース101から会社名を取得し会社ルールデータベース108に格納されるルールを学習する場合について述べる。上記以外のルールを学習する場合については、適宜読み替えるものとする。
まず、ルール学習部116は、会社データベース101から会社名をすべて取得する。なお、ルール学習部116は、会社データベース101が会社名の取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、ルール学習部116は、会社名を10種類取得したとする。
ルール学習部116は、Webページを取得する。Webページは、例えば今回の具体例では、取得した会社名一つに対して100種類ずつ取得したとする。
ルール学習部116は、取得したWebページから、取得するために用いた会社名を「%会社名%」に置換する。今回は、例えば、ルール学習部116は、「サンプル商事」を用いて「<table><tbody><tr><td>社名</td><td>サンプル商事株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」の文章を取得した場合は「<table><tbody><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」とする。
ルール学習部116は、取得したWebページからパターンを取得する。ルール学習部116は、取得したWebページから2以上のWebページを取り出し、取得するために用いた「%会社名%」を含む最長共通部分列を取得する。最長共通部分の取得は、取得したWebページから2つを選ぶすべての組み合わせで行う。ルール学習部116は、例えば「<table><tbody><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>資本金</td><td>10,000,000 円</td></tr>」と「<table><tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>設立</td><td>1950年1月1日</td></tr>」の二つの文章を記載されているWebページがあった場合、「%会社名%」を保持した最も長い文字列である「<tr><td>社名</td><td>%会社名%株式会社</td></tr><tr><td>」をパターンとして取得する。今回の場合では、ルール学習部116は、会社名が10種類、Webページが会社名に対して100種類なので49500回パターンの取得を行う。なお、ルール学習部116は、パターンの取得対象はHTMLのタグを含まない文章でも良く、また最長共通部分列以外の方法であっても良く、2つ以上のWebページの組み合わせからパターンを取得しても良い。
ルール学習部116は、取得したパターンからよく使われているパターンのみを知識増殖データベースに登録する。また、ルール学習部116は、一定以上の頻度、例えば5回以上出現するパターンを知識増殖ルールデータベース111に登録する。
以上、本実施の形態によれば、任意のWebページから会社名、または商品名、または商品の固有名称を取得するパターンを取得できる。
図15は、本実施の形態にかかる会社類似群コード固有名称データベース構築部23の動作の一例を示すフローチャートである。以下、図15を用いて動作について説明する。
(ステップS901)会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107から会社名と商品名と商品の固有名称の情報を取得する。取得できた場合はステップS902へ進み、取得できなかった場合は終了する。
(ステップS902)会社類似群コード固有名称データベース構築部23は、カウンターmに1を代入する。
(ステップS903)会社類似群コード固有名称データベース構築部23は、ステップS901で取得した情報にm番目の情報があるか否かを判断する。あった場合はステップS904へ進み、なかった場合は終了する。
(ステップS904)会社類似群コード固有名称データベース構築部23は、ステップS901で取得したm番目の情報の商品名をキーにし、商品類似群コード対応データベース21から商品名に対応した類似群コードを取得する。
(ステップS905)会社類似群コード固有名称データベース構築部23は、ステップS901で取得したm番目の情報の会社名と、商品の固有名称と、ステップS904で取得した類似群コードを1レコードとして会社類似群コード固有名称データベース22に登録する。
(ステップS906)会社類似群コード固有名称データベース構築部23は、カウンターmを1インクリメントする。
以下、本実施の形態における会社類似群コード固有名称データベース構築部23の具体的な動作について説明する。なお、この具体例において示した会社類似群コード固有名称データベース構築部23の取得結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。
会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107の商品名をキーにして、類似群コード対応データベースから類似群コードを取得し、会社類似群コード固有名称データベース22を構築する。
まず、会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107から、会社名と商品名と商品の固有名称をすべて取得する。なお、会社類似群コード固有名称データベース構築部23は、会社商品固有名称データベース107が取得回数や取得割合等の値を保持している場合は、任意の閾値以下の会社名を取得しないようにしても良い。今回の具体例では、会社名と商品名と商品の固有名称の組を10種類取得したとする。
次に、会社類似群コード固有名称データベース構築部23は、商品類似群コード対応データベース21から各商品名に対応した類似群コードを取得する。具体的には、会社類似群コード固有名称データベース構築部23は、商品名の完全一致だけではなく、例えば「テレビ」と「TV」のような商品名が概念的に一致する類似群コードを取得しても良い。
そして、会社類似群コード固有名称データベース構築部23は、取得した会社名と類似群コードと商品の固有名称の組を会社類似群コード固有名称データベース22に登録する。
以上、本実施の形態によれば、会社商品固有名称データベース107と類似群コード対応データベースから商品名をキーにして、会社名と類似群コードと商品の固有名称を保持する会社類似群コード固有名称データベース22を構築できる。
図16は、本実施の形態にかかる商標侵害検知装置3の動作の一例を示すフローチャートである。以下、図16を用いて動作について説明する。
(ステップS1001)受付部32は、調査対象商標情報、具体的には商標文字列と商品名、または類似群コードとを受け付けたか否かを判断する。受け付けた場合、ステップS1002に進み、受け付けていない場合、ステップS1001に戻る。
(ステップS1002)商標文字列取得部331は、調査対象商標情報から商標文字列を取得する。取得できた場合は、ステップS1003に進み、取得できなかった場合はステップS1017へ進む。
(ステップS1003)称呼取得部332は、ステップS1002で取得した商標文字列を用いて、1以上の称呼情報を取得する。例えば、称呼取得部332は、商標文字列を形態素解析することや、商標文字列を構成する各文字の読みを、予め用意された文字の読みが格納された辞書などから読み出し、それらの組合せを取得することで、称呼情報を取得する。
(ステップS1004)称呼取得部332は、カウンターmに1を代入する。
(ステップS1005)称呼取得部332は、ステップS1003で取得した称呼情報にm番目の称呼情報があるか否かを判断する。ある場合、ステップS1006に進み、ない場合、ステップS1011に進む。
(ステップS1006)称呼取得部332は、カウンターnに1を代入する。
(ステップS1007)称呼取得部332は、m番目の称呼情報にn番目の区切位置があるか否かを判断する。例えば、称呼情報の全ての文字の間を区切り位置に設定していく場合、n番目の区切り位置とは、例えば、称呼情報の先頭からn番目の文字と(n+1)番目の文字との間である。このため、称呼取得部332は、例えばm番目の称呼情報に、先頭から(n+1)番目の文字があるか否かを判断すればよい。n番目の区切位置がある場合、ステップS1008に進み、ない場合、ステップS1010に進む。なお、称呼取得部332は、称呼情報のうちの、商標文字列を構成する各文字の読みの間や、商標文字列を構成する形態素の読みの間を、区切り位置に設定して称呼情報を分割していくようにしても良い。例えば、称呼取得部332は、商標文字列「ABC」の各文字の読み「エー」と「ビー」と「シー」を組み合わせて称呼情報「エービーシー」が取得された場合、区切り位置に設定できる位置を、「エー」と「ビー」との間、及び「ビー」と「シー」の間としてもよい。
(ステップS1008)称呼取得部332は、n番目の区切位置でm番目の称呼情報を区切って、その前後の文字列である分割称呼情報を取得する。なお、商標の称呼となり得ないような予め指定された文字が先頭に来る文字列は、分割称呼情報として取得しないことが好ましい。予め指定された文字は、例えば長音や、「ン」などである。取得した分割称呼情報は、図示しないメモリなどの記憶媒体に一時記憶する。既に他の分割称呼情報が記憶されている場合は、追記する。
(ステップS1009)称呼取得部332は、カウンターnを1インクリメントする。そして、ステップS1007に戻る。
(ステップS1010)称呼取得部332は、カウンターmを1インクリメントする。そして、ステップS1005に戻る。
(ステップS1011)称呼表示部333は、ステップS1003で取得した称呼情報と、ステップS1008で取得した分割称呼情報を表示する。なお、称呼表示部333は、ユーザに選択させず、特定のルールで称呼指定を選択する場合は、本ステップの表示、およびステップS1012の受付をスキップしても良い。
(ステップS1012)称呼指定受付部334は、称呼指定情報または分割称呼指定情報の少なくとも一方を指定する称呼指定情報を受け付けたか否かを判断する。受け付けた場合、称呼表示部333は、例えば、称呼指定情報で指定された称呼情報と割称呼情報とをメモリなどの記憶媒体に一時記憶して、ステップS212に進み、受け付けていない場合、ステップS1012に戻る。
(ステップS1013)類似検索部335は、カウンターkに1を代入する。
(ステップS1014)類似検索部335は、ステップS1012で受け付けた称呼指定情報によって指定された称呼情報と分割称呼情報とを合わせた中に、k番目の称呼情報または分割称呼情報があるか否かを判断する。ある場合、ステップS1015に進み、ない場合、ステップS1017に進む。
(ステップS1015)類似検索部335は、k番目の称呼情報または分割称呼情報を用いて、データベース31を検索し、類似検索を行う。そして、類似検索部335は、類似検索の結果を、図示しない記憶媒体などに蓄積する。類似検索の結果は、例えば、類似検索に用いられたk番目の称呼情報または分割称呼情報と、類似すると判断された称呼と、その称呼に対応付けられた会社名、および商品の固有名称とを含む情報である。
(ステップS1016)類似検索部335は、カウンターkを1インクリメントする。そして、ステップS1014に戻る。
(ステップS1017)商品類否判断部34は、データベース31からステップS1001で取得した調査対象商標情報をもとに使用するデータベースを選択する。具体的には、商品類否判断部34は、調査対象商標情報に類似群コードが含まれていた場合は、会社類似群コード固有名称データベース22を選択し、商品名が含まれていた場合は会社商品固有名称データベース107を選択する。選択できた場合は、ステップS1018に進み、選択できなかった場合はステップS1019に進む。
(ステップS1018)商品類否判断部34は、ステップS1017のデータベース31からステップS1001で取得した調査対象商標情報の商品名、または類似群コードをキーにして商品の類否判断を行う。そして、商品類否判断部34は、類否判断の結果を、図示しない記憶媒体などに蓄積する。類否判断の結果は、例えば、類否判断に用いられた商品名、または類似群コードと、一致すると判断された商品名、または類似群コードと、その称呼に対応付けられた会社名と商品の固有名称とを含む情報である。
(ステップS1019)商標侵害検知装置3は、ステップS1015で蓄積した類似検索結果と、ステップS1018で蓄積した情報から、商品の固有名称が共通する情報を取得する。
(ステップS1020)出力部35は、ステップS1019で取得した情報を出力する。そして処理を終了する。
以下、本実施の形態における商標侵害検知装置3の具体的な動作について説明する。なお、この具体例において示したデータは、説明のために便宜上用意されたものである
まず、ユーザが、中華そばの麺である「針金麺」について、侵害の可能性を判断したいと考えて、「針金麺」という商標文字列と、中華そばの麺の類似群コードである「32F03」を、商標侵害検知装置3にキーボードなどを操作して入力したとする。受付部32は、商標文字列「針金麺」を受け付ける。そして、商標文字列取得部331は、商標文字列を取得し、商品類否判断部34は、類似群コードを取得する。
称呼取得部332は、商標文字列取得部331が受け付けた商標文字列「針金麺」の称呼情報を取得する。ここでは、まず、商標文字列に対して形態素解析を行って形態素ごとの読みの情報を取得する。例えば、形態素解析によって「針金麺」は、2つの形態素「針金」と「麺」とに分けられ、形態素「針金」からは読みとして「ハリガネ」が、また、形態素「麺」からは読みとして「メン」が取得されたとする。それぞれの形態素には、1つの読みしか取得されないため、「針金麺」の称呼情報の一つとしてこれらの読みを単に結合した「ハリガネメン」を取得する。
さらに、称呼取得部332は、予め用意された漢字の読みが格納された辞書(図示せず)から、商標文字列「針金麺」の各文字の読みを取得する。例えば、「針」からは「ハリ」、「シン」という読みを取得したとする。また「金」からは、「キン」、「コガネ」、「コン」、「カネ」を取得したとする。また、「麺」からは「メン」を取得したとする。そして、称呼取得部332は、取得した文字の読みを、取得元となる文字の並びに沿って組み合わせることで称呼情報を取得する。例えば、称呼取得部332は、「ハリキンメン」、「ハリコガネメン」、「ハリコンメン」、「ハリカネメン」、「シンキンメン」、「シンコガネメン」などの称呼情報が取得する。なお、形態素解析で取得した称呼情報と一致するものは、削除する。
次に、称呼取得部332は、上記で取得した各称呼情報を分割して分割称呼情報を取得する。例えば、称呼情報「ハリガネメン」については、まず、区分位置を1文字目の「ハ」と2文字目の「リ」の間に設定して称呼情報を分割することで、「ハ」という分割称呼情報と、「リガネメン」という分割称呼情報とを取得する。更に、称呼取得部332は、区分位置を2文字目の「リ」と3文字目の「ガ」の間に設定して称呼情報を分割することで、「ハリ」という分割称呼情報と、「ガネメン」という分割称呼情報とを取得する。同様にして、称呼取得部332は、「ハリガ」、「ネメン」、「ハリガネ」、「メン」、「ハリガネメ」を取得する。但し「ン」は、分割称呼情報としては取得しない。同様にして、称呼取得部332は、他の称呼情報についても分割称呼情報を取得する。なお、称呼取得部332は、取得した分割称呼情報において、重複するものは一つを除いて削除する。
そして、称呼表示部333は、取得した称呼情報と分割称呼情報とをモニタなどに出力する。
図17は、称呼表示部333による、称呼情報と分割称呼情報との表示例を示す図である。なお、ここでは、称呼情報も分割称呼情報も、後述する類似検索においては特に区別せずに利用されるため、称呼情報と分割称呼情報とを特に区別せずに称呼として表示している。
次に、ユーザが、図17に示した称呼情報と分割称呼情報とのうちの、類似検索に利用したいと考えるものの横のチェックボックスにチェックを入れて、「指定完了」ボタン31を押したとする。例えば、「ハリガネメン」、「ハリガネ」、「ハリキンメン」の横のチェックボックスに図17に示すようにチェックをいれて「指定完了」ボタン31を押すと、称呼指定受付部334は、チェックの入った称呼情報である「ハリガネメン」および「ハリキンメン」と、チェックの入った分割称呼情報である「ハリガネ」を受け付ける。
次に、類似検索部335は、称呼指定受付部334が受け付けた称呼情報と分割称呼情報とのそれぞれとを用いて、データベース31を検索し、称呼の類似検索を行う。称呼の類似検索については、公知の技術であるので、詳細な具体例は省略する。例えば、類似検索の結果、称呼情報「ハリガネメン」と分割称呼情報「ハリガネ」については、称呼が類似する商品の固有名称が検出されなかったが、称呼情報「ハリキンメン」については、称呼が類似する商品の固有名称が検出されたとする。具体的には、称呼が「ハリキントン」という商品の固有名称が検出されたとする。商標類否判断結果取得部336は、この検出結果を図示しない記憶媒体などに一時記憶する。
そして、商標類否判断結果取得部336は、類似検索の結果を取得する。
さらに次に、商品類否判断部34は、商品の類否判断を行う、受付部32から取得した類似群コードを用いて、会社類似群コード固有名称データベース22から情報を取得する。商品類否判断部34は、「32F03」の場合、穀物の加工品に関する情報が「針金面」に関係なく取得されるが、全て取得する。
そして、出力部35は、商標類否判断部33の判断結果と商品類否判断部34の判断結果をのうち、商品の固有名称が共通する情報を取得し、会社名と商品の固有名称を出力する。なお、出力部35は、この際に会社データベース101に会社を特定する情報、または会社名の確信度、その他保持している情報があれば出力しても良い。
以上、本実施の形態によれば、ユーザが指定した調査対象商標文字列から、商標の文字列の称呼情報を自動的に取得して、これを用いた類似検索が行えるようにしたので、商標の総合的な侵害状況の判断材料となる情報をユーザに提供することができる。
また、本実施の形態によれば、称呼情報を分割した分割称呼情報を取得して、これを用いた類似検索が行えるようにしたので、例えば、ユーザが入力した商標が結合商標である場合には、結合商標を分割した場合の称呼を自動で取得することができ、分割した称呼情報を用いた適切な類似検索が可能となる。また、分割した称呼情報の入力を容易にすることができるとともに、分割した称呼情報を用いた類似検索をユーザに促すことができる。また、分割称呼情報を取得することで、商標の主要部だけを用いた適切な類似検索が可能となる。また、分割した称呼情報の入力を容易にすることができるとともに、主要部を用いた類似検索をユーザに促すことができる。
(実施の形態5)
上記実施の形態2をさらに明瞭に説明する。本実施の形態は、調査対象商標情報が商品名を保持し、類似群コードを保持していない場合であっても、類似群コードを用いて商品の類否判断ができる事を特徴とする。
図20は、本実施の形態における商標侵害検知装置4のブロック図である。商標侵害検知装置4は、データベース401、受付部32、商標類否判断部33、商品類否判断部402、出力部35を備える。受付部32、商標類否判断部33、出力部35については、実施の形態4と同様であるため、説明を省略する。
データベース401は、1以上の図示しないWebサーバ装置から取得した情報である、会社名と商品名と商品の固有名称との組を1組以上格納し得る。データベース401は、1以上のWebサーバ装置から取得した情報であれば何でもよく、データベース構築装置1を用いて構築してもよく、無作為、または調査対象商標情報の商品名をキーワードにして検索して収集したWebページから特定のルールを用いて情報を取得して構築してもよい。特定のルールとは、例えば、データベース構築装置1の各ルールデータベースに格納されるルールなどである。
商品類否判断部402は、データベース401が有する1以上の商品名と、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行い、データベース401に格納されている調査対象商標情報に類似する会社名と商品名と商品の固有名称を取得する。商品類否判断部402は、商品コード管理手段4021、コード特定情報取得手段4022、商品類否判断手段4023を備える。なお、本実施の形態におけるコード特定情報とは、商品名であってもよく、図示しない記憶部で管理されている類似群コードを参照するための番号等であってもよく、類似群コード表における見出しの商品または役務名(たとえば、01A01であれば「化学品」)であってもよく、類似群コード表における商品・役務名であってもよく、類似群コードそのものであってもよい。
商品コード管理手段4021は、商品名とコード特定情報との対応を管理している。管理する商品名とコード特定情報は、類似群コードの説明文から特定のルールを用いて取得してもよく、図示しないWebサーバ装置から取得したWebページから特定のルールを用いて取得してもよく、人が手作業で入力してもよい。特定のルールとは、例えば「04A01は、例えば、洗い粉やシャンプーなどがあげられる」といった文章から、コード特定情報として「04A01」を、商品名として「洗い粉」と「シャンプー」を取得するようなルールであってもよく、「<table><tr><td>染料</td><td>藍・あかね</td></tr></table>」といったHTMLの構造から、コード特定情報として「染料」を、商品名として「藍」と「あかね」を取得するルールであってもよい。また、商品コード管理手段4021は、その対応を再帰的に探索することで類似群コードを取得できるような構成にしてもよい。具体的には、コード特定情報「01A01」と商品名「化学品」、コード特定情報「化学品」と商品名「アンモニア水」という2組の情報があった場合、商品名「アンモニア水」からコード特定情報「01A01」を取得できるように管理しても良い。
コード特定情報取得手段4022は、商品コード管理手段4021が管理する商品に対応するコード特定情報を用いて、データベース401が有する1以上の商品名に対応するコード特定情報を取得する。取得するコード特定情報は、データベース401が有する商品名に対応する任意のコード特定情報であっても良く、再帰的に対応を取得した結果取得した類似群コードであってもよく、類似群コードに到るまで再帰的に対応を取得する過程に取得したすべてのコード特定情報であっても良い。コード特定情報取得手段4022は、通常、MPUやメモリ等から実現され得る。コード特定情報取得手段4022の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
商品類否判断手段4023は、コード特定情報取得手段4022が取得したコード特定情報と、調査対象商標情報が有するコード特定情報とを用いて、商品の類否判断を行う。商品の類否判断は、調査対象商標情報が有するコード特定情報と、コード特定情報取得手段4022が取得したコード特定情報が同一、または含まれているかどうかを判断し、同一、または含まれていた場合、その情報に対応する会社名と商品名と商品の固有名称とを取得する。商品類否判断手段4023は、通常、MPUやメモリ等から実現され得る。商品類否判断手段4023の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
本実施の形態にかかる商標侵害検知装置4の動作は、商標侵害検知装置3における図16のステップS1018の処理のみを変更したものである。
以下、本実施の形態における商標侵害検知装置4における商品類否判断部402の具体的な動作について説明する。なお、この具体例において示した商品類否判断部402の出力結果は、説明のために便宜上用意されたものであって、実際のデータを示すものではない。ここでは、例として、受付部32が受け付けた調査対象商標情報のコード特定情報を「ビール」とし、データベース401には、会社名が「A社」、商品名が「ラガービール」、商品の固有名称が「Bビール」という1組の情報が少なくとも記憶されているものとし、商品コード管理手段4021は、コード特定情報「28A02」と商品名「ビール」、コード特定情報「ビール」と商品名「ラガービール」という2組の情報が少なくとも記憶されているものとする。
コード特定情報取得手段4022は、データベース401から商品名に関する情報を取得する。例えば、コード特定情報取得手段4022は、「ラガービール」などの情報を取得する。そして、コード特定情報取得手段4022は、商品コード管理手段4021が管理している情報を用いて、各商品名からコード特定情報を取得する。具体的には、コード特定情報取得手段4022は、「ラガービール」から「ビール」、「ビール」から「28A02」と類似群コードを取得するまでのコード特定情報をすべて取得し、商品名と対応付けて図示しない記憶部に記憶する。
商品類否判断手段4023は、受付部32が受け付けた調査対象商標情報が有する「ビール」と同一のコード特定情報を保持した情報を、コード特定情報取得手段4022が取得し、図示しない記憶部に記憶した情報から探索し、データベース401に格納されている会社名と商品の固有名称を取得する。具体的には、商品類否判断手段4023は、「ビール」および「28A02」と対応付けられている「ラガービール」を取得し、会社名が「A社」、商品名が「ラガービール」、商品の固有名称が「Bビール」という情報を取得する。
以上、本実施の形態によれば、Webサーバ装置から取得した会社名と商品名と商品の固有名称との組に対して、類似群コードを指定しなくても、類似群コードを考慮した商標の類似検索が行えるようにしたため、商標の侵害状況の判断材料となる情報をユーザに提供することができる。
なお、本実施の形態では、コード特定情報取得手段4022でコード特定情報を取得したが、図示しない処理部を用いて、予めコード特定情報を取得しておき、データベース401に格納しておいても良い。
また、上記実施の形態4、実施の形態5において、会社名取得部112、商品名取得部113、固有名称取得部114、知識獲得部115、ルール学習部116、会社類似群コード固有名称データベース構築部23、商品類否判断部34、商標文字列取得部331、称呼取得部332、類似検索部335、商標類否判断結果取得部336、コード特定情報取得手段4022、商品類否判断手段4023は、通常、MPUやメモリ等から実現され得る。商品名取得部113等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記各実施の形態におけるデータベース構築装置は、例えば、スタンドアロンの装置であってもよいし、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、例えば、ASP(Application Service Provider)としてデータベースの構築が行われてもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよいし、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよいし、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
また、上記各実施の形態におけるデータベース構築装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、属性の異なるm個(m≧3)の属性値を有する1以上の属性値集合を有する第一の表と、属性の異なるn個(n≦m−1)の属性値を有する1以上の属性値集合を有する2以上の第二の表と、1以上のWebページから前記n個の属性値を有する1以上の属性値集合を取得するための1以上のルールが格納されており、コンピュータを、前記ルールに従い、1以上のWebページから前記n個の属性値を有する1以上の属性値集合を取得し、前記第二の表に追記する取得部と、前記2以上の第二の表が有する2以上の属性値集合を結合し、前記m個の属性値を有する1以上の属性値集合を生成し、前記第一の表に追記する結合部として機能させるためのプログラムである。
なお、上記プログラムにおいて、ハードウェアでしか行われない処理は少なくとも含まれない。
また、上記プログラムは、サーバなどからダウンロードされることによって実行されてもよいし、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、上記プログラムを実行するコンピュータは、単数であってもよいし、複数であってもよい。つまり、集中処理を行ってもよいし、あるいは分散処理を行ってもよい。
また、図18は、前述のプログラムを実行して、前述の実施の形態のデータベース構築装置等を実現するコンピュータシステム9の概観図である。前述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図18において、コンピュータシステム1100は、CD−ROM(Compact Disk Read Only Memory)ドライブ1105、FD(Flexible Disk)ドライブ1106を含むコンピュータ1101と、キーボード1102と、マウス1103と、モニタ1104とを備える。
図19は、コンピュータシステム1100のブロック図である。図19において、コンピュータ1101は、CD−ROMドライブ1105、FDドライブ1106に加えて、MPU(Micro Processing Unit)1111と、ブートアッププログラムなどのプログラムを記憶するためのROM1112と、MPU1111に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)1113と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク1114と、MPU1111、ROM1112などを相互に接続するバス1115とを備える。なお、コンピュータ1101は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム1100に、上記実施の形態による本発明などの機能を実行させるプログラムは、CD−ROM1121、またはFD1122に記憶されて、CD−ROMドライブ1105、またはFDドライブ1106に挿入され、ハードディスク1114に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ1101に送信され、ハードディスク1114に記憶されてもよい。プログラムは実行の際にRAM1113にロードされる。なお、プログラムは、CD−ROM1121やFD1122、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ1101に、上記実施の形態による本発明の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラムなどを必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム1100がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。