以下、実施形態について、図面を参照しながら説明する。図面において、同一又は同等の構成要素には同一の符号を付し、同一又は同等の構成要素に関する説明が重複する場合は適宜省略する。なお、以下に説明する実施形態は、特許請求の範囲に記載された内容を限定するものではない。また、実施形態で説明される構成の全てが、必ずしも本開示の必須構成要件であるとは限らない。本開示で説明する機能を発揮する限りにおいて、実施形態で説明される構成は、適宜省略されてもよい。
1.システム構成例
図1は、一実施形態に係る情報処理システム10を含むシステムの構成例である。本実施形態に係るシステムは、サーバシステム100と端末装置200とを含む。ただし、情報処理システム10を含むシステムの構成は必ずしも図1に限定されず、例えば一部の構成を省略したり他の構成を追加したりするなどの種々の変形実施が可能である。例えば、図1では端末装置200として、端末装置200-1と端末装置200-2との2つが図示されているが、端末装置200の数はこれに限定されない。また、構成の省略が追加などの変形実施が可能である点は、後述する図2及び図3においても同様である。
本実施形態の情報処理システム10は、例えばサーバシステム100に対応する。ただし、本実施形態の手法はこれに限定されず、サーバシステム100と他の装置を用いた分散処理によって、本明細書で説明する情報処理システム10の処理が実行されてもよい。例えば、本実施形態の情報処理システム10は、サーバシステム100と端末装置200との分散処理によって実現されてもよい。以下、本明細書では、情報処理システム10がサーバシステム100である場合の例について説明する。
サーバシステム100は、1つのサーバであってもよいし、複数のサーバを含んで構成されていてもよい。例えば、サーバシステム100は、データベースサーバとアプリケーションサーバとを含んで構成されていてもよい。データベースサーバは、後述するサプライチェーンネットワーク121などを含む、種々のデータを記憶する。アプリケーションサーバは、後述する図4、図7、図16、図20及び図28などを用いて説明する処理を実行する。なお、ここでの複数のサーバは、物理サーバであってもよいし、仮想サーバであってもよい。また、仮想サーバが用いられる場合、当該仮想サーバは、1つの物理サーバに設けられてもよいし、複数の物理サーバに分散して配置されてもよい。このように、本実施形態におけるサーバシステム100の具体的な構成は、種々の変形実施が可能である。
端末装置200は、情報処理システム10を利用するユーザによって使用される装置である。端末装置200は、PC(Personal Computer)であってもよいし、スマートフォンなどの携帯端末装置であってもよいし、本明細書で説明する機能を有する他の装置であってもよい。
サーバシステム100は、例えばネットワークを介して端末装置200-1及び端末装置200-2と通信可能に接続される。以下、複数の端末装置を互いに区別する必要がない場合、単に端末装置200と表記する。ここでのネットワークは、例えばインターネットなどの公衆通信網であるが、LAN(Local Area Network)などであってもよい。
本実施形態の情報処理システム10は、例えば公開情報を用いて、対象に関するデータの収集、分析などを行うOSINT(Open Source Intelligence)システムである。ここでの公開情報は、広く公開されており、合法的に入手可能な種々の情報を含む。例えば公開情報は、有価証券報告書、産業連関表、政府の公式発表、国や企業に関する報道、サプライチェーンデータベースなどを含んでもよい。また、公開情報は、SNS(Social Networking Service)において送受信される種々の情報を含んでもよい。例えばSNSは、テキストまたは画像などを投稿可能なサービスを含み、本実施形態における公開情報は、当該テキストまたは画像、あるいはそれらに対する自然言語処理または画像処理などの結果を含んでもよい。
サーバシステム100は、公開情報に基づいて、様々な属性を含むノードを生成する。1つのノードは、所与のエンティティを表す。ここでのエンティティは企業である。ノードに付与される属性は、公開情報に基づいて決定される情報であって、企業の名称、国籍、事業分野、産業分類、取引先及び取引品目などの種々の情報を含む。エンティティを表すノードが企業である場合、企業の産業分類を含む企業に関する属性が、ノードに付与される。なお、ここでの属性は、売り上げ、従業員数、株主及び出資比率、ボードメンバーなどを含んでよい。本実施形態では、属性のうち、少なくとも産業分類がノードに対して付与される。産業分類は、産業の種類をその性質ごとに分類したものである。産業分類として、例えば産業分類コードが用いられてよい。産業分類コードは、産業をいくつかに分類し、各分類結果に「01」等のコードを割り当てた情報である。
所与のノードの属性に、他のノードとの関係性を含む属性がある場合、当該所与のノードと他のノードとが、向きを有するリンクによって接続される。例えば、所与の企業が、他の企業に対して何らかの取引製品を提供(売却)しているとする。この場合、他の企業に対応するノードと、所与の企業に対応するノードとの間が、製品の売買関係(流通関係)を表すリンクによって接続される。ここでのリンクは、影響を与える側から受ける側への方向を有するリンクであり、例えば何らかの製品を売る側から買う側への方向を有するリンクである。つまり、製品の提供元企業及び提供先企業を対応付けた取引関係が、リンクにより示される。
本実施形態の手法では、サーバシステム100は、複数のエンティティ(例えば企業)を表す複数のノードが、取引関係を示す複数のリンクで接続されたネットワークである、エンティティネットワークを取得する。リンクは方向を有するため、エンティティネットワークは有向グラフである。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を提示する処理を行う。例えば、端末装置200は、OSINTシステムが提供するサービスを利用するユーザによって使用される装置である。例えばユーザは、端末装置200を用いて何らかの分析を情報処理システム10であるサーバシステム100に依頼する。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を端末装置200に送信する。本実施形態におけるエンティティネットワークは、狭義にはサプライチェーンを表すサプライチェーンネットワーク121である。以下、本実施形態では、エンティティネットワークがサプライチェーンネットワーク121であるとして説明する。
図2は、サーバシステム100の詳細な構成例を示す機能ブロック図である。サーバシステム100は、例えば図2に示すように、処理部110と、記憶部120と、通信部130と、を含む。
本実施形態の処理部110は、下記のハードウェアによって構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。1又は複数の回路装置は例えばIC(Integrated Circuit)、FPGA(field-programmable gate array)等である。1又は複数の回路素子は例えば抵抗、キャパシタ等である。
また処理部110は、下記のプロセッサによって実現されてもよい。本実施形態のサーバシステム100は、情報を記憶するメモリと、メモリに記憶された情報に基づいて動作するプロセッサと、を含む。情報は、例えばプログラムと各種のデータ等である。プログラムは、サーバシステム100に、本明細書で説明する処理を実行させるものを含んでよい。プロセッサは、ハードウェアを含む。プロセッサは、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。メモリは、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置(HDD:Hard Disk Drive)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータによって読み取り可能な命令を格納しており、当該命令をプロセッサが実行することによって、処理部110の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部110は、例えばサプライチェーンネットワーク取得部111と、サブネットワーク抽出部112と、経路抽出部113と、入力受付部114と、提示処理部115と、再描画部116と、を含む。
サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を取得する。例えばサプライチェーンネットワーク取得部111は、公開情報に基づいてサプライチェーンネットワーク121を作成することにより取得してもよい。公開情報は、製品の提供元企業及び提供先企業を対応付けた取引関係情報を含む。サプライチェーンネットワーク取得部111は、作成したサプライチェーンネットワーク121を、記憶部120に記憶する。ただし、サプライチェーンネットワーク121の作成は、本実施形態に係る情報処理システム10とは異なるシステムにおいて行われてもよい。この場合、サプライチェーンネットワーク取得部111は、当該異なるシステムから作成結果を取得する処理を行ってもよい。
サプライチェーンネットワーク取得部111は、例えば図5A-図5Cを用いて後述するように、企業間の取引関係に基づいて、複数の企業に対応する複数のノードが接続されたネットワークを、サプライチェーンネットワーク121として取得してもよい。
サブネットワーク抽出部112は、サプライチェーンネットワーク取得部111が取得したサプライチェーンネットワーク121の一部を、サブネットワーク122として抽出する処理を行う。サブネットワーク122とは、例えばサプライチェーンネットワーク121のうち、直接的にまたは間接的に特定の企業を表すノードと接続されるノード群を含む有向グラフである。
ここで、当該特定の企業は、サプライチェーンネットワーク121に含まれるノードにより示される複数の企業のうちの1つの企業である。特定の企業は、例えば、情報処理システム10における分析の基準となる企業であってよい。特定の企業は、例えば、情報処理システム10を利用するユーザが、所定の操作入力を行うことにより選択されてよい。以下、本明細書において、当該特定の企業を、「第1企業」とも言う。
サブネットワーク抽出部112は、サプライチェーンネットワーク121のうち、第1企業に関係する部分であるサブネットワーク122を抽出する。ここでのサブネットワーク122は、第1企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、第1企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含む。本実施形態における上流とは、リンクにおける起点側、即ち、他の企業に対して物品を提供する側を表す。下流とは、リンクにおける終点側、即ち、他の企業から物品の提供を受ける側を表す。上流側企業とは、第1企業に直接物品を提供する企業を含む。ただし、本実施形態における上流側企業は、他の上流側企業の上流に位置する企業を含んでもよい。即ち、上流側企業は、他の企業を介して第1企業と接続される企業を含んでもよい。下流側企業についても同様に、第1企業から直接物品の提供を受ける企業、及び、他の下流側企業の下流に位置する企業を含んでもよい。
サブネットワーク抽出部112は、抽出したサブネットワーク122を、記憶部120に記憶してよい。
経路抽出部113は、サブネットワーク抽出部112が抽出したサブネットワーク122において、1以上の経路を含む経路群を抽出する。ここで、経路は、1つのノードから1以上のリンクをたどって他のノードに至るまでのルートである。すなわち、経路は、1つのノードと他のノードとが1以上のリンクによって繋がれたルートである。
本実施形態において、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。第2企業は、サプライチェーンネットワーク121に含まれるノードにより示される複数の企業のうちの1つの企業であり、第1企業とは異なる企業である。第2企業は、例えば、ユーザが入力受付部114に対して所定の操作入力を行うことにより指定されてよい。あるいは、第2企業は、入力受付部114で受け付けた条件の指定に基づき、経路抽出部113が、指定された条件に合致する企業を、第2企業として自動的に決定してもよい。第2企業は、例えば取引が規制されている規制企業であってよく、より具体的にはESG(Environment, Social, Governance)の観点から問題がある企業であってもよい。あるいは、第2企業は、サブネットワーク122におけるチョークポイントに相当する企業であってもよい。
経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路のうち、特定の条件を満たす経路を抽出し、抽出した経路を経路群とすることができる。特定の条件は、適宜定められてよい。特定の条件は、例えば最短経路であってよい。特定の条件が最短経路である場合、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路のうち、経由するリンクの数が最も少ない経路を抽出する。特定の条件は、例えばユーザによる操作入力に基づいて定められてもよい。本実施形態では、特定の条件が、最短経路であるとして、以下説明する。
入力受付部114は、情報処理システム10を利用するユーザによる操作入力を受け付ける処理を行う。例えば、入力受付部114は、ユーザが端末装置200の操作部250に対して行った操作入力に関する操作信号を、通信部130を介して端末装置200から受信することにより、ユーザによる操作入力を受け付けることができる。あるいは、入力受付部114は、情報処理システム10が備える不図示の操作部(入力インターフェイス)に対して、ユーザが行った操作入力を受け付けてもよい。
ここでの操作入力は、第1企業の選択を行う操作を含む。操作入力は、第2企業の選択を行う操作を含んでもよい。操作入力は、経路抽出部113が第2企業を決定するための条件の入力を含んでもよい。また、本実施形態では、操作入力は、経路の再描画に関する操作入力を含む。経路の再描画に関する操作入力の詳細については、後述する。
提示処理部115は、経路抽出部113が抽出した経路群をユーザに提示する処理を行う。本実施形態では、提示処理部115は、さらに、再描画部116が再描画した経路群をユーザに提示する処理も行う。例えば、提示処理部115は、表示画面を表示する処理を行う。表示画面は、例えば端末装置200の表示部240に表示される画面である。例えば提示処理部115は、表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。また、表示画面そのものを送信するものには限定されず、提示処理部115は、表示画面を生成可能な情報(例えばマークアップ言語等)を送信する処理を行ってもよい。ただし、表示画面は、サーバシステム100等の端末装置200以外の機器に表示されてもよい。また提示処理部115による提示処理は表示処理に限定されず、音声等を用いた出力処理を含んでもよい。
再描画部116は、経路抽出部113が抽出した経路群の再描画を行う。再描画部116は、例えば入力受付部114で受け付けた、経路の再描画に関する操作入力に基づいて、経路群を再描画する。本実施形態において、再描画部116は、削除処理部161と、ノード追加部162と、代替経路算出部163と、を含む。ただし、再描画部116は、必ずしも、削除処理部161、ノード追加部162及び代替経路算出部163の全てを含んでいなくてもよく、これらのうち少なくともいずれかを含んでいればよい。
削除処理部161は、経路抽出部113が抽出した経路において特定のノードを削除する、削除処理を実行する。ノード追加部162は、経路抽出部113が抽出した経路群において新たな企業のノードを追加する、ノード追加処理を実行する。代替経路算出部163は、経路抽出部113が抽出した経路群に含まれる経路に類似する代替経路を算出する、代替経路算出処理を実行する。削除処理、ノード追加処理、及び、代替経路算出処理の詳細については、後述する。
記憶部120は、処理部110のワーク領域であって、種々の情報を記憶する。記憶部120は、種々のメモリによって実現が可能であり、メモリは、SRAM、DRAM、ROM、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。
記憶部120は、例えばサプライチェーンネットワーク取得部111が取得したサプライチェーンネットワーク121を記憶する。また、記憶部120は、例えばサブネットワーク抽出部112が抽出したサブネットワーク122を記憶する。また、記憶部120は、有価証券報告書、産業連関表等の公開情報を記憶してもよい。また記憶部120は、産業分類コード123及び規制対象企業リスト124等を記憶してもよい。産業分類コード123は、産業をいくつかに分類し、各分類結果に「01」等のコードを割り当てた情報である。規制対象企業リスト124は、例えばESGの観点から問題がある企業を特定する情報である。その他、記憶部120は本実施形態の処理に係る種々の情報を記憶可能である。
通信部130は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF(radio frequency)回路、及びベースバンド回路を含む。通信部130は、処理部110による制御に従って動作してもよいし、処理部110とは異なる通信制御用のプロセッサを含んでもよい。通信部130は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従った通信を行うためのインターフェイスである。ただし具体的な通信方式は種々の変形実施が可能である。
図3は、端末装置200の詳細な構成例を示すブロック図である。端末装置200は、処理部210と、記憶部220と、通信部230と、表示部240と、操作部250を含む。
処理部210は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。また処理部210は、プロセッサによって実現されてもよい。プロセッサは、CPU、GPU、DSP等、各種のプロセッサを用いることが可能である。端末装置200のメモリに格納された命令をプロセッサが実行することによって、処理部210の機能が処理として実現される。
記憶部220は、処理部210のワーク領域であって、SRAM、DRAM、ROM等の種々のメモリによって実現される。
通信部230は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF回路、及びベースバンド回路を含む。通信部230は、例えばネットワークを介して、サーバシステム100との通信を行う。
表示部240は、種々の情報を表示するインターフェイスであり、液晶ディスプレイであってもよいし、有機ELディスプレイであってもよいし、他の方式のディスプレイであってもよい。操作部250は、ユーザによる操作入力を受け付けるインターフェイスである。操作部250は、例えば端末装置200に設けられるボタン等であってよい。また表示部240と操作部250は、一体として構成されるタッチパネルであってもよい。
2.処理の流れ
2.1 全体フロー
図4は、本実施形態の情報処理システム10において実行される処理の概略を説明するフローチャートである。
まず、ステップS101において、サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を取得する。サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を記憶部120に記憶する。
ステップS102において、入力受付部114は、ユーザによる操作入力を受け付ける。ここでの操作入力は、第1企業を選択する操作である。ユーザによる操作入力は、例えば端末装置200の操作部250において実行されてよい。この場合、入力受付部114は、例えば通信部130を介して、端末装置200で実行された操作入力を表す操作信号を取得する。あるいは、サーバシステム100が不図示の操作部を含み、入力受付部114は、当該操作部を用いて実行された操作入力を受け付けてもよい。その他、操作入力の受付けの具体的な態様については、種々の変形実施が可能である。
ステップS103において、サブネットワーク抽出部112は、サブネットワーク122を抽出する。
ステップS104において、経路抽出部113は、第2企業を特定する。経路抽出部113は、例えば、入力受付部114においてユーザから第2企業の選択操作を受け付け、受け付けた選択操作に基づいて、第2企業を特定することができる。経路抽出部113は、入力受付部114で受け付けた条件の指定に基づき、指定された条件に合致する企業を、第2企業として決定してもよい。
ステップS105において、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。このとき、経路抽出部113は、特定の条件としての最短経路により構成される経路群を抽出する。
ステップS106において、提示処理部115は、抽出された経路群を提示する処理を行う。例えば、提示処理部115は、抽出された経路群を含む表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。端末装置200は、受信した表示画面を表示部240に表示する。ユーザは、表示部240に表示された画面を参照することにより、抽出された経路群を確認することができる。
ユーザは、表示部240に表示された経路群について、再描画を希望する場合、例えば端末装置200の操作部250において、再描画に関する操作入力を行う。
ステップS107において、入力受付部114は、ユーザによる再描画に関する操作入力を受け付ける。例えば、入力受付部114は、通信部130を介して、端末装置200の操作部250で実行された操作入力を表す操作信号を取得することにより、再描画に関する操作入力を受け付ける。
ステップS108において、再描画部116は、入力受付部114で受け付けた再描画に関する操作入力に基づいて、経路群を再描画する。具体的には、再描画部116は、再描画に関する操作入力に基づいて、削除処理、ノード追加処理、または、代替経路算出処理を実行する。
ステップS109において、提示処理部115は、再描画された経路群を提示する処理を行う。例えば、提示処理部115は、再描画された経路群を含む表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。端末装置200は、受信した表示画面を表示部240に表示する。ユーザは、表示部240に表示された画面を参照することにより、再描画された経路群を確認することができる。
2.2 サプライチェーンネットワークの取得
図4のステップS101に対応するサプライチェーンネットワーク121の取得処理について説明する。サプライチェーンネットワーク取得部111は、公開情報に基づいて、サプライチェーンネットワーク121を生成してよい。公開情報には、例えば有価証券報告書やニュースリリース等の情報が含まれる。
サプライチェーンネットワーク取得部111は、多数の企業のそれぞれについて、企業の名称、国籍、事業分野、取引先と取引品目等の種々の情報を特定する。またサプライチェーンネットワーク取得部111は、公開情報に基づいて、各企業の従業員数、株主と出資比率、ボードメンバー等を特定してもよい。
またサプライチェーンネットワーク取得部111は、公開情報に基づいて、各企業の評判を表す評判情報を取得してもよい。例えば、評判情報とは、対象の企業が、ESG(Environment, Social, Governance)の観点から問題を有する企業であるか、制裁を受けた履歴があるか等を表す情報である。例えば評判情報は、輸出規制への違反をした企業であるか、紛争鉱物を取り扱う企業であるか、奴隷労働に関与する企業であるか、違法伐採に関する企業であるか等を表す情報であってもよい。また公開情報は、政府等の機関が発行する文書であってもよく、評判情報は、所定の国等において取引規制の対象となっているか否かを表す情報であってもよい。また上述したように公開情報はSNSに関する情報を含んでもよく、ここでの評判情報はSNSに基づいて決定される情報であってもよい。例えばサプライチェーンネットワーク取得部111は、SNSにおいて企業等の公式アカウントが発信した情報に基づいて評判情報を取得してもよい。また本実施形態の手法で用いられるSNSの情報は、公式アカウントから発信するものには限定されない。例えばSNSにおいて所定数以上のユーザが「紛争鉱物」、「奴隷労働」、「違法伐採」等のワードとともに所与の企業名を発信していた場合、当該企業に対して、ネガティブな評判情報が対応付けられてもよい。
図5A、図5Bは、公開情報に基づいて取得されるデータの構造例である。図5Aに示すように、サプライチェーンネットワーク取得部111は、公開情報に含まれる各企業について、企業名、産業分類、評判、国籍が対応付けられた情報を取得する。
企業名は、例えば対象の企業の名称を表すテキストデータである。産業分類は、対象の企業の事業分野を表す情報である。評判は上記の通り、対象の企業が、ESGの観点から問題を有する企業であるか否か等を表す情報である。国籍は、対象の企業が属する国を表す情報である。
なお図5Aでは産業分類をテキストで図示しているが、産業分類を表す情報は産業分類コードであってもよい。例えば日本標準産業分類であれば、非鉄金属第1次製錬・精製業には「231」というコードが割り当てられ、半導体素子製造業には「2813」等のコードが割り当てられる。なお、産業分類は日本標準産業分類に限定されない。例えば産業分類は、国際標準産業分類やNAICS(North American Industry Classification System)等、他の分類であってもよい。また産業分類コードも、産業分類にあわせて種々のコードを用いることが可能である。以下では、説明の便宜上、産業分類が分類名を表すテキストであるものとして説明する。ただし、以下の処理における分類名は産業分類コードに置き換えが可能である。また、記憶部120は図2に示すように産業分類コード123を含んでもよい。産業分類コード123は、例えば日本標準産業分類における分類名と分類コードを対応付けた情報である。処理部110は、産業分類コード123に基づいて、分類名と分類コードの間の変換処理を行ってもよい。
また図5Bに示すように、サプライチェーンネットワーク取得部111は、公開情報に基づいて、企業間の取引を表す情報を取得する。例えば公開情報に含まれる取引関係情報は、図5Bに示す情報、あるいは、図5Bに示す情報を特定することが可能な態様の情報である。企業間の取引を表す情報は、例えば販売元企業を特定する情報と、販売先企業を特定する情報と、取引される製品を特定する情報とを対応付けた情報である。
サプライチェーンネットワーク取得部111は、これらの情報に基づいて、企業をノードとし、取引関係をリンクとする有向グラフであるサプライチェーンネットワーク121を作成する。
図5Cは、図5Bに示す取引関係に基づいて生成されるサプライチェーンネットワーク121の一部を例示する図である。図5Bに示すように、企業C1が、企業C10に製品P1を売るという関係がある。この場合、サプライチェーンネットワーク取得部111は、企業C1を表すノードと、企業C10を表すノードとの間に、C1からC10への向きのリンクを付与する。企業C1を表すノードには、図5Aに示すように、企業名である「C1」の他、産業分類、評判、国籍等の情報が対応付けられる。企業C10を表すノードについても同様である。またC1からC10へと向かうリンクには、取引製品であるP1が対応付けられる。なおサプライチェーンネットワーク取得部111は、公開情報に基づいて、取引量や取引価格等の情報を取得してもよく、これらの情報がリンクに対応付けられてもよい。
また、図5Bに示すように、企業C10が、企業C5に製品P2を売るという関係があるとする。この場合、サプライチェーンネットワーク取得部111は、企業C10を表すノードと、企業C5を表すノードの間に、C10からC5への向きのリンクを付与する。各ノードには図5Aに示す情報が対応付けられ、リンクには取引製品等に関する情報が対応付けられる。
なお、上述したように、有向グラフであるサプライチェーンネットワーク121において、何らかのものを提供する(売る)側を「上流側」と表記し、何らかのものの提供を受ける(買う)側を「下流側」と表記する。なお上流及び下流の定義は、後述するサブネットワーク122に置いても同様である。
ここでのサプライチェーンネットワーク121は、狭義には処理対象の公開情報に含まれるすべての企業に対応するノードを含むネットワークである。そのため、サプライチェーンネットワーク121は非常に多くのノードを含むネットワークであり、ノード数は数千程度や、それ以上であってもよい。ただし、公開情報に含まれる一部の企業を除外する等、サプライチェーンネットワーク121の構成手法は種々の変形実施が可能である。
図6は、サプライチェーンネットワーク121の概略を示す図である。図6に示すように、サプライチェーンネットワーク121は、複数のノードが、取引関係を表すリンクによって結合された有向グラフである。なお、図6では説明を分かりやすくするため、製造工場であるか、流通拠点であるか等に応じてノードの形状を変えている。上述したように、各ノードに対応する企業の名称や産業分類等の情報が取得されているため、例えば産業分類に応じて表示態様を変える等の処理を実行することが可能である。ただし、本実施形態の手法では、ノードの形状を制御することは必須ではない。
なお、図5A及び図5Bはサプライチェーンネットワークに関するデータ構造の一例であり、具体的なデータ構造はこれに限定されない。例えば図5Aや図5Bではリレーショナルデータベース等のテーブルデータを用いる例を示したが、他の構造のデータが用いられてもよい。またテーブルデータを用いる場合であっても、テーブル数は2つに限定されず、1つにまとめられてもよいし、3つ以上に分割して管理されてもよい。また図5A、図5Bに示した項目の一部が省略されてもよいし、他の項目が追加されてもよい。例えばサプライチェーンネットワーク取得部111は企業名、産業分類コード、売買の向きを表す情報を取得し、他の情報については欠落が許容されてもよい。
2.3 サブネットワークの抽出
サプライチェーンに関する分析では、所定の第1企業に着目し、当該第1企業に関するネットワークを分析することが重要である。しかし、サプライチェーンネットワーク121は、例えば公開情報に基づいて取得されるネットワークであるため、多数のノードやリンクを含む。そのため、サプライチェーンネットワーク121は、第1企業と無関係のノードやリンクを含んでいる可能性がある。
本実施形態では、図4のステップS102に示したように、入力受付部114が、ユーザによる第1企業の選択操作を受け付ける。この処理は、例えば、分析を行おうとするユーザが具体的な企業名を入力してもよい。あるいは入力受付部114は、産業分類や製品等の情報を受け付け、それらを検索キーとする検索処理を行うことによって、第1企業の候補を提示する処理を行ってもよい。ユーザは、提示された候補から第1企業を選択し、入力受付部114は選択入力を受け付ける。
サブネットワーク抽出部112は、入力受付部114が受け付けた操作入力に基づいて、第1企業に関するサブネットワーク122を、サプライチェーンネットワーク121から抽出する処理を行う。
図7は、図4のステップS103に対応するサブネットワーク抽出処理を説明するフローチャートである。
ステップS201において、サブネットワーク抽出部112は、入力受付部114が受け付けた選択入力に基づいて、第1企業を特定する。例えば、第1企業の企業名が取得された場合、サブネットワーク抽出部112は、当該企業名と、サプライチェーンネットワーク121の各ノードに対応付けられた企業名との比較処理に基づいて、第1企業を特定する処理を行う。
ステップS202において、サブネットワーク抽出部112は、第1企業Aに隣接し、第1企業に何かを売っている企業Xをすべて選択し、この集合をS1(A)とする。
図8Aは、S1(A)を例示する図である。例えば図8(A)は、サプライチェーンネットワーク121のうち、第1企業Aを含む一部を抽出した図である。図8Aの例では、企業X1を表すノードが、X1からAへと向かうリンクによって、第1企業Aを表すノードと直接接続されている。すなわち、X1は、第1企業に隣接し、第1企業に何かを売っている企業であるため、S1(A)の要素と判定される。同様に、X2及びX3も第1企業に隣接し、第1企業に何かを売っている企業であるため、S1(A)の要素と判定される。この場合のS1(A)は、(X1,X2,X3)という3つの要素からなる集合である。
ステップS203において、サブネットワーク抽出部112は、探索のための変数iを1に初期化し、Si+1(A)を空集合とする。ここではi=1に初期化するため、Si+1(A)はS2(A)となる。従って、ここでは、サブネットワーク抽出部112は、S2(A)を空集合とする。
ステップS204において、サブネットワーク抽出部112は、Si(A)の各要素Xに対して、Xに隣接し、Xに製品を売っている企業Yのすべてに対し、企業YをSi+1(A)に追加する。所与の第1企業を対象として初めてステップS204の処理が行われる場合、i=1である。よって、この場合、サブネットワーク抽出部112は、S1(A)の各要素Xに対して、Xに隣接し、Xに製品を売っている企業Yのすべてを、S2(A)に追加する。
図8Bは、S2(A)を例示する図である。S1(A)は、この例では図8Aを用いて上述したとおり、(X1,X2,X3)という3つの要素からなる集合である。サブネットワーク抽出部112は、まずX1に隣接し、X1に製品を売っている企業Yを特定する。ここではX4及びX5の2つが条件を満たすため、この2つの企業がS2(A)に追加される。次にサブネットワーク抽出部112は、X2に隣接し、X2に製品を売っている企業Yを特定する。ここではX5及びX6の2つが条件を満たす。X5についてはすでにS2(A)に追加済であるため、X6がS2(A)に追加される。次にサブネットワーク抽出部112は、X3に隣接し、X3に製品を売っている企業Yを特定する。ここではX7、X8及びX9の3つが条件を満たすため、この3つの企業がS2(A)に追加される。結果として、ステップS204では、例えば図8Bに示すように、S2(A)として、(X4,X5,X6,X7,X8,X9)という6つの要素からなる集合が生成される。
ステップS205において、サブネットワーク抽出部112は、Si+1(A)が空集合であるか否かを判定する。図8Bの例であれば、S2(A)は6つの要素を含むため、空集合ではない(ステップS205のNo)と判定される。この場合、ステップS206において、サブネットワーク抽出部112は、変数iをインクリメントして、Si+1(A)を空集合に初期化する。そして、ステップS204の処理に戻る。従って、次にステップS204の処理を行う場合には、Si+1(A)が空集合に初期化される。
例えばサブネットワーク抽出部112は、S2(A)の各要素Xに隣接し、Xに製品を売っている企業Yを特定し、企業YをS3(A)に追加する。例えばサブネットワーク抽出部112は、ステップS206において、S3(A)を空集合に初期化する。その後、サブネットワーク抽出部112は、X4に隣接しX4に製品を売っている企業を特定し、特定された企業をS3(A)に追加する。X5からX9についても同様であり、サブネットワーク抽出部112は、各企業に隣接し、且つ、製品を売っている企業をS3(A)に追加する。
もしS3(A)が空集合でなければ、再度ステップS204に戻り、S4(A)を求める処理が実行される。これ以降の処理も同様であり、Si+1(A)が空集合となるまで、ステップS204からS206の処理が繰り返される。
ステップS205においてSi+1(A)が空集合とは、ステップS204の処理によって条件を満たす要素が1つも見つからないことを表す。即ち、Si(A)の要素である企業Xのいずれにも、それ以上、上流側の企業が存在しないことを表す。
よってこの場合、ステップS207において、サブネットワーク抽出部112は、S1(A)、S2(A)、…、Si(A)の和集合をSとする。
ステップS208において、サブネットワーク抽出部112は、第1企業と、Sに含まれるすべての企業に対応するノードを含む有向グラフを、サブネットワークとして出力する。ここでのサブネットワークは、第1企業を基準として上流側の企業を表すサブネットワークであるため、上流側サブネットワークとも表記する。
図9は、上流側サブネットワークの例である。図9に示すように、上流側サブネットワークは、第1企業と直接的または間接的に接続される企業を表すノードからなる有向グラフである。このようにすれば、サプライチェーンネットワーク121のうち、第1企業に関連する部分を適切に抽出することが可能になる。上流側サブネットワークは、第1企業のサプライチェーンに含まれる企業や、各企業と第1企業との具体的な接続関係を特定可能な情報であるため、第1企業のサプライチェーンの分析において有用な情報である。
なお、ステップS204においてSi+1(A)を求める際、サブネットワーク抽出部112は、「Si(A)の要素Xに隣接しXに何かを売っている」という条件に加えて、「{A}、S1(A)、…、及びSi(A)の和集合に含まれない」という条件に基づいて企業Yを特定してもよい。
例えば3つの企業Xa,Xb、Xcについて、Xa←Xb←Xc←Xaという循環が存在する場合であって、XaがSi-2(A)の要素であり、XbがSi-1(A)の要素であり、XcがSi(A)の要素である場合を考える。「Xa←Xb」は、XbがXaに隣接し且つ何かを売っていることを表す。この場合、XaはすでにSi-2(A)の要素であるが、Xcに隣接しXcに何かを売っているため、Si+1(A)の要素となり得る。すなわち、循環まで考慮すると、サブネットワーク抽出部112による処理が複雑化するおそれがある。その点、上記「{A}、S1(A)、…、及びSi(A)の和集合に含まれない」という条件を追加することによって、XaはSi+1(A)の要素から除外されるため、処理の簡略化が可能である。
なお以上では第1企業を基準として上流側の企業からなる上流側サブネットワークについて説明した。ただしサブネットワークは上流側サブネットワークに限定されず、下流側サブネットワークを含んでもよい。
2.4 経路群の抽出
図4のステップS105に対応する経路群の抽出処理について説明する。経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。
例えば、サブネットワーク抽出部112により抽出されたサブネットワーク122が、上流側サブネットワークであるとする。この場合、第2企業として、第1企業の上流側の企業が選択される。経路抽出部113は、例えば図9に示すサブネットワーク122において、第2企業を示すノードから第1企業を示すノードまでの、1以上のリンクによって繋がれた経路を抽出する。
本実施形態では、このとき、経路抽出部113は、特定の条件としての最短経路により構成される経路群を抽出する。例えば、経路抽出部113は、まず、第2企業を示すノードから第1企業を示すノードまでの、1以上のリンクによって繋がれた全ての経路を抽出する。経路抽出部113は、抽出した経路のそれぞれについて、経路に含まれるリンクの数を算出する。経路抽出部113は、リンクの数が最も少ない1以上の経路を抽出し、抽出した経路を、経路群として決定する。このようにして、経路抽出部113は、1以上の経路を含む経路群を抽出することができる。抽出された経路群は、ステップS106の処理によって、例えば表示部240に表示される。
図10は、経路群の抽出について説明する模式図である。図10に示す例を用いて、経路抽出部113による経路群の抽出の処理について説明する。図10では、ノード内に、そのノードにより示される企業が記載されている。例えば、企業A1を示すノードには、ノード内に「A1」と記載されている。また、図10では、ノード内に、そのノードに付与された産業分類が、括弧により記載されている。例えば、企業A1を示すノードに、産業分類IC6が付与されている場合、ノード内に「(IC6)」と記載されている。この表記の方法は、ノードを含む他の図においても同様である。ただし、図によっては、産業分類の表記を省略している場合もある。
図10は、第1企業A1の上流側サブネットワークにおいて、第2企業A2を示すノードから第1企業A1を示すノードまでの、1以上のリンクによって繋がれた全ての経路を示すとする。つまり、ここでの例では、第1企業A1を示すノードから第2企業A2を示すノードまでの経路は、全部で4つであるとする。具体的には、第1経路は、A2、A3、A4、A1の順でノードをたどる経路である。第2経路は、A2、A5、A1の順でノードをたどる経路である。第3経路は、A2、A6、A1の順でノードをたどる経路である。第4経路は、A2、A7、A8、A1の順でノードをたどる経路である。なお、本明細書では、以下、「企業Aを示すノード」を、「ノードA」とも表記する。
経路抽出部113は、これらの4つの経路のうち、特定の条件を満たす経路、つまり最短経路を抽出する。最短経路は、各経路が有するリンクの数に基づいて定めることができる。例えば、第1経路は3つのリンクを有し、第2経路は2つのリンクを有し、第3経路は2つのリンクを有し、第4経路は3つのリンクを有する。従って、リンクの数が最も少ない経路は、2つのリンクを有する第2経路と第3経路である。従って、ここでの例では、経路抽出部113は、第2経路及び第3経路を、経路群として抽出する。
このようにして抽出された経路群は、ステップS106の処理によって、例えば表示部240に表示される。ここでの例では、A2、A5、A1の順でノードをたどる第2経路と、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示される。
なお、図10では、抽出されて表示部240に表示される経路については、リンク及びノードを実線で示している。一方、サブネットワーク122には含まれるが、例えば特定の条件を満たさないなどの理由で抽出されずに、表示部240に表示されない経路については、リンク及びノードを破線で示している。図面では、以下、同様の方法で、表示されるリンク及びノードと、表示されないリンク及びノードとを区別する。
また、ここでは、最短経路がリンクの数に基づいて決定される場合について説明したが、最短経路は、各経路のノードの数に基づいて決定されてもよい。
2.5 削除処理
図4のステップS108に対応する経路群の再描画に関する処理のうち、削除処理について説明する。再描画部116の削除処理部161は、入力受付部114において、削除処理を実行するための操作入力を受け付けた場合、削除処理を実行する。
削除処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群における特定のノードを削除させる操作入力である。例えば、経路抽出部113により、図10で説明した経路群が抽出されていたとする。この場合、上述のように、A2、A5、A1の順でノードをたどる第2経路と、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示されている。ユーザは、表示部240に表示されたノードのうち、特定のノードを削除させることを希望する場合、当該特定のノードを削除させる操作入力を実行する。このように特定のノードを削除させる操作入力は、本実施形態において、削除処理を実行するための操作入力に相当する。ユーザは、例えば、サプライチェーン上に表示されたノードのうち、特定の企業を示すノードが現実には存在しえないと考えた場合、当該特定の企業を示すノードを削除させる操作入力を行う。
図11は、特定のノードを削除させる操作入力について説明する模式図である。ここでは、一例として、ユーザは、企業A5を示すノードを削除させることを希望しているとする。この場合、ユーザは、ノードA5に対して、所定の処理を実行するための入力を行う。例えば、ユーザは、表示部240に表示されているノードA5上にカーソルを移動させ、その状態でマウスをクリックする。すると、例えば図11に示すように、ノードA5を削除するためのコマンドが表示される。ユーザが、ノードA5を削除するためのコマンドを選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。
入力受付部114において、特定のノード(ここではノードA5)を削除させる操作入力が受け付けられると、再描画部116の削除処理部161は、削除処理を実行する。具体的には、削除処理部161は、サブネットワークにおいて、第1企業A1を示すノードと第2企業A2を示すノードとが1以上のリンクによって繋がれた経路であって、特定のノードを通らない経路により構成される経路群を再描画する。このとき、削除処理部161は、経路抽出部113と同様に、特定の条件を満たす経路を抽出することにより、再描画を行ってよい。つまり、ここでの例では、削除処理部161は、特定の条件である最短経路を抽出することにより、再描画を行ってよい。
図12は、削除処理による再描画の結果を示す模式図である。ここでの例では、ノードA1とノードA2とがリンクによって繋がれた経路であって、ノードA5を通らない最短経路は、A2、A6、A1の順でノードをたどる第3経路である。従って、図12に示すように、削除処理部161は、A2、A6、A1の順でノードをたどる第3経路を再描画する。再描画において、A2、A5、A1の順でノードをたどる第2経路は、抽出されない。削除処理部161は、再描画した経路を、表示部240に表示させる(図2のステップS109)。この場合、図12に示すように、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示される。
図13は、削除処理の他の一例を説明する模式図である。具体的には、図13は、サブネットワーク抽出部112により抽出されたサブネットワーク122と、経路抽出部113により抽出された経路群の他の一例を示している。図13に示す例では、ノードA6が存在しないことを除き、図10に示す例と同じである。すなわち、図13に示す例では、サブネットワーク122は、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A5、A1の順でノードをたどる第2経路と、A2、A7、A8、A1の順でノードをたどる第4経路とを含む。これらの3つの経路のうち、最短経路である第2経路のみが、経路群として抽出され、表示部240に表示されている。
この状態で、ユーザがノードA5を削除させる操作入力を行ったとする。入力受付部114において、ノードA5を削除させる操作入力が受け付けられると、削除処理部161は、サブネットワークにおいて、第1企業A1を示すノードと第2企業A2を示すノードとが1以上のリンクによって繋がれた経路であって、ノードA5を通らない経路により構成される経路群を再描画する。図13に示す例では、ノードA5を通らない経路は、第1経路と第4経路である。そのため、削除処理部161は、削除処理部161は、例えば図14に示すように、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A7、A8、A1の順でノードをたどる第4経路とを、再描画する。再描画された、第1経路及び第4経路により構成される経路群は、表示部240に表示される。
なお、第1経路及び第4経路は、いずれも3つのリンクにより構成されている。しかしながら、仮にいずれかの経路が4つ以上のリンクにより構成されている場合には、第1経路と第4経路とのうち、リンクの数がより少ない、最短経路のみが再描画されてよい。
削除処理を実行するための操作入力は、例えば産業分類を指定することにより行われてもよい。図15は、削除する産業分類を指定するための入力画面の一例を示す図である。上述したように、各ノードには、ノードが示す企業の産業分類が付与されている。ここでは、産業分類は、図15に示すように、IC1、IC2、IC3、IC4・・・のように示す。例えば図10に括弧を用いて示しているように、ノードA1には産業分類IC6が付与されており、ノードA2には産業分類IC1が付与されており、ノードA3には産業分類IC2が付与されており、ノードA4及びA8には産業分類IC5が付与されており、ノードA5及びA6には産業分類IC3が付与されており、ノードA7には産業分類IC4が付与されているとする。
ユーザは、表示部240に表示された経路群において、特定の産業分類が付与されたノードを削除させることを希望する場合、当該特定の産業分類が付与されたノードを削除させる操作入力を実行する。このように特定の産業分類が付与されたノードを削除させる操作入力は、本実施形態において、削除処理を実行するための操作入力に相当する。ユーザは、例えば、サプライチェーン上に表示されたノードのうち、特定の産業分類が付与されたノードが示す企業が、現実の取引におけるサプライチェーン上には存在しえないと考えた場合、当該特定の産業分類が付与されたノードを削除させる操作入力を行う。
ここでは、一例として、ユーザは、産業分類IC3が付与されたノードを削除させることを希望しているとする。この場合、ユーザは、削除させる産業分類を入力する画面を表示させるための操作入力を行う。この操作入力により、例えば、図15に示すラジオボタンが、表示部240に表示される。ユーザは、ラジオボタンにおいて、削除させる産業分類IC3を選択する操作入力を行う。ユーザが、削除させる産業分類を選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。当該操作入力が受け付けられると、削除処理部161により削除処理が実行される。なお、削除させる産業分類の選択は、必ずしもラジオボタンにより行われなくてよい。削除させる産業分類の選択は、他の任意の方式により入力されてよい。
図16は、産業分類により削除するノードが特定される場合における、削除処理を説明するフローチャートである。
まず、ステップS301において、削除処理部161は、サブネットワーク122において、ユーザにより選択された、特定の産業分類IC3が付与されたノードを特定する。例えば、図10に示す例では、削除処理部161は、特定の産業分類IC3が付与された、ノードA5及びA6を特定する。
そして、ステップS302において、削除処理部161は、ステップS301で特定したノード、つまりノードA5及びA6を通らない経路群を再描画する。図10に示す例では、サブネットワーク122において、A5及びA6を通らない経路群として、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A7、A8、A1の順でノードをたどる第4経路とにより構成される経路群が、再描画される。これにより、例えば図17に示すように、第1経路と第4経路により構成される経路群が再描画される。再描画された、第1経路及び第4経路により構成される経路群は、表示部240に表示される。
なお、第1経路及び第4経路は、いずれも3つのリンクにより構成されている。しかしながら、仮にいずれかの経路が4つ以上のリンクにより構成されている場合には、第1経路と第4経路とのうち、リンクの数がより少ない、最短経路のみが再描画されてよい。
このように、削除処理を行うことにより、特定のノードを通らない経路群が再描画される。再描画された経路群には、特定のノードが表示されない。そのため、サーバシステム100は、ユーザが経路群に表示させることを希望しない企業のノードを表示しないように、経路群を再描画することができる。例えば、サーバシステム100は、ユーザの操作入力に基づき、現実のサプライチェーンを構成しない企業を、経路群から削除することができる。これにより、より正確に、現実のサプライチェーンを反映した経路群を生成し、表示部240に表示することができる。
2.6 ノード追加処理
図4のステップS108に対応する経路群の再描画に関する処理のうち、ノード追加処理について説明する。再描画部116のノード追加部162は、入力受付部114において、ノード追加処理を実行するための操作入力を受け付けた場合、ノード追加処理を実行する。ノード追加処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群に含まれない企業のノードを、経路群に含まれるノードのいずれかとリンクで接続することにより、経路群に追加ノードを追加する操作入力である。
図18は、ノード追加処理について説明する模式図である。図18には、経路抽出部113により抽出された経路群が示されている。図18に示す例では、ノードA2からノードA1までの最短経路として抽出された経路群のみが示されており、サブネットワーク122に含まれるが最短経路ではない経路については、図示されていない。具体的には、図18には、A2、A3、A4、A5、A1の順でノードをたどる第5経路と、A2、A3、A4、A6、A1の順でノードをたどる第6経路と、A2、A3、A7、A8、A1の順でノードをたどる第7経路と、が示されている。
この経路群について、ユーザは、企業Yを示すノードを経路群に追加することを希望しているとする。また、ユーザは、企業Yが企業A1に取引製品を提供(売却)していることを知っているとする。この場合、ユーザは、企業Yを示すノードを経路群に追加させる操作入力を実行する。このように新たなノードを追加させる操作入力は、本実施形態において、ノード追加処理を実行するための操作入力に相当する。ユーザは、例えば、自身が所属する企業と直接の取引がある企業が、経路群に現れていない場合、当該取引がある企業を示すノードを追加させる操作入力を行う。具体的には、企業Yが元のデータベースに存在していない場合などが想定される。
図19は、新たなノードを追加させる操作入力について説明する模式図である。ここでは、一例として、ユーザは、企業Yを示すノードを追加させることを希望しているとする。この場合、ユーザは、企業Yを示す追加ノードYを経路群に追加するための入力を行う。例えば、ユーザは、表示部240に表示されている経路群において、ノードが存在しない位置にカーソルを移動させ、その状態でマウスをクリックする。すると、例えば図19に示すように、追加ノードを追加するためのコマンドが表示される。ユーザが、追加ノードを追加するためのコマンドを選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。このとき、入力受付部114は、追加ノードに付与される産業分類の入力を受け付けてもよい。本実施形態では、入力受付部は、追加ノードに付与される産業分類の入力も受け付けるとして、以下説明する。
また、ユーザは、経路群に含まれるノードのうち、追加ノードYをリンクで接続させるノードを選択する操作入力を行う。ここでは、図19に示すように、追加ノードYが、ノードA1とリンクで接続させるという操作入力が行われたとする。
入力受付部114において、追加ノード(ここではノードY)を追加させる操作入力が受け付けられると、再描画部116のノード追加部162は、ノード追加処理を実行する。具体的には、ノード追加部162は、追加ノードとリンクで接続されうるノードの候補である候補ノードを抽出し、候補ノードのうちのいずれかを追加ノードとリンクで接続することにより、追加ノードを含む経路群を再描画する。ノード追加部162は、例えば抽出した候補ノードに関する情報を表示部240に表示させる。例えば、ノード追加部162は、抽出した候補ノードが示す企業名を表示部240に表示させる。ノード追加部162は、表示部240に表示された候補ノードが示す企業のうち、ユーザの操作入力により選択された企業のノードを、追加ノードとリンクで接続する。
図20は、ノード追加処理を説明するフローチャートである。すなわち、図20は、図4のステップS108に対応する経路群の再描画に関する処理のうち、ノード追加処理の一例を示すフローチャートである。図20は、入力受付部114において、ノードYを追加させる操作入力を受け付けた場合に実行される。
図20のフローにおいて、再描画部116のノード追加部162は、サプライチェーンネットワーク121における、追加ノードをサプライチェーンネットワーク121に含まれる1つのノードと接続した場合に構成される仮想の局所グラフGV(Z)の、サプライチェーンネットワーク121における出現のしやすさを算出する。出現のしやすさは、所定の指標(数値)により示される。例えば、出現のしやすさを示す指標は、仮想の局所グラフGV(Z)の頻出度である。出現のしやすさは、例えば、サプライチェーンネットワークの一部分により構成される既存の部分グラフのうち、仮想の局所グラフに類似する既存の部分グラフの数又は割合に基づいて、算出することができる。例えば、ノード追加部162は、ステップS401及びステップS402により、仮想の局所グラフGV(Z)のサプライチェーンネットワーク121における出現のしやすさを算出する。
具体的には、まず、ステップS401において、ノード追加部162は、追加ノードYを挿入する際に、追加ノードYの上流に隣接する端点となるノードZの候補のすべてに対して仮想の局所グラフGV(Z)を取得し、それらを合わせた集合をGとする。ここで仮想の局所グラフGV(Z)とは、追加ノードYと、追加ノードYに接続されると選択されたノードA1と、追加ノードYに接続する候補となるノードZに対する局所グラフG(Z)と、を使って構成するグラフである。局所グラフG(Z)は、サプライチェーンネットワーク121において、ノードZを端点とするネットワークの一部であり、ノードZを端点とし、距離dまで離れたノードにより構成される。ここで、dは、適宜定められる1以上の整数であり、上流側を考える場合、ノードZから上流側へ、下流側を考える場合、ノードZから下流側へ数える。仮想の局所グラフGV(Z)は、局所グラフG(Z)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想的な局所グラフである。
ここで、端点となるノードZは、サプライチェーンネットワーク121に含まれるすべてのノードであってもよいし、特定の条件を満たすノードであってもよい。特定の条件は、適宜定めることができ、例えば、特定の産業分類が付与されたノードとしたり、特定の所在地に位置する企業を示すノードとしたりすることができる。特定の条件は、例えばユーザにより入力されてよい。
図21A及び図21Bは、局所グラフの一例を示す図である。具体的には、図21Aは、ノードB1を端点とし、上流側に距離dまで離れたノードにより構成される局所グラフG(B1)の一例を示すグラフである。図21Bは、ノードB2を端点とし、上流側に距離dまで離れたノードにより構成される局所グラフG(B2)の一例を示すグラフである。ここでは、いずれも距離d=2の局所グラフを示している。局所グラフG(B1)及びG(B2)は、いずれもサプライチェーンネットワーク121に含まれる局所グラフである。図21A及び図21Bでは、それぞれノードB1及びノードB2を端点とする局所グラフのみを示しているが、端点となるノードは、ノードB1及びB2に限られない。上述のように、端点となるノードは、サプライチェーンネットワーク121に含まれるすべてのノードであってもよいし、特定の条件を満たすノードであってもよい。本実施形態では、ノード追加部162は、ステップS401により、サプライチェーンネットワーク121に含まれるすべてのノードZについて、仮想の局所グラフGV(Z)を取得するとする。
ノード追加部162は、ステップS402において、出現のしやすさnを算出する。ここでは、ノード追加部162は、仮想の局所グラフに類似する既存の部分グラフの数に基づいて、出現のしやすさnを算出する。具体的には、ノード追加部162は、ステップS401で生成した集合Gに含まれるすべての仮想の局所グラフGV(Z)に対して、「仮想の局所グラフGV(Z)のサプライチェーンネットワーク121における出現のしやすさn」として、「サプライチェーンネットワーク121内に存在する既存の部分グラフGEであって、仮想の局所グラフGV(Z)とδ以上の類似度を持つ既存の部分グラフGEの数n」を計算する。ここで、所定基準としての閾値δは、出現のしやすさの算出方法などに基づき、適宜定められてよい。ノード追加部162は、仮想の局所グラフGV(Z)とδ以上の類似度を持つと判定されたn個の部分グラフGEについて、各部分グラフGEの類似度の平均類似度をsとして、三項組{Z,n,s}をリストP(Y)に加える。なお、リストP(Y)は、予め空集合として初期化されている。
図22A及び図22Bは、仮想の局所グラフGV(Z)の一例を示す図である。具体的には、図22Aは、図21Aに示す局所グラフG(B1)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想の局所グラフGV(B1)を示す図である。図22Bは、図21Bに示す局所グラフ(B2)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想の局所グラフGV(B2)を示す図である。図22A及び図22Bに示すように、仮想の局所グラフでは、端点となるノードB1又はB2と追加ノードYとが、リンクにより接続されており、追加ノードYとノードA1とが、リンクにより接続されている。
集合Gの要素である仮想の局所グラフGV(Z)について、ステップS402で算出したサプライチェーンネットワーク121における出現のしやすさnが大きいほど、仮想の局所グラフGV(Z)はサプライチェーンネットワーク121に頻出する傾向があり、サプライチェーンネットワーク121に現れうるもっともらしい局所グラフであると言える。S402では、サプライチェーンネットワーク121における出現のしやすさnを、サプライチェーンネットワーク121中の部分グラフGEであって、仮想の局所グラフGV(Z)とδ以上の類似度を持つものの数nとしているが、仮想の局所グラフGV(Z)に順序をつける方法は、算出可能な他の指標を用いる方法でもよい。
また、二つの仮想の局所グラフGV(Z1)とGV(Z2)とのもっともらしさを比べる方法として、仮想の局所グラフGV(Z1)とGV(Z2)との出現のしやすさnが等しいとき、ステップS402では類似度の平均値を比べたが、類似度の最大値を比べてもよい。二つの仮想の局所グラフのもっともらしさを比べる方法は、さまざま存在するため、必ずしもここで説明した方法に限定されない。
ここで、仮想の局所グラフGV(Z)と、サプライチェーンネットワーク121内の既存の部分グラフGEとの類似度は、コサイン類似度を使って定めてよい。類似度としてコサイン類似度を用いる場合の考え方について、詳細に説明する。ここでは、類似度の比較について説明するため、二つの仮想の局所グラフGV(B1)とGV(B2)と、既存の部分グラフGEとの間のそれぞれの距離を計算し、近さを比較するという例について説明する。
ノード追加部162は、ステップS402において、仮想の局所グラフGV(Z)と比較するための、サプライチェーンネットワーク121に含まれる1つの既存の部分グラフGEを抽出する。既存の部分グラフGEを抽出するには、例えば、ノードに付与された産業分類に基づいて行う。具体的には、ノード追加部162は、仮想の局所グラフGV(Z)に含まれるノードのうち、端点となるノードZと、追加ノードYと、ノードA1とにそれぞれ付与された産業分類の組合せを持つ隣接したノードP、Q、Rを抽出し、局所グラフG(P)を生成し、局所グラフG(P)と、ノードQと、ノードRとを連結した既存の部分グラフをGEとして抽出する。例えば、端点となるノードZ、追加ノードY及びノードA1に付与された産業分類が、それぞれIC2、IC1及びIC9である場合、前記GEにおけるノードP、Q及びRの産業分類は、それぞれIC2、IC1及びIC9である。
図23は、サプライチェーンネットワーク121に含まれる既存の部分グラフGEの一例を示す図である。ここでは、ノードB1及びB2に付与された産業分類がIC2であり、追加ノードYに付与された産業分類がIC1であり、ノードA1に付与された産業分類がIC9であるとする。この場合、ノード追加部162は、図23に示すように、これらのIC2、IC1及びIC9という産業分類が付与されたノードの組合せである、ノードB17、B16及びB15を含む既存の部分グラフGEを抽出する。
そして、ノード追加部162は、仮想の局所グラフGV(Z)と、抽出した既存の部分グラフGEとの類似度を算出する。ここでは、類似度の説明のため、仮想の局所グラフGV(B1)と既存の部分グラフGEとの類似度、及び、仮想の局所グラフGV(B2)と既存の部分グラフGEとの類似度を算出する場合の例について説明する。
ノード追加部162は、例えば、仮想の局所グラフGV(Z)及び既存の部分グラフGEをベクトルに置換し、ベクトル同士のコサイン類似度を算出する。ベクトルの各成分は、例えば、仮想の局所グラフGV(Z)及び既存の部分グラフGEに含まれる遷移タイプに基づいて決定される。遷移タイプは、ノードにより接続されている2つのリンクに付与された産業分類の遷移の種類である。例えば、産業分類IC1が付与されたノードと、産業分類IC2が付与されたノードがリンクにより接続されている場合、IC1からIC2への遷移タイプが存在する。仮に、仮想の局所グラフGV(Z)又は既存の部分グラフGEに、これと同様の遷移タイプが2つ存在する場合、ベクトルにおいて、この遷移タイプを示す成分は「2」となる。
図24は、仮想の局所グラフGV(B1)、仮想の局所グラフGV(B2)及び既存の部分グラフGEのそれぞれが含む、遷移タイプの種類とその数を示す表である。図24では、例えば産業分類IC1が付与されたノードから産業分類IC2が付与されたノードへの遷移タイプは、「IC1→IC2」のように示されている。
例えば、図22Aに示すように、仮想の局所グラフGV(B1)では、産業分類IC2が付与されたノードから産業分類IC1が付与されたノードへの遷移タイプは、ノードB1から追加ノードYの1通りである。従って、図24においては、仮想の局所グラフGV(B1)の遷移タイプ「IC2→IC1」の欄には「1」と記載されている。例えば、仮想の局所グラフGV(B1)では、産業分類IC3が付与されたノードから産業分類IC2が付与されたノードへの遷移タイプは、ノードB3からノードB2と、ノードB4からノードB2の2通りである。従って、図24においては、仮想の局所グラフGV(B1)の遷移タイプ「IC3→IC2」の欄には「2」と記載されている。このように、図24に示された表には、仮想の局所グラフGV(B1)、仮想の局所グラフGV(B2)及び既存の部分グラフGEについての、遷移タイプの種類とその数が記載されている。図24に示された表における、遷移タイプの種類が、ベクトルの成分を示し、遷移タイプの種類に示された数が、ベクトルの成分の値を示す。従って、ノード追加部162は、例えば、図24に示す表に基づいて、仮想の局所グラフGV(Z)及び既存の部分グラフGEをベクトルに置換できる。なお、ノード追加部162は、必ずしも図24に示す表を作成しなくてもよく、仮想の局所グラフGV(Z)及び既存の部分グラフGEを、直接ベクトルに変換してもよい。
ノード追加部162は、ベクトルに変換した仮想の局所グラフGV(Z)と既存の部分グラフGEとのコサイン類似度を算出する。コサイン類似度は、2つのベクトルの類似度を、当該2つのベクトル同士がなす角度に基づいて示す指標である。2つのベクトルが類似するほど、コサイン類似度は1に近い値となり、2つのベクトルが非類似であるほど、コサイン類似度は0に近い値となる。ここでの例では、仮想の局所グラフGV(B1)と既存の部分グラフGEとのコサイン類似度は約0.9となり、仮想の局所グラフGV(B2)と既存の部分グラフGEとのコサイン類似度は約0.4となる。
ノード追加部162は、仮想の局所グラフGV(Z)と既存の部分グラフGEとのコサイン類似度が所定の基準値以上である場合、当該仮想の局所グラフGV(Z)に対し、類似する既存の部分グラフGEが1つ発見されたと判定する。例えば、基準値が0.8である場合、図23の例で示した既存の部分グラフGEは、仮想の局所グラフGV(B1)に類似するが、仮想の局所グラフGV(B2)には類似しない。従って、ノード追加部162は、仮想の局所グラフGV(B1)に、1つの類似する既存の部分グラフGEが発見されたと判定する。
ノード追加部162は、出現のしやすさnに基づいて選択された仮想の局所グラフGV(Z)において、追加ノードYと接続された1つのノードを、候補ノードとして決定する。ノード追加部162は、出現のしやすさnに基づいて選択された仮想の局所グラフGV(Z)が複数存在する場合には、当該複数の仮想の局所グラフGV(Z)のうち、いずれかの仮想の局所グラフGV(Z)において、追加ノードYと接続された1つのノードを、候補ノードとして決定してよい。例えば、ノード追加部162は、複数の仮想の局所グラフGV(Z)のそれぞれにおいて追加ノードYと接続されたノードのうち、ユーザが選択したノードを、候補ノードとして決定してよい。具体的には、ノード追加部162は、図20のステップS403からステップS406の処理により、候補ノードを決定してよい。
すなわち、ステップS403において、ノード追加部162は、リストP(Y)が空集合であるか否かを判定する。つまり、ノード追加部162は、リストP(Y)に、少なくとも1つの企業と出現のしやすさと平均類似度の三項組{Z,n,s}が記録されているか否かを判定する。
ノード追加部162は、リストP(Y)が空集合である場合、つまりリストP(Y)に企業と出現のしやすさと平均類似度の三項組が1つも記録されていない場合(ステップS403のYes)、ステップS404において、閾値δの値を変更する。閾値δの値は、リストP(Y)が空集合とならないように変更される。従って、例えばここでは、閾値δの値が低くなるように変更される。閾値δの値の変更幅は、類似度の算出方法などの条件に基づいて、適宜定められてよい。ノード追加部162は、ステップS404で閾値δの値を変更した場合、ステップS402に移行して、上述したステップS402の処理を実行する。
ノード追加部162は、リストP(Y)が空集合でない場合、つまりリストP(Y)に企業と出現のしやすさと平均類似度の三項組が少なくとも1つ記録されている場合(ステップS403のNo)、ステップS405において、リストP(Y)に含まれる三項組{Z,n,s}のうち、企業Z又は企業Zに平均類似度sなどの付加情報を加えたものを表示部240に表示させる。このとき、ノード追加部162は、企業Z又は企業Zに平均類似度sなどの付加情報を加えたものを、出現のしやすさnの高い順に表示させる。複数の企業の出現のしやすさnが等しい場合、ノード追加部162は、平均類似度sが高い順に表示部240に表示させる。つまり、ノード追加部162は、追加ノードYとリンクで接続される候補ノードの企業Zを、表示部240に表示させる。
図25は、追加ノードYとリンクで接続される候補ノードが示す企業の表示例を示す図である。図25に示すように、候補ノードが示す企業は、例えばラジオボタンにより表示されてよい。候補ノードが示す企業は、例えば出現のしやすさnの高い順に、出現のしやすさnが等しい場合は平均類似度sが高い順に表示されてよい。また、図25に示すように、候補ノードが示す企業とともに、候補ノードに付与された産業分類が表示されてもよい。また、ノード追加部162は、出現のしやすさnの代わりに、出現のしやすさnの全体ノード数に対する割合を指標として用い、当該指標が高い順に企業Zを表示してもよい。また、ノード追加部162は、企業Zとともに又は企業Zに代えて、平均類似度sなどの付加情報を加えたものを表示してもよい。
ユーザは、ラジオボタンにおいて、追加ノードYとリンクで接続させるノードの企業を選択する操作入力を行う。ここでは、企業B25が選択されたとする。ユーザが、選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。なお、追加ノードYとリンクで接続させるノードの企業の選択は、必ずしもラジオボタンにより行われなくてよい。追加ノードYとリンクで接続させるノードの企業の選択は、他の任意の方式により入力されてよい。
入力受付部114により上記操作入力が受け付けられると、ステップS406において、ノード追加部162は、選択された企業B25を示すノードと、追加ノードYとをリンクで接続する。
そして、ステップS407において、ノード追加部162は、追加ノードYを含む経路群を再描画する。具体的には、ノード追加部162は、ノードA2から、選択されたノードB25と追加ノードYとを経由して、ノードA1まで、リンクで接続された経路を含む経路群を抽出する。このとき、ノード追加部162は、サプライチェーンネットワーク121に基づいて、ノードA2からノードB25までリンクで接続される経路を抽出してよい。ノード追加部162は、特定の条件を満たすノードA2からノードB25までの経路を抽出してよい。例えば、ノード追加部162は、ノードA2からノードB25までの最短経路を抽出してよい。
図26は、ノード追加処理による再描画の結果を示す模式図である。図26に示すように、ノードA2からノードB25までは、抽出された経路としてリンクで接続される。図26に示す例では、サプライチェーンネットワーク121において、ノードA2は、ノードA9を経由して、ノードB25とリンクで接続されているため、ノードA2、A9、B25の順にリンクで接続されている。また、選択されたノードB25から追加ノードYは、ユーザによってノードB25が選択されたことに基づいて、リンクで接続される。さらに、追加ノードYからノードA1は、ユーザが追加ノードYをノードA1とリンクで接続させるという操作入力を行ったことに基づいて、リンクで接続される。このようにして、ノード追加部162は、例えば図26に示すように、再描画の結果を生成できる。
ステップS408で再描画された経路群は、提示処理部115の処理に基づき、表示部240に表示される(図4のステップS109)。
なお、提示処理部115は、図20のステップS406で選択された企業のノードと、追加ノードYとを接続するリンクを、他のリンクと異なる態様で提示させてよい。ここでは、図20のステップS406で選択された企業のノードは、ノードB25である。そのため、提示処理部115は、例えば図26に示すように、ノードB25と追加ノードYとを接続するリンクを、他のリンクと異なる態様で提示させてよい。リンクの提示態様は、ユーザが認識可能な任意の態様であってよい。図26では、ノードB25と追加ノードYとを接続するリンクは、他のリンクと異なり、二重線を用いた矢印で示されている。ただし、ノードB25と追加ノードYとを接続するリンクの提示態様は、これに限られない。
ノード追加処理を行うことにより、ユーザは、サプライチェーンネットワーク121に含まれないノードを含む経路群を再描画させることができる。これにより、例えば公開情報では得られない企業間の取引関係の情報をユーザが有している場合、経路群に当該取引関係の情報を反映させることができる。また、ノード追加処理では、類似度に基づいて追加ノードとリンクで接続される候補ノードが表示され、ユーザは、表示された候補ノードが示す企業から、追加ノードと接続するノードを選択する。そのため、再描画により、追加ノードが示す企業について、現実の取引関係を示す経路であると想定される可能性が高い経路が描画される。これにより、ユーザは、追加ノードが示す企業が、どのようなサプライチェーン上に位置するかを知ることができる。
なお、ここで説明した例では、ユーザは、追加ノードYを、経路群の最下流に位置するノードA1に接続するとして説明した。しかしながら、ユーザは、追加ノードYを、必ずしも経路群における最下流に位置するノードに接続しなくてもよい。追加ノードYは、経路群に含まれるいずれかのノードに接続されればよい。
また、ここでは、ノード追加部162が、仮想の局所グラフに類似する既存の部分グラフの数に基づいて出現のしやすさを算出する場合の例について説明した。しかしながら、ノード追加部162は、「サプライチェーンネットワーク121内に存在する既存の部分グラフGEであって、仮想の局所グラフGV(Z)とδ以上の類似度を持つ既存の部分グラフGEの数n」の全体ノード数に対する割合に基づいて、出現のしやすさを算出してもよい。
2.7 代替経路算出処理
図4のステップS108に対応する経路群の再描画に関する処理のうち、代替経路算出処理について説明する。再描画部116の代替経路算出部163は、入力受付部114において、代替経路算出処理を実行するための操作入力を受け付けた場合、代替経路算出処理を実行する。
代替経路算出処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群に含まれる上流側ノードと下流側ノードとを結ぶ対象経路の代替経路を算出させる操作入力である。代替経路算出処理を実行するための操作入力について、図27を参照しながら詳細に説明する。
図27は、代替経路算出処理について説明する模式図である。図27では、ノードA1からノードA13までの13個のノードが示されているが、経路抽出部113により抽出されて表示部240に表示される経路群は、実線で示したノード及びリンクにより構成される経路のみを含む。つまり、図27に示す例では、経路抽出部113により抽出されて表示部240に表示される経路群は、ノードA2、A3、A11、A1を順にたどる経路のみを含む。破線で示されたノード及びリンクは、サブネットワーク122に含まれるが、例えば特定の条件としての最短経路ではないため、経路抽出部113により抽出されていない。
代替経路算出処理を実行するための操作入力は、対象経路の指定を含む。対象経路は、経路抽出部113により抽出された経路群に含まれる経路であって、代替経路に置き換える対象となる経路である。対象経路の指定は、例えば、対象経路に含まれるノードを順に指定することにより行われる。例えば、図27に示す例では、ノードA2、A3、A11及びA1を順に指定することにより、ノードA2、A3、A11、A1の順でノードをたどる経路が、対象経路として指定される。なお、ノードの指定は、例えば、マウスのクリックやタッチパネル上のタッチにより行われてよい。
対象経路は、必ずしも、経路抽出部113により抽出された経路群における最も上流のノード及び/又は最も下流のノードを含まなくてもよい。対象経路は、経路抽出部113により抽出された経路群に含まれる経路の一部のみ(部分経路)であってもよい。図27の例では、最も上流のノードはノードA2であり、最も下流のノードはノードA1である。従って、図27の例では、対象経路は、必ずしもノードA2及び/又はノードA1を含まなくてもよい。例えば、対象経路は、ノードA3及びノードA11のみを含む部分経路であってもよい。
対象経路における最も上流側のノードを、本明細書において「上流側ノード」という。一方、対象経路における最も下流側のノードを、本明細書において「下流側ノード」という。仮に、対象経路として、ノードA2、A3、A11、A1の順でノードをたどる経路が指定された場合、上流側ノードはノードA2であり、下流側ノードはノードA1である。一方、例えば、対象経路として、ノードA3、A11の順でノードをたどる部分経路が指定された場合、上流側ノードはノードA3であり、下流側ノードはノードA11である。
代替経路算出処理を実行するための操作入力は、上述した対象経路の指定に加え、代替経路算出処理を開始させるための操作入力を含んでよい。代替経路算出処理を開始させるための操作入力は、対象経路の指定が完了したときに行われる。代替経路算出処理を開始させるための操作入力は、例えば、操作部250における特定のキーの操作、又は、表示部240に表示された特定のボタンの操作により行われてよい。
代替経路算出処理を実行するための操作入力は、入力受付部114において受け付けられる。入力受付部114において、代替経路算出処理を実行するための操作入力が受け付けられると、再描画部116の代替経路算出部163は、代替経路算出処理を実行する。具体的には、代替経路算出部163は、指定した対象経路を、代替経路に置き換えることにより経路群を再描画する。ここで、代替経路は、サブネットワーク122において上流側ノードと下流側ノードとが1以上の前記リンクによって繋がれた経路のうち、対象経路とは異なる経路である。代替経路算出部163は、指定した対象経路を、1つ以上の代替経路に置き換えることにより経路群を再描画してよい。
図28は、代替経路算出処理を説明するフローチャートである。図28を参照しながら、代替経路算出処理の具体的な一例について説明する。ここでは、対象経路として、図27に示す例において、ノードA2、A3、A11、A1の順でノードをたどる経路が指定されたとする。
まず、ステップS501において、代替経路算出部163は、代替候補経路RAを抽出する。代替候補経路RAは、代替経路の候補である。代替候補経路RAは、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ、対象経路RT以外の経路である。代替経路算出部163は、例えば、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ対象経路RT以外の全ての経路を抽出する。代替経路算出部163は、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ対象経路RT以外の経路のうち、特定の条件を満たす一部の経路をのみを抽出してもよい。特定の条件は、例えば最短経路である。
図27に示す例では、上流側ノードがノードA2であり、下流側ノードがノードA1であるため、代替経路算出部163は、ノードA2とノードA1を結ぶ、対象経路RT以外の代替候補経路RAを抽出する。ここでは、代替経路算出部163は、特定の条件として、最短経路となる代替候補経路RAのみを抽出するとする。図27に示す例では、ノードA2とノードA1を結ぶ対象経路RT以外の最短経路は、ノードA2、A4、A6、A10、A1の順でノードをたどる第1代替候補経路と、ノードA2、A4、A7、A10、A1の順でノードをたどる第2代替候補経路と、ノードA2、A5、A8、A12、A1の順でノードをたどる第3代替候補経路と、ノードA2、A5、A9、A13、A1の順でノードをたどる第4代替候補経路である。そのため、代替経路算出部163は、これらの4つの代替候補経路RAを抽出する。
ステップS502において、代替経路算出部163は、対象経路RTにおけるノードの産業分類を示す文字列STを生成する。対象経路RTは、ノードA2、A3、A11、A1を順にたどる経路である。これらのノードのそれぞれに付与された産業分類は、それぞれ、IC1、IC2、IC3及びIC4である。代替経路算出部163は、これらの産業分類を示す文字列STを生成する。このとき、代替経路算出部163は、各産業分類を1文字とみなして文字列を生成してもよい。例えば、産業分類IC1、IC2、IC3及びIC4を、それぞれa、b、c及びdという文字とみなした場合、対象経路RTの文字列STは、「abcd」と表される。
ステップS503において、代替経路算出部163は、ステップS501で抽出した代替候補経路RAについて、ノードの産業分類を示す文字列SAを生成する。代替経路算出部163は、ステップS501で抽出した代替候補経路RAの全てについて、それぞれノードの産業分類を示す文字列SAを生成する。
ここで、第1代替候補経路は、ノードA2、A4、A6、A10、A1を順にたどる経路である。これらのノードのそれぞれに付与された産業分類は、それぞれ、IC1、IC2、IC5、IC6及びIC4である。代替経路算出部163は、これらの産業分類を示す文字列SAを生成する。代替経路算出部163は、対象経路RTの文字列STと同様に、各産業分類を1文字とみなして文字列を生成してよい。ここで、第1代替候補経路の産業分類を示す文字列をSA1で示す。例えば、産業分類IC5及びIC6を、それぞれe及びfという文字とみなした場合、文字列SA1は、「abefd」と表される。
第2代替候補経路は、ノードA2、A4、A7、A10、A1を順にたどる経路である。これらのノードのそれぞれに付与された産業分類は、それぞれ、IC1、IC2、IC3、IC6及びIC4である。代替経路算出部163は、これらの産業分類を示す文字列SAを生成する。第2代替候補経路の産業分類を示す文字列をSA2で示すとすると、文字列SA2は、「abcfd」と表される。
第3代替候補経路は、ノードA2、A5、A8、A12、A1を順にたどる経路である。これらのノードのそれぞれに付与された産業分類は、それぞれ、IC1、IC2、IC3、IC3及びIC4である。代替経路算出部163は、これらの産業分類を示す文字列SAを生成する。第3代替候補経路の産業分類を示す文字列をSA3で示すとすると、文字列SA3は、「abccd」と表される。
第4代替候補経路は、ノードA2、A5、A9、A13、A1を順にたどる経路である。これらのノードのそれぞれに付与された産業分類は、それぞれ、IC1、IC2、IC4、IC5及びIC4である。代替経路算出部163は、これらの産業分類を示す文字列SAを生成する。第4代替候補経路の産業分類を示す文字列をSA4で示すとすると、文字列SA4は、「abded」と表される。
代替経路算出部163は、抽出された代替候補経路RAのうち、対象経路RTに類似する経路を、代替経路として決定してよい。そして、代替経路算出部163は、対象経路RTを代替経路に置き換えることにより、経路群を再描画してよい。代替経路算出部163は、例えば、ステップS504及びステップS505により、生成した文字列ST及び文字列SAを用いて、複数の代替候補経路RAのうち、対象経路RTに最も類似するものを決定してよい。
すなわち、ステップS504において、代替候補経路RAのそれぞれについて、生成した文字列SAと、対象経路RTの文字列STとの類似度を算出する。類似度は、任意の公知の方法で算出することができる。一例として、代替経路算出部163は、編集距離(レーベンシュタイン距離)により、類似度を算出することができる。編集距離は、一方の文字列を他方の文字列に変換するのに必要な手順の最小回数を示す。編集距離が近いほど、文字列の類似度が高い。ここでの例では、代替経路算出部163は、文字列STと、文字列SA1、SA2、SA3及びSA4のそれぞれとの、編集距離を算出する。
ステップS505において、代替経路算出部163は、対象経路RTを、類似度が最も高い代替候補経路RAに置き換えることにより、経路群を再描画する。例えば、文字列STと文字列SA3との編集距離が、最も近かったとする。つまり、対象経路RTと、第3代替候補経路との類似度が最も高かったとする。この場合、代替経路算出部163は、対象経路RTを、第3代替候補経路に置き換えることにより、経路群を再描画する。
図29は、代替経路算出処理による再描画の結果を示す模式図である。図29に示すように、代替経路算出処理の結果、対象経路RTが、ノードA2、A5、A8、A12、A1を順にたどる第3代替候補経路に置き換えられている。
ステップS505で再描画された経路群は、提示処理部115の処理に基づき、表示部240に表示される(図4のステップS109)。このとき、表示部240には、置き換えられた第3代替候補経路のみが表示されてよい。つまり、図29において、実線で示すノード及びリンクのみが表示されてよい。対象経路RTは、表示部240に表示されなくてよい。
なお、ここでの例では、代替経路算出部163が、抽出された代替候補経路RAのうち、対象経路RTに類似する経路を、代替経路として決定し、対象経路RTを代替経路に置き換えるとして説明した。しかしながら、代替経路算出部163は、必ずしも代替経路を1つに決定しなくてもよい。例えば、代替経路算出部163は、ステップS501で抽出した代替候補経路RAの全てを、対象経路RAと置き換えてもよい。この場合、複数の代替経路が再描画され、表示部240に表示される。
代替経路算出処理を行うことにより、ユーザは、対象経路RAの代替経路を知ることができる。これにより、例えばユーザは、対象経路における特定のノードが示す企業が、何らかの理由でサプライチェーンから外れた場合に、代替となるサプライチェーンを知ることができる。また、本実施形態で説明したように、対象経路に類似する代替経路が算出されて表示部240に表示された場合、ユーザは、対象経路RAに近いサプライチェーンを知ることができる。そのため、例えばユーザは、特定の経路が使用できない状態となった場合を想定して、特定の経路の代替となる経路を容易に探すことができる。
2.8 提示処理
提示処理部115は、経路抽出部113が抽出した経路群を提示する提示処理を実行する。提示処理部115は、再描画部116が再描画した経路群を提示してもよい。提示処理部115は、経路群に関する多様な情報を提示することができる。例えば、提示処理部115は、経路群に含まれるノードが示す企業名や、各ノードに付与された産業分類の情報を提示することができる。提示処理部115は、再描画部116が再描画する前と再描画した後との経路群を、比較可能な態様で提示してもよい。例えば、提示処理部115は、再描画部116が再描画する前の経路群と、再描画した後との経路群とを、並べて提示してよい。
以上説明したように、本開示に係る情報処理システム10では、経路抽出部113が抽出した経路を、再描画部116が再描画することができる。上記実施形態で説明した例では、再描画部116は、ユーザの操作入力に応じて、削除処理、ノード追加処理又は代替経路算出処理を実行することによって、抽出した経路を再描画できる。そのため、情報処理システム10は、単に情報を表示するだけでなく、ユーザの操作入力に応じて、ユーザが必要とする情報を表示することができる。
なお、上記実施形態の説明では、サブネットワーク抽出部112により抽出されたサブネットワーク122が、上流側サブネットワークである場合について説明した。しかしながら、情報処理システム10は、サブネットワーク122が下流側サブネットワークである場合についても、上記処理に対応する処理を実行することにより、経路抽出部113が抽出した経路を再描画できる。
上記のように本実施形態について詳細に説明したが、本実施形態の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また情報処理システム、サーバシステム、端末装置等の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。