以下、辞書構築装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
図1は、本実施の形態における情報システムAのブロック図である。情報システムAは、辞書構築装置1、およびマップ作成装置2を備える。辞書構築装置1は、例えば、LANやインターネット等のネットワーク、無線または有線の通信回線などを介して、マップ作成装置2と通信可能に接続される。なお、辞書構築装置1およびマップ作成装置2の各々は、例えば、ネットワーク等を介して、図示しない1または2以上の端末装置と接続されてもよい。また、辞書構築装置1は、通常、後述する文書群を格納した図示しないサーバと接続されている。ただし、辞書構築装置1およびマップ作成装置2は、スタンドアロンでもよい。
辞書構築装置1およびマップ作成装置2は、例えば、特許に関する特許情報を提供する企業や団体等の組織のサーバである。サーバは、例えば、クラウドサーバやASPサーバ等であるが、そのタイプは問わない。なお、図示しない端末装置は、例えば、PCであるが、特許情報を利用するユーザの携帯端末などでもよく、そのタイプは問わない。携帯端末とは、例えば、スマートフォン、タブレット端末、携帯電話機、ノートPC等であるが、その種類は問わない。
辞書構築装置1は、格納部11、受付部12、処理部13、および出力部14を備える。格納部11は、初期用語集格納部111、および最上位用語集格納部112を備える。初期用語集格納部111は、用語分類部131を備える。処理部13は、減縮処理部132、文書検索部133、拡張処理部134、および制御部135を備える。
マップ作成装置2は、マップ格納部21、マップ受付部22、マップ処理部23、およびマップ出力部24を備える。マップ格納部21は、用語辞書格納部211、および特許情報格納部212を備える。マップ処理部23は、用語取得部231、用語纏上部232、関連語対応付部233、およびマップ構成部234を備える。
辞書構築装置1を構成する格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、初期用語集情報などである。なお、その他の情報については、適時説明する。
初期用語集格納部111には、初期用語集が格納される。初期用語集とは、初期の用語集である。初期の用語集とは、予め格納されている2以上の用語の集合である。初期用語集を構成する2以上の各用語は、例えば、技術用語、企業名、発明者名、およびその他の一般用語などである。
技術用語とは、技術に関する用語である。技術とは、通常、科学技術であり、科学技術は、例えば、自然科学、社会科学、人文科学等に関する技術であるが、その分野は問わない。技術用語は、例えば、「CPU」、「記憶装置」、「ディスプレイ」などであるが、何でもよい。
企業名とは、企業の名称である。企業名は、通常、登記簿に記載された名称であるが、通称や略称等でもよく、企業を識別できる名称であれば何でもよい。
発明者名とは、発明者の名前である。発明者名は、通常、戸籍に記載された氏名であるが、通称などでもよい。
その他の一般用語とは、技術用語、企業名、発明者名のいずれにも該当しない用語である。一般用語は、辞書構築装置1が構成しようとする用語辞書に必要ない用語である、といってもよい。一般用語は、具体的には、例えば、「はてしない物語」、「児童文学」などであるが、何でもよい。
初期用語集を構成する2以上の用語は、階層化されていることは好適である。階層化とは、上位の用語と下位の用語とが少なくとも対応付いていることである。階層は、例えば、3層以上でもよく、その数は問わない。階層化されていることは、例えば、2以上の各用語に階層情報が対応付いていることであってもよい。階層情報とは、階層に関する情報である。階層情報は、例えば、“最上位層(第一層)”や“第二層”や“第三層”といった、2以上の階層の順序を示す情報であるが、その形式は問わない。
または、用語集を構成する2以上の用語は、例えば、ツリー構造を有していてもよく、その階層化の態様は問わない。ただし、階層化は必須ではなく、用語集は、フラットな用語の集合でもよい。
初期用語集は、具体的には、例えば、ウィキペディア(登録商標:以下同様)の全リダイレクトタイトルであってもよい。ウィキペディアとは、インターネットでアクセスできる電子百科事典である。ウィキペディアは、例えば、2以上のページ、および2以上のリダイレクトタイトルなどを含む。ページは、記事タイトル、記事要約、記事などを有するが、その構造は問わない。
ウィキペディアにおいて、例えば、ページ、記事タイトル、記事要約等の部分は、予め決められたタグによって特定される。例えば、ページは、一対のタグ<page>,</page>で挟まれた部分である。また、記事タイトルは、ページ中の、一対のタグ<title>,</title>で挟まれた部分である。また、記事要約は、ページ中の、上記<title>,</title>で挟まれた記事タイトルと同じ文字列が、最初に「‘‘‘」,「’’’」で挟まれて現れる部分から、最初の句点“。”までの部分(以下では、かかる部分を特定するタグを『「‘‘‘」〜「。」』と記す場合がある)である。ただし、<title>,</title>で挟まれた部分と、最初の「‘‘‘」,「’’’」で挟まれた部分とは、部分一致でもよいし、パターンマッチングにより判断されてもよい。さらに、記事は、当該最初の句点の直後から、タグ</text>の直前までの部分である。ただし、タグの構造は問わない。
記事とは、用語を説明する文書である。記事タイトルとは、記事のタイトルであり、通常、記事によって説明される用語である。記事要約とは、記事を要約した文書である。
リダイレクトタイトルとは、リダイレクトの対象となるタイトルである。タイトルとは、用語である。リダイレクトとは、ある用語の記事にアクセスしたときに、別の用語の記事のページに転送される機能である、といってもよい。リダイレクトタイトルは、例えば、転送元の用語と転送先の用語との対であるが、その形式は問わない。転送元の用語と転送先の用語との対とは、例えば、「CPU」と「中央処理装置」との対などであるが、用語の組み合わせは問わない。
転送先の用語は、通常、転送元の用語の同義語であるが、上位語、下位語等でもよく、関連語であれば何でもよい。なお、関連語、同義語、上位語、および下位語については後述する。
ただし、初期用語集は、例えば、ウィキペディアの全記事タイトルであってもよく、その構成は問わない。
最上位用語集格納部112には、最上位用語集が格納される。最上位用語集とは、1または2以上の最上位用語の集合である。最上位用語とは、本実施の形態において予め定義された最上位の概念の用語である。最上位用語は、例えば、“最上位層”を示す階層情報が対応付いた用語でもよいし、ツリー構造の最上位に配置された用語でもよいし、最上位のグループに属する用語でもよい。なお、以下では、最上位用語を「最上位語」と記す場合もある。
具体的には、例えば、ウィキペディアにおいて、階層の最上位は「主要カテゴリ」であるが、この「主要カテゴリ」の下位のカテゴリである「学科別分類」(例えば、「自然科学」、「社会科学」、「人文科学」など)の、さらに下位のカテゴリに属する用語(例えば、「自然科学」の下位の「経営学」や「工学」、社会科学の下位の「経済学」や「考古学」、「人文科学」の下位の「計算機科学」や「歯学」など)が、辞書構築装置1が構築する用語辞書(例えば、後述する上位語辞書)における最上位用語となる。
従って、最上位用語は、具体的には、例えば、「経営学」、「工学」、「経済学」、「考古学」、「計算機科学」、「歯学」などであるが、「学科別分類」の下位カテゴリに属する用語であれば何でもよい。
受付部12は、各種の情報を受け付ける。各種の情報とは、例えば、用語辞書の送信指示などである。用語辞書の送信指示とは、辞書構築装置1が構築した用語辞書をマップ作成装置2に送信する指示である。受付部12は、用語辞書の送信指示を、例えば、キーボード等の入力デバイスを介して受け付けるが、図示しない端末装置から受信してもよく、その受け付けの態様は問わない。
なお、端末装置からは、通常、端末識別子と対に、送信指示等の情報が送信され、受付部12は、端末識別子と対に、送信指示等の情報を受信する。端末識別子とは、端末装置を識別する情報である。端末識別子は、例えば、MACアドレス、IPアドレス、IDなどであるが、ユーザ識別子でもよく、端末装置を識別し得る情報であれば何でもよい。ユーザ識別子とは、端末装置のユーザを識別する情報である。ユーザ識別子は、例えば、メールアドレス、電話番号、IDなどであるが、ユーザを識別し得る情報であれば何でもよい。ただし、端末装置の数が1つだけの場合、端末識別子は送受信されなくてもよい。
処理部13は、各種の処理を行う。各種の処理とは、例えば、用語分類部131、減縮処理部132、文書検索部133、拡張処理部134、および制御部135などの処理である。各種の処理には、フローチャートで説明する各種の判別なども含まれる。なお、その他の処理については、適時説明する。
用語分類部131は、初期用語集格納部111に格納されている2以上の各用語に対して、当該用語が、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかを決定し、当該2以上の決定結果に関する情報である分類結果を取得する。
クラスとは、用語の種類または区分である。クラスは、例えば、「技術用語のクラス」、「企業名のクラス」、「発明者名のクラス」などであるが、「その他の用語のクラス」でもよく、用語の種類または区分を示す情報であれば何でもよい。
予め決められたクラスに属する用語とは、例えば、技術用語である。そして、技術用語には、関連語が多く存在する。関連語とは、当該用語に関連する語である。関連語は、例えば、同義語、上位語、下位語であるが、その種類は問わない。なお、ある用語の関連語は、当該用語自体も含むと考えてもよい。
同義語とは、同じ概念の語ある。例えば、「CPU」の同義語は、「中央処理装置」等であるが、「プロセッサ」でもよく、同じ概念を含む語であれば何でもよい。なお、本実施の形態でいう同義語は、例えば、表記揺れが生じた語も含む。表記揺れが生じた語とは、例えば、「プロセッサ」、「プロセッサー」等であるが、その種類は問わない。また、本実施の形態でいう同義語は、例えば、類義語をも含むと考えてもよく、広く解し得る。類義語とは、類似する概念の語である。類義語は、例えば、「CPU」、「MPU」、「GPU」等であるが、その種類は問わない。ただし、本実施の形態でいう同義語からは、類義語は除外してもよい。
上位語とは、上位の概念の用語である。例えば、「CPU」の上位語は、「ハードウェア」や「コンピュータ」や「計算機科学」等であるが、「処理部」や「制御部」等でもよく、上位概念の用語であれば何でもよい。
下位語とは、下位の概念の用語である。例えば、「CPU」の下位語は、「CPUソケット」や「マイクロプロセッサ」等であるが、下位概念の用語であれば何でもよい。
ただし、予め決められたクラスに属する用語は、例えば、企業名でもよいし、発明者名でもよく、用語が属するクラスは問わない。同義語等の関連語は、通常、企業名にも存在する。企業名の同義語は、例えば、通称や略称であるが、主力商品の商品名などでもよい。企業名の上位語は、例えば、親会社名やグループ名等であり、企業名の下位語は、例えば、子会社名や商品名等であってもよい。また、発明者名にも、同義語等が存在する。発明者名の同義語は、例えば、ペンネームや通称であってもよい。発明者名の上位語は、例えば、発明者の属する企業や団体等の組織の名称などでもよい。
なお、当該用語が、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかは、例えば、クラス分類の手法を用いて決定することができる。以下では、ある用語が、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかを決定する処理を、決定処理と記す場合がある。
決定処理は、例えば、初期用語集を構成する2以上の各用語を、用語辞書に含める用語と、用語辞書に含めない用語とに分類する処理であってもよい。用語辞書に含めない用語は、例えば、不要語といってもよい。
例えば、初期用語集がウィキペディアの全記事タイトル(例えば、「はてしない物語」、「CPU」、「ミニディスク」など)である場合、格納部11には、不要ワード群と文末群とが格納されていてもよい。不要ワード群とは、1または2以上の不要ワードの集合である。不要ワードは、例えば、「小説」や「テレビドラマ」や「音楽ユニット」等であるが、その種類は問わない。なお、不要ワードは、例えば、不要語の上位語と考えてもよい。文末群とは、1または2以上の文末の集合である。文末は、例えば、「である。」や「の一つ。」や「のこと。」等であるが、その種類は問わない。
例えば、ある用語(記事タイトル)を説明するページの記事要約が“「不要ワード」+「文末」”で終了している場合、当該記事要約に対応する記事タイトルは、不要語と判断される。具体的には、例えば、記事タイトル「はてしない物語」は、対応する記事要約「『'''はてしない物語'''』(はてしないものがたり、{{de|''Die unendliche Geschichte''}})は、[[ドイツ]]の[[作家]][[ミヒャエル・エンデ]]による、[[児童文学|児童向け]][[ファンタジー]]小説である。」が、“「小説」+「である。」”で終了しているので、不要語と判断される。
クラス分類の手法は、例えば、上記のようなパターンマッチングによる方法の他、学習器を用いた機械学習による方法などであるが、その種類は問わない。
なお、クラス分類の手法は公知技術であり、詳細な説明を省略する。用語のクラス分類については、例えば、「情報科学論文における用語の意味クラスおよび役割のアノテーション」(建石由佳他、言語処理学会、第22回年次大会発表論文集、2016年3月)、「Wikipedia記事を利用した曖昧性のある表現の固有表現クラス分類」(藤井裕也ほか、言語処理学会、第16回年次大会発表論文集、2010年3月)などに記載されている。
決定結果は、例えば、当該用語が、予め決められたクラスに属する用語である旨の“1”、または、予め決められたクラスに属さない用語である旨の“0”を示すフラグであってもよい。ただし、決定結果の形式は問わない。
分類結果は、例えば、用語と決定結果との対の集合である。または、分類結果は、例えば、予め決められたクラスに属する用語であると決定された1または2以上の用語の集合でもよい。または、分類結果は、例えば、予め決められたクラスに属する用語であると決定された1以上の用語の集合である第一集合と、予め決められたクラスに属さない用語であると決定された1または2以上の用語の集合である第二集合とを含んでいてもよい。または分類結果は、例えば、第二集合のみを含み、第一集合を含まなくてもよい。ただし、分類結果の形式は問わない。
具体的には、例えば、予め決められたクラスが「技術用語のクラス」である場合、用語分類部131は、初期用語集格納部111に格納されている2以上の各用語が、技術用語のクラスに属する用語であるか、技術用語のクラスに属さない用語であるかを、パターンマッチング等のクラス分類手法を用いて決定し、用語と決定結果との対の集合である分類結果を取得する。なお、取得された分類結果は、例えば、処理部13によって、格納部11に蓄積されてもよい。
または、例えば、予め決められたクラスが「企業名のクラス」である場合、用語分類部131は、格納されている2以上の各用語が、企業名のクラスに属する用語であるか、企業名のクラスに属さない用語であるかを決定し、分類結果を取得する。予め決められたクラスが「発明者名のクラス」である場合も、同様の決定処理が行われ、分類結果が取得される。
または、用語分類部131は、例えば、上記のような決定処理を2回以上繰り返すことにより、格納されている2以上の用語を、「技術用語のクラス」、「企業名のクラス」、および「発明者名のクラス」を含む3以上のクラスに分類し、分類結果を取得してもよい。取得される分類結果は、例えば、用語とクラス識別子との対の集合であってもよい。クラス識別子とは、当該用語が属するクラスを識別する情報である。クラス識別子は、例えば、“技術用語”や“企業名”や“発明者名”等のクラス名であるが、クラス名に対応付いたIDなどでもよく、その形式は問わない。また、分類結果の形式も問わない
具体的には、用語分類部131は、例えば、初期用語集格納部111に格納されている2以上の各用語に対し、最初、技術用語のクラスに属する用語であるか、技術用語のクラスに属さない用語であるかを決定し、技術用語のクラスに属する用語であると決定した用語に対し、クラス識別子“技術用語”を対応付ける。
次に、用語分類部131は、技術用語のクラスに属さない用語であると決定した1または2以上の各用語に対し、例えば、会社名のクラスに属する用語であるか、会社名のクラスに属さない用語であるかを決定し、会社名のクラスに属する用語であると決定した用語に対し、クラス識別子“会社名”を対応付ける。
次に、用語分類部131は、会社名のクラスに属さない用語であると決定した1または2以上の各用語に対し、例えば、発明者名のクラスに属する用語であるか、発明者名のクラスに属さない用語であるかを決定し、発明者名のクラスに属する用語であると決定した用語に対し、クラス識別子“発明者名”を対応付ける。
そして、用語分類部131は、発明者名のクラスに属さない用語であると決定した用語に対し、例えば、クラス識別子“その他の用語のクラス”を対応付ける。これにより、格納されている2以上の各用語には、上記4つのクラスのいずれかを示すクラス識別子が対応付く結果となり、それによって、用語とクラス識別子との対の集合である分類結果が取得される。
減縮処理部132は、用語分類部131における分類結果を用いて、減縮処理を行う。減縮処理とは、初期用語集格納部111に格納されている2以上の用語から、予め決められたクラスに属さない用語を除く処理である。
減縮処理部132は、例えば、前述したような、用語と決定結果との対の集合である分類結果を用いて、初期用語集格納部111に格納されている2以上の用語から、“予め決められたクラスに属さない用語である”旨の決定結果と対になる1または2以上の用語を除く処理を行ってもよい。かかる減縮処理の結果、初期用語集格納部111に格納されている2以上の用語のうち、予め決められたクラスに属する1または2以上の用語だけが残る。
なお、例えば、格納部11に、初期用語集格納部111の初期用語集のコピーが作成され、減縮処理は、格納部11の初期用語集に対して行われてもよい。
または、予め決められたクラスに属さない用語を除く処理は、例えば、予め決められたクラスに属する用語のみを抽出する処理でもよい。すなわち、減縮処理部132は、例えば、用語と決定結果との対の集合である分類結果を用いて、初期用語集格納部111に格納されている2以上の用語から、“予め決められたクラスに属する用語である”旨の決定結果と対になる1または2以上の用語を抽出する処理を行ってもよい。抽出された1以上の用語は、例えば、処理部13によって、格納部11に蓄積される。
文書検索部133は、減縮処理部132による減縮処理の結果、残った1以上の各用語を少なくともキーとして、文書群を検索し、当該1以上の各用語に対応する文書を取得する。
文書群とは、1または2以上の文書の集合である。ここでいう文書とは、電子的な文書である。電子的な文書は、例えば、HTMLやXML等の文書であるが、その形式は問わない。文書群は、例えば、前述したウィキペディアの全ページ(例えば、“jawiki−latest−pages−articles.XML.bz2”:以下、単に「ウィキペディア」と記す場合がある。)であってもよい。
文書検索部133は、減縮処理の結果残った1以上の各用語をキーとして、例えば、図示しないサーバに格納されているウィキペディアを検索し、当該1以上の各用語に対応するウィキペディアのページを取得してもよい。
または、文書群は、例えば、特定のサーバに存在するウェブページ群でもよい。ウェブページ群は、例えば、学会のサーバに存在する1または2以上の論文のページの集合でもよいし、特許庁のサーバに存在する1または2以上の特許文書のページの集合でもよいし、SNSのサーバに存在する1または2以上のブログのページの集合などでもよく、その種類は問わない。
ただし、文書群は、サーバ上に限らず、例えば、格納部11や、着脱式のCD−ROMやメモリカードといった、辞書構築装置1内のローカルな記録媒体に格納されていてもよく、その所在や種類は問わない。
さらに、文書検索部133は、例えば、後述する拡張処理部134が第二拡張処理により取得した1以上の各上位語をキーとして文書群を検索し、当該1以上の各上位語に対応する文書を取得するする処理を、1回または2回以上行ってもよい。
拡張処理部134は、減縮処理部132による減縮処理の結果残った1以上の用語に対して、文書検索部133が取得した1以上の文書を用いて、拡張処理を行う。拡張処理とは、減縮処理の結果残った1以上の各用語ごとに、文書検索部133が取得した文書から、当該用語に関連する1以上の関連語を取得し、用語と1以上の関連語との組を複数取得することにより、予め決められたクラスに属さない用語を含まず、予め決められたクラスに属する用語とその関連語のみを含む用語辞書を構築する処理である。
用語辞書は、例えば、後述する同義語辞書、または後述する上位語辞書のうち1以上を含んでもよい。用語辞書は、例えば、同義語辞書および上位語辞書を兼ねる一の辞書でもよい。つまり、一の用語に対して、1以上の同義語と、1以上の上位語とが対応付いていてもよい。
詳しくは、拡張処理部134は、減縮処理の結果残った1以上の用語のうち、1番目の用語に対し、当該1番目の用語に対して文書検索部133が取得した1番目の文書の中の情報であり、予め決められた箇所の情報から、当該1番目の用語に関連する1以上の関連語を取得する。
予め決められた箇所とは、関連語が頻出する箇所であり、例えば、文書群がウィキペディアである場合、後述する記事要約、後述するリダイレクトタイトルなどである。ただし、予め決められた箇所の所在は問わない。
拡張処理部134は、2番目以降の各用語に対しても、上記と同様の処理を行い、当該1番目の用語に関連する1以上の関連語を取得する。そして、1以上の各用語ごとに、当該用語と、当該取得した1以上の関連語とを対応付けることによって、用語と用語に対応付けられた1以上の関連語との組を、複数取得する。拡張処理部134は、こうして取得した、用語と用語に対応付けられた1以上の関連語との組を複数有する用語辞書を取得し、例えば、格納部11に蓄積する。
拡張処理部134は、特に、例えば、減縮処理で残った1以上の各用語について、文書検索部133が取得した文書の中の予め決められた第一箇所の情報から、当該用語に関連する1以上の同義語を取得し、当該1以上の同義語を当該用語に対応付けることにより、用語と当該用語に対応付けられた1以上の同義語との組を複数有する用語辞書(例えば、同義語辞書と呼んでもよい)を取得し、蓄積する第一拡張処理を行ってもよい。
予め決められた第一箇所とは、例えば、文書群がウィキペディアである場合、ページ中の記事要約の部分(例えば、“jawiki−latest−abstract”)である。または、第一箇所は、例えば、リダイレクトタイトル(例えば、“jawiki−latest−redirect.sql”や“jawiki−latest−page.sql”等)に基づく記述でもよく、その所在は問わない。
記事要約は、具体的には、例えば、用語「CPU」に関する記事の要約「CPU(シーピーユー、英:Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)。」などであるが、その内容は問わない。
リダイレクトタイトルに基づく記述は、具体的には、例えば、“(CPU,中央演算処理装置)”に基づく「・・・(中央演算処理装置から転送)」などであるが、その内容は問わない。
拡張処理部134は、例えば、上記記事要約から、用語「CPU」の同義語として、「シーピーユー」、「Central Processing Unit」、「中央処理装置」、「ちゅうおうしょりそうち」を取得する。また、拡張処理部134は、例えば、上記リダイレクトタイトルから、「CPU」の同義語として「中央演算処理装置」を取得してもよい。
詳しくは、例えば、格納部11に、第一箇所を特定するタグが格納されている。第一箇所を特定するタグは、例えば、予め決められた1または2以上の文字または記号の配列である。第一箇所を特定するタグは、具体的には、例えば、記事要約の部分を特定するタグ『「‘‘‘」〜「。」』である。ただし、第一箇所を特定するタグは、例えば、“[bbb]”や“$ccc_”等であってもよく、その形式は問わない。または、第一箇所を特定するタグは、例えば、記事タイトルがリダイレクトタイトルか否を示すフラグ(例えば、リダイレクトタイトルであることを示す“1”、またはリダイレクトタイトルでないことを示す“0”など)でもよい。拡張処理部134は、取得された文書中の、上記タグで特定される第一箇所から、1以上の同義語を取得する。
拡張処理部134は、例えば、タグ『「‘‘‘」〜「。」』を用いて、取得された文書から記事要約を取得する。そして、拡張処理部134は、当該取得した記事要約に対して形態素解析を行い、1以上の名詞を特定し、当該特定した1以上の名詞のうち、当該用語(つまり、記事タイトル)を除く1以上の名詞を、当該用語の同義語として取得してもよい。
または、記事要約において、当該用語、およびその1以上の同義語の各々に、例えば、予め決められたタグ(例えば、当該用語等を挟む一対のタグ「‘‘‘」および「’’’」など)が付されており、格納部11には、かかるタグも格納されており、拡張処理部134は、当該タグで特定される1以上の各用語を取得してもよい。例えば、上記記事要約において、「CPU」および「中央処理装置」の各々に、一対のタグ「‘‘‘」および「’’’」が対応付いており、拡張処理部134は、当該一対のタグが対応付いた「CPU」と、同じく当該一対のタグが対応付いた「中央処理装置」とを取得してもよい。ただし、一対のタグの種類は問わない。そして、拡張処理部134は、当該取得した1以上の用語のうち、当該用語以外の1以上の各用語を、当該用語の同義語として取得する。
さらに、拡張処理部134は、当該取得した1以上の各語の直後の「(」と「)」で挟まれた部分に含まれる1または2以上の用語をも、同義語として取得してもよい。例えば、「(」と「)」で挟まれた部分に、予め決められた1または2以上の記号(例えば、句点「、」やスペース「_」等)が含まれている場合、拡張処理部134は、当該記号で区切られた2以上の区間に含まれる各文字列を同義語として取得してもよい。
なお、例えば、格納部11に、予め決められた文字または記号の配列(例えば、「英:」等の手掛かり句)が格納されており、「(」と「)」で挟まれた部分に、かかる配列が含まれる場合、拡張処理部134は、当該配列で特定される文字列(例えば、手掛かり句「英:」に続く「Central Processing Unit」等)を取得してもよい。
ただし、手掛かり句となる配列は、例えば、「[[英]]:」でもよいし、「{{lang−en−short|*****}}」等でもよく、その形式は問わない。前者の場合、拡張処理部134は、例えば、配列「[[英]]:」と、直近の「)」または「、」で挟まれた部分の文字列を同義語として取得してもよい。後者の場合、拡張処理部134は、例えば、配列「{{lang−en−short|*****}}」を構成する「*****」の部分を同義語として取得してもよい。
こうして、上記記事要約から、用語「CPU」の同義語として、「シーピーユー」、「Central Processing Unit」、「中央処理装置」、および「ちゅうおうしょりそうち」が取得される。
または、例えば、格納部11に、記事要約に続く文の末尾に関して、予め決められた条件が格納されており、拡張処理部134は、記事要約に続く文の末尾が当該条件を満たすか否かを判断し、当該条件を満たすと判断された場合に、当該末尾に含まれる名詞を同義語として取得してもよい。
詳しくは、例えば、予め決められた条件は、例えば、“記事要約に続く文の末尾が「名詞を含む予め決められた文末」である”という条件でもよい。「名詞を含む予め決められた文末」は、例えば、「○○とも呼ばれる。」や「略称は○○。」などであり、記事要約に続く文の末尾がかかる条件を満たす場合、拡張処理部134は、「○○」を同義語として取得してもよい。
具体的には、例えば、用語「ミニディスク」に関する記事要約が「ミニディスク(MiniDisc)とは、・・・媒体である。」であり、この後に文「略称はMD(エムディー)。」が続いている場合、拡張処理部134は、予め決められた条件を満たすと判断し、当該文から「MD」および「エムディー」を同義語として取得してもよい。なお、当該記事要約からは、前述と同様の手順で、「ミニディスク」および「MiniDisc」が同義語として取得される。
また、拡張処理部134は、例えば、当該用語に対応する記事タイトルに付されたフラグを参照して、当該フラグがリダイレクトタイトルであることを示す場合に、当該記事タイトルに対応するリダイレクトタイトルに含まれる転送元の用語を、当該用語の同義語として取得してもよい。これにより、上記リダイレクトタイトルに基づく記述から、用語「CPU」の同義語として、「中央演算処理装置」が取得される。
また、拡張処理部134は、例えば、減縮処理で残った1以上の各用語について、文書検索部133が取得した文書の中の予め決められた第二箇所の情報から、当該用語に関連する1以上の上位語を取得し、当該1以上の上位語を当該用語に対応付けることにより、用語と当該用語に対応付けられた1以上の上位語との組を複数有する用語辞書(例えば、上位語辞書と呼んでもよい)を取得し、蓄積する第二拡張処理を行ってもよい。
予め決められた第二箇所とは、例えば、文書群がウィキペディアである場合、カテゴリデータ(例えば、“jawiki−latest−category.sql”)またはカテゴリリンク情報(例えば、“jawiki−latest−categorylinks.sql”)であるが、その所在は問わない。カテゴリデータとは、記事のカテゴリに関する情報である。例えば、用語「CPU」の記事は、カテゴリデータ「CPU」を含む。そして、このカテゴリデータ「CPU」に、カテゴリリンク情報「コンピュータアーキテクチャ|コンピュータの仕組み|ハードウェア」が対応対いている。
詳しくは、例えば、格納部11に、第二箇所を特定するタグが格納されている。第二箇所を特定するタグは、例えば、予め決められた1または2以上の文字または記号の配列である。第二箇所を特定するタグは、具体的には、例えば、“Category:”であってもよい。ただし、第二箇所を特定するタグは、例えば、“<ddd>”や“[eee]”や“$fff_”等であってもよく、その形式は問わない。拡張処理部134は、かかるタグを用いて、取得された文書中の第二箇所を特定し、第二箇所の情報から上位語を取得する。これによって、タグ“Category:”に続く「CPU」がカテゴリデータとして取得され、さらに、この「CPU」に対応付いているカテゴリリンク情報「コンピュータアーキテクチャ|コンピュータの仕組み|ハードウェア」が取得される。
拡張処理部134は、例えば、上記カテゴリデータから、用語「CPU」の上位語として、「コンピュータアーキテクチャ」および「ハードウェア」を取得する。詳しくは、拡張処理部134は、上記カテゴリデータから、例えば、まず、「コンピュータアーキテクチャ」、「コンピュータの仕組み」、および「ハードウェア」の3用語を抽出し、各用語が初期用語格納部111に格納されているか否かを判別する。そして、拡張処理部134は、初期用語格納部111に格納されていると判別した用語のみを上位語として取得し、格納されていないと判別した用語は取得しない。
ここでは、例えば、「コンピュータアーキテクチャ」、および「ハードウェア」の2用語が格納され、「コンピュータの仕組み」は格納されておらず、従って、拡張処理部134は、「コンピュータアーキテクチャ」、および「ハードウェア」を上位語として取得する。ただし、各用語が初期用語格納部111に格納されているか否かの判別は必須ではなく、拡張処理部134は、例えば、カテゴリデータに含まれる全ての用語を取得しても構わない。
なお、拡張処理部134は、例えば、減縮処理で残った1以上の各用語について、文書検索部133が取得した文書の中から、当該用語に関連する1以上の下位語を取得し、当該1以上の下位語を当該用語に対応付けることにより、上記第二拡張処理により取得した上位語辞書をさらに拡張してもよい。つまり、上位語辞書は、用語と1以上の下位語の組をも含んでいてもよい。
ある用語を説明する文書から取得される下位語は、例えば、当該用語を含む用語、または当該用語の同義語を含む用語であってもよい。具体的には、例えば、文書中に、用語「CPU」を含む用語「CPUソケット」と、用語「CPU」の同義語「プロセッサ」を含む用語「マイクロプロセッサ」とが含まれている場合、拡張処理部134は、当該文書から、当該2つの用語「CPUソケット」および「マイクロプロセッサ」を下位語として取得してもよい。または、例えば、記事要約に続く「例えば○○。」等の文から「○○」が下位語として取得されてもよい。こうして、用語と1以上の下位語との組が複数取得され、拡張処理部134は、取得された複数の組を含む用語辞書(例えば、下位語辞書といってもよい)を構築する。
ただし、上位語と下位語の関係は相対的であることから、例えば、前述した上位語辞書が下位語辞書である又は下位語辞書を兼ねる、と考えてもよい。その場合、取得された文書中からの下位語の取得は行わなくてよい。
なお、拡張処理部134による拡張処理は、通常、減縮処理部132による減縮処理の後に行うが、拡張処理の後に減縮処理を行ってもよい。ただし、減縮処理の後に拡張処理を行う方が、処理速度が速い点で好適である。
制御部135は、文書検索部133の処理と拡張処理部134の第二拡張処理とを1回または2回以上行うことの制御を行う。制御部135は、例えば、予め決められた停止条件を満たすまで、文書検索部133の検索処理と拡張処理部134の第二拡張処理とを繰り返し実行させる。予め決められた停止条件は、例えば、“検索および第二拡張処理を実行した回数が予め決められた回数に達したとこと”でもよい。または、停止条件は、例えば、“検索によって文書が取得できなかったこと又は第二拡張処理によって上位語が取得できなかったこと”でもよい。
停止条件は、特に、例えば、“第二拡張処理によって最上位語が取得されたこと”であることは好適である。すなわち、制御部135は、例えば、拡張処理部134の第二拡張処理により取得された用語が、最上位用語集に含まれるいずれかの最上位用語となるまで、文書検索部133の処理と拡張処理部134の第二拡張処理とを繰り返すように制御することは好適である。
詳しくは、例えば、拡張処理部134が、一の上位語に対して1または2以上の上位語を取得したことに応じて、制御部135は、当該取得された1以上の各上位語が、最上位用語集格納部112に格納されているか否かを判別し、格納されていないと判断した場合は、文書検索部133による検索処理および拡張処理部134による第二取得処理を再度実行させ、格納されていると判別した時点で、文書検索部133による検索処理および拡張処理部134による第二取得処理を停止させる。
具体的には、例えば、拡張処理部134が、用語「CPU」の2つの上位語「コンピュータアーキテクチャ」および「ハードウェア」を取得したことに応じて、制御部135は、当該2つの上位語の中に最上位用語が含まれているか否かを判別する。例えば、最上位用語が、前述した「経営学」、「工学」、「経済学」、「考古学」、「計算機科学」、「歯学」であるとすると、ここでの判別結果はNOであり、制御部135は、文書検索部133による検索処理および拡張処理部134による第二取得処理を再度実行させる。これによって、例えば、「ハードウェア」のページが取得され、そこに含まれるカテゴリデータ「ハードウェア」に対応付いたカテゴリデータ「コンピュータ|・・・」から上位語「コンピュータ」が取得される。
こうして上位語「ハードウェア」の上位語「コンピュータ」が取得されたことに応じて、制御部135は、当該取得された上位語が最上位用語か否かを判別する。ここでの判別結果もNOであり、文書検索部133による検索処理および拡張処理部134による第二取得処理が再度実行される。これによって、「コンピュータ」のページが取得され、そこに含まれるカテゴリデータ「コンピュータ」に対応付いたカテゴリデータ「計算機科学|・・・」から上位語「計算機科学」が取得される。
こうして上位語「コンピュータ」の上位語「計算機科学」が取得されたことに応じて、制御部135は、当該取得された上位語が最上位用語か否かを判別する。ここでの判別結果はYESであり、制御部135は、文書検索部133による検索処理および拡張処理部134による第二取得処理を停止させる。
こうして、用語「CPU」に対して、最上位語に至る1または2以上の上位語「ハードウェア」,「コンピュータ」,および「計算機科学」が取得される。
出力部14は、各種の情報を出力する。各種の情報とは、例えば、用語辞書である。出力部14は、用語辞書を、通常、格納部11または着脱式の記録媒体などに蓄積する。また、出力部14は、格納部11等に格納されている用語辞書を、例えば、マップ作成装置2に送信する。ただし、出力部14は、用語辞書等の情報を、例えば、ディスプレイに表示したり、他のプログラムに引き渡したり、他の装置に送信したりしてもよく、その出力態様は問わない。
なお、他の装置は、例えば、用語辞書の送信指示を送信した端末装置でもよい。つまり、受付部12が、端末識別子と対に用語辞書の送信指示を受信し、出力部14は、当該受信された端末識別子で識別される端末装置に、用語辞書を送信してもよい。
マップ作成装置2を構成するマップ格納部21は、各種の情報を格納し得る。各種の情報とは、例えば、用語辞書である。
用語辞書格納部211には、通常、辞書構築装置1が構成した用語辞書が格納される。格納される用語辞書は、例えば、マップ受付部22によって、辞書構築装置1から受信されたものであるが、記録媒体から読み出されたものでもよい。ただし、用語辞書は、予め用語辞書格納部211に格納されていてもよい。
特許情報格納部212には、2以上の特許情報が格納される。なお、特許情報格納部212は、通常、マップ作成装置1内にあるが、外部にあってもよい。特許情報とは、特許に関する情報である。特許情報は、例えば、公開特許公報、特許公報、実用新案公報などの特許文献である。公開特許公報等の特許情報は、例えば、特許庁のサーバから受信されるが、他のサーバから受信されてもよいし、記録媒体から読み出されても構わない。ただし、特許情報は、例えば、公開技報等の非特許文献でもよく、特許に関する情報であれば、その種類は問わない。また、特許情報の提供元も問わない。
特許情報は、特に、例えば、明細書、特許請求の範囲、要約書のうち1以上の情報を含む。また、特許情報は、例えば、出願人の氏名又は名称、発明者の氏名等が記された書誌情報も含んでもよい。なお、出願人が企業である場合、書誌情報に含まれる出願人の名称が、前述した企業名であることは言うまでもない。
マップ受付部22は、各種の情報を受け付ける。各種の情報とは、例えば、マップの作成指示等の各種の指示である。また、マップ受付部22は、例えば、マップの作成指示と共に、用語の指定、軸の選択などを受け付けてもよい。なお、用語の指定、軸の選択等については、後述する。マップ受付部22は、例えば、キーボード等の入力デバイスを介して、各種の情報を受け付ける。なお、マップ受付部22は、マップの作成指示を、例えば、図示しない端末装置から端末識別子と対に受信してもよい。また、マップ受付部22は、例えば、用語辞書を、辞書構築装置1から受信してもよいし、記録媒体から読み出してもよい。マップ受付部22が受け付ける情報の種類や受け付けの態様は問わない。
マップ処理部23は、各種の処理を行う。各種の処理とは、例えば、用語取得部231、用語纏上部232、関連語対応付部233、およびマップ構成部234等の処理である。また、マップ処理部23は、例えば、フローチャートで説明する各種の判別など処理も行う。
用語取得部231は、特許情報格納部212に格納されている2以上の各特許情報から用語を取得する。取得される用語は、通常、予め決められたクラスに属する用語である。予め決められたクラスは、例えば、技術用語のクラスであるが、企業名のクラスまたは発明者名のクラスでもよいし、どのクラスでもよい。これによって、予め決められたクラスに属する2以上の用語が取得される。
なお、取得される用語は、例えば、マップの作成指示の受け付けの際に指定された用語の関連語(例えば、下位語)であってもよい。すなわち、用語取得部231は、例えば、用語辞書格納部211に格納されている用語辞書を用いて、特許情報格納部212に格納されている2以上の各特許情報から、指定された用語の関連語を取得してもよい。それによって、予め決められたクラスに属する用語であり、指定された用語の2以上の関連語が取得される。
技術用語のクラスに属する用語は、例えば、公開特許公報等の特許文献の、特に、「要約書」、または「特許請求の範囲」のうち1以上の項目に属する情報から取得されることは好適であるが、「明細書」も含む全文から取得されてもよい。または、技術用語のクラスに属する用語は、例えば、論文の「Abstract」に属する情報から取得されてもよく、その取得先は問わない。
企業名のクラスまたは発明者名のクラスに属する用語は、例えば、特許文献の書誌情報から取得されるが、論文のタイトルに続く著者名や所属等の情報から取得されてもよく、その取得先は問わない。
または、予め決められたクラスは、2以上の異なるクラスでもよい。用語取得部231は、格納されている2以上の各特許情報から、例えば、技術用語のクラス、企業名のクラス、および発明者名のクラスのうち、2以上の異なるクラスの用語を取得することは好適である。用語取得部231は、例えば、格納されている2以上の各特許文献ごとに、例えば、「要約書」または「特許請求の範囲」のうち1以上の項目に属する情報から、技術用語のクラスの属する用語を取得し、書誌情報の「出願人の氏名又は名称」および「発明者の氏名」から、企業名および発明者名の各クラスに属する用語を取得してもよい。ただし、クラスの数や組み合わせは問わない。
なお、要約書等からの技術用語の取得は、例えば、形態素解析や機械学習等の方法(例えば、東京大学・中川裕志教授らによる「TermExtract」など)を用いて行う。形態素解析や機械学習等による用語取得は公知技術であり、詳しい説明を省略する。この種の技術については、例えば、「ディープラーニングによる特許文献からの技術用語抽出」(岩本圭介、Japlo YEAR BOOK 2017、p.242〜246)、「Web文書を利用した半教師あり用語抽出」(近藤光正他、言語処理学会第13回年次大会予稿集、2007年)などに記載されている。
用語纏上部232は、用語取得部231が取得した2以上の用語に対し、纏上処理を行う。纏上処理とは、用語取得部231が取得した2以上の各用語に共通する関連語を、用語辞書格納部211に格納されている用語辞書から取得する処理である。なお、関連語は、用語取得部231が取得した用語でもよい。
用語纏上部232は、例えば、用語取得部231が取得した2以上の各用語に共通する同義語を、用語辞書格納部211に格納されている同義語辞書から取得する。または、用語纏上部232は、例えば、取得された2以上の各用語に共通する上位語を、格納されている上位語辞書から取得してもよい。なお、用語纏上部232は、例えば、同義語、および上位語を取得してもよい。
用語纏上部232は、例えば、2以上の異なるクラスごとに、纏上処理を行い、クラス識別子と関連語との組を複数取得してもよい。
関連語対応付部233は、用語纏上部232が取得した関連語に対応する用語であり、用語取得部231が取得した2以上の各用語が取得された元の2以上の特許情報と、用語纏上部232が取得した関連語とを対応付ける。
関連語対応付部233は、例えば、2以上の異なるクラスごとに、用語纏上部232が取得した関連語に対応する用語であり、用語取得部231が取得した2以上の各用語が取得された元の2以上の特許情報と、用語纏上部232が取得した関連語とを対応付けてもよい。
マップ構成部234は、1または2以上の異なるクラスごとに、関連語と元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けたマップを構成する。特許関連情報とは、用語が取得された元の2以上の各特許情報の特許番号(公開番号も含む)、暦年(例えば、出願日または公開日)、企業名、発明者名などである。従って、取得される2以上の特許関連情報は、例えば、2以上の特許番号の集合、2以上の暦年の集合、2以上の企業名の集合、2以上の発明者名の集合などであるが、当該関連語の出現回数でもよいし、当該関連語と対になる元の特許情報の数でもよいし、当該関連語の出現頻度でもよく、関連語と元の2以上の各特許情報に関連する情報であれば何でもよい。
なお、一の関連語の出現頻度は、例えば、当該関連語の出現回数を、格納されている特許情報の総数で除した値でもよいし、当該一の関連語と対になる元の特許情報の数を、格納されている特許情報の総数で除した値でもよい。ただし、出現頻度の分母は、格納されている特許情報の総数に限らず、例えば、格納されている1以上の特許情報の総単語数や総ページ数などでもよく、出現頻度の算出方法は問わない。
または、特許関連情報は、例えば、関連語の重要度であってもよい。マップ構成部234は、例えば、一の関連語と対になる元の特許情報の数、各特許情報における当該関連語に対応する用語の出現回数、格納されている特許情報の総数などの情報を取得し、当該取得した情報を基に、例えば、tf−idf等のアルゴリズムを用いて、当該関連語の重要度を取得してもよい。
マップは、例えば、2次元のマップである。本実施の形態でいう2次元のマップとは、異なるクラスの用語が配置される2つの軸を有するマップである。2次元のマップは、例えば、横軸または縦軸の一方に2以上の技術用語を配置し、他方に2以上の企業名を配置し、一の技術用語および一の企業名に対応する位置に、元の特許情報の数に応じた大きさの図形(例えば、円)を配置したマップであってもよい。
ただし、マップは、3次元以上のマップでもよい。3次元以上のマップとは、異なるクラスの用語が配置される3以上の軸を有するマップである。例えば、3次元のマップは、横方向の軸、縦方向の軸、または高さ方向の軸のうち、一の軸に2以上の技術用語を配置し、他の一の軸に2以上の企業名を配置し、その他の一の軸に2以上の暦年を配置し、一の技術用語、一の企業名、および一の暦年に対応する位置に、元の特許情報の数に応じた大きさの図形を配置したマップであってもよい。
なお、各軸の方向、各軸に配置する用語のクラス、図形が表現する情報の種類は問わない。
また、一の軸に配置される2以上の用語は、例えば、出現頻度または重要度に応じた順序で並ぶことは好適である。例えば、縦軸に2以上の技術用語を配置し、横軸に2以上の企業名を配置する場合、マップ構成部234は、2以上の技術用語を、出現頻度または重要度が最も高いものを最も高い位置として、出現頻度または重要度が高い順に上から下に並へ、また、2以上の企業名を、最も出現頻度等が高いものを最も左の位置として、出現頻度等が高い順に左から右に並へてもよい。ただし、出現頻度等の高低と、配列の方向との関係は、上記とは逆でもよい。
また、一の軸に配置される2以上の用語は、例えば、人が指定した用語と対になる2以上の下位語であってもよい。すなわち、例えば、マップ受付部22が、キーボード等の入力デバイスを介して一の用語(例えば、「ハードウェア」)の指定を受け付け、マップ構成部234は、用語辞書格納部211に格納されている用語辞書を用いて、当該受け付けられた一の用語と対になる2以上の下位語(例えば、「ハードウェア」と対になる「プロセッサ」、「記憶装置」、「ファームウェア」等の下位語)を取得し、当該2以上の下位語を当該一の軸に配置してもよい。その際、マップ構成部234は、当該2以上の下位語を、それぞれの出現頻度または重要度に応じた順序で並べることは好適である。
また、4次元以上のマップは、4次元以上の仮想空間におけるマップであり、例えば、4以上の軸のうち3以下の軸を選択することにより、3次元以下の実空間内のマップに変換して出力される。
マップ出力部24は、関連語と元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けて出力する。
マップ出力部24は、通常、マップ構成部234が構成したマップを出力する。ただし、4次元以上のマップが構成された場合、マップ出力部24は、例えば、4以上の軸から選択された3以下の軸を有する3次元以下のマップを出力してもよい。出力する軸の選択は、通常、人の指示に応じて行われるが、自動で行われてもよい。
なお、マップ出力部24は、例えば、関連語と1以上の特許番号の組を出力してもよい。つまり、マップ出力部24が出力する情報は、1次元でもよく、2次元以上のマップにすることは必須ではない。
また、マップ構成部234が構成したマップにおいて、一の軸に配置されている用語の数が、予め決められた数(以下、既定数:例えば、7個、10個など)を超えている場合、マップ出力部24は、当該一の軸に配置されている2以上の用語のうち、規定数を超える超過分に対応する数の用語を除く除外処理を行う。
詳しくは、例えば、マップ格納部21に、軸を識別する軸識別子と規定数との対(例えば、{縦軸,7個},{横軸,10個}等)が2対以上格納されており、用語マップ構成部234は、2以上の各軸識別子ごとに、当該軸に配置されている用語の数を取得し、当該取得した数が、当該軸識別子と対になる既定数を超えているか否かを判別し、既定数を超えているか否かを判別した軸について、除去処理を行う。これにより、2以上の各軸に、予め決められた数以下の用語が配置されたマップ(例えば、縦軸に7個の技術用語が配置され、横軸に10個の企業名が配置された2次元マップなど)が出力される。
なお、上記のような除外処理を行う際に、マップ出力部24は、例えば、出現頻度または重要度の低い用語から順番に、用語を除くことは好適である。これにより、2以上の各軸に、予め決められた数以下の用語が、出現頻度または重要度の高い順に配置されたマップが出力される。
マップ出力部24は、マップ構成部234が構成したマップを、通常、ディスプレイを介して出力するが、プリンタでプリントアウトしたり、記録媒体に蓄積したり、他のプログラムに引き渡したり、他の装置に送信したりしてもよく、その出力の態様は問わない。
なお、他の装置は、例えば、マップの出力指示を送信した端末装置でもよい。つまり、マップ受付部22が、端末識別子と対にマップの出力指示を受信し、出力部14は、当該受信された端末識別子で識別される端末装置に、マップを送信してもよい。
格納部11、初期用語集格納部111、最上位用語集格納部112、マップ格納部21、用語辞書格納部211、および特許情報格納部212は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、RAMなど揮発性の記録媒体でも実現可能である。
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル等、何でもよい。
受付部12、マップ受付部22は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部12等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。
処理部13、用語分類部131、減縮処理部132、文書検索部133、拡張処理部134、制御部135、マップ処理部23、用語取得部231、用語纏上部232、関連語対応付部233、およびマップ構成部234は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。ただし、処理手順は、ハードウェア(専用回路)で実現してもよい。
出力部14、およびマップ出力部24は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部14等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。
次に、情報システムAの動作について図2〜図6のフローチャートを用いて説明する。図2および図3は、辞書構築装置1の動作を説明するフローチャートである。図2には、動作の一部である減縮処理が主に示され、図3には、動作の他の一部である検索・拡張処理が主に示される。なお、図2および図3のフローチャートにおいて、出力部14による用語辞書の出力は、通常、マップ作成装置2への送信である。
(ステップS201)処理部13は、用語辞書を構築するか否かを判断する。例えば、受付部12が用語辞書の作成指示を受け付けた場合に、処理部13は、用語辞書を構築すると判断する。または、例えば、格納部11に、用語辞書の構築を行うタイミングに関するタイミング情報が格納されており、処理部13は、MPUの内蔵時計やNTPサーバ等から取得される現在時刻が、タイミング情報が示すタイミングと一致した場合に、辞書を構築すると判断と判断してもよい。なお、タイミング情報は、例えば、“毎月1日の午前9時”といった周期を含む情報であるが、“2019年8月1日17:00”等の1または2以上の時刻の集合でもよい。
用語辞書を構築すると判断された場合はステップS202に進み、辞書を構築しないと判断された場合はステップS217に進む。
(ステップS202)用語分類部131は、変数iに初期値1をセットする。変数iとは、初期用語集格納部111に格納されている2以上の用語のうち、未選択の用語を順番に選択していくための変数である。
(ステップS203)用語分類部131は、i番目の用語があるか否かを判別する。i番目の用語があると判別された場合はステップS204に進み、ないと判別された場合はステップS207に進む。
(ステップS204)用語分類部131は、i番目の用語が、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかを決定する。予め決められたクラスは、例えば、「技術用語のクラス」であるが、「会社名のクラス」または「発明者名のクラス」などでもよい。i番目の用語が、予め決められたクラスに属する用語であると決定された場合はステップS206に進み、予め決められたクラスに属さない用語であると決定された場合はステップS205に進む。
(ステップS205)減縮処理部132は、初期用語集格納部111に格納されている2以上の用語のうち、i番目の用語を除く減縮処理を行う。
(ステップS206)用語分類部131は、変数iをインクリメントする。その後、ステップS213に戻る。
(ステップS207)文書検索部133は、変数jに初期値1をセットする。変数jとは、ステップS205の減縮処理の結果残った1以上の用語のうち、未選択の用語を順番に選択していくための変数である。
(ステップS208)文書検索部133は、j番目の用語があるか否かを判別する。j目の用語があると判別された場合はステップS209に進み、ないと判別された場合はステップS214に進む。
(ステップS209)文書検索部133は、j番目の用語をキーとして文書群を検索し、j番目の用語に対応する文書を取得する。
(ステップS210)拡張処理部134は、ステップS209で取得された文書の予め決められた箇所から関連語を取得する。
(ステップS211)拡張処理部134は、ステップS210で1以上の関連語が取得されたか否かを判別する。ステップS210で1以上の関連語が取得されたと判別された場合はステップS212に進み、取得されていないと判別された場合はステップS213に進む。
(ステップS212)拡張処理部134は、j番目の用語に、ステップS210で取得された1以上の関連語を対応付け、用語と1以上の関連語との組を取得する。
(ステップS213)拡張処理部134は、変数jをインクリメントする。その後、ステップS208に戻る。
(ステップS214)拡張処理部134は、組が取得されたか否かを判別する。組が取得されたと判別された場合はステップS215に進み、取得されていないと判別された場合はステップS201に戻る。
(ステップS215)拡張処理部134は、取得された組を有する用語辞書を取得する。
(ステップS216)拡張処理部134は、ステップS215で取得した用語辞書を、例えば、格納部11に蓄積する。その後、ステップS201に戻る。
(ステップS217)処理部13は、格納されている用語辞書をマップ作成装置2に送信するか否かを判断する。例えば、受付部12が用語辞書の送信指示を受け付けた場合に、処理部13は、用語辞書をマップ作成装置2に送信すると判断する。または、例えば、ステップS216で用語辞書が蓄積されたことに応じて、マップ処理部23は、格納されている用語辞書をマップ作成装置2に送信すると判断してもよい。格納されている用語辞書をマップ作成装置2に送信すると判断された場合はステップS218に進み、送信しないと判断された場合はステップS201に戻る。
(ステップS218)出力部14は、格納されている用語辞書をマップ作成装置2に送信する。その後、ステップ201に戻る。
なお、図2および図3のフローチャートにおいて、辞書構築装置1の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
また、図2および図3のフローチャートにおいて、2つのステップS217およびS218は、省略されてもよい。つまり、ステップS201でNOの場合は、ステップS201に戻ってもよい。
また、図2および図3のフローチャートにおいて、ステップS203〜S206の処理は、例えば、「技術用語のクラス」、「会社名のクラス」、「発明者名のクラス」のうち2以上の各クラスごとに実行されてもよい。
さらに、図2および図3のフローチャートにおいて、構築される用語辞書の種類は問わない。例えば、同義語辞書が構築される場合、「用語辞書」は「同義語辞書」と読み替え、「文書の予め決められた箇所」は、「文書の予め決められた第一箇所」と読み替え、「関連語」は「同義語」と読み替える。
同様に、上位語辞書が構築される場合、「用語辞書」は「上位語辞書」と読み替え、「文書の予め決められた箇所」は、「文書の予め決められた第二箇所」と読み替え、「関連語」は「上位語」と読み替える。
ただし、上位語辞書を構築する場合の検索・拡張処理は、例えば、図4に示すように、再帰的に行われてもよい。図4は、上位語辞書を構築する場合の検索・拡張処理の一例を説明するフローチャートである。
図4のフローチャートは、図3のフローチャートにおいて、ステップS209〜S212をステップS208aに置き換え、また、ステップS214〜S216をステップS216aに置き換え、そして、ステップS208で、YESの場合はステップS209に進み、NOの場合はステップS216aに進むように変更したものである。
(ステップS208a)文書検索部133および拡張処理部134は、j番目の用語を用いた上位語対応付けを再帰的に行う。なお、j番目の用語を用いた上位語対応付けについては、図5のフローチャートを用いて説明する。
(ステップS216a)拡張処理部134は、ステップS208aの上位語対応付けを再帰的に実行することで取得された上語辞書を、例えば、格納部11に蓄積する。その後、ステップS201に戻る。
図5は、j番目の用語を用いた上位語対応付けを説明するフローチャートである。
(ステップS501)文書検索部133は、j番目の用語をキーとして文書群を検索し、j番目の用語に対応する文書を取得する。
(ステップS502)拡張処理部134は、ステップS501で取得された文書の予め決められた第二箇所から上位語を取得する。
(ステップS503)拡張処理部134は、ステップS502で1以上の上位語が取得されたか否かを判別する。ステップS502で1以上の上位語が取得されたと判別された場合はステップS504に進み、取得されていないと判別された場合は上位処理にリターンする。
(ステップS504)制御部135は、変数kに初期値1をセットする。変数kとは、ステップS502の取得された1以上の用語のうち、未選択の用語を順番に選択していくための変数である。
(ステップS505)制御部135は、k番目の用語があるか否かを判別する。k番目の用語が、あると判別された場合はステップS506に進み、ないと判別された場合は、上位処理に復帰する。
(ステップS506)拡張処理部134は、j番目の用語とk番目の用語とを対応付けて、例えばCPUの内部メモリに蓄積する。
(ステップS507)制御部135は、k番目の用語が最上位語であるか否かを判別する。k番目の用語が、最上位用語集格納部112に格納されているいずれかの最上位語と一致する場合、制御部135は、k番目の用語が最上位語であると判別する。k番目の用語が、最上位語であると判別された場合はステップS509に進み、最上位語でないと判別された場合はステップS508に進む。
(ステップS508)制御部135は、k番目の用語を用いた上位語対応付けを行う。k番目の用語を用いた上位語対応付けは、j番目の用語を用いた上位語対応付けの再帰処理である。
(ステップS509)制御部135は、変数kをインクリメントする。その後、ステップS505に戻る。
図6は、マップ作成装置2の動作を説明するフローチャートである。なお、このフローチャートにおいて、マップ受付部22による用語辞書の受け付けは、通常、辞書構築装置1からからの受信である。
(ステップS601)マップ処理部23は、マップ受付部22が用語辞書を辞書構築装置1から受信したか否かを判別する。マップ受付部22が用語辞書を辞書構築装置1から受信したと判別された場合はステップS602に進み、受信していないと判別された場合はステップS603に進む。
(ステップS602)マップ処理部23は、ステップS601で受信された用語辞書を用語辞書格納部211に蓄積する。その後、ステップS601に戻る。
(ステップS603)マップ処理部23は、マップを作成するか否かを判断する。例えば、マップ受付部22がマップの作成指示を受け付けた場合に、マップ処理部23は、マップを作成すると判断する。または、例えば、ステップS601で用語辞書が受信されたこと又はステップS602で用語辞書が蓄積されたことに応じて、マップ処理部23は、マップを作成すると判断してもよい。マップを作成すると判断された場合はステップS604に進み、マップを作成しないと判断された場合はステップS609に進む。
(ステップS604)用語取得部231は、特許情報格納部212に格納されている2以上の各特許情報から用語を取得する。
(ステップS605)用語纏上部232は、ステップS604で取得された2以上の各用語に共通する関連語を、用語辞書格納部211に格納されている用語辞書から取得する。
(ステップS606)関連語対応付部233は、ステップS604で用語が取得された元の2以上の特許情報と、ステップS605で取得された関連語とを対応付ける。
(ステップS607)マップ構成部234は、ステップS605で取得された関連語と、ステップS604で用語が取得された元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けたマップを構成する。
(ステップS608)マップ構成部234は、ステップS607で構成したマップを、例えば、マップ格納部21に蓄積する。その後、ステップS601に戻る。
(ステップS609)マップ処理部23は、マップを出力するか否かを判断する。例えば、マップ受付部22がマップの出力指示を受け付けた場合に、マップ処理部23は、マップを出力すると判断する。または、例えば、ステップS607でマップが構成されたこと又はステップS608でマップが蓄積されたことに応じて、マップ処理部23は、マップを出力すると判断してもよい。マップを出力すると判断された場合はステップS610に進み、マップを出力しないと判断された場合はステップS601に戻る。
(ステップS610)マップ出力部24は、マップ格納部21に格納されているマップを、例えば、ディスプレイ等の出力デバイスを介して出力する。その後、ステップS601に戻る。
なお、図5のフローチャートにおいて、マップ作成装置2の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
また、図5のフローチャートにおいて、2つのステップS501およびS502は、省略されてもよい。
以下、本実施の形態における情報システムAの具体的な動作例について説明する。なお、以下の説明は、種々の変更が可能であり、本発明の範囲を何ら制限するものではない。
本例において、文書群は、ウィキペディアであり、ウィキペディアは、図示しないサーバに格納されている。
辞書構築装置1の格納部11には、予め決められたクラスが「技術用語のクラス」である旨の情報が格納されている。なお、予め決められたクラスは、例えば、人の指示に応じて、「企業名のクラス」または「発明者名のクラス」に変更されてもよい。
また、格納部11には、ページを特定するタグ、第一箇所を特定するタグ、第二箇所を特定するタグなども格納されている。ページ特定するタグは、「<page>,</page>」である。第一箇所は、記事要約、リダイレクトタイトルなどであり、第一箇所を特定するタグは、記事要約を特定する『「‘‘‘」〜「。」』、リダイレクトタイトルか否を示すフラグなどである。第二箇所は、カテゴリデータ、カテゴリリンク情報などであり、第二箇所を特定するタグは、例えば、“Category:”である。
また、格納部11には、例えば、図7に示すような不要ワード群、および図8に示すような文末群も格納されている。不要ワード群は、「小説」、「テレビドラマ」、「音楽ユニット」等を含む。文末群は、例えば、「。」、「である。」、「の一つ。」、「のひとつ。」、「の一つである。」、「のひとつである。」、「のこと。」、「のことである。」、「のメンバー。」等を含む。
初期用語集格納部111には、例えば、図9に示すような、ウィキペディアの全記事タイトルが格納されている。全記事タイトルは、例えば、「CPU」、「中央処理装置」、「処理装置」、「ミニディスク」、「はてしない物語」などの用語を含む。
最上位用語集格納部112には、例えば、図10に示すような最上位用語集が格納されている。最上位用語集を構成する1以上の各最上位用語は、ウィキペディアにおいて、「主要カテゴリ」の下位カテゴリである「学科別分類」の、さらに下位カテゴリである「自然科学」や「社会科学」や「人文科学」等に属する用語である。本例における最上位用語集は、例えば、「経営学」、「工学」、「経済学」、「考古学」、「計算機科学」(本例では、「計算機工学」と記す場合がある)、および「歯学」などを含む。
マップ作成装置2のマップ格納部21には、例えば、マップの雛形が格納されている。雛形とは、マップの構成に関する情報である。雛形は、例えば、マップを構成する2以上の軸の方向、および各軸における2以上の用語の配置に関する情報などを含む。ただし、雛形のデータ構造は問わない。
用語辞書格納部211には、辞書構築装置1が構築した用語辞書(本例では、同義語辞書および上位語辞書)が格納される。特許情報格納部212には、2以上の特許文献(例えば、特開2017−aaaa号公報、特開2010−bbbb号公報等)が格納されている。
辞書構築装置1において、受付部12がキーボード等の入力デバイスを介して用語辞書の作成指示を受け付けると、処理部13は、初期用語集格納部111に格納されている初期用語集のコピーを格納部11に生成し、用語分類部131は、当該初期用語集を構成する2以上の用語(記事タイトル)の各々について、当該用語が、予め決められたクラスである「技術用語のクラス」に属する用語であるか、「技術用語のクラス」に属さない用語であるかを決定する決定処理を行う。
本例における決定処理は、各用語が不要語か否かを、不要ワード群および末尾群を用いて、判断する処理である。詳しくは、用語分類部131は、格納されている1以上の各記事タイトル(用語)ごとに、当該用語を説明するページの記事要約を取得し、当該取得した記事要約が“「不要ワード」+「文末」”で終了しているか否かを判断し、“「不要ワード」+「文末」”で終了している場合に、当該記事要約に対応する記事タイトルを不要語と判断する。
用語分類部131は、例えば、記事タイトル「CPU」について、タグ『「‘‘‘」〜「。」』で特定される記事要約「CPU(シーピーユー、英:Central Processing Unit)、中央処理装置(ちゅうおうしょりそうち)は、コンピュータにおける中心的な処理装置(プロセッサ)。」を取得し、「CPU」が不要語か否かの判断を行う。「CPU」の記事要約は、“「不要ワード」+「文末」”で終了していないので、用語分類部131は、「CPU」は不要語ではないと判断する。
記事タイトル「中央処理装置」、「処理装置」、および「ミニディスク」についても、同様に、不要語ではないと判断される。ただし、記事タイトル「はてしない物語」については、対応する記事要約「『'''はてしない物語'''』・・・小説である。」が“「小説」+「である。」”で終了しているので、不要語であると判断される。
こうして、上記2以上の用語のうち、「CPU」、「中央処理装置」、「処理装置」、および「ミニディスク」が、技術用語のクラスに属する用語であると決定され、「はてしない物語」は、技術用語のクラスに属さない用語であると決定される。
なお、一の用語を説明するページの記事要約が2以上の文を含んでいる場合、用語分類部131は、例えば、2以上の各文ごとに、当該文が“「不要ワード」+「文末」”で終了しているか否かを判別する。そして、例えば、2以上の文の全てが“「不要ワード」+「文末」”で終了していると判別された場合に、用語分類部131は、当該一の用語を不要語と判断してもよい。または、例えば、少なくとも一の文が“「不要ワード」+「文末」”で終了していると判別された場合に、用語分類部131は、当該一の用語を不要語と判断してもよい。または、例えば、“「不要ワード」+「文末」”で終了している旨の判別結果が、予め決められた条件を満たす程多く得られた場合に、用語分類部131は、当該一の用語を不要語と判断してもよい。なお、予め決められた条件は、例えば、“「不要ワード」+「文末」”で終了している旨の判別結果の回数が閾値以上である又は閾値より多いことでもよいし、または、“「不要ワード」+「文末」”で終了している旨の判別結果の回数を、文の数(すなわち、判別の回数)で除した値が、閾値以上である又は閾値より多いことでもよい。
次に、減縮処理部132は、格納部11にコピーされた初期用語集に対して、「技術用語のクラス」に属さない用語であると判別された「はてしない物語」を除く減縮処理を行う。これによって、格納部11の初期用語集において、「CPU」、「中央処理装置」、「処理装置」、および「ミニディスク」が残る。
次に、文書検索部133は、減縮処理の結果残った1以上の各用語について、当該用語をキーとしてウィキペディアを検索し、当該用語に対応する文書を取得する取得処理を行う。検索の対象は、タグ「<page>,</page>」で特定される2以上の記事タイトルである。これによって、例えば、ウィキペディア内の「CPU」のページ等が取得される。
次に、拡張処理部134は、文書検索部133によって取得された1以上の各文書について、当該文書の第一箇所(記事要約、記事要約の直後の文、リダイレクトタイトル等)から1以上の同義語を取得する第一拡張処理を行う。例えば、上記取得された「CPU」のページの記事要約(前述)から、「中央処理装置」等の同義語が取得される。
ただし、「CPU」に対応する記事要約は、例えば、図11に示すような、一対のタグ「‘‘‘」および「’’’」や、「{{lang−en−short|*****}}」等の手掛かり句などを含んだ形式を有していてもよい。同様に、「ミニディスク」に対応する記事要約は、例えば、図12に示すような形式を有していてもよい。かかる場合、格納部11には、例えば、図13に示すような、手掛かり句群が格納される。手掛かり句群とは、1または2以上の手掛かり句の集合である。手掛かり句は、例えば、「{{lang−en−short|*****}}」、「{{lang−en|*****}}」等である。
また、格納部11には、例えば、図14に示すような、要約直後文群も格納される。要約直後文群とは、1または2以上の要約直後文の集合である。要約直後文とは、記事要約の直後の文である。要約直後文は、例えば、「****とも呼ばれる。」、「略称は*****。」等である。
拡張処理部134は、例えば、図11の記事要約から、一対のタグ「‘‘‘」および「’’’」で挟まれた「CPU」と、一対のタグ「‘‘‘」および「’’’」で挟まれた「中央処理装置」とを取得する。次に、拡張処理部134は、取得した「CPU」の直後の「(」および「)」で挟まれた部分から、「シーピーユー」を取得し、さらに、格納されている手掛かり句「{{lang−en−short|*****}}」を用いて、当該手掛かり句の「*****」に対応する文字列「Central Prodessing Unit」をも取得する。次に、拡張処理部134は、取得した「中央処理装置」の直後の「(」および「)」で挟まれた部分から「ちゅうおうしょりそうち」を取得する。
こうして、図11の記事要約からは、5つの同義語「CPU」、「シーピーユー」、「Central Prodessing Unit」、「中央処理装置」、および「ちゅうおうしょりそうち」が取得される。なお、かかる5つの同義語のうち一部(ここでは、「シーピーユー」、「Central Prodessing Unit」、および「ちゅうおうしょりそうち」の3語)は、初期用語集には含まれていなかった用語である。
同様に、拡張処理部134は、図12の記事要約から、一対のタグ「‘‘‘」および「’’’」で挟まれた「ミニディスク」を取得し、また、格納されている手掛かり句「{{lang−en|*****}}」を用いて、当該手掛かり句の「*****」に対応する文字列「MiniDisc」をも取得する。さらに、拡張処理部134は、格納されている要約直後文「略称は*****。」を用いて、当該要約直後文の「*****」に対応する文字列「MD」、および当該「MD」の直後の「(」および「)」で挟まれた文字列「エムディー」をも取得する。取得された同義語群のうち一部(ここでは、「シーピーユー」、「Central Prodessing Unit」、および「ちゅうおうしょりそうち」)は、初期用語集には含まれていなかった用語である。
こうして、図12の記事要約から、4つの同義語「ミニディスク」、「MiniDisc」、「MD」、および「エムディー」が取得される。なお、かかる4つの同義語のうち一部(ここでは、「MiniDisc」、「MD」、および「エムディー」の3語)は、初期用語集には含まれていなかった用語である。
また、当該「CPU」のページの、リダイレクトタイトル“(CPU,中央処理装置)”に基づく記述「・・・(中央演算処理装置から転送)」から、「中央演算処理装置」も取得される。
なお、リダイレクトタイトルからの同義語の取得に当たって、拡張処理部134は、例えば、“jawiki−latest−page.sql”から構築される図15のテーブル(以下、「表1」と記す場合がある)、および“jawiki−latest−redirect.sql”から構築される図16のテーブル(以下、「表2」)を紐付けることにより、図17のテーブル(以下、「表3」)を構築してもよい。
図15において、“page_id”は、記事ごとに割り当てられる番号である。“page_namespace”は、記事ページかカテゴリページかを示す情報(例えば、“0”が記事ページ、“14”がカテゴリページ)である。“page_title”は、記事タイトル名もしくはリダイレクトタイトル名もしくはカテゴリ名である。“page_is_redirect”は、リダイレクトタイトルであるか否かを示す情報(例えば、“0”が記事タイトル、“1”がリダイレクトタイトル)である。また、図16において、“rd_from”は、“page_id”に紐づく番号であり、“rd_title”は、“rd_from”に紐づく“page_id”のページが“page_title”で検索されたときに表示される記事タイトル名である。
なお、図15のテーブルは、例えば、拡張処理部134が“jawiki−latest−page.sql”から構築し、格納部11に蓄積するが、予め構築され、格納部11に格納されていてもよい。同様に、図16のテーブルは、例えば、拡張処理部134が“jawiki−latest−redirect.sql”から構築し、格納部11に蓄積するが、予め構築され、格納部11に格納されていてもよい。
図15および図16の2つのテーブルを構築する場合、例えば、“jawiki−latest−redirect.sql”に、1または2以上の各記事ページのpage_titleごとに、当該page_titleの記事ページをリダイレクト先とする1または2以上の記事ページのpage_idが含まれている。拡張処理部134は、かかる“jawiki−latest−redirect.sql”を用いて、page_title「CPU」の記事ページにリダイレクトされる1または2以上の各記事ページのpage_id(例えば、「47825」,「621929」等)を取得し、当該取得した各記事ページのpage_idを、page_title「CPU」に対応付けて蓄積することにより、図16のテーブルを構築する。
また、例えば、“jawiki−latest−page.sqlに、page_idと、page_namespaceと、page_titleと、page_is_redirectとの組の集合が含まれている。拡張処理部134は、かかる“jawiki−latest−page.sql”を用いて、上記取得した1以上の各記事ページのpage_idごとに、当該記事ページのpage_idに対応するpage_title(例えば、「47825」に対応する「中央処理ユニット」、「621929」に対応する「中央演算処理装置」等)を取得する。そして、拡張処理部134は、当該取得したpage_titleに、当該記事ページのpage_idと、page_namespace「0」と、page_is_redirect「1」とを対応付けて蓄積する。
さらに、拡張処理部134は、page_title「CPU」に、対応する記事ページのpage_id「2387」と、page_namespace「0」と、page_is_redirect「0」とを対応付けて蓄積する。これによって、図15のテーブルが構築される。ただし、図15および図16の2つのテーブルを構築する手順は問わない。
ウィキペディアにおいて、page_name(表1)=0、かつpage_is_redirect(表1)=0に対応するレコードに含まれるpage_title(表1)で検索が行われた場合は、page_title(表1)の記事が表示される。他方、page_namespace(表1)=0、かつpage_is_redirect(表1)=0に対応するレコードに含まれるpage_title(表1)で検索が行われた場合には、page_id(表1)=rd_from(表2)であるレコードに含まれるrd_title(表2)の記事が表示される。
そこで、拡張処理部134は、page_id(表1)の値と、rd_from(表2)の値とが一致する2つのレコードを紐付けする(つまり、表1のカラム「page_title」と、表2のカラム「rd_title」とを紐づける)ことにより、page_id(表1)=rd_from(表2)、title(ワード)、およびpage_title(同義語)の組の集合であるテーブル(表3)を構築する。ただし、用語分類部131が不用語と判断した記事タイトルに対応する用語(ワード、同義語)は、通常、表3から除かれる。そして、拡張処理部134は、当該構築したテーブル(表3)を用語辞書(同義語辞書)として取得してもよい。
また、拡張処理部134は、上記取得された1以上の各文書について、当該文書のカテゴリデータから1以上の上位語を取得する第二拡張処理をも行う。例えば、上記取得された「CPU」のページ内のカテゴリデータ「CPU」、および「CPU」に対応付いたカテゴリデータ「コンピュータアーキテクチャ|コンピュータの仕組み|ハードウェア」から、「ハードウェア」等の1以上の上位語が取得される。
次に、制御部135は、取得された1以上の上位語が最上位語を含むか否かを判別し、判別結果がYESとなるまで、文書検索部133による検索処理および拡張処理部134による第二拡張処理を繰り返し実行させる。これにより、用語「CPU」に対して、最上位語に至る1以上の上位語「ハードウェア」,「コンピュータ」,および「計算機科学」が取得される。なお、最上位語「計算機科学」が取得されるまでの処理は、前述したので繰り返さない。
次に、拡張処理部134は、減縮処理の結果残った1以上の各用語ごとに、当該用語に、取得された1以上の同義語を対応付け、用語と1以上の同義語との組を取得する。これにより、例えば、用語「CPU」と、1以上の同義語「中央処理装置」および「中央演算処理装置」等との組などが取得される。そして、拡張処理部134は、当該取得した複数の組を有する同義語辞書を取得し、格納部11に蓄積する。
また、拡張処理部134は、残った1以上の各用語ごとに、当該用語に、取得された1以上の上位語を対応付け、用語と1以上の上位語との組を取得する。これにより、例えば、用語「CPU」と、1以上の上位語「ハードウェア」,「コンピュータ」,および「計算機科学」との組などが取得される。そして、拡張処理部134は、当該取得した複数の組を有する上位語辞書をも取得し、格納部11に蓄積する。
なお、カテゴリデータからの上位語の取得に当たって、拡張処理部134は、例えば、“jawiki−latest−page.sql”から構築される図18のテーブル(以下、「表4」と記す場合がある)、および“jawiki−latest−categorylinks.sql”から構築される図19のテーブル(以下、「表5」)を紐付けることにより、図20のテーブル(以下、「表6」)を構築してもよい。
図18において、“page_id”、“page_namespace”、および“page_title”は、前述した図15におけるものと同様の情報である。また、図19において、“cl_from”は、“page_id”に紐づく番号であり、“cl_to”は、“cl_from”が含まれるカテゴリのカテゴリ名であり、“cl_type”は、“cl_from”に紐づく“page_id”のページが、記事ページか、カテゴリページかを示す情報(例えば、“page”が記事ページ、“subcat”がカテゴリページ)である。
なお、図18のテーブルは、例えば、拡張処理部134が“jawiki−latest−page.sql”から構築し、格納部11に蓄積するが、予め構築され、格納部11に格納されていてもよい。同様に、図19のテーブルは、例えば、拡張処理部134が“jawiki−latest−categorylinks.sql”から構築し、格納部11に蓄積するが、予め構築され、格納部11に格納されていてもよい。
図18および図19の2つのテーブルを構築する場合、例えば、“jawiki−latest−categorylinks.sql”に、1または2以上の各記事ページのpage_titleごとに、当該page_titleが属するカテゴリページのpage_idと、当該page_idに対応する1または2以上の各カテゴリページのpage_titleとが含まれている。拡張処理部134は、かかる“jawiki−latest−categorylinks.sql”を用いて、page_title「CPU」が属するカテゴリページのpage_id「184440」を取得し、さらに、当該取得したpage_id「184440」に対応する1または2以上の各カテゴリページのpage_title(例えば、「コンピュータの仕組み」,「コンピュータアーキテクチャ」,「ハードウェア」等)を取得する。そして、拡張処理部134は、当該取得した1以上の各カテゴリページのpage_titleを、page_id「184440」と、cl_type「subcat」とに対応付けて蓄積する。
また、拡張処理部134は、page_title「CPU」の記事ページのpage_id「2387」をも取得し、page_title「CPU」を、当該取得したpage_id「2387」と、cl_type「page」とに対応付けて蓄積する。さらに、page_title「ハードウェア」、「コンピュータアーキテクチャ」等についても、上記と同様の処理が行われ、それによって、図19のテーブルが構築される。
次に、拡張処理部134は、例えば、前述した“jawiki−latest−page.sql”を用いて、上記のように取得した1以上の各カテゴリページのpage_titlごとに、当該page_titlに対応するカテゴリページのpage_id(例えば、「コンピュータの仕組み」に対応する「24360」、「コンピュータアーキテクチャ」に対応する「249507」、「ハードウェア」に対応する「140804」等)を取得し、当該page_titlを、当該取得したカテゴリページのpage_idと、page_namespace「14」と、page_is_redirect「0」とに対応付けて蓄積する。
また、拡張処理部134は、カテゴリページのpage_titl「CPU」を、カテゴリページのpage_id「184440」と、page_name「14」と、page_is_redirect「0」とに対応付けて蓄積する。また、拡張処理部134は、記事ページのpage_titl「CPU」を、記事ページのpage_id「2387」と、page_namespace「0」と、page_is_redirect「0」とに対応付けて蓄積する。
さらに、カテゴリページのpage_titl「計算機科学」、および記事ページのpage_titl「ハードウェア」等についても、上記と同様の処理が行われ、それによって、図18のテーブルが構築される。ただし、図18および図19の2つのテーブルを構築する手順は問わない。
ウィキペディアにおいて、page_title(表4)の記事ページもしくはカテゴリページは、対応するpage_id(表4)に紐づくcl_from(表5)のcl_to(表5)のカテゴリ名のカテゴリに含まれる。
そこで、拡張処理部134は、page_id(表4)の値と、cl_from(表5)の値とが一致する2つのレコードを紐付けする(つまり、表4のカラム「page_id」と、表5のカラム「cl_from」とを紐づける)ことにより、page_id(表4)=cl_from(表5)、cl_to(上位語)、page_title(下位語)、およびcl_type(表5)の組の集合であるテーブル(表6)を構築する。ただし、用語分類部131が不用語と判断した記事タイトルに対応する用語(上位語、下位語)は、通常、表6から除かれる。
そして、拡張処理部134は、当該構築したテーブル(表6)を用語辞書(上位語辞書)として取得する。または、拡張処理部134は、当該構築したテーブル(表6)をツリー状に構成した図21の階層図を取得してもよい。
その後、例えば、受付部12が用語辞書の送信指示を受け付けたことに応じて、出力部14は、格納部11に格納されている同義語辞書および上位語辞書をマップ作成装置2に送信する。
マップ作成装置2において、マップ受付部22が上記2種類の用語辞書を受信し、マップ処理部23は、当該受信された2種類の用語辞書を用語辞書格納部211に蓄積する。
その後、マップ受付部22が、マップの出力指示を、用語「ハードウェア」の指定と共に受け付けたとする。なお、用語「ハードウェア」の指定は、例えば、文字入力でもよいし、図21の階層図において「ハードウェア」を指定する操作でもよい。後者の場合、例えば、マップ出力部24が、図21の階層図をディスプレイに表示し、マップ受付部22は、マウス等で「ハードウェア」の指定を受け付けてもよい。
これに応じて、用語取得部231は、特許情報格納部212に格納されている2以上の各特許文献から、指定された用語に関連する用語を取得する。ここでは、例えば、特開2016−aaaa号公報から、技術用語「CPU」と企業名“AA株式会社”が取得され、特開2010−bbbb号公報からは、技術用語「中央処理装置」と企業名“BB株式会社”が取得されたとする。
用語纏上部232は、こうして取得された2以上の関連語のうち、技術用語のクラスに属する2以上の用語(つまり、「CPU」および「中央処理装置」)に共通する関連語を、用語辞書格納部211に格納されている2種類の用語辞書から取得する。詳しくは、例えば、特開2016−aaaa号公報から取得された用語「CPU」に対し、「CPU」、「中央処理装置」および「中央演算処理装置」等の同義語が同義語辞書から取得され、また、「ハードウェア」,「コンピュータ」,および「計算機科学」等の上位語が上位語辞書から取得される。
同様に、特開2010−bbbb号公報から取得された用語「中央処理装置」に対し、「中央処理装置」、「CPU」および「中央演算処理装置」等の同義語が同義語辞書から取得され、また、「処理装置」,「計算機」,および「計算機科学」等の上位語が上位語辞書から取得されたとする。
用語纏上部232は、特開2016−aaaa号公報から取得された関連語群「CPU」,「中央処理装置」,「中央演算処理装置」,「ハードウェア」,「コンピュータ」,および「計算機科学」と、特開2010−bbbb号公報から取得された関連語群「中央処理装置」,「CPU」,「中央演算処理装置」,「処理装置」,「計算機」,および「計算機科学」とに共通する関連語「CPU」,「中央演算処理装置」,および「計算機科学」を検出する。
検出された上記3つの関連語のうち、「CPU」と「中央演算処理装置」は同義語の関係にあるため、用語纏上部232は、「CPU」と「中央演算処理装置」のいずれか一方(例えば、「CPU」)を採用する。そして、用語纏上部232は、共通する関連語として、「CPU」および「計算機科学」の2つを取得する。
関連語対応付部233は、取得された2つの関連語「CPU」および「計算機科学」の各々に対して、それが取得された元の特許文献(つまり、特開2016−aaaa号公報および特開2010−bbbb号公報)を対応付ける。これによって、例えば、2つの関連語「CPU」および「計算機科学」の各々に対して、特開2016−aaaa号公報に関連する特許関連情報である公開番号“特開2016−aaaa”および企業名“AA株式会社”と、特開2010−bbbb号公報に関連する特許関連情報である公開番号“特開2010−bbbb”および企業名“BB株式会社”とが対応付けられる。
マップ構成部234は、関連語対応付部233による対応付けの結果と、マップ格納部21に格納されている雛形とを用いて、取得された2つの関連語と、それらに対応する用語が取得された元の2以上の各特許情報に関連する2以上の特許関連情報(例えば、企業名)とを対応付けた2次元のマップを構成する。
これによって、例えば、2つの軸の一方(例えば、縦軸)に、上記2つの関連語「CPU」および「計算機科学」を含む関連情報群が配置され、2つの軸の他方(例えば、横軸)に、上記2つの企業名“AA株式会社”および“BB株式会社”を含む企業名群が配置され、関連語と企業名との組に対応する位置に、元の特許情報の数に応じた大きさの円が配置されたマップが取得される。
なお、マップの構成時、上記2つの企業名は、略称等の同義語に置き換えられてもよい。例えば、用語辞書格納部211に、企業名に関する同義語辞書(例えば、企業名“AA株式会社”と同義語“AA(株)”との対、企業名“BB株式会社”と同義語“BB(株)”との対など)が格納されており、マップ構成部234は、企業名に関する同義語辞書を用いて、企業名“AA株式会社”を同義語“AA(株)”に置き換え、企業名“BB株式会社”を同義語“BB(株)”に置き換えてもよい。マップ構成部234は、こうして構成したマップをマップ格納部21に蓄積する。
マップ出力部24は、マップ格納部21に格納されているマップを、ディスプレイを介して出力する。これによって、マップ作成装置2のディスプレイに、例えば、図22に示すようなマップが表示される。このマップでは、縦軸に7個の技術用語(「プロセッサ」、「記憶装置」等)が配置され、横軸に10個の企業名「AA(株)」、「BB(株)」等)が配置されている。縦軸の各技術用語は、指定された用語「ハードウェア」の下位語である。横軸の企業名は、略称である。なお、このマップでは、各円に対応付けて、元の特許情報の数(件数)も表示されているが、件数は表示されなくてもよい。
以上、本実施の形態によれば、初期用語集格納部111に、2以上の用語の集合である初期用語集が格納され、辞書構築装置1は、2以上の各用語に対して、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかを決定する用語分類を行い、当該用語分類における分類結果を用いて、2以上の用語から予め決められたクラスに属さない用語を除く処理である減縮処理を行い、減縮処理の結果、残った1以上の各用語を少なくともキーとして、文書群を検索し、1以上の各用語に対応する文書を取得する検索処理を行い、取得した文書の中の情報であり、予め決められた箇所の情報から、用語に関連する1以上の関連語を取得し、1以上の関連語を対応する用語に対応付けて、用語と用語に対応付けられた1以上の関連語との組を複数有する用語辞書を取得し、蓄積する拡張処理を行うことにより、予め決められたクラスに属さない用語を含まず、用語の関連語をより多く含む用語辞書を簡易に構築できる。
なお、上記構成において、文書群は、ウィキペディアであり、ウィキペディアでは、常に有志の更新によって情報の新鮮さが保たれていることから、最新の用語や関連語を多く含む辞書を安価に構築できる。また、ウィキペディアでは、同義語として英語表記も取得できるので、英日共存の辞書を構築できる。
また、辞書構築装置1は、取得した文書の中の予め決められた第一箇所の情報から、用語に関連する1以上の同義語を取得し、1以上の同義語を対応する用語に対応付けて、用語と用語に対応付けられた1以上の同義語との組を複数有する用語辞書を取得し、蓄積する第一拡張処理を行うことにより、予め決められたクラスに属さない用語を含まず、用語の同義語をより多く含む用語辞書を簡易に構築できる。
また、辞書構築装置1は、取得した文書の中の予め決められた第二箇所の情報から、用語に関連する1以上の上位語を取得し、1以上の上位語を対応する用語に対応付けて、用語と用語に対応付けられた1以上の上位語との組を複数有する用語辞書を取得し、蓄積する第二拡張処理を行うことにより、予め決められたクラスに属さない用語を含まず、用語の上位語をより多く含む用語辞書を簡易に構築できる。
また、辞書構築装置1は、第二拡張処理により取得した上位語をキーとして文書群を検索し、1以上の各上位語に対応する文書を取得し、取得した上位語に対応する文書の中の情報であり、第二箇所の情報から、上位語に関連する1以上の上位語を取得し、検索処理と第二拡張処理とを1回または2回以上行うことの制御を行うことにより、上位語の上用語をも含む用語辞書を簡易に構築できる。
また、最上位用語集格納部112に、最上位の概念の1以上の用語である最上位用語の集合である最上位用語集が格納され、辞書構築装置1は、第二拡張処理により取得された用語が最上位用語集に含まれるいずれかの最上位用語となるまで、検索処理と第二拡張処理とを繰り返すように制御することにより、最上までの2以上の階層の用語を含む用語辞書を簡易に構築できる。
また、上記構成において、予め決められたクラスは、技術用語のクラスであることにより、辞書構築装置1は、技術用語の辞書であり、技術用語以外の用語を含まず、技術用語の関連語をより多く含む辞書を簡易に構築できる。
また、上記構成において、予め決められたクラスは、企業名のクラスである辞書構築装置であることにより、辞書構築装置1は、企業名の辞書であり、企業名以外の用語を含まず、企業名の関連語をより多く含む辞書を簡易に構築できる。
また、上記構成において、予め決められたクラスは、発明者のクラスであることにより、辞書構築装置1は、発明者名の辞書であり、発明者名以外の用語を含まず、発明者名の関連語をより多く含む用語辞書を簡易に構築できる。
また、用語辞書格納部211に、辞書構築装置1が構成した用語辞書が格納され、特許情報格納部212に、2以上の特許情報が格納され、マップ作成装置2は、2以上の各特許情報から用語を取得し、取得した2以上の各用語に共通する関連語を用語辞書から取得する纏上処理を行い、纏上処理によって取得された関連語に対応する2以上の各用語が取得された元の2以上の特許情報と、纏上処理によって取得された関連語とを対応付け、関連語と元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けて出力することにより、辞書構築装置1によって構築された用語辞書を用いて、2以上の特許情報から、ノイズが少なく、より多くの関連語を纏め上げた、的確なマップを作成できる。
また、マップ作成装置2は、2以上の各特許情報から、2以上の異なるクラスの用語を取得し、2以上の異なるクラスごとに、纏上処理を行い、2以上の異なるクラスごとに、取得した関連語に対応する2以上の各用語が取得された元の2以上の特許情報と、取得した関連語とを対応付け、2以上の異なるクラスごとに、関連語と元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けたマップを構成し、構成したマップを出力することにより、多次元のマップを生成できる。
さらに、本実施の形態における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布してもよい。
なお、本実施の形態における辞書構築装置1を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、2以上の用語の集合である初期用語集が格納される初期用語集格納部111にアクセス可能なコンピュータを、前記2以上の各用語に対して、予め決められたクラスに属する用語であるか、予め決められたクラスに属さない用語であるかを決定する用語分類部131と、前記用語分類部131における分類結果を用いて、前記2以上の用語から前記予め決められたクラスに属さない用語を除く処理である減縮処理を行う減縮処理部132と、前記減縮処理の結果、残った1以上の各用語を少なくともキーとして、文書群を検索し、1以上の各用語に対応する文書を取得する文書検索部133と、前記文書検索部133が取得した文書の中の情報であり、予め決められた箇所の情報から、前記用語に関連する1以上の関連語を取得し、当該1以上の関連語を対応する用語に対応付けて、用語と当該用語に対応付けられた1以上の関連語との組を複数有する用語辞書を取得し、蓄積する拡張処理を行う拡張処理部134として機能させるためのプログラムである。
また、本実施の形態におけるマップ作成装置2を実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、辞書構築装置1が構成した用語辞書が格納される用語辞書格納部211、および2以上の特許情報が格納される特許情報格納部212にアクセス可能なコンピュータを、前記2以上の各特許情報から用語を取得する用語取得部231と、前記用語取得部231が取得した2以上の各用語に共通する関連語を前記用語辞書から取得する纏上処理を行う用語纏上部232と、前記用語纏上部232が取得した関連語に対応する前記用語取得部231が取得した2以上の各用語が取得された元の2以上の特許情報と、前記用語纏上部232が取得した関連語とを対応付ける関連語対応付部233と、前記関連語と前記元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けて出力するマップ出力部24として機能させるためのプログラムである。
なお、本実施の形態におけるマップ作成装置2は、辞書構築装置1が構築した用語辞書を用いて、マップを作成したが、さらに特許検索も行ってもよい。特許検索とは、例えば、用語を受け付け、当該受け付けた用語に関連する1以上の関連語を用語辞書格納部211の用語辞書から取得し、当該取得した1以上の各関連語をキーとして、特許情報格納部212に格納されている2以上の特許情報を検索し、検索の結果を出力する処理である、といってもよい。
詳しくは、マップ作成装置2は、例えば、マップを作成するマップ作成機能、および特許検索を行う検索機能を含む2以上の機能を有していてもよい。そのうち一の機能が、キーボード等の入力デバイスを介して選択されると、マップ受付部22が当該選択を受け付け、マップ処理部13等は、当該選択に対応する処理を実行する。例えば、マップ作成機能が選択された場合、マップ処理部23等は、前述したような処理を行う。
検索機能が選択された場合、以下のような処理が行われる。すなわち、マップ受付部22は、用語を受け付ける。受け付けられる用語は、特許検索のキーワードであり、例えば、技術用語であるが、企業名、発明者名などでもよく、その種類は問わない。
マップ処理部23は、マップ受付部22が受け付けた用語に関連する1以上の関連語を、用語辞書格納部211に格納されている用語辞書から取得する。そして、マップ処理部23は、当該取得した1以上の各関連語をキーとして、特許情報格納部212に格納されている2以上の特許情報を検索し、検索結果を取得する。検索結果とは、かかる検索の結果に関する情報である。検索結果は、例えば、関連語を含む1または2以上の各特許情報を識別する識別情報の集合(以下、「識別情報群」)である。
例えば、特許情報が特許文献である場合、識別情報は、公開番号や特許番号などであるが、IDでもよく、その種類は問わない。この場合の検索結果は、例えば、関連語を含む1または2以上の各特許文献に記載の、公開番号等の集合であってもよい。または、検索結果は、例えば、公開番号等と、企業名または発明者名のうち1以上の情報との組の集合などでもよく、その構造は問わない。
マップ処理部23は、具体的には、例えば、関連語を含む1または2以上の各特許文献ごとに、予め決められた1または2以上の各欄(例えば、「公開番号」、「氏名又は名称」、「氏名」、「発明の名称」など)の記載事項を取得してもよい。そして、マップ処理部23は、取得した1または2以上の記載事項(当該関連語も加えてもよい)の組を、1または2組以上含む検索結果を取得してもよい。
マップ出力部24は、マップ処理部23が取得した検索結果を、例えば、ディスプレイ等の出力デバイスを介して出力する。これによって、例えば、受け付けられた用語の関連語を含む1以上の特許情報に対応する識別情報群などが、ディスプレイに表示される。
これにより、マップ作成装置2は、辞書構築装置1によって構築された用語辞書を用いて、漏れの少ない、的確な特許検索も行える。
なお、特許検索機能によって取得された識別情報群は、マップ作成機能に引き渡され、マップ作成機能によって、当該識別情報群に対応する1または2以上の特許情報を対象として、マップが作成されてもよい。つまり、特許検索機能は、特許情報格納部212に格納されている2以上の特許情報の集合である「親母集団」を、受け付けられた用語および格納されている用語辞書を用いて、当該用語の関連語を含む1以上の特許情報の集合である「子母集団」に絞り込む機能である、と考えることもできる。
詳しくは、マップ出力部24は、取得された識別情報群を用語取得部231に引き渡してもよい。用語取得部231は、当該識別情報群に対応する1以上の各特許情報から用語を取得する。なお、以降の処理は、前述と同様である。すなわち、用語纏上部232は、取得された2以上の各用語に共通する関連語を用語辞書から取得する纏上処理を行い、用語纏上部231が取得した関連語に対応する用語取得部231が取得した2以上の各用語が取得された元の2以上の特許情報と、用語纏上部232が取得した関連語とを対応付け、マップ出力部24は、当該関連語と当該元の2以上の各特許情報に関連する2以上の特許関連情報とを対応付けて出力してもよい。
これによって、格納されている2以上の特許情報の集合である親母集団から、受け付けられた用語の関連語を含む1以上の特許情報の集合である子母集団を取得し、構築された用語辞書を用いて、子母集団から、的確なマップを作成できる。
なお、マップ作成装置2において、マップの作成は行われず、特許検索のみが行われてもよい。このようなマップ作成装置2は、「検索装置」と称してもよい。以下、辞書構築装置1が構築した用語辞書を用いて、特許検索を行う検索装置2aについて説明する。
(変形例)
図23は、マップ作成装置2の一変形例である検索装置2aのブロック図である。検索装置2aは、検索格納部21a、検索受付部22a、検索処理部23a、および出力部24aを備える。検索格納部21aは、用語辞書格納部211、および特許情報格納部212を備える。
検索格納部21aは、マップ作成装置2のマップ格納部21と同様、例えば、用語辞書、特許情報といった、各種の情報を格納し得る。用語辞書格納部211には、辞書構築装置1が構築した用語辞書が格納され、特許情報格納部212には、1または2以上の特許情報が格納される点も、マップ作成装置2の場合と同様である。
検索受付部22a、検索処理部23a、および検索出力部24aの動作は、マップ作成装置2において、特許検索機能が選択された場合における、マップ受付部22、マップ処理部23、およびマップ出力部24の動作と同様である。
図24は、検索装置2aの動作を説明するフローチャートである。
(ステップS2401)検索処理部23aは、検索受付部22aが用語を受け付けたか否かを判別する。検索受付部22aが用語を受け付けたと判別された場合はステップS2402に進み、受け付けていないと判別された場合はステップS2401に戻る。
(ステップS2402)検索処理部23aは、ステップS2401で受け付けられた用語に関連する1以上の関連語を、用語辞書格納部211に格納されている用語辞書から取得する。
(ステップS2403)検索処理部23aは、変数iに初期値“1”をセットする。ここでの変数iは、ステップS2402で取得された1以上の関連語のうち未選択のものを順番に選択していくための変数である。
(ステップS2404)検索処理部23aは、i番目の関連語があるか否かを判別する。i番目の関連語があると判別された場合はステップS2405に進み、i番目の関連語がないと判別された場合はステップS2408に進む。
(ステップS2405)検索処理部23aは、i番目の関連語をキーとして、特許情報格納部212に格納されている2以上の特許情報を検索する。
(ステップS2406)検索処理部23aは、i番目の関連語を含む1または2以上の各特許情報のID等を取得する。
(ステップS2407)検索処理部23aは、変数iをインクリメントする。その後、ステップS2404に戻る。
(ステップS2408)検索処理部23aは、ステップS2406で取得したID等の集合を含む検索結果を取得する。
(ステップS2409)検索出力部24aは、ステップS2408で取得された検索結果を出力する。その後、ステップS2401に戻る。
なお、図24のフローチャートにおいて、検索装置2aの電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
この変形例によれば、辞書構築装置1によって構築された用語辞書を用いて、漏れの少ない、的確な特許検索が行える。
なお、本変形例における検索装置2aを実現するソフトウェアは、例えば、以下のようなプログラムである。つまり、このプログラムは、辞書構築装置1が構成した用語辞書が格納される用語辞書格納部211、および2以上の特許情報が格納される特許情報格納部212にアクセス可能なコンピュータを、用語を受け付ける検索受付部22aと、前記検索受付部22aが受け付けた用語に関連する1以上の関連語を前記用語辞書から取得し、当該取得した1以上の各関連語をキーとして前記特許情報格納部212に格納されている2以上の特許情報を検索し、検索結果を取得する検索処理部23aと、前記検索結果を出力する検索出力部24aとして機能させるためのプログラムである。
図25は、各実施の形態におけるプログラムを実行して、辞書構築装置1、マップ作成装置2等を実現するコンピュータシステム900の外観図である。本実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。図25において、コンピュータシステム900は、ディスクドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、ディスプレイ904とを備える。なお、キーボード902やマウス903やディスプレイ904をも含むシステム全体をコンピュータと呼んでもよい。
図26は、コンピュータシステム900の内部構成の一例を示す図である。図26において、コンピュータ901は、ディスクドライブ905に加えて、MPU911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するストレージ914と、MPU911、ROM912等を相互に接続するバス915と、外部ネットワークや内部ネットワーク等のネットワークへの接続を提供するネットワークカード916と、を備える。ストレージ914は、例えば、ハードディスク、SSD、フラッシュメモリなどである。
コンピュータシステム900に、辞書構築装置1、マップ作成装置2等の機能を実行させるプログラムは、例えば、DVD、CD−ROM等のディスク921に記憶されて、ディスクドライブ905に挿入され、ストレージ914に転送されてもよい。これに代えて、そのプログラムは、ネットワークを介してコンピュータ901に送信され、ストレージ914に記憶されてもよい。プログラムは、実行の際にRAM913にロードされる。なお、プログラムは、ディスク921、またはネットワークから直接、ロードされてもよい。また、ディスク921に代えて他の着脱可能な記録媒体(例えば、DVDやメモリカード等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
プログラムは、コンピュータの詳細を示す901に、辞書構築装置1、マップ作成装置2等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
なお、上述したコンピュータシステム900は、サーバまたは据え置き型のPCであるが、図示しない端末装置は、例えば、スマートフォンやタブレット端末やノートPCといった、携帯端末で実現されてもよい。この場合、例えば、キーボード902およびマウス903はタッチパネルに、ディスクドライブ905はメモリカードスロットに、ディスク921はメモリカードに、それぞれ置き換えられてもよい。ただし、以上は例示であり、辞書構築装置1、マップ作成装置2等を実現するコンピュータのハードウェア構成は問わない。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(例えば、受付部12の受信機能、および出力部14の送信機能など)は、物理的に一の媒体で実現されてもよいことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。