(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135684
(43)【公開日】2024-10-04
(54)【発明の名称】施設データベース、施設データ生成装置、施設データ生成方法、施設データ生成プログラム、検索装置、検索方法及び検索プログラム
(51)【国際特許分類】
G06F 16/908 20190101AFI20240927BHJP
【FI】
G06F16/908
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023046490
(22)【出願日】2023-03-23
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】501271479
【氏名又は名称】株式会社トヨタマップマスター
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】出口 悟
(72)【発明者】
【氏名】中西 健太
(72)【発明者】
【氏名】田川 達司
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FB03
5B175KA11
(57)【要約】 (修正有)
【課題】データの更新が容易な施設データベースを提供する。
【解決手段】制御部及び記憶部を備えるコンピュータに用いられ、記憶部に記憶される施設データベースのデータ構造であって、施設毎に、施設を一意に識別する施設識別子を示す第1ノード201と、施設の属性各々を個別に示す第2ノード202a~202hと、第1ノードと各第2ノードとを接続するエッジ204a~204hと、を有する。制御部は、コンピュータに入力された情報に対応する第2ノードを特定し、特定した第2ノードに接続されているエッジと当該エッジに接続する第1ノードを介して接続される他の第2ノードのうち少なくともいずれか一つを特定して出力する処理を実行する。各第2ノードには、プロパティ情報203a~203hが対応付けられ、第2ノードを一意に識別するためのノードIDや、その第2ノード202が抽出された情報源を示す出典情報が含まれる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
制御部及び記憶部を備えるコンピュータに用いられ、
前記記憶部に記憶される施設データベースのデータ構造であって、
施設ごとに、
施設を一意に識別する施設識別子を示す第1ノードと、
前記施設の属性各々を個別に示す第2ノードと、
前記第1ノードと前記第2ノード各々とをエッジで接続した構造を有し、
前記制御部が、前記コンピュータに入力された情報に対応する前記第2ノードを特定し、特定した第2ノードに接続されているエッジと当該エッジに接続する第1ノードを介して接続される他の第2ノードのうち少なくともいずれか一つを特定して出力する処理に用いられる
施設データベース。
【請求項2】
前記第2ノードには、当該第2ノードが示す前記施設の属性を説明するプロパティ情報が対応付けられ、
前記プロパティ情報は、前記制御部による特定の際に参照される
ことを特徴とする請求項1に記載の施設データベース。
【請求項3】
前記制御部により、前記施設の属性情報を取得した場合に当該属性情報を新たな第2ノードとして、前記第1ノードにエッジで接続して追加可能な請求項1に記載の施設データベース。
【請求項4】
前記制御部により、前記新たな第2ノードが、既存の第2ノードのいずれかと属性が重複する場合に、いずれか一方の第2ノードを無効化可能な請求項3に記載の施設データベース。
【請求項5】
前記エッジには接続先の第2ノードの有効日時を示す情報が対応付けられ、
前記制御部により、前記有効日時内のエッジに接続される第2ノードが特定される
ことを特徴とする請求項1に記載の施設データベース。
【請求項6】
施設の情報を含む施設掲載情報を取得する取得部と、
前記施設掲載情報から、前記施設に係る属性を抽出する抽出部と、
前記施設に対して施設識別子を付与して第1ノードとし、前記抽出部が抽出した属性一つにつき、第2ノードとし、前記第1ノードと前記第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成部と、
前記施設データを施設データベースに登録する登録部と、
を備える施設データ生成装置。
【請求項7】
前記施設掲載情報は、出典を示す出典情報を含み、
前記生成部は、前記第2ノードに、当該第2ノードが示す属性を抽出した施設掲載情報の出典をプロパティ情報として対応付けて、前記施設データを生成する
ことを特徴とする請求項6に記載の施設データ生成装置。
【請求項8】
前記施設掲載情報は、出典を示す出典情報を含み、
前記抽出部は、同じ施設について、複数の異なる施設掲載情報から、前記出典情報に対する信頼度に応じて前記施設に係る属性のうち重複する属性については前記信頼度の高い出典情報を含む施設掲載情報から抽出する
ことを特徴とする請求項6に記載の施設データ生成装置。
【請求項9】
前記施設データベースが利用される用途を示す用途情報を受け付ける受付部を備え、
前記抽出部は、前記用途に応じて、前記施設掲載情報から前記属性を抽出する
ことを特徴とする請求項6に記載の施設データ生成装置。
【請求項10】
コンピュータが、
施設の情報を含む施設掲載情報を取得する取得ステップと、
前記施設掲載情報から、前記施設に係る属性を抽出する抽出ステップと、
前記施設に対して施設識別子を付与して第1ノードとし、前記抽出ステップが抽出した属性一つにつき、第2ノードとし、前記第1ノードと前記第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成ステップと、
前記施設データを施設データベースに登録する登録ステップと、
を実行する施設データ生成方法。
【請求項11】
コンピュータに、
施設の情報を含む施設掲載情報を取得する取得機能と、
前記施設掲載情報から、前記施設に係る属性を抽出する抽出機能と、
前記施設に対して施設識別子を付与して第1ノードとし、前記抽出機能が抽出した属性一つにつき、第2ノードとし、前記第1ノードと前記第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成機能と、
前記施設データを施設データベースに登録する登録機能と、
を実現させる施設データ生成プログラム。
【請求項12】
施設ごとに、
施設を一意に識別する施設識別子を示す第1ノードと、
前記施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、
前記第1ノードと前記第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部と、
クエリを受け付ける第1受付部と、
用途を示す用途情報を受け付ける第2受付部と、
前記クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、前記用途情報に応じた第2ノードを検索する検索部と、
前記検索部が検索した第2ノードの情報を出力する出力部と、
を備える検索装置。
【請求項13】
施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、前記施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、前記第1ノードと前記第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部にアクセス可能なコンピュータが、
クエリを受け付ける第1受付ステップと、
用途を示す用途情報を受け付ける第2受付ステップと、
前記クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、前記用途情報に応じた第2ノードを検索する検索ステップと、
前記検索ステップが検索した第2ノードの情報を出力する出力ステップと、
を実行する検索方法。
【請求項14】
施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、前記施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、前記第1ノードと前記第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部にアクセス可能なコンピュータに、
クエリを受け付ける第1受付機能と、
用途を示す用途情報を受け付ける第2受付機能と、
前記クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、前記用途情報に応じた第2ノードを検索する検索機能と、
前記検索機能が検索した第2ノードの情報を出力する出力機能と、
を実現させる検索プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、施設の情報を含む施設データベース及びそれを生成する装置、方法、プログラム、並びに、施設データベースを利用した検索装置及びその方法、プログラムに関する。
【背景技術】
【0002】
従来、施設に関するデータベースは、RDB(Relational Data Base)という表形式の複数のデータを互いに関連付けて管理するデータベースにより作成されていた。このようなデータベースは、例えば、ナビゲーション装置等において、ユーザの所望する施設を検索する際に利用される。このような施設データベースは、例えば、施設に関する様々な情報から抽出されて作成される。特許文献1には、施設の検索システムであって、ユーザ期待値になるべく沿う検索結果を提示する検索システムが開示されている。具体的には、特許文献1に係る検索システムにおいては、検索した施設のジャンル情報と、当該ジャンル情報で示されるジャンルに関する情報を開示する出典の評価値に基づいて、スコアを算出し、算出したスコアの順序で施設を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上述した施設に関するデータベースは、適宜、更新する必要がある。例えば、施設の営業時間の変更であったり、住所の変更であったり、名称の変更であったり、閉店等により、更新する必要があるが、上述したRDB形式のデータベースでは、その更新に手間がかかるという問題がある。また、変更が一時的なものである場合もあり、一定期間後に元に戻したりする処理にも手間がかかるという問題がある。また、同じ施設についての情報であるものの、複数の出典が有る場合に、出典毎で情報の内容が異なったりずれたりすることがあるが、そのような場合に、検索をしているユーザにどの情報を提示すればよいかシステムには特定できない可能性がある。
【0005】
そこで、本発明は、上記問題に鑑みて成されたものであり、データの更新が比較的容易であるとともに、検索時に出典毎で情報の内容が異なる場合にも、検索したユーザに適した情報を提供できる施設データベース及びその検索における利用方法、施設データベースの生成法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係るデータベースは、制御部及び記憶部を備えるコンピュータに用いられ、記憶部に記憶される施設データベースのデータ構造であって、施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、施設の属性各々を個別に示す第2ノードと、第1ノードと第2ノード各々とをエッジで接続した構造を有し、制御部が、コンピュータに入力された情報に対応する第2ノードを特定し、特定した第2ノードに接続されているエッジと当該エッジに接続する第1ノードを介して接続される他の第2ノードのうち少なくともいずれか一つを特定して出力する処理に用いられる。
【0007】
上記施設データベースにおいて、第2ノードには、当該第2ノードが示す施設の属性を説明するプロパティ情報が対応付けられ、プロパティ情報は、制御部による特定の際に参照されることとしてよい。
【0008】
上記施設データベースにおいて、制御部により、施設の属性情報を取得した場合に当該属性情報を新たな第2ノードとして、第1ノードにエッジで接続して追加可能であることとしてよい。
【0009】
上記施設データベースにおいて、制御部により、新たな第2ノードが、既存の第2ノードのいずれかと属性が重複する場合に、いずれか一方の第2ノードを無効化可能であることとしてよい。
【0010】
上記施設データベースにおいて、エッジには接続先の第2ノードの有効日時を示す情報が対応付けられ、制御部により、有効日時内のエッジに接続される第2ノードが特定されることとしてよい。
【0011】
上記課題を解決するために、本発明の一態様に係る施設データ生成装置は、施設の情報を含む施設掲載情報を取得する取得部と、施設掲載情報から、施設に係る属性を抽出する抽出部と、施設に対して施設識別子を付与して第1ノードとし、抽出部が抽出した属性一つにつき、第2ノードとし、第1ノードと第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成部と、施設データを施設データベースに登録する登録部と、を備えることとしてよい。
【0012】
また、上記課題を解決するために、本発明の一態様に係る施設データの生成方法は、コンピュータが、施設の情報を含む施設掲載情報を取得する取得ステップと、施設掲載情報から、施設に係る属性を抽出する抽出ステップと、施設に対して施設識別子を付与して第1ノードとし、抽出ステップが抽出した属性一つにつき、第2ノードとし、第1ノードと第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成ステップと、施設データを施設データベースに登録する登録ステップと、を実行することとしてよい。
【0013】
また、上記課題を解決するために、本発明の一態様に係る施設データの生成プログラムは、コンピュータに、施設の情報を含む施設掲載情報を取得する取得機能と、施設掲載情報から、施設に係る属性を抽出する抽出機能と、施設に対して施設識別子を付与して第1ノードとし、抽出機能が抽出した属性一つにつき、第2ノードとし、第1ノードと第2ノードとをエッジで接続して、当該施設を示す施設データを生成する生成機能と、施設データを施設データベースに登録する登録機能と、を実現させることとしてよい。
【0014】
また、上記施設データ生成装置において、施設掲載情報は、出典を示す出典情報を含み、生成部は、第2ノードに、当該第2ノードが示す属性を抽出した施設掲載情報の出典をプロパティ情報として対応付けて、施設データを生成することとしてよい。
【0015】
また、上記施設データ生成装置において、施設掲載情報は、出典を示す出典情報を含み、抽出部は、同じ施設について、複数の異なる施設掲載情報から、出典情報に対する信頼度に応じて施設に係る属性のうち重複する属性については信頼度の高い出典情報を含む施設掲載情報から抽出することとしてよい。
【0016】
また、上記施設データ生成装置において、施設データベースが利用される用途を示す用途情報を受け付ける受付部を備え、抽出部は、用途に応じて、施設掲載情報から属性を抽出することとしてよい。
【0017】
また、上記課題を解決するために、本発明の一態様に係る検索装置は、施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、第1ノードと第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部と、クエリを受け付ける第1受付部と、用途を示す用途情報を受け付ける第2受付部と、クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、用途情報に応じた第2ノードを検索する検索部と、検索部が検索した第2ノードの情報を出力する出力部と、を備えることとしてよい。
【0018】
また、上記課題を解決するために、本発明の一態様に係る検索方法は、施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、第1ノードと第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部にアクセス可能なコンピュータが、クエリを受け付ける第1受付ステップと、用途を示す用途情報を受け付ける第2受付ステップと、クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、用途情報に応じた第2ノードを検索する検索ステップと、検索ステップが検索した第2ノードの情報を出力する出力ステップと、を実行することとしてよい。
【0019】
また、上記課題を解決するために、本発明の一態様に係る検索プログラムは、施設ごとに、施設を一意に識別する施設識別子を示す第1ノードと、施設の属性各々を個別に示し、少なくとも当該属性を示す情報の出典を示す出典情報をプロパティ情報として保持する第2ノードと、第1ノードと第2ノード各々とをエッジで接続した構造を有する施設データを含む施設データベースを記憶する記憶部にアクセス可能なコンピュータに、クエリを受け付ける第1受付機能と、用途を示す用途情報を受け付ける第2受付機能と、クエリに対応する施設データの属性であって、属性の種別が同じであって、異なる内容の第2ノードが複数ある場合に、用途情報に応じた第2ノードを検索する検索機能と、検索機能が検索した第2ノードの情報を出力する出力機能と、を実現させることとしてよい。
【発明の効果】
【0020】
本発明の一態様に係る施設データベースは、施設を示す施設識別子を第1ノードとし、当該第1ノードに、施設の属性の情報を第2ノードに設定して、第1ノードと第2ノード間をエッジで接続したデータベースとすることで、第2ノードを追加するだけで施設データを更新できるとともに、不要な第2ノードを削除あるいは無効化するだけで不要な情報が検索にかかることがなくなるので、更新が容易な施設のデータベースを提供することができる。
【図面の簡単な説明】
【0021】
【
図2】施設データベースのデータ構成例を示すデータ概念図である。
【
図3】施設データベースを利用した検索装置による検索処理を示す第1のフローチャートである。
【
図4】施設データベースを利用した検索装置による検索処理を示す第2のフローチャートである。
【
図6】施設データベースの生成処理を示す第1のフローチャートである。
【
図7】施設データベースの生成処理を示す第2のフローチャートである。
【
図8】施設データベースの生成処理を示す第3のフローチャートである。
【
図9】(a)検索装置の他の構成例を示すブロック図である。(b)生成装置の他の構成例を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、本発明の一態様に係る検索装置について、図面を参照しながら詳細に説明する。
【0023】
<実施形態1>
<構成>
本発明の一態様に係る施設データベースは、制御部(
図1の105参照)及び記憶部(
図1の104参照)を備えるコンピュータ(
図1参照)に用いられ、記憶部に記憶される施設データベースのデータ構造であって、施設ごとに、施設を一意に識別する施設識別子を示す第1ノード(
図2の201参照)と、施設の属性各々を個別に示す第2ノード(
図2の202a~202h)と、第1ノードと第2ノード各々とをエッジ(
図2の204a~204h)で接続した構造を有し、制御部が、コンピュータに入力された情報に対応する第2ノードを特定し、特定した第2ノードに接続されているエッジと当該エッジに接続する第1ノードを介して接続される他の第2ノードのうち少なくともいずれか一つを特定して出力する処理に用いられる。
【0024】
以下、本実施形態1では、施設データベース及びその施設データベースを利用した検索装置による検索について説明する。
【0025】
図1は、検索装置100の構成例を示すブロック図である。
図1に示すように、検索装置100は、通信部101と、入力部102と、出力部103と、記憶部104と、CPU105とを備える。
【0026】
検索装置100は、サーバ装置、PCなどにより実現されるコンピュータシステムであるが、これらに限定するものではなく、スマートフォン、タブレット端末等の携帯端末などにより実現されるものであってもよい。検索装置100は、一例として、ユーザから検索したい内容を示すクエリを受け付けて、施設データベースを参照して、検索結果を提供する情報処理装置である。
【0027】
通信部101は、他の装置と、有線又は無線の通信により情報を送受信する機能を有する。通信部101は、例えば、外部の装置(例えば、ユーザの端末)から、検索したいクエリを示す情報を受信して、CPU105に伝達することとしてよい。また、あるいは、通信部101は、例えば、外部の装置(例えば、ユーザの端末)から、検索したいクエリと、検索の用途を示す用途情報を受信して、CPU105に伝達することとしてもよい。ここで用途情報とは、検索の目的であって、どういう基準での検索結果を得たいのかの基準を示す情報であり、一例として、優先する出典の情報であってよい。ここで優先する出典の情報は、出典名を指定するものであってもよいし、出典の種別(例えば、新聞、雑誌、ウェブなど)を指定するものであってもよい。また、用途情報は、例えば、要介護者用であることを示す情報であったり、特定の企業や個人、グループ、法人に特化した情報であったり、逆に特定の企業や個人、グループ、法人を排除する情報であったり、電気自動車用であるか普通自動車用であるかを示す情報であったり、特定の期間を示す情報であったりしてよい。即ち、用途情報は、検索に係る詳細な条件を示す情報であってもよい。
【0028】
入力部102は、検索装置100のユーザからの入力を受け付けて、CPU105に伝達する機能を有する。入力部102は、例えば、検索装置100に備えられたハードウェアキーや、タッチパネルやタッチキーなどのソフトキーなどにより実現することができる。なお、入力部102に対する入力は音声による入力であってもよく、この場合、入力部102は、マイクロフォンにより実現される。入力部102は、例えば、クエリに関する情報の入力を受け付けてCPU105に伝達してもよい。また、あるいは、入力部102は、例えば、用途情報の入力を受け付けてCPU105に伝達してもよい。
【0029】
出力部103は、CPU105からの指示に従って、指示されたデータを出力する機能を有する。出力部103は、例えば、CPU105によりユーザからのクエリに対して検索された検索結果を出力することとしてよい。出力部103による情報の出力は、検索装置100に付属する、あるいは、接続されたモニタ(表示装置)等に、文字あるいは画像による出力を行うものであってもよいし、検索装置100に付属する、あるいは、接続されたスピーカから音声を出力するものであってもよいし、通信部110を介して外部の装置に通信による情報の出力を行うものであってもよい。
【0030】
記憶部104は、検索装置100が動作する上で必要とする各種のプログラム及び各種のデータを記憶する記録媒体である。記憶部104は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。
【0031】
記憶部104は、施設データベース141を記憶している。ここで、施設データベース141について説明する。
図2は、施設データベース141に含まれる1つの施設についてのデータ構造を示すデータ概念図である。したがって、施設データベース141は、
図2に示す施設データの集合である。
【0032】
図2に示すように、施設データは、第1ノード201と、第2ノード202とが、エッジ204により接続された形態のデータである。施設データベースは、グラフデータベースと呼称される態様のデータベースであってよい。
【0033】
第1ノード201は、施設それぞれに固有に割り振られた識別子である施設IDの情報を有する。施設IDは、どのような構成であってもよいが、文字や数字の組み合わせであってよい。
【0034】
第2ノード202(
図2の202a~202h。区別しない場合には、単に第2ノード202と記載する。)は、第1ノード201の施設IDが割り振られた施設の属性を示す情報を有する。ここで、施設の属性とは、施設の特徴の一つを示す情報のことであり、例えば、施設の名称、住所、電話番号、位置座標、営業時間、施設の種別、プロフィールなどであってよいが、これらに限定するものではない。第2ノード202には、同種の属性のノードが複数存在してもよい。即ち、例えば、住所の第2ノード202が複数存在してもよい。これは、各第2ノード202の情報が抽出された出典が異なる場合に複数存在し得る。
【0035】
第1ノード201と、各第2ノード202とは、エッジ204(204a~204h。区別しない場合には、単にエッジ204と記載する。)により接続される。エッジ204により接続されていることにより、各第2ノードの情報が、第1ノード201に対応付けられていることを示す。
【0036】
各第2ノード202には、プロパティ情報203(203a~203h)が対応付けられる。プロパティ情報203は、対応する第2ノードに関連する情報であり、
図2においては、第2ノード202を一意に識別するためのノードIDや、その第2ノード202が抽出された情報源を示す出典情報が含まれてよい。プロパティ情報203には、ノードIDや出典情報以外の情報も含まれてよく、一例として、対応する第2ノード202の情報が、現在も有効か否かを示すフラグ情報が含まれてもよく、有効である場合には検索の対象となり、有効でない場合には、検索の対象とならないように設定されていてよい。また、プロパティ情報203には、対応する第2ノード202が示す情報の有効期間を示す情報が含まれてもよく、検索を行う日時が有効期間内に含まれる場合には、対応する第2ノード202の情報は検索の対象となり、検索を行う日時が有効期間外である場合には、対応する第2の情報は、検索の対象とならないように設定されてよい。また、プロパティ情報203には、対応する第2ノードの情報が施設データとしていつ登録されたのかを示す日時情報が含まれてもよい。なお、
図2においては、出典情報は、出典IDで示しているが、これは、出典名であってもよい。
図2に示すように出典IDが登録される場合には、記憶部104には、別途、出典IDと出典名とを対応付けたテーブルが保持されていてもよい。
【0037】
図2に示す例では、第1ノード201に対して第2ノード202a~202hが、それぞれ、エッジ204a~204hにより接続されている。また、各第2ノード202a~202hには、それぞれ、プロパティ情報203a~203hが対応付けられている。
【0038】
施設データベース141には、
図2に示す構成の施設データが、施設の数だけ保持されている。
【0039】
以上が、施設データベース141の構成例である。各施設データが
図2に示す構造をしていることにより、施設データの修正あるいは追加が容易に実現できる。即ち、施設データの一部を修正する場合には、対象の情報を保持する第2ノード202のみを修正すればよく、また、新たな情報を追加する場合にも新たな第2ノード202を追加して、新たなエッジ204で第1ノード201に接続するだけで情報の追加が可能となる。また、情報を削除する場合にも、対応する第2ノード202だけを削除あるいは無効化するだけでよいので、施設データの更新が非常に簡潔かつ容易となる。
【0040】
図1に示す記憶部104は、図示はしていないが、受け付けたクエリに基づいて、施設データベース141を参照して、検索を来ない、検索結果を出力する検索プログラムを記憶している。
【0041】
CPU105は、記憶部104に記憶されている各種のプログラム及び各種のデータを利用して、検索装置100が実行すべき処理を実行するプロセッサである。即ち、CPU105は、通信部101あるいは入力部102が受け付けたクエリに基づき、検索を実行し、検索結果を出力する。このとき、CPU105は、検索結果が一意に特定できない場合には、用途情報に基づいて、必要な情報を検索することとしてよい。
【0042】
CPU105は、第1受付部、第2受付部、検索部、出力部として機能してよい。
【0043】
第1受付部は、ユーザから検索に係るクエリを受け付ける。第1受付部は、通信部101が受信したクエリ、あるいは、入力部102が受け付けたクエリを受け付ける。
【0044】
第2受付部は、ユーザから検索における用途情報の入力を受け付ける。第2受付部は、通信部101が受信した用途情報、あるいは、入力部102が受け付けた用途情報を受け付ける。
【0045】
検索部は、第1受付部が受け付けたクエリに基づき、施設データベース141を検索する。また、必要に応じて用途情報を用いて、検索結果の絞り込み、あるいは、優先順位付けを行う。検索部は、検索により得られた検索結果を出力部に伝達する。
【0046】
出力部は、伝達された検索結果を、出力部103に出力させる。
【0047】
以上が、検索装置100の構成例である。
【0048】
<検索装置の動作例>
ここから、検索装置100による施設データベース141を用いた検索処理について説明する。
【0049】
図3は、検索装置100による検索処理の基本動作例を示すフローチャートである。
【0050】
図3に示すように、CPU105の第1受付部は、クエリを受け付ける(ステップS301)。第1受付部は、受け付けたクエリを検索部に伝達する。
【0051】
検索部は、受け付けたクエリに対応する第2ノード202を有する施設データを施設データベース141から検索する。そして、検索して特定した第2ノード202が接続されているエッジ204が接続される第1ノード201を特定する(ステップS303)。
【0052】
そして、検索部は、特定した第1ノード201に接続する他の第2ノード202を特定する(ステップS304)。これにより、ユーザが所望するクエリで示される属性を有する施設を特定するとともに、その施設の他の属性なども検索することができる。検索部は、検索結果を出力部に伝達する。
【0053】
出力部は検索部から伝達された検索結果を出力部103に出力させ(ステップS305)、処理を終了する。
【0054】
このように、検索装置100は、施設データベース141を参照し、クエリに対応する第2ノードを特定し、当該第2ノードに接続される第1ノード及び第1ノードを介して接続される他の第2ノードを特定し、ユーザが所望する情報を提供することができる。
【0055】
以上が、検索装置100による、施設データベース141を利用した基本的な検索処理の例である。
【0056】
次に、
図4を用いて、検索処理の更なる例を説明する。
【0057】
図4は、検索装置100の他の動作例を示す第2のフローチャートである。
図4に示すフローチャートは、施設データベース141で検索される施設に対して、同じ種別の属性が複数存在する場合に、いずれをユーザに提供するのかの絞り込みをする点において、
図3に示す第1のフローチャートと異なる。
【0058】
図4に示すように、CPU105の第1受付部は、クエリを受け付ける(ステップS401)。第1受付部は、受け付けたクエリを検索部に伝達する。
【0059】
次に、CPU105の第2受付部は、用途情報を受け付ける(ステップS402)。
【0060】
検索部は、受け付けたクエリに対応する第2ノード202を有する施設データを施設データベース141から検索する(ステップS403)。そして、検索して特定した第2ノード202が接続されているエッジ204が接続される第1ノード201を特定する(ステップS404)。
【0061】
そして、検索部は、特定した第1ノード201に接続する他の第2ノード202を特定する(ステップS405)。
【0062】
検索部は、特定した他の第2ノード202に、属性の種別が同じである第2ノード202が複数あるか否かを判定する(ステップS406)。例えば、住所のノードが複数あったり、営業時間のノードが複数あったりする場合などである。
【0063】
属性の種別が同じである第2ノード202が複数ある場合には(ステップS406のYES)、第2受付部が受け付けた用途情報に応じて、それらの複数の属性の種別が同じである第2ノード202の中から1つの第2ノード202を特定することとしてよい(ステップS407)。より具体的には、複数の同じ種別の第2ノード202があった場合には、当該第2ノード202に対応付けられているプロパティ情報203を参照し、用途情報に対応するプロパティ情報203を有する第2ノード202を特定する。
【0064】
属性の種別が同じである第2ノード202が複数ない場合には(ステップS406のNO)、1つの種別について1つの第2ノード202が特定されている状態で、ステップS408の処理に移行する。
【0065】
そして、検索部は、得られた検索結果を出力部に伝達し、出力部は検索結果を出力して(ステップS408)、処理を終了する。
【0066】
<まとめ>
上述したように、実施形態1に係る施設データベースは、施設データの一部を修正する場合には、対象の情報を保持する第2ノード202のみを修正すればよく、また、新たな情報を追加する場合にも新たな第2ノード202を追加して、新たなエッジ204で第1ノード201に接続するだけで情報の追加が可能となる。また、情報を削除する場合にも、対応する第2ノード202だけを削除あるいは無効化するだけでよいので、施設データの更新が非常に簡潔かつ容易となる。即ち、従来のようなRFB形式のような場合に施設データを修正するには、テーブル丸ごと更新する必要があるため、時間や手間を要していたのに対して、実施形態1に係る施設データベースであれば、そのような時間や手間を要することはない。即ち、実施形態1に係る施設データベースは、RDB形式のデータベースよりも、データの追加、更新、修正、削除といった処理が容易に行なえる。
【0067】
また、検索装置100は、クエリに対応する第2ノードを特定することで、その第2ノードに接続する第1ノードを特定し、特定した第1ノードにエッジを介して接続する他の第2ノードを特定することで、ユーザのクエリに対する検索結果を提供することができる。
【0068】
<実施形態2>
上記実施形態1においては、施設データベース141と、施設データベース141を用いた検索処理について説明した。本実施形態2においては、その施設データベース141の生成方法及び施設データベース141を生成する生成装置について説明する。
【0069】
図5は、生成装置200の構成例を示すブロック図である。
【0070】
図5に示すように、生成装置200は、通信部211と、入力部212と、出力部213と、記憶部214と、CPU215とを備える。
【0071】
生成装置200は、サーバ装置、PCなどにより実現されるコンピュータシステムであるが、これらに限定するものではなく、スマートフォン、タブレット端末、携帯端末などにより実現されるものであってもよい。生成装置200は、一例として、施設に関する情報が含まれる施設掲載情報から、施設に関する情報を抽出し、実施形態1に示した施設データベース141を生成する情報処理装置である。
【0072】
通信部211は、他の装置と、有線又は無線の通信により情報を送受信する機能を有する。通信部211は、例えば、外部の装置(例えば、ユーザの端末)から、施設掲載情報を受信して、CPU215に伝達することとしてよい。また、あるいは、通信部211は、例えば、外部の装置(例えば、ユーザの端末)から、施設データベース141を生成する際に、生成される施設データベース141の利用における用途を示す用途情報を受信して、CPU215に伝達することとしてもよい。
【0073】
入力部212は、生成装置200のユーザからの入力を受け付けて、CPU215に伝達する機能を有する。入力部212は、例えば、生成装置200に備えられたハードウェアキーや、タッチパネルやタッチキーなどのソフトキーなどにより実現することができる。なお、入力部212に対する入力は音声による入力であってもよく、この場合、入力部212は、マイクロフォンにより実現される。入力部212は、施設掲載情報の入力を受け付けて、CPU105に伝達してよい。
【0074】
出力部213は、CPU215からの指示に従って、指示されたデータを出力する機能を有する。出力部213は、例えば、CPU215により生成された施設データベース141を、外部の装置に送信することとしてよい。
【0075】
記憶部214は、生成装置200が動作する上で必要とする各種のプログラム及び各種のデータを記憶する記録媒体である。記憶部214は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現される。
【0076】
記憶部214は、生成した施設データベース141を記憶してもよい。施設データベース141の構造は、実施形態1に示した施設データベース141と同様である。
【0077】
図5に示す記憶部214は、図示はしていないが、受け付けた施設掲載情報から、施設に関する属性を示す情報を抽出し、抽出した各々を第2ノード202とした施設データを生成して、施設データベース141を生成する、あるいは、施設データベース141を更新するための生成プログラムを記憶している。
【0078】
CPU215は、記憶部214に記憶されている各種のプログラム及び各種のデータを利用して、生成装置200が実行すべき処理を実行するプロセッサである。
【0079】
CPU215は、取得部、抽出部、生成部、登録部として機能してよい。
【0080】
取得部は、施設に関する情報が掲載されている施設掲載情報を取得する。取得部は、例えば、通信部211を介して受信した施設掲載情報や、入力部212を介して入力された施設掲載情報を取得する。取得部は、取得した施設掲載情報を抽出部に伝達する。また、取得部は、施設データベース141を生成するに際し、当該施設データベース141の用途を示す用途情報を取得し、生成部に伝達してもよい。ここで、用途情報は、実施形態1と同様に、例えば、要介護者用であることを示す情報であったり、特定の企業や個人、グループ、法人に特化した情報であったり、逆に特定の企業や個人、グループ、法人を排除する情報であったり、電気自動車用であるか普通自動車用であるかを示す情報であったり、特定の期間を示す情報であったりしてよい。要介護者用の用途情報の場合、生成装置200は、要介護者に適した施設情報を優先して、施設データベース141を構築することができる。また、電気自動車用であれば、例えば、ガソリンスタンドよりも充電装置を有する施設を優先して、施設データベース141を構築することができる。また、特定の期間であれば、例えば、特定の期間について記載している施設掲載情報を優先して、施設データベース141を構築することができる。
【0081】
また、あるいは、用途情報は、施設データベース141が運用される装置を示す情報であってもよく、例えば、ローカル用であったり、センター用であったりすることを示す情報であってよい。ここで、ローカル用とは、施設データベースを用いた検索が装置単体、即ち、スタンドアロン型で行われる装置のためのものであることを示す。これに対して、センター用とは、施設データベースを用いた検索が、ユーザが検索を行う装置においてクエリだけ受け付けて、特定の通信アクセス可能な装置(例えば、センター装置)において実行されるのかを示す。例えば、ナビゲーション装置においては、施設データベース141は、ナビゲーション装置に搭載されてナビゲーション装置単体で検索を実行できる仕様の場合もあれば、ナビゲーション装置に対してクエリが入力された場合に、当該クエリが通信により施設データベース141を保持するセンター装置に送信され、センター装置において検索が実行され、その検索結果がナビゲーション装置に送信されて検索結果が表示される仕様の場合もある。センター用の施設データベース141であれば、その更新頻度を密にすることができるのに対して、ローカル用であれば、施設データベース141の更新はセンター装置に比べれば疎になりがちである。したがって、ローカル用の施設データベース141には、施設掲載情報として、恒常的な情報を優先して構築することができ、センター用であれば、逐次、最新の情報を優先して構築することができる。例えば、施設が内装工事のために一時的に移転していることを示す施設掲載情報がある場合に、これは一時的なものであり恒常的な情報でないため、更新頻度の低いローカル用の施設データベース141に用いる情報としては適切ではなく、一方で、更新頻度の高いセンター用の施設データベース141に用いる情報としては適切であるとして、施設データベース141を構築することとしてよい。
【0082】
即ち、用途情報は、施設データベース141を用いて検索される環境に係る条件を示す情報であってもよい。
【0083】
抽出部は、取得部が取得した施設掲載情報から、施設に関する属性(情報)を抽出する。抽出部は、施設掲載情報を、形態素解析等により解析を行い、施設に関する属性を抽出することとしてよい。抽出部は抽出した施設に関する属性を生成部に伝達する。また、抽出部は、属性とともに、属性に対応付けられるプロパティ情報として出典を示す出典情報を生成部に伝達してよい。出典情報は、施設掲載情報を提供している媒体種別であってもよいし、媒体の固有名称であってもよいし、施設掲載情報が特定の読者層に対してのものである場合に、当該読者層の特徴を示す情報であってもよい。
【0084】
生成部は、抽出部から伝達された施設に関する属性に基づいて施設データを生成する。具体的には、生成部は、施設掲載情報に示される施設に対して、施設識別子を付与する。施設識別子は、数字や文字の組み合わせから成ってよく、所定のフォーマットで、付与する時点で使用されていないものが付与される。生成部は、当該施設識別子を第1ノードに設定する。また、生成部は、抽出部から伝達された施設に関する属性各々を第2ノードに設定する。このとき、生成部は、第2ノードに対して、抽出部から伝達された出典情報をプロパティ情報として対応付けてもよく、更には、プロパティ情報に第2ノードを一意に特定可能な第2ノード識別子を含めてもよい。そして、生成部は、生成した第1ノードと、第2ノード各々とをエッジで接続して、施設データを生成する。このとき、施設掲載情報が対応する施設についての施設データが構築済みの施設データベース141に登録されている場合には、生成部は施設識別子を生成せずに、施設データベース141に登録されている施設データの施設識別子(第1ノード)を特定して抽出する。そして、施設掲載情報から抽出した各属性を第2ノードに設定し、設定した第2ノードを抽出した第1ノードに対してエッジで接続する。また、生成部は、取得部から用途情報を受け付けている場合には、当該用途情報にしたがって、施設データベース141を生成するために用いる施設掲載情報を選択し、選択した施設掲載情報から抽出した属性を優先して、施設データを生成し、施設データベース141に登録することとしてよい。そのために、生成部あるいは記憶部214には、考慮される用途情報毎に出典の優先度を設定した優先度情報が保持されていてよく、用途情報に対応した優先度にしたがって、施設データに用いる属性を決定して、施設データの第2ノードを設定することとしてよい。
【0085】
登録部は、生成部が生成した施設データ、あるいは、第2ノードを新たに追加した施設データを施設データベース141に登録する。
【0086】
<生成装置の動作例>
図6~
図8は、生成装置の動作例を示すフローチャートである。
図6は、生成装置の施設データの生成における基本動作を示す第1のフローチャートである。
【0087】
図6に示すように、CPU215の取得部は、通信部211又は入力部212を介して、施設掲載情報を取得する(ステップS601)。取得部は取得した施設掲載情報を抽出部に伝達する。
【0088】
抽出部は、伝達された施設掲載情報から、施設に関する属性を抽出する(ステップS602)。抽出部は、抽出した各属性を生成部に伝達する。
【0089】
生成部は、施設掲載情報に記載されている施設に対して、施設識別子を付与し、第1ノードに設定する(ステップS603)。
【0090】
生成部は、抽出部から伝達された、施設掲載情報から抽出された属性を示す情報各々を第2ノードに設定する(ステップS604)。
【0091】
そして、生成部は設定した第1ノードと、第2ノード各々とをエッジで接続して、施設データを生成する(ステップS605)。
【0092】
登録部は、生成部が生成した施設データを、施設データベース141に登録し(ステップS606)、処理を終了する。これにより、施設掲載情報から、一から、施設についてのデータベースを生成することができる。
【0093】
図7は、生成部により、施設データベース141に施設の情報を追加する際の動作を含む動作例を示す第2のフローチャートである。
図7に示すフローチャートは、
図6に示すフローチャートと異なり、施設掲載情報に示す施設が既に登録されている場合の処理が追加されている。
【0094】
図7において、ステップS601~S606の処理は、
図6に示す処理と同様であるので、説明は省略する。
【0095】
ステップS602において、抽出部が施設掲載情報から施設に関する属性を抽出した後、生成部は、当該施設についての施設データが既に登録済みであるか否かを判定する(ステップS701)。当該判定は、例えば、抽出部が抽出した属性について相関する属性を含む第2ノードを有する施設データが登録されているか否かにより判定することができる。即ち、抽出部が抽出した複数の属性について、所定数以上相関する第2ノードを有する施設データがあるか否かにより判定し、特に施設の名称が一致する、あるいは、一定以上相関する場合に、施設掲載情報の施設についての施設データが既に施設データベース141に登録されていると判定することとしてよい。
【0096】
施設データベース141に施設掲載情報が示す施設が登録済みでない場合には(ステップS701のNО)、ステップS603の処理に進み、
図6を参照して説明したように、CPU215は施設データを生成し、施設データベース141に登録する(ステップS603~S606)。
【0097】
施設データベース141に施設掲載情報が示す施設が登録済みである場合には(ステップS701のYES)、生成部は、抽出部が抽出した属性各々を第2ノードに設定する(ステップS702)。そして、生成部は、生成した第2ノード各々を、施設掲載情報が示す施設に対して割り当てられている施設IDの第1ノードとの間をエッジで接続することで、施設データを更新する(ステップS703)。このとき、生成部は、各第2ノードに対してプロパティ情報として、施設掲載情報の出典を示す情報を対応付けてもよい。そして、更新した施設データを施設データベース141に登録(更新)し、処理を終了する(ステップS703)。
【0098】
図8は、生成装置200によって施設データベースを生成する一手法を示す第3のフローチャートであって、用途に応じた施設データベースを生成する手法を示すフローチャートである。
【0099】
図8に示すように、CPU215の取得部は、同一の施設について複数の異なる施設掲載情報を取得する(ステップS801)。取得部は、取得した施設掲載情報を抽出部に伝達する。
【0100】
また、取得部は、施設データベース141の用途を示す用途情報を受け付ける(ステップS802)。取得部は、取得した用途情報を生成部に伝達する。
【0101】
抽出部は、伝達された施設掲載情報各々から、それぞれの出典が解るように、即ち、プロパティ情報として出典情報を対応付けた態様で、施設に関する属性を抽出する(ステップS803)。
【0102】
生成部は、施設に対して施設識別子を付与し、これを第1ノードに設定する(ステップS804)。
【0103】
生成部は、複数の施設掲載情報から抽出した属性(情報)について、属性の種別に重複があるか否かを判定する(ステップS805)。例えば、施設の電話番号を抽出していた場合に、第1の施設掲載情報から第1の電話番号を抽出し、第1の施設掲載情報とは異なる第2の施設掲載情報から第2の電話番号を抽出しているような場合に、属性の種別に重複があると判定する。このとき、第1の電話番号は、第2の電話番号と同一であってもよいし、異なっていてもよい。
【0104】
属性の種別に重複がない場合には(ステップS805のNO)、生成部は、ステップS604~ステップS606の処理を実行する。ステップS604~S606の処理は、
図6を用いて説明した内容と同様である。
【0105】
一方で、属性の種別に重複がある場合には(ステップS805のYES)、生成部は、用途情報と、施設掲載情報の出典とから重複した種別の属性から1つを選択する(ステップS806)。生成部は、用途情報に応じて、出典に優先度を設定し、設定した優先度に従って、施設データとして登録されるべき属性を1つ選択する。用途に応じた出典の優先度は、予めテーブルとして設定されて、記憶部214に記憶されていてよい。
【0106】
生成部は、選択した属性を第2ノードに設定する(ステップS807)。そして、設定した第1ノードと、第2ノード各々とをエッジで接続して施設データを生成する(ステップS808)。
【0107】
そして、施設データを施設データベース141に登録し(ステップS809)、処理を終了する。生成装置200は、複数の施設について、
図8に示す処理を実行して、施設データベース141を構築する。なお、生成装置200により生成された、あるいは、更新された施設データベース141は、通信部211を介して、外部の装置に送信されてもよい。
【0108】
生成装置200は、ユーザにより指定される用途情報に従って施設データベース141を構築することで、当該ユーザにとって好ましい検索結果を得ることができる施設データベースを生成して、提供することができる。
【0109】
なお、施設データベース141の中の施設データのいずれかの情報を削除したい場合には、施設の名称もしくは施設識別子を指定するとともに、削除したい情報を指定することで、所望のデータを削除もしくは無効化できてよい。
【0110】
<まとめ>
実施形態2に係る生成装置200によれば、施設掲載情報から施設の属性を抽出して、施設データを生成し、施設データベースに登録することができる。施設データベース141は、RDB形式のデータと異なり、表形式にまとめる必要がないため、容易に構築することができる。また、生成装置200は、施設データベースを使用するユーザが重きを置きたい条件にしたがって、ユーザに適した構成の施設データベースを構築することもできる。ユーザに適した構成の施設データベースは、ユーザの検索クエリに対して、ユーザにとって好みの情報を提供しやすいことを意味し、パーソナライズされたデータベースを提供することができると言える。
【0111】
<補足>
上記実施の形態に係る検索装置や生成装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【0112】
(1)上記実施の形態においては、検索装置100は、車両に備えられたナビゲーション装置として実現されてよい。即ち、検索装置100は、車両等に搭載されるナビゲーション装置に内蔵されてよく、道路における通行止めの発生を推定した場合に、当該道路を利用せずに目的地への経路案内を行うようにしてよい。また、通行止めが解除された場合には、通行止めが解除された道路を経路案内に用いる道路の候補の一つとして経路を策定するようにしてもよい。
【0113】
また、あるいは、検索装置100は、車両に備えられたナビゲーション装置に対して、通信により、通行止めの発生、および、その解除を通知する装置であってもよい。
【0114】
(2)上記実施の形態においては、検索装置におけるクエリに対する検索結果を提示する手法や生成装置における施設データベースの生成あるいは更新の手法について、検索装置あるいは生成装置のプロセッサが所定のプログラム等を実行することにより、特定することとしているが、これは装置に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能は1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、
図9(a)に示すように、検索装置100は、通信回路101a、入力回路102a、出力回路103a、記憶回路104a、制御回路105a、とから構成されてよく、それぞれ、通信部101、入力部102、出力部103、記憶部104、CPU105、に相当する。また、
図9(b)に示すように、生成装置200は、通信回路211a、入力回路212a、出力回路213a、記憶回路214a、制御回路215a、とから構成されてよく、それぞれ、通信部211、入力部212、出力部213、記憶部214、CPU215、に相当する。
【0115】
また、上記プログラムは、プロセッサが読み取り可能な記録媒体に記録されていてよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。つまり、例えば、スマートフォン等の情報処理機器を利用して、ネットワーク上からプログラムをダウンロードして実行する構成としてもよい。本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0116】
なお、上記プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)、C++、Python、Rなどのオブジェクト指向プログラミング言語などを用いて実装できるが、これらの言語は一例である。
【0117】
(3)上記実施の形態に示した各種の実施例は適宜組み合わせることとしてもよい。また、フローチャートに示した各動作は、結果として矛盾がなければその実行順序を入れ替えたり、並列に実行したりすることとしてもよい。
【符号の説明】
【0118】
100 検索装置
101 通信部
102 入力部
103 出力部
104 記憶部
105 CPU(第1受付部、第2受付部、検索部、出力部)
141 施設データベース
200 生成装置
211 通信部
212 入力部
213 出力部
214 記憶部
215 CPU(取得部、抽出部、生成部、登録部)