JP5008152B2 - 調達情報検索システム - Google Patents

調達情報検索システム Download PDF

Info

Publication number
JP5008152B2
JP5008152B2 JP2009221640A JP2009221640A JP5008152B2 JP 5008152 B2 JP5008152 B2 JP 5008152B2 JP 2009221640 A JP2009221640 A JP 2009221640A JP 2009221640 A JP2009221640 A JP 2009221640A JP 5008152 B2 JP5008152 B2 JP 5008152B2
Authority
JP
Japan
Prior art keywords
data
information
line number
search
procurement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009221640A
Other languages
English (en)
Other versions
JP2011070453A (ja
Inventor
崇裕 竹内
康広 宮本
Original Assignee
株式会社ファイブドライブ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ファイブドライブ filed Critical 株式会社ファイブドライブ
Priority to JP2009221640A priority Critical patent/JP5008152B2/ja
Publication of JP2011070453A publication Critical patent/JP2011070453A/ja
Application granted granted Critical
Publication of JP5008152B2 publication Critical patent/JP5008152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、インターネット上で提供されている調達情報についての検索サービスを提供する調達情報検索システムに関する。
官公庁、独立行政法人、地方自治体等(官公庁等)の公的な物品の調達や公共工事等の情報(調達情報)は、近年では、インターネット上(Webサイト)でも公示されるようになっている。
しかし、官公庁等のWebサイトに掲載される情報は多岐にわたり、調達情報はその中の一部のページに掲載されている状況で、さらに、官公庁等毎に調達情報が掲載されているページの形式が異なる場合がある。
このため、各官公庁のWebサイトに掲載されているページから調達情報を取得しようとすると、膨大なページを閲覧して、調達情報を探す必要がある。
このような公示情報についての検索サービスを提供するための方法として、例えば官公庁等のWebサイトに掲載されている情報の中から、キーワード(例えば、「入札」、「公示」等)に合致するページのデータ(あるいはページからリンクされているデータ)を取得する方法が知られている(例えば特許文献1)。
特開2002−358390号公報(図1等)
しかしながら、上述の方法では、取得するデータを判別する(調達情報が掲載されているかどうかを判別する)方法が、単純な文字列による照合のみのため、現実的には調達情報ではないページを調達情報として識別してしまう可能性が高い。このため、上述の特許文献1中では人間により調達情報かどうか判定するようになっている。具体的には、当該データ中に所定の文字列(例えば、「入札」、「公示」等)が含まれているか否かで、調達情報が掲載されているかどうかを判別するようになっている。
本発明は、上述のような課題に鑑みてなされたものであり、官公庁等のWebサイトに掲載された情報のうち、調達についての情報を自動的に判別して取得することにより、確実性を向上させた調達情報の取得を自動的に行うことができる調達情報検索システムを提供することを目的とする。
この課題を解決するために、本発明では、異なる運営主体によって運営され,調達情報その他の情報のデータを提供する複数の情報提供サーバとネットワーク経由で接続され,前記各情報提供サーバが提供するデータを取得する取得手段と,取得したデータが調達情報であるか否かを判定する判定手段と,該判定手段が調達情報と判定したデータ(調達情報のデータ)と当該データを取得したアドレスを対応付けて保持する調達情報保持手段と,ネットワーク経由で接続された端末装置から受信した検索条件を含む検索要求に応じて,前記調達情報保持手段に保持されている調達情報のデータから検索条件に該当するものを抽出する検索手段と,該検索手段が抽出した調達情報のデータに対応付けられている前記アドレスを含む検索結果を生成し,端末装置に提供する応答手段とを有する調達情報検索サーバを備え、判定手段が、取得手段が取得したデータをテキスト形式のデータに変換する変換手段と、当該テキスト形式のデータの先頭から改行コード毎に行番号を割り当てる割り当て手段と、当該テキスト形式のデータ内の,予め(各々の情報提供サーバ毎に)設定しておいた「タイトルキーワード」に一致する文字が存在する最初の行の行番号を第1の行番号とする第1の行番号検出手段と、当該テキスト形式のデータ内の,予め設定しておいた「発行者キーワード」に一致する文字が存在する最初の行の行番号を第2の行番号とする第2の行番号検出手段と、当該テキスト形式のデータ内に順序を示す文字が存在するか否かを確認し,存在する場合には,当該順序を示す文字と行番号を対応付けてテーブルに格納しておき,当該テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第3の行番号とする第3の行番号検出手段と、第1の行番号が第2の行番号に一致せず、かつ、第2の行番号が第3の行番号に一致せず、かつ、第1の行番号が第3の行番号に一致しない場合に、当該データが調達情報であると判定する比較手段とを備えることを特徴とする。
前記複数の情報提供サーバが提供する情報には、調達情報の他に、調達情報ではない情報も含まれる。また、順序を示す文字には、例えば「1」,「2」,「3」,...等の数字、「一」,「二」,「三」,...等の漢数字、「i」,「ii」,「iii」,...等のローマ数字、「a」,「b」,「c」,...等の文字、「甲」,「乙」,「丙」,...等の文字等が含まれる。なお、漢数字の場合には、文字列「一式」を除いて判断するようにしてもよい。
本発明では、判定手段の変換手段が、取得手段が取得したデータをテキスト形式のデータに変換し、割り当て手段が、当該テキスト形式のデータの先頭から改行コード毎に行番号を割り当て、第1の行番号検出手段が、当該テキスト形式のデータ内の,予め(各々の情報提供サーバ毎に)設定しておいた「タイトルキーワード」に一致する文字が存在する最初の行の行番号を第1の行番号とし、第2の行番号検出手段が、当該テキスト形式のデータ内の,予め設定しておいた「発行者キーワード」に一致する文字が存在する最初の行の行番号を第2の行番号とし、第3の行番号検出手段が、当該テキスト形式のデータ内に順序を示す文字が存在するか否かを確認し,存在する場合には,当該順序を示す文字と行番号を対応付けてテーブルに格納しておき,当該テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第3の行番号とし、比較手段が、第1の行番号が第2の行番号に一致せず、かつ、第2の行番号が第3の行番号に一致せず、かつ、第1の行番号が第3の行番号に一致しない場合に、当該データが調達情報であると判定することにより、取得した情報が調達情報であるか否かの判定を自動的に行って、調達情報のデータと当該データを取得したアドレスを調達情報保持手段に保持することができる。これにより、確実性を向上させた調達情報の取得を自動的に行うことができる。
本発明は、例えば、官公庁、独立行政法人、地方自治体等(官公庁等)が設置する情報提供サーバにより提供される調達情報を収集し、端末装置からの検索条件に応じた調達情報を提供する調達情報検索システム等に適用することができる。
(全体構成)
図1は、本発明を適用した一実施形態に係る調達情報検索システムの構成を概念的に示すブロック図である。この調達情報検索システムは、例えばネットワーク1経由で接続された調達情報を含む各種情報のデータを提供する複数の情報提供サーバ10と、検索サービスを提供する検索サーバ20と、検索サービスを利用するユーザが使用する検索端末30とを備えている。
情報提供サーバ10は、官公庁等により設置されており、ネットワーク1経由で各種情報を提供するHTTPサーバ11と、HTTPサーバ11が提供する各種情報のデータ13を格納するデータ格納部12とを備えている。データ13には、例えば調達情報のデータ52と、それ以外の情報(非調達情報)のデータ53等が含まれる。
検索サーバ20が提供する検索サービスに用いる情報を取得する情報作成部21と、各々の情報提供サーバ10からデータを取得する際の動作等を定義した設定ファイル22と、情報作成部21が収集したデータを格納するデータ格納部23と、検索端末30に検索サービスを提供する際のフロントエンドになるHTTPサーバ27と、HTTPサーバ27を介して検索サービスを提供する検索サービス提供部28とを備えている。
検索サーバ20の情報作成部21は、情報提供サーバ10が提供するデータを取得する情報取得部21aと、情報取得部21aが取得したデータを解析する情報解析部21bと、解析結果に応じてデータをデータ格納部23に登録する情報登録部21cとを備えている。
また、検索サーバ20の検索サービス提供部28は、HTTPサーバ27を介して検索端末30から供給される検索要求を受け付ける要求受付部28aと、検索要求に応じてデータ格納部23に登録されているデータに対して検索を行う検索実行部28bと、検索結果に応じて応答結果を生成する応答生成部28cとを備えている。
検索端末30は、例えばパーソナルコンピュータ等からなり、HTTPサーバ11あるいはHTTPサーバ27が提供するHTTPサービスを利用するWebブラウザ31が実行されており、表示部32にWebブラウザ31による画面が表示される。
情報提供サーバ10が提供する調達情報データ52には、例えば図2に示すように、タイトルを示す情報52aと、発行者を示す情報52bとが含まれている。この調達情報データ52は、情報提供サーバ10を設置する主体によって異なる場合があり、例えば図3に示すように、他の情報提供サーバ10が提供する調達情報データ52中では、タイトルを示す情報52aと、発行者を示す情報52bが異なっている。
また、情報提供サーバ10が提供する他のデータとして、例えば図4に示すように、「調達」や「入札」の語を含むが、調達情報ではないデータ(非調達情報データ)53も存在する。この調達情報検索システムでは、このような非調達情報データ53は収集対象とせず、調達情報データ52のみを収集してデータ格納部23に登録し、検索対象とするようになっている。
例えば図5に示すように、各々の情報提供サーバ10に対応する設定ファイル22中では、データの取得を開始する始点となるアドレス(URL)を示す開始URLと、収集対象となる調達情報のタイトルを示すタイトルキーワードと、収集対象となる調達情報の発行者を示す発行者キーワードとが定義されている。なお、この図5では、図示の都合でURLの先頭部分の「http://」の部分は省略している。
(取得動作)
情報取得部21aは、例えば所定の時刻(例えば1日毎等)等の開始条件を満たした際に、例えば図6に示すデータの収集処理を開始し、例えば特開2006−277732号公報等に開示されている既存のクローリング技術を用いてページを辿り、各ページのデータを取得する。
まず、情報作成部21の情報取得部21aが、設定ファイル22中の開始URLと型の値に基づいて、HTTPサーバ11に開始URLを含むHTTPリクエストを送信し、これに対するHTTPサーバ11からの応答(HTTPレスポンス)を取得する。
例えばHTTPサーバ11が提供するデータのリンク構造が図7に示すような構造である場合、情報取得部21aは、上述のように開始URLに対応するデータを取得し、取得したデータ中にリンク情報があればリンク情報(図7に示す場合では、開始URL中の最初のリンク情報[1])に応じて、リンク先のアドレスを含むHTTPリクエストをHTTPサーバ11宛に送信し(S101)、これに対するHTTPサーバ11からの応答(HTTPレスポンス)を取得し(S102)、情報解析部21bに供給し(S103〜S104)、開始URLのページ中の次のリンク情報[2]のリンク先のアドレスを含むHTTPリクエストをHTTPサーバ11宛に送信し(S151)、次のリンク先のデータを取得し(S152)、情報解析部21bに供給する(S153)。以下、情報取得部21aは、各々のリンク先のデータ中のリンク情報を辿り、開始URLからの全てのリンク情報(図7に示す場合では、リンク情報[1]〜リンク情報[4])を辿ってデータを取得し、情報解析部21bに供給する(S154)。全てのデータの取得が終了すると、情報取得部21aは、当該開始URL及びここからのリンク先からのデータの取得を終了する。なお、情報取得部21aが取得したデータ、当該データを取得したURL、当該データの取得日時は、後述の判定処理が終了するまで一時的に保持しておく。調達情報であると判定された場合にはテーブル23bに登録され、調達情報でないと判定された場合には破棄される。
情報解析部21bは、情報取得部21aが取得した応答(データ)のファイル形式を判定し、当該ファイルからテキストデータを抽出し、抽出したテキストデータを解析して、調達情報であるか否かを判定し(S105)、調達情報であれば後述のように当該テキストデータの件名を抽出し、当該調達情報を取得したアドレス(URL)と当該データの取得日時及び当該テキストデータの内容と共に情報登録部21cに供給する(S106)。情報登録部21cは、例えば図8に示すテーブル23bに、供給されたURLに取得日時と当該テキストデータの内容及び件名を対応付けて登録する(S107〜S110)。なお、この図8では、図示の都合でURLの先頭部分の「http://」の部分は省略している。
また、開始URLに相当するデータが、例えば図9に示すように、検索ページであり、当該検索ページで入力した検索結果中の個々の調達情報が提供されるようになっている場合がある。このような開始ページである場合には、上述の設定ファイル22の型の値が”2”と定義されており、これに応じて、情報取得部21aは、例えば図10に示す手順でHTTPサーバ11が提供する情報(データ52,53)を取得する。具体的には、図9に対応するソースが例えば図11に示すような状態であれば、情報取得部21aは、POSTメソッドにより、上述の図5に示す設定ファイル22中の前回取得日時から現在までの間を「公示日」に対応するパラメータのデータとして含むHTTPリクエスト(例えば「POST ・・・ from=yyyy/mm/dd to= yyyy/mm/dd」(yyyy:西暦年を示す4桁の数字、mm:月を示す2桁の数字、dd:日を示す2桁の数字))を生成し、ACTION属性に含まれるURL(この場合は、search.asp)に対して送信する(S501)。
HTTPサーバ11は、このようなHTTPリクエスト中の条件(from=yyyy/mm/dd to= yyyy/mm/dd)に応じたデータを選択し、これらのデータに対するリンク情報を含むHTTPレスポンスを生成し、情報取得部21aに供給する。このHTTPレスポンスは、例えば図12中に示すように、各々のデータ52,53に対するリンクを含むHTML形式等の検索結果データ53AとしてHTTPサーバ11から情報取得部21aに供給される(S503)。以降、情報取得部21aは、上述の図7に示すリンク構造の場合と同様に、このデータ53A中のリンク情報を全て辿ってレスポンスデータを取得する(S601〜S608、S701〜、・・・)。
(テキストデータに変換)
ところで、情報解析部21bは、情報取得部21aとは並行して動作しており、情報取得部21aが取得したHTTPサーバ11から取得したHTTPレスポンスを情報解析部21bに供給すると、情報解析部21bは供給されたデータ(HTTPレスポンス)からテキストデータを抽出する。例えば上述のS105(あるいはS605等)において、情報解析部21bは、情報取得部21aから供給されるHTTPレスポンス中のレスポンスヘッダ、レスポンスデータ中のシグネチャ等からファイル形式を判断し、各々のファイル形式に対応する抽出処理(例えばHTML形式であれば不要なタグの削除、PDF形式であれば所定の部分のデータの抽出)によりテキストデータを抽出する。抽出されたテキストデータは、例えば図13に示すようになる。
(調達情報か否かの判定と登録)
また、先に調達情報をデータ格納部23に格納したものと同一のURLからの再取得は行わない。最初に取得した日時は、上述の図8に示すテーブル23bに格納されている。情報解析部21bは、調達情報か否かを判断する前に、リンク先のURLが登録されているか否かを判定し、登録されている場合には、判定処理を行なわず、データの登録も行わない。
抽出されたテキストデータが調達情報であるか否かを判断するために、例えば図14に示す処理によってテキストデータを解析する。
まず、情報解析部21bは、行数,L1,L2,L3の初期値を0とし、テキストデータを一行分(改行まで)読み込み(S11)、行数をカウントアップする(S12)。次に、情報解析部21bは、読み込んだ一行分のデータ中に設定ファイル22中の「タイトルキーワード」が存在するか否かを確認し(S13)、存在する場合には、直後の行が改行(S14)若しくは空白(S15)であるか否かを判定し、いずれかに該当する場合には、最初に出現した「タイトルキーワード」であるか否かを判定し(S16)、最初であればこのときの行数をL1とした後(S17)、S25に進む。最初でなければ、そのままS25に進む。
S13において、「タイトルキーワード」が存在しなければ、情報解析部21bは、読み込んだ一行分のデータ中に設定ファイル22中の「発行者キーワード」が存在するか否かを確認し(S18)、存在する場合には、直後の行が改行(S19)若しくは空白(S20)であるか否かを判定し、いずれかに該当する場合には、最初に出現した「発行者キーワード」であるか否かを判定し(S21)、最初であればこのときの行数をL2とした後(S22)S25に進む。最初でなければ、そのままS25に進む。
いずれのキーワードも存在しない場合、情報解析部21bは、読み込んだ一行分のデータ中に、行頭の空白又はタブを除いた先頭文字が例えば「1」,「2」,「3」,...等の順序を示す文字等(あるいは、「一」,「二」,「三」,...等の漢数字、「i」,「ii,「iii」,...等のローマ数字、「a」,「b」,「c」,...等の文字、「甲」,「乙」,「丙」,...等の文字等。)か否かを判定し(S24)、該当する場合には、インデントレベル(行頭からの空白若しくはタブの数)毎にそのときの数字と行番号を、例えば図15に示すインデントテーブルに記憶(S24)した後S25に進み、該当しない場合には、そのままS25に進む。なお、漢数字の場合には、文字列「一式」を除いて判定する。
以上の処理が終了すると、情報解析部21bは、S25において、全ての行のデータの読み込みが終了したか否かを確認し、終了していなければS11に戻って次の行のデータについて、上述と同様の処理を実行する。終了していれば、情報解析部21bは、インデントテーブル中に数字”1”に対応するものが複数存在するか確認し(S26)、複数存在する場合には数字”1”(あるいは”一”、”i”、”a”、”甲”)等の順序を示す文字等のうちの最初のものを示す文字等に対応する行番号のうちの最小のものをL3とし(S27)、複数存在しない場合には数字”1”等に対応する行番号をL3として(S28)、処理を終了する。なお、このL3を求めるだけであれば、順序を示す文字等のうちの最初のものの出現位置のみを確認するだけでもよい。
(判定動作詳細)
上述のように解析したテキストデータについて、例えば図16に示す手順で調達情報であるか否かを判定する。まず、L1とL2が異なるか否かを判断し(S31)、一致している場合には、調達情報ではないと判定する(S34)。L1とL2が異なる場合には、L2とL3が異なるか否かを判断し(S32)、一致している場合には、調達情報ではないと判定する(S34)。L2とL3が異なる場合には、L1とL3が異なるか否かを判断し(S33)、一致している場合には、調達情報ではないと判定し(S34)、異なる場合には、調達情報であると判定する(S35)。なお、例外処理として、L1,L2,L3のいずれかが0であった場合、すなわち、タイトルキーワード、発行者キーワード、L3(本文節)のいずれかが検出されなかった場合には、調達情報でないものと判定する。
例えば上述の図2のデータの場合、情報解析部21bによる解析結果は、例えば上述の図13に示すように、タイトルキーワードが2行目にあるため、L1は2となり、発行者キーワードが6行目にあるため、L2は6となり、インデントテーブルに登録されるデータは、上述の図15に示す状態となって、数字”1”に対応する最小の行番号が9であるため、L3は9となり、L1とL2が同一でなく、L2とL3が同一でなく、L1とL3が同一でない状態であるため、情報解析部21bは調達情報であると判定する。
また、例えば上述の図4のデータの場合、情報解析部21bによる解析結果は、例えば図18に示すように、タイトルキーワードが2行目にあるため、L1は2となり、発行者キーワードの最先のものが6行目にあるため、L2は6となるが、インデントテーブルに登録されるデータがないため、L3は0となり、情報解析部21bは調達情報でないと判定する。
これにより、この調達情報検索システムでは、調達情報か否かを確実に判断してデータ格納部23に登録することができ、調達情報ではない情報(検索ノイズ)の登録を防止し、確実性を向上させた調達情報の取得を自動的に行うことができる。
(件名の抽出動作詳細)
また、上述のテキストデータからの件名(調達対象を示す情報)の抽出は、具体的には、例えば図17に示す処理によって実行する。情報解析部21bは、上述のようにテキストデータが調達情報であると判定すると、この図17に示す処理を開始し、まず、上述のインデントテーブルを参照して、数字”1”等の順序を示す文字等のうちの最初のものに対応する最小の行番号を選択し、これをL4とする(S36)。次に、情報解析部21bは、インデントテーブルからL4以降の行番号で、数字”2”(あるいは”二”、”ii”、”b”、”乙”)等の順序を示す文字等のうちの2番目のものに対応する最小の行番号を選択し、これをL5とする(S36)。例えば上述の図2に示すデータの場合では、このデータから抽出されたテキストデータは、上述の図13に示すようになり、このデータから生成されるインデントテーブルは、上述の図15に示すようになるため、L4は、”9”となり、L5は、”12”となる。
さらに、情報解析部21bは、L4とL5の前の行までの間の文字列を抽出し(S37)、抽出した部分に予め設定しておいた「件名」、「名称」、「数量」等の件名キーワードが存在する行を検出し(S37)、件名キーワードの後に空白を挟んで続く文字等があるか否か判断する(S38)。件名キーワードの後に空白を挟んで続く文字等があれば、情報解析部21bは、この文字等を「件名」として情報登録部21cに供給する。件名キーワードの後に空白を挟んで続く文字等がなければ、情報解析部21bは、次の行の文字等を「件名」として情報登録部21cに供給する。
(検索動作)
この調達情報検索システムを利用するユーザは、検索端末30においてWebブラウザ31を実行させ、検索サーバ20(HTTPサーバ27)のアドレス(URL)を入力する。これに応じて、Webブラウザ31は、入力されたアドレスのデータの要求を検索サーバ20に提供し、これに対する応答(HTTPレスポンス[HTML形式等])により、例えば図19に示すような検索画面が表示される。この図19に示す検索画面を表示させるHTTPレスポンス中では、例えば図20に示すように、検索ボタン72を押下した際に、キーワード入力欄71(71a,71b)及び時期入力欄73a,73bに入力されたデータを含むHTTPリクエストとしてHTTPサーバ27宛に送信するPOSTメソッド等の動作が定義されている。
ユーザが、必要に応じて、この検索画面中のキーワード入力欄71及び時期指定欄73a,73bに、検索条件を入力し、検索ボタン72を押下すると(S201)、例えば図21に示す処理が開始され、Webブラウザ31が入力された検索条件を含む検索要求をHTTPリクエストとして、HTTPサーバ27宛に送信する(S202)。
このような検索要求を受信すると(S203)、HTTPサーバ27は、受信した検索要求を要求受付部28aに供給し(S204)、要求受付部28aは、検索要求中の検索条件(キーワード、期間)を抽出し(S205)、抽出した検索条件を検索実行部28bに供給する(S206)。検索条件が供給されると(S207)、検索実行部28bは、データ格納部23の上述のテーブル23bに登録されている調達情報の「取得日時」と「ファイル内容」に応じて、供給された検索条件に該当する調達情報を選択し、当該調達情報に対応するアドレス(図8中の「URL」)と「件名」を取得し(S208〜S209)、これを応答生成部28cに供給する(S210)。
応答生成部28cは、例えば予め保持しているテンプレートデータ中に、検索実行部28bから供給されたアドレスと「件名」をリンク情報として挿入し、検索結果のデータ(例えばHTML形式)を生成する(S211)。このように検索結果のデータを生成すると、応答生成部28cは、これをHTTPサーバ27に供給する(S212)。HTTPサーバ27は、供給された検索結果のデータをHTTPレスポンスとしてWebブラウザ31宛に送信する(S213)。Webブラウザ31は、受信したHTTPレスポンスに応じた表示(検索結果)を行い(S214)、これにより、検索端末30のユーザが、検索結果を確認することができる。また、HTTPレスポンス中には、検索条件に該当する調達情報に対するリンク情報(図8中のURL)が含まれているため、ユーザは、Webブラウザ31を操作して検索結果中の所望の調達情報を選択することにより、情報提供サーバ10から調達情報を取得して表示させることができるようになる。
(検索条件詳細)
上述の図19の画面を表示させるデータは、具体的には、上述の図20にHTMLソースの概要を示すように、各々の入力欄71a,71b,73a,73b毎に、各々対応する変数名が定義されており、これらの入力欄71a,71b,73a,73bに入力された文字列は、各々に対応する変数の値として、HTTPサーバ27宛に送信されるようになっている。なお、各キーワード入力欄71a,71bに各々文字列が入力された場合には、HTTPサーバ27側で、いずれの文字列も含む調達情報を抽出するAND検索を行うようになっている。また、各々のキーワード入力欄71a,71bに、空白を挟んで複数の文字列が入力された場合にはHTTPサーバ27側で各々の文字列を抽出し、いずれかの文字列を含む調達情報を抽出するOR検索を行うようになっている。また、時期入力欄73a,73bに入力する文字列は、例えばyyyy/mm/dd(yyyy:西暦年を示す4桁の数字、mm:月を示す2桁の数字、dd:日を示す2桁の数字)の形式としている。また、各入力欄71a,71b,73a,73bに対する入力は任意で、例えば以下のような入力の組み合わせが可能になっている。
1.キーワードのみ入力
1a.入力欄71aのみ
1b.入力欄71bのみ
1c.入力欄71aと入力欄71b
2.時期のみ入力
2a.入力欄73aのみ
2b.入力欄73bのみ
2c.入力欄73aと入力欄73b
3.キーワードと時期を入力
例えば、時期入力欄73a,73bに何も入力せず、キーワード入力欄71aに「コピー機」の文字、キーワード入力欄71bに「リース」の文字が入力された場合には、HTTPサーバ27には、POSTリクエスト(HTTPリクエスト)のリクエストボディ部分に、「keyword1=コピー機&keyword2=リース&date1=&date2=」の値が格納されて送信される。このようなリクエストを受信すると、HTTPサーバ27は当該リクエストボディを要求受付部28aに供給し、要求受付部28aは、「コピー機」と「リース」を抽出し、検索実行部28bは、テーブル23b中の「ファイル内容」に、「コピー機」と「リース」の文字列がいずれも含まれている調達情報を選択し、当該調達情報に対応するアドレス(図8中の「URL」)と「件名」を、応答生成部28cに供給する。具体的には、例えば「件名」の値を変数名“kenmei”の値とし、「URL」の値を変数名“url”の値としたリストを含むデータ構造体(例えばPython言語における「ディクショナリ」)を変数名“results”の値として、応答生成部28cに供給する。“result”の内容は、例えば『[{’url’:’http://abcd.go.jp/a.html’,’kenmei’:’コピー機の購入’},{’url’:’http://efgh.go.jp/b.pdf’,’kenmei’:’複写機 一式’}]』というような値となる。ここで、“’”は文字列を表現するための記号(クオーテーションマーク)であり、“{”及び“}”は値の組(リスト)を表すための記号であり、“,”は変数名と変数名に対応付けられるデータ(文字列)含まれる要素又はリストを区切る記号、“[”及び“」”はデータ構造体全体の区切りを表すための記号である。なお、検索条件に該当する複数の調達情報がある場合には、各々の「URL」と「件名」を含むリストを区切記号“,”で区切ったデータ構造体を応答生成部28cに供給する。
また、例えばキーワード入力欄71a,71bに何も入力せず、時期入力欄73aに年月日を示す例えば「2009/08/01」の文字,時期入力欄73bに「2009/08/10」の文字を入力した場合には、POSTリクエスト(HTTPリクエスト)のリクエストボディ部分に、「keyword=&date1=2009/08/01&date2=2009/08/10」の値が格納されて送信される。このようなリクエストを受信すると、HTTPサーバ27は当該リクエストボディを要求受付部28aに供給し、要求受付部28aは、「2009/08/01」と「2009/08/10」を抽出し、検索実行部28bは、テーブル23b中の「取得日時」が、これらの範囲にある調達情報を選択し、当該調達情報に対応するアドレス(図8中の「URL」)と「件名」を応答生成部28cに供給する。
また、例えばキーワード入力欄71aに「コピー機」の文字、キーワード入力欄71bに「リース」の文字、時期入力欄73aに年月日を示す例えば「2009/08/01」の文字,時期入力欄73bに「2009/08/10」の文字を各々入力した場合には、POSTリクエスト(HTTPリクエスト)のリクエストボディ部分に、「keyword1=コピー機&keyword2=リース&date1=2009/08/01&date2=2009/08/10」の値が格納されて送信される。このようなリクエストを受信すると、HTTPサーバ27は当該リクエストボディを要求受付部28aに供給し、要求受付部28aは、「コピー機」と「リース」と「2009/08/01」と「2009/08/10」を抽出し、検索実行部28bは、テーブル23b中の「ファイル内容」に、「コピー機」と「リース」の文字列がいずれも含まれており、かつ、「取得日時」が、これらの範囲にある調達情報を選択し、当該調達情報に対応するアドレス(図8中の「URL」)と「件名」を応答生成部28cに供給する。
(検索結果生成詳細)
上述の応答生成部28cによる検索結果の生成(図21中のS211)は、例えば図22中に示す処理によって実行される。検索実行部28bから調達情報に対応するアドレスと「件名」が供給されると、応答生成部28cは、図22の処理を開始し、まず、予め保持しておいたテンプレートのデータを読み込む(S41)。応答生成部28cは、例えばDjangoフレームワーク(http://www.djangoproject.com/)等のWebアプリケーションフレームワークによって実現されており、例えば図23に示すようなテンプレートのデータが予め保持されている。このテンプレートのデータ中では、HTML形式のデータの途中で、検索実行部28bからのデータを埋め込む指示が定義されている。具体的には、例えばこの図23中で、“{%”と“%}”で囲まれた部分は、テンプレート処理の制御記号となっており、入力変数「results」は、上述のように検索実行部28bから供給される全ての「URL」と「件名」を含むデータ構造体(変数名“results”)に対応する。また、変数「data」は入力変数「results」中の1つのリスト(データ構造体の区切記号“{”及び“}”で区切られた部分)に対応する。また、“{% for data in results %}”と“{% endfor %}”で囲まれた部分は、応答生成部28cに供給されるデータ構造体“results”中のリスト“data”の数だけ繰り返し、データの挿入を行う処理の指示になっている。応答生成部28cは、“{% for data in results %}”と“{% endfor %}”で囲まれた部分を、検索実行部28bから供給されるデータ構造体“results”中のリスト “data”の数だけ繰り返し、テンプレート中の定義に従ってリスト“data”中のデータ(data.kenmei,data.url)を挿入して応答データを生成する(「参考文献1『Built-in template tags and filters』,http://docs.djangoproject.com/en/dev/ref/templates/builtins/#for,項目[for]、参考文献2(参考文献1の和訳)『組み込みタグ/フィルタリファレンス』,http://djangoproject.jp/doc/ja/1.0/ref/templates/builtins.html,項目[for]」)。
また、“{{”と“}}”で囲まれた部分は、リスト“data”中のデータに置き換えられる部分の定義であり、{{ data.url }}の部分は、上述のようにデータ構造体から抽出した1つのリスト“data”中の変数名“url”に対応する文字列(検索実行部28bがテーブル23bから抽出した「URL」に相当)に置き換える部分の定義であり、{{ data.kenmei }} の部分は、リスト“data”に含まれる変数名“kenmei”に対応する文字列(検索実行部28bがテーブル23bから抽出した「件名」に相当)に置き換える部分の定義である。上述のように、テンプレートのデータを読み込むと、応答生成部28cは、検索実行部28bから供給されたデータ構造体“results」”の1つのリスト“data”を抽出し(S42)、リスト“data”中の変数“url”に対応する値をテンプレートのデータ中の{{ data.url }}の部分と置き換え(S43)、リスト“data”中の変数“kenmei”に対応する値を{{ data.kenmei }}の部分と置き換える(S44)。この後、検索実行部28bからの全てのデータについて処理が終了したか否かを判断し(S45)、終了していなければ上述の処理を繰り返し(S42〜S44)、終了していればデータを挿入したテンプレートのデータを検索結果として出力する(S46)。これにより、例えば検索実行部28bから値『[{’url’:’http://efgh.go.jp/b.pdf’,’kenmei’:’「複写機」 一式’}]』を持つデータ構造体“results”が供給された場合の検索結果のデータは、例えば図24に示すようになり、この検索結果のデータに応じてWebブラウザ31によって表示される画面は、上述の図21中の画面の例のようになる。
(効果)
上述のように、この調達情報検索システムでは、調達情報から抽出したテキスト形式のデータ内の,予め設定しておいた「タイトルキーワード」に一致する文字が存在する最初の行の行番号をL1(第1の行番号)とし、予め設定しておいた「発行者キーワード」に一致する文字が存在する最初の行の行番号をL2(第2の行番号)とし、順序を示す文字が存在する場合に,当該順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号をL3(第3の行番号)とし、第1の行番号が第2の行番号に一致せず、第2の行番号が第3の行番号に一致せず、第1の行番号が第3の行番号に一致しない場合に、当該取得データが調達情報であると判断することにより、キーワードと文章の構造から取得した情報が調達情報か否かを判定して、登録することができる。これにより、確実性を向上させた調達情報の取得を自動的に行うことができる。また、操作者の確認により判断する場合に比較して、調達情報の取得コストを低減させることができる。
(変形例)
上述の説明では、キーワードと調達情報の取得日時によって、調達情報の検索を行うようにしたが、調達情報は、同じ物品、例えば複合的な機能を有するコピー機の購入であっても、発行主体の官公庁毎に表現が異なる場合が多い。このため、この変形例に係る調達情報検索システムでは、例えば図25に示すように、調達情報をカテゴリに分類しておき、分類されたカテゴリに応じて調達情報の検索を行うことができるようにしている。この調達情報検索システムでは、上述の図1に示す構成に加えて、データ格納部23に格納されたデータ(調達情報)をカテゴリに分類して検索インデックス26dを作成する検索インデックス作成部25と、検索インデックス26dの作成に用いるデータ等を格納する検索データ格納部26とを備えている。
検索データ格納部26には、例えば図26に示す正規化キーワード(名詞)に対応するシノニム(同義語・類語等)を示す名詞正規化テーブル26aと、例えば図27に示す正規化キーワード(動詞)に対応するシノニム(同義語・類語等)を示す動詞正規化テーブル26bと、例えば図28に示す日本標準産業分類等の分類表の細分類中の用語(名詞、動詞)を正規化(統一)した細分類テーブル26cと、例えば図30に示すデータ格納部23に格納した個々の調達情報についての細分類コードとidの対応関係を保持する検索インデックス26dと、例えば図31に示す名詞正規化テーブル26a(図26)を転置(シノニム(同義語・類語等)の単語をキーとしてインデックス付け)した名詞転置インデックス26eと、例えば図32に示す動詞正規化テーブル26b(図27)を転置した動詞転置インデックス26fとが格納されている。また、データ格納部23には、例えば図29に示すように、上述の実施例と同様の調達情報のデータのURL,取得日時等を含むテーブル23bが格納されている。なお、この図29では、図示の都合でURLの先頭部分の「http://」の部分は省略している。また、この実施例では、この図29に示すように、各々の調達情報のデータに識別情報(id)を対応付けて格納している。
(取得・判断)
この調達情報検索システムでは、上述の調達情報検索システムと同様に、情報作成部21が設定ファイル22の設定に従って、各情報提供サーバ10が提供するデータを取得し、取得したデータが調達情報であるか否かを判断し、調達情報のみをデータ格納部23に格納するようになっている。さらに、この調達情報検索システムでは、調達データであると判断したデータに細分類コードを付与するようになっている。
(分類動作)
この調達情報検索システムでは、上述の調達情報検索システムと同様に、図14に示す処理により、図15に示すインデントテーブルを作成しながら、調達情報か否かの判断を行うが、調達情報であると判断したデータについては、インデントテーブルの内容を用いて、調達内容を示す部分のテキストを抽出し、抽出したテキストに応じて細分類コードを付与する。具体的には、例えば図33に示すように、検索インデックス作成部25は、データ格納部23に格納された個々の調達情報のデータから、調達内容を示す部分のテキストを抽出し(S51)、名詞転置インデックス26eと動詞転置インデックス26f中の名詞、動詞各々について抽出したテキストと部分一致による比較(突合)を行い、当該テキストと部分一致した名詞(正規化キーワード)と動詞(正規化キーワード)を保持する(S52、S53)。
この後、保持した名詞と動詞について細分類テーブル26c中の正規化名詞と正規化動詞と比較を行なう(S54)。細分類テーブル26c中に、当該名詞と正規化名詞が一致し、かつ、当該動詞と正規化動詞が一致する細分類があれば、この細分類に対応する細分類コードを、判断対象のデータ(調達情報)のファイル名に対応付けて検索インデックス26dに登録し(S55)、そうでなければ分類不能として終了する。
上述の図33中のS51における調達内容を示す部分のテキストの抽出は、具体的には、例えば以下の処理によって行う。まず、検索インデックス作成部25は、上述の調達情報か否かの判断に用いたインデントテーブルから数字”1”等の順序を示す文字等のうちの最初のものに対応する最小の行番号を選択し、これをL6とする。例えば上述の図3に示すデータの場合では、このデータから抽出されたテキストデータは、図34に示すようになり、このデータから生成されるインデントテーブルは、図35に示すようになるため、L6は、”9”となる。
次に、検索インデックス作成部25は、インデントテーブルからL6以降の行番号で、数字”2”等の順序を示す文字等のうちの2番目のものに対応する最小の行番号を選択し、これをL7とする。上述の図35の場合では、L7は、”12”となる。なお、これらのL6及びL7は上述の図17において情報解析部21bが件名を抽出する処理中で求めたL4及びL5と同じであるため、検索インデックス作成部25が情報解析部21bが求めたL4及びL5を用いるようにしてもよい。さらに、検索インデックス作成部25は、L6とL7の前の行までの間の文字列を、調達情報を示す部分のテキストとして抽出する。上述の図34の場合は、抽出されたテキストは、例えば図36のようになる。様式が異なる調達情報においても、調達対象を示す部分は、最初の項目(図34の場合は「1.」)中の最初の細項目(図34の場合は「(1)」)に記載されているため、当該部分を抽出すれば、ほぼ全ての場合、調達対象を示す部分が含まれていることになる。また、最初の項目と同一の行(L6)に調達対象を示す部分が含まれている場合であっても、当該部分を抽出することにより、調達対象を示す部分を抽出することができる。
このように、調達内容を示す部分のテキストを抽出した後、検索インデックス作成部25は、図33中のS52において、名詞転置インデックス26e中の各々のシノニムについて、抽出したテキスト部分と部分一致するか比較する。一致するシノニムがあれば、このシノニムに対応する正規化キーワード(名詞)を保持する。例えば上述の図36の場合では、「複写機」に対応する正規化キーワード「複合機」が保持される。また、検索インデックス作成部25は、図33中のS53において、動詞転置インデックス26f中の各々のシノニムについて、抽出したテキスト部分と部分一致するか比較する。一致するシノニムがあれば、このシノニムに対応する正規化キーワード(動詞)を保持する。例えば上述の図36の場合では、「借入」に対応する正規化キーワード「賃貸」が保持される。
名詞、動詞の正規化キーワードの保持が終了すると、検索インデックス作成部25は、図33中のS54において、保持した正規化キーワード(名詞)と正規化キーワード(動詞)について細分類テーブル26c中の正規化名詞と正規化動詞と比較を行ない、いずれも一致する細分類があれば、この細分類に対応する細分類コードを、判断対象のデータ(調達情報)のファイル名に対応付けて検索インデックス26dに登録する。例えば上述の図36の場合では、細分類テーブル26c中に、正規化キーワード(名詞)「複合機」が正規化名詞に一致し、正規化キーワード(動詞)「賃貸」が正規化動詞に一致する細分類として、「事務用機械器具賃貸業(電子計算機を除く)」があるため、検索インデックス作成部25は、この細分類に対応する細分類コードである「7031」を、当該調達情報のファイル名に対応付けて検索インデックス26dに登録する。
これにより、この調達情報検索システムでは、各々の調達情報毎に、自動的に細分類コードを付与することができるようになっている。このように、細分類コードを付与することにより、異なる官公庁毎からの調達情報であっても、統一的に細分類コードを付与して分類することができる。
(検索動作)
上述のように、この調達情報検索システムでは、各々の調達情報(のデータ)に対して細分類コードを割り当てて分類しているため、この分類に応じた調達情報の検索も行うことができるようになっている。この調達情報検索システムを利用するユーザは、上述と同様に、検索端末30においてWebブラウザ31を実行させ、検索サーバ20(HTTPサーバ27)のアドレス(URL)を入力する。これに応じて、Webブラウザ31は、入力されたアドレスのデータの要求を検索サーバ20に提供し、これに対する検索サーバ20からの応答(HTTPレスポンス)に応じて、例えば図37に示すような検索画面が表示される。この図37を表示させるHTTPレスポンス中では、例えば検索ボタン72を押下した際に、キーワード(照合)入力欄71(71a,71b)及び時期指定欄73a,73b及びキーワード(カテゴリ類推)入力欄74に入力されたデータを含むHTTPリクエストとしてHTTPサーバ27宛に送信するPOSTメソッド等の動作が定義されている。
この調達情報検索システムでは、例えば図37に示す検索画面中の入力に応じて、以下の3つの検索方法を選択することができるようになっている。
1.キーワードの照合による検索(入力欄71)
2.キーワードを正規化し、これに応じて細分類(カテゴリ)を類推し、類推した細分類による検索(入力欄74)
3.データ取得時期の指定による検索(入力欄73a,73b)
また、1.の入力欄71(71a,71b)と3.の入力欄73a,73bに各々入力した1.と3.を組み合わせた検索、2.の入力欄74(74a,74b)と3.の入力欄73a,73bに各々入力した2.と3.を組み合わせた検索も可能になっている。
上述の図37の画面を表示させるデータは、具体的には、例えば図38にHTMLソースの概要を示すように、各々の入力欄71a,71b,73a,73b,74a,74b毎に、各々対応する変数名が定義されており、これらの入力欄71a,71b,73a,73b,74a,74bに入力された文字列は、各々に対応する変数の値として、HTTPサーバ27宛に送信されるようになっている。
「1.」のキーワードの照合による検索と、「3.」のデータ取得時期の指定による検索については、上述の図21等に示す動作と同じであるため、以下、キーワード(カテゴリ類推)入力欄74(74a,74b)にキーワードが入力され、「2.」のカテゴリ類推による検索が指示された際の動作について説明する。
図37に示す画面中のキーワード(カテゴリ類推)入力欄74a,74bに各々検索条件を示すキーワードが入力され、検索が指示されると(S401)、例えば図39に示す処理が開始され、検索端末30のWebブラウザ31は、入力された検索条件(入力欄74a,74bに入力された少なくとも2つのキーワード)を含む検索要求をHTTPサーバ27に送信する(S402)。例えばキーワードとして入力欄74aに「コピー機」の文字列、入力欄74bに「リース」の文字列が入力された場合には、これらを含むHTTPリクエストがHTTPサーバ27に供給される。この場合、例えば他の入力欄71a,71b,73a,73bの入力がなければ、POSTリクエスト(HTTPリクエスト)のリクエストボディ部分に、「keyword1=&keyword2=&keyword3=コピー機&keyword4=リース&date1=&date2=」の値が格納されて送信される。
このような検索要求を受信すると(S403)、HTTPサーバ27は、受信した検索要求を要求受付部28aに供給し(S404)、要求受付部28aは、検索要求中の検索条件(キーワード)を抽出し(S405)、抽出した検索条件を検索実行部28bに供給する(S406)。検索条件が供給されると(S407)、検索実行部28bは、供給されたキーワード中の各々の語を上述の図31に示す名詞転置インデックス26e中の各々のシノニムと比較する。シノニムと一致する語があれば、検索実行部28bはこれに対応する正規化キーワードを名詞転置インデックス26eから取得する。例えば上述のキーワードとして「コピー機」と「リース」の文字列が供給された場合には、検索実行部28bは、名詞転置インデックス26e中のシノニム「コピー機」に対応する正規化キーワード(名詞)として「複合機」を選択する。なお、「リース」の語は名詞転置インデックス26e中には存在しないため、検索実行部28bはこれに対応する正規化キーワード(名詞)もない。このため、検索実行部28bは、正規化キーワード(名詞)として「複合機」のみを選択する。なお、一致する正規化キーワード(名詞)がない場合には、検索実行部28bは、検索処理を終了し、応答生成部28cに該当する調達情報がないと通知し、応答生成部28cに該当する調達情報が0件である旨の検索結果を生成させる。
さらに、検索実行部28bは、供給されたキーワード中の各々の語を上述の図32に示す動詞転置インデックス26f中の各々のシノニムと比較する。シノニムと一致する語があれば、検索実行部28bはこれに対応する正規化キーワードを動詞転置インデックス26fから取得する。例えば上述のキーワードとして「コピー機」と「リース」の文字列が供給された場合には、検索実行部28bは、動詞転置インデックス26f中のシノニム「リース」に対応する正規化キーワード(動詞)として「賃貸」を選択する。なお、「コピー機」の語は動詞転置インデックス26f中には存在しないため、これに対応する正規化キーワード(動詞)はない。このため、検索実行部28bは、正規化キーワード(動詞)として「賃貸」のみを選択する。なお、一致する正規化キーワード(動詞)がない場合には、検索実行部28bは、検索処理を終了し、応答生成部28cに該当する調達情報がないと通知し、応答生成部28cに該当する調達情報が0件である旨の検索結果を生成させる。
この後、検索実行部28bは、上述の図28に示す細分類テーブル26c中に、選択した正規化キーワード(名詞)が正規化名詞に一致し、かつ、選択した正規化キーワード(動詞)が正規化動詞に一致する細分類が存在するか確認し、存在する場合には、当該細分類に対応する細分類コードを取得する。例えば上述のキーワードとして「コピー機」と「リース」の文字列が供給された場合には、正規化キーワード(名詞)として「複合機」が選択されており、正規化キーワード(動詞)として「賃貸」が選択されているため、細分類テーブル26c中の細分類「事務用機械器具賃貸業(電子計算機を除く)」の正規化名詞と正規化動詞に一致し、検索実行部28bは、この細分類に対応する細分類コード「7031」を取得する。
さらに、検索実行部28bは、取得した細分類コードに一致するidを検索インデックス26dから取得し(S408〜S409)、取得したidに対応する調達情報のアドレス(URL)と「件名」を検索データ格納部23(テーブル23b)から取得する(S410〜S411)。検索実行部28bは、取得したアドレスと件名を応答生成部28cに供給する(S412)。
応答生成部28cは、例えば予め保持しているテンプレートデータ中に、検索実行部28bから供給されたアドレスと件名をリンク情報として挿入し、検索結果のデータ(例えばHTML形式)を生成し(S413)、HTTPサーバ27に供給する(S414)。HTTPサーバ27は、供給された検索結果のデータをHTTPレスポンスとしてWebブラウザ31宛に送信する(S415)。Webブラウザ31は、受信したHTTPレスポンスに応じた表示(検索結果)を行い(S416)、これにより、検索端末30のユーザが、検索結果を確認することができる。また、HTTPレスポンス中には、検索条件に該当する調達情報に対するリンク情報(上述の図8中のURL)が含まれているため、ユーザは、検索結果中の所望の調達情報を選択し、Webブラウザ31によって調達情報を取得して表示させることができるようになる。
この調達情報検索システムでは、上述の効果に加えて、調達情報に細分類コードを付与して分類し、検索条件中のキーワードに対応する細分類コードを選択し、この細分類コードに一致する調達情報を選択することができるため、異なる官公庁毎からの調達情報であっても、適切な分類の調達情報を検索することができる。
(検索動作比較)
テーブル23bの状態が、例えば図40に示す状態であったとすると、検索インデックス26dの状態は、例えば図41に示すようになる。このような状態で、上述のキーワードの照合により検索を行った場合、例えばキーワード(照合)入力欄71aに「コピー機」、入力欄71bに「リース」と入力して検索を行った場合、検索実行部28bは、検索インデックス26dの「ファイル内容」中に「コピー機」、「リース」のいずれの文字列も含む調達情報としてidが006である調達情報を選択し、この調達情報に対応するアドレス(URL)と「件名」を応答生成部28cに供給する。また、例えばキーワード(照合)入力欄71aに「複合機」、入力欄71bに「購入」と入力して検索を行った場合、検索インデックス26dの「ファイル内容」中に「複合機」、「購入」のいずれの文字列も含む調達情報はないため、該当する調達情報がない旨、応答生成部28cに通知する。
一方、上述のカテゴリ推定による検索を行った場合、例えばキーワード(カテゴリ推定)入力欄74aに「コピー機」、入力欄74bに「リース」と入力して検索を行った場合、検索実行部28bは、名詞転置インデックス26e中のシノニム「コピー機」に対応する正規化キーワード(名詞)として「複合機」を選択し、動詞転置インデックス26f中のシノニム「リース」に対応する正規化キーワード(動詞)として「賃貸」を選択する。さらに、検索実行部28bは、これらの正規化キーワードに一致する正規化名詞と正規化動詞を有する細分類テーブル26c中の細分類「事務用機械器具賃貸業(電子計算機を除く)」に対応する細分類コード「7031」を取得し、検索インデックス26d中の当該細分類コード「7031」に一致するidが000,003,004,006の4件の調達情報を選択し、これらのidに対応するアドレスと「件名」を応答生成部28cに供給する。
また、キーワード(カテゴリ推定)入力欄74aに「コピー機」、入力欄74bに「購入」と入力して検索を行った場合、検索実行部28bは、名詞転置インデックス26e中のシノニム「コピー機」に対応する正規化キーワード(名詞)として「複合機」を選択し、動詞転置インデックス26f中のシノニム「購入」に対応する正規化キーワード(動詞)として「卸売」を選択する。さらに、検索実行部28bは、これらの正規化キーワードに一致する正規化名詞と正規化動詞を有する細分類テーブル26c中の細分類「事務用機械器具卸売業」に対応する細分類コード「5414」を取得し、検索インデックス26d中の当該細分類コード「5414」に一致するidが001,007,008の3件の調達情報を選択し、これらのidに対応するアドレスと「件名」を応答生成部28cに供給する。
このように、カテゴリ推定による検索を行った場合には、キーワード(照合)による検索を行った場合と同じキーワードを入力した場合より、検索結果の件数が多くなっている。これは、調達情報を提供する官公庁等によって調達対象を示す文字列の表現が異なり、同種の物品・役務等であっても、ファイル内容にキーワードと一致する文字列が含まれていない場合があるためである。このため、例えば「事務用機械器具」に含まれる物品についての適切な検索結果を得ようとすると、例えば「コピー機」、「タイムレコーダ」、「シュレッダ」等の物品名とこれらに類似する名詞を入力してOR検索を行う必要があり、キーワードの設定次第で検索漏れが生じる。このような場合であっても、カテゴリ推定による検索を行うことにより、入力されたキーワードを正規化し、正規化したキーワードに対応する細分類コードを選択し、当該細分類コードに対応する調達情報を選択することにより、同種の物品・役務等を対象とする調達情報を選択することができるため、検索漏れが生じ難く、キーワードの入力の手間を軽減させることができる。
本発明の一実施例に係る調達情報検索システムの構成例を示すブロック図である。 検査対象となる調達情報のデータの例を示す図である。 検査対象となる調達情報のデータの他の例を示す図である。 調達情報でないデータの例を示す図である。 設定ファイルの例を示す図である。 調達情報検索システムによる情報取得の例を示すシーケンス図である。 HTTPサーバが提供するデータのリンク構造を示す図である。 データの取得日時とURL等の対応を保持するテーブルの例を示す図である。 開始URLに対応する検索ページの例を示す図である。 開始URLが検索ページである場合の情報取得の例を示すシーケンス図である。 開始URLに対応する検索ページのソースの例を示す図である。 HTTPサーバが提供する検索結果からのリンク構造を示す図である。 検査対象となる調達情報のデータの例を示す図である。 調達情報検索システムによる解析処理の例を示すフローチャートである。 解析処理に用いるインデントテーブルの例を示す図である。 調達情報検索システムによる判定処理の例を示すフローチャートである。 件名抽出処理の例を示すフローチャートである。 検査対象となるデータの例を示す図である。 検索画面の例を示す図である。 検索画面のソースの例を示す図である。 調達情報検索システムによる検索サービス提供の例を示すシーケンス図である。 検索結果生成処理の例を示すフローチャートである。 テンプレートデータの例を示す図である。 検索結果データの例を示す図である。 本発明に係る調達情報検索システムの他の構成例を示すブロック図である。 名詞正規化テーブルデータの例を示す図である。 動詞正規化テーブルの例を示す図である。 細分類テーブルの例を示す図である。 データの取得日時とURL等の対応を保持するテーブルの例を示す図である。 検索インデックス内のデータの例を示す図である。 名詞転置インデックスの例を示す図である。 動詞転置インデックスの例を示す図である。 検索インデックス作成処理の例を示すフローチャートである。 解析処理の結果の例を示す図である。 解析処理に用いるインデントテーブルの例を示す図である。 調達対象を示す部分の例を示す図である。 検索画面の例を示す図である。 検索画面のソースの例を示す図である。 検索サービス提供の例を示すシーケンス図である。 テーブルに登録されているデータの例を示す図である。 検索インデックスに登録されているデータの例を示す図である。
1…ネットワーク、10…情報提供サーバ、20…検索サーバ、21…情報作成部、21a…情報取得部、21b…情報解析部、21c…情報登録部、22…設定ファイル、23…データ格納部、25…検索インデックス作成部、26…検索インデックス、28…検索サービス提供部、28a…要求受付部、28b…検索実行部、28c…応答生成部、30…検索端末

Claims (6)

  1. 異なる運営主体によって運営され,調達情報その他の情報のデータを提供する複数の情報提供サーバとネットワーク経由で接続され,前記各情報提供サーバが提供するデータを取得する取得手段と,取得したデータが調達情報であるか否かを判定する判定手段と,該判定手段が調達情報と判定したデータ(調達情報のデータ)と当該データを取得したアドレスを対応付けて保持する調達情報保持手段と,ネットワーク経由で接続された端末装置から供給された検索条件を含む検索要求に応じて,前記調達情報保持手段に保持されている調達情報のデータから検索条件に該当するものを抽出する検索手段と,該検索手段が抽出した調達情報のデータに対応付けられている前記アドレスを含む検索結果を生成し,端末装置に提供する応答手段とを有する調達情報検索サーバを備え、
    前記判定手段は、
    前記取得手段が取得したデータをテキスト形式のデータに変換する変換手段と、
    当該テキスト形式のデータの先頭から改行コード毎に行番号を割り当てる割り当て手段と、
    当該テキスト形式のデータ内の,予め(各々の情報提供サーバ毎に)設定しておいた「タイトルキーワード」に一致する文字が存在する最初の行の行番号を第1の行番号とする第1の行番号検出手段と、
    当該テキスト形式のデータ内の,予め設定しておいた「発行者キーワード」に一致する文字が存在する最初の行の行番号を第2の行番号とする第2の行番号検出手段と、
    当該テキスト形式のデータ内に順序を示す文字が存在するか否かを確認し,存在する場合には,当該順序を示す文字と行番号を対応付けてテーブルに格納しておき,当該テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第3の行番号とする第3の行番号検出手段と、
    前記第1の行番号が前記第2の行番号に一致せず、かつ、前記第2の行番号が前記第3の行番号に一致せず、かつ、前記第1の行番号が前記第3の行番号に一致しない場合に、当該データが調達情報であると判定する比較手段と
    を備えることを特徴とする調達情報検索システム。
  2. 前記テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第4の行番号とする第4の行番号検出手段と、
    前記第4の行番号以降であって前記テーブル中の順序を示す文字のうちの2番目に小さいものに対応する行番号のうち、最小の行番号を第5の行番号とする第5の行番号検出手段と、
    前記第4の行番号と前記第5の行番号の前の行番号までの文字列を抽出し、抽出した部分に予め設定しておいた件名キーワードが存在する行を検出し、件名キーワードの後に空白を挟んで続く文字等がある場合には、当該文字等を「件名」として前記調達情報保持手段に登録し、件名キーワードの後に空白を挟んで続く文字等がない場合には、次の行の文字等を「件名」として前記調達情報保持手段に登録する登録手段と
    を備えることを特徴とする請求項1記載の調達情報検索システム。
  3. 前記調達情報検索サーバは、
    予め分類された調達対象毎に,当該調達対象を示す文字列に含まれる名詞を正規化した正規化名詞と当該文字列に含まれる動詞を正規化した正規化動詞と識別情報(細分類コード)とを対応付けて保持する細分類テーブルと、
    予め設定した調達情報に含まれる可能性のある名詞について当該名詞に対応する正規化キーワードを対応付けて保持する名詞転置インデックスと、
    予め設定した調達情報に含まれる可能性のある動詞について当該動詞に対応する正規化キーワードを対応付けて保持する動詞転置インデックスと、
    前記判定手段が調達情報であると判定した前記調達情報のデータ中に前記名詞転置インデックス中の各々の名詞が含まれるか否かを判定し,含まれる場合に当該名詞に対応する正規化キーワードを選択する名詞選択手段と、
    前記判定手段が調達情報であると判定した前記調達情報のデータ中に前記動詞転置インデックス中の各々の動詞が含まれるか否かを判定し,含まれる場合に当該動詞に対応する正規化キーワードを選択する動詞選択手段と、
    前記細分類テーブル中に,前記名詞選択手段が選択した正規化キーワードと正規化名詞が一致し,かつ,前記動詞選択手段が選択した正規化キーワードと正規化動詞が一致する調達対象が存在する場合に当該調達対象に対応する前記細分類コードに当該調達情報のデータを対応付けて検索インデックスとして保持する検索インデックス作成手段と
    を備えることを特徴とする請求項1記載の調達情報検索システム。
  4. 異なる運営主体によって運営され,調達情報その他の情報のデータを提供する複数の情報提供サーバとネットワーク経由で接続され,前記各情報提供サーバが提供するデータを取得する取得手段と、
    該取得手段が取得したデータが調達情報であるか否かを判定する判定手段と、
    該判定手段が調達情報と判定したデータ(調達情報のデータ)と当該データを取得したアドレスを対応付けて保持する調達情報保持手段と、
    ネットワーク経由で接続された端末装置から供給された検索条件を含む検索要求に応じて,前記調達情報保持手段に保持されている調達情報のデータから検索条件に該当するものを抽出する検索手段と、
    該検索手段が抽出した調達情報のデータに対応付けられている前記アドレスを含む検索結果を生成し,端末装置に提供する応答手段とを有し、
    前記判定手段は、
    前記取得手段が取得したデータをテキスト形式のデータに変換する変換手段と、
    当該テキスト形式のデータの先頭から改行コード毎に行番号を割り当てる割り当て手段と、
    当該テキスト形式のデータ内の,予め(各々の情報提供サーバ毎に)設定しておいた「タイトルキーワード」に一致する文字が存在する最初の行の行番号を第1の行番号とする第1の行番号検出手段と、
    当該テキスト形式のデータ内の,予め設定しておいた「発行者キーワード」に一致する文字が存在する最初の行の行番号を第2の行番号とする第2の行番号検出手段と、
    当該テキスト形式のデータ内に順序を示す文字が存在するか否かを確認し,存在する場合には,当該順序を示す文字と行番号を対応付けてテーブルに格納しておき,当該テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第3の行番号とする第3の行番号検出手段と、
    前記第1の行番号が前記第2の行番号に一致せず、かつ、前記第2の行番号が前記第3の行番号に一致せず、かつ、前記第1の行番号が前記第3の行番号に一致しない場合に、当該データが調達情報であると判定する比較手段と
    を備えることを特徴とする調達情報検索サーバ。
  5. 前記第3の行番号検出手段は、前記テキスト形式のデータ内に順序を示す文字が存在する場合に,当該順序を示す文字と行番号を対応付けてテーブルに格納しておき、
    前記テーブル中の順序を示す文字のうちの最小のものに対応する行番号のうち、最小の行番号を第4の行番号とする第4の行番号検出手段と、
    前記第4の行番号以降であって前記テーブル中の順序を示す文字のうちの2番目に小さいものに対応する行番号のうち、最小の行番号を第5の行番号とする第5の行番号検出手段と、
    前記第4の行番号と前記第5の行番号の前の行番号までの文字列を抽出し、抽出した部分に予め設定しておいた件名キーワードが存在する行を検出し、件名キーワードの後に空白を挟んで続く文字等がある場合には、当該文字等を「件名」として前記調達情報保持手段に登録し、件名キーワードの後に空白を挟んで続く文字等がない場合には、次の行の文字等を「件名」として前記調達情報保持手段に登録する登録手段と
    を備えることを特徴とする請求項4記載の調達情報検索サーバ。
  6. 予め分類された調達対象毎に,当該調達対象を示す文字列に含まれる名詞を正規化した正規化名詞と当該文字列に含まれる動詞を正規化した正規化動詞と識別情報(細分類コード)とを対応付けて保持する細分類テーブルと、
    予め設定した調達情報に含まれる可能性のある名詞について当該名詞に対応する正規化キーワードを対応付けて保持する名詞転置インデックスと、
    予め設定した調達情報に含まれる可能性のある動詞について当該動詞に対応する正規化キーワードを対応付けて保持する動詞転置インデックスと、
    前記判定手段が調達情報であると判定した前記調達情報のデータ中に前記名詞転置インデックス中の各々の名詞が含まれるか否かを判定し,含まれる場合に当該名詞に対応する正規化キーワードを選択する名詞選択手段と、
    前記判定手段が調達情報であると判定した前記調達情報のデータ中に前記動詞転置インデックス中の各々の動詞が含まれるか否かを判定し,含まれる場合に当該動詞に対応する正規化キーワードを選択する動詞選択手段と、
    前記細分類テーブル中に,前記名詞選択手段が選択した正規化キーワードと正規化名詞が一致し,かつ,前記動詞選択手段が選択した正規化キーワードと正規化動詞が一致する調達対象が存在する場合に当該調達対象に対応する前記細分類コードに当該調達情報のデータを対応付けて検索インデックスとして保持する検索インデックス作成手段と
    を備えることを特徴とする請求項記載の調達情報検索サーバ。
JP2009221640A 2009-09-25 2009-09-25 調達情報検索システム Expired - Fee Related JP5008152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009221640A JP5008152B2 (ja) 2009-09-25 2009-09-25 調達情報検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009221640A JP5008152B2 (ja) 2009-09-25 2009-09-25 調達情報検索システム

Publications (2)

Publication Number Publication Date
JP2011070453A JP2011070453A (ja) 2011-04-07
JP5008152B2 true JP5008152B2 (ja) 2012-08-22

Family

ID=44015676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009221640A Expired - Fee Related JP5008152B2 (ja) 2009-09-25 2009-09-25 調達情報検索システム

Country Status (1)

Country Link
JP (1) JP5008152B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690851B2 (en) * 2014-11-20 2017-06-27 Oracle International Corporation Automatic generation of contextual search string synonyms
CN111143650B (zh) * 2019-12-16 2024-04-26 东软集团股份有限公司 获取页面数据的方法、装置、介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06131229A (ja) * 1992-10-21 1994-05-13 Just Syst Corp 情報処理方法及び装置
JP2002358390A (ja) * 2001-05-31 2002-12-13 Emiko Kashima 調達情報自動検索システム
JP2003150605A (ja) * 2001-11-08 2003-05-23 Fuji Electric Co Ltd 情報収集装置および情報収集プログラム
JP4587163B2 (ja) * 2004-07-13 2010-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 検索システム、検索方法、報告システム、報告方法、及びプログラム
JP2009075757A (ja) * 2007-09-19 2009-04-09 Kureo:Kk 情報処理装置、およびプログラム

Also Published As

Publication number Publication date
JP2011070453A (ja) 2011-04-07

Similar Documents

Publication Publication Date Title
US11372935B2 (en) Automatically generating a website specific to an industry
US8161059B2 (en) Method and apparatus for collecting entity aliases
US7730104B2 (en) Extraction of information from structured documents
US20100185600A1 (en) Apparatus and method for integration search of web site
WO2015047920A1 (en) Title and body extraction from web page
CN108090104B (zh) 用于获取网页信息的方法和装置
CN111079043A (zh) 一种关键内容定位方法
US20170109442A1 (en) Customizing a website string content specific to an industry
JP4830637B2 (ja) 電子文書更新通知装置及び電子文書更新通知方法
JP2011513810A (ja) 用語識別方法および装置
Cardoso et al. An efficient language-independent method to extract content from news webpages
TW201415254A (zh) 語意標註建議方法及其系統
Wiedemann et al. New/s/leak 2.0–multilingual information extraction and visualization for investigative journalism
JP2021043955A5 (ja) 発明文書分析システム、発明文書分析方法及び発明文書分析処理プログラム
JP2010205060A (ja) 文書内画像検索方法および文書内画像検索システム
JP2007108889A (ja) 知的財産管理システム、知的財産管理方法およびプログラム
JP5008152B2 (ja) 調達情報検索システム
JP2017117021A (ja) キーワード抽出装置、コンテンツ生成システム、キーワード抽出方法、およびプログラム
JP2015194955A (ja) 入札情報検索システム
KR100900467B1 (ko) 개인 미디어 검색 서비스 시스템 및 방법
JP2011086156A (ja) 漏洩情報追跡システムおよび漏洩情報追跡プログラム
JP6712749B2 (ja) 最後のアルファベット除去アルゴリズムを利用した半導体部品検索方法
KR101078966B1 (ko) 문서 분석 시스템
JP5040544B2 (ja) コンテンツ関係登録方法
CN110457435A (zh) 一种专利新颖性分析系统及其分析方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120524

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120525

R150 Certificate of patent or registration of utility model

Ref document number: 5008152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees