IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024047979
(43)【公開日】2024-04-08
(54)【発明の名称】情報処理システム及び情報処理方法
(51)【国際特許分類】
   G06Q 10/06 20230101AFI20240401BHJP
   G06F 16/908 20190101ALI20240401BHJP
【FI】
G06Q10/06
G06F16/908
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022153775
(22)【出願日】2022-09-27
(11)【特許番号】
(45)【特許公報発行日】2023-05-16
(71)【出願人】
【識別番号】316014906
【氏名又は名称】株式会社FRONTEO
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】吉川 悠一
(72)【発明者】
【氏名】久光 徹
【テーマコード(参考)】
5B175
5L049
【Fターム(参考)】
5B175FB03
5B175HB03
5L049AA06
(57)【要約】
【課題】サプライチェーンネットワークにおける企業間の類似度を適切に求める情報処理システム及び情報処理方法などを提供する。
【解決手段】情報処理システムは、複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得するサプライチェーンネットワーク取得部と、処理対象ノードに対応する企業のサブネットワークをサプライチェーンネットワークから抽出するサブネットワーク抽出部と、処理対象ノードのサブネットワークに含まれる各ノードに対して、処理対象ノードまでの距離に応じた位相、及び、流量に応じた絶対値を有する複素数を割り当てることによって、処理対象ノードを表す複素ベクトルを求めるベクトル取得部と、複数のノードのうちの2つのノードに対応する2つの複素ベクトルに基づいて、2つのノードの間の類似度を算出する類似度算出部と、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得するサプライチェーンネットワーク取得部と、
前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出するサブネットワーク抽出部と、
前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求めるベクトル取得部と、
前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する類似度算出部と、
を含む情報処理システム。
【請求項2】
請求項1において、
前記類似度算出部は、
2つの前記複素ベクトルである第1複素ベクトルと第2複素ベクトルのエルミート内積と、前記第1複素ベクトルのノルムと前記第2複素ベクトルのノルムの積を求め、前記エルミート内積と前記ノルムの積の比の実数部分に基づいて、前記類似度を算出する情報処理システム。
【請求項3】
請求項1または2において、
前記複数のノードは、第1~第n(nは2以上の整数)のノードを含み、
第i(iは1≦i≦nを満たす整数)のノードに対応する前記複素ベクトルをxとしたとき、前記第1~第nのノードに対応する前記複素ベクトルを並べた行列X=[x,x,・・・,x]と、前記行列Xの各成分の共役複素数を取って転置した行列Xを求め、複素相関行列CをC=XXにより求める行列取得部と、
前記複素相関行列Cの固有値分解を行うことによって、前記サプライチェーンネットワークにおける主要経路を推定する主要経路推定部と、
を含む情報処理システム。
【請求項4】
請求項3において、
前記主要経路推定部は、
前記固有値分解によって取得される固有値に対応する固有ベクトルに基づいて、前記主要経路を推定する情報処理システム。
【請求項5】
請求項4において、
前記主要経路推定部は、
複素数を要素とする前記固有ベクトルを求め、前記固有ベクトルに含まれる要素の位相に基づいて順序が決定される前記主要経路を推定する情報処理システム。
【請求項6】
請求項3において、
前記主要経路推定部は、
前記主要経路に基づいて、前記サプライチェーンネットワークの構造を推定する情報処理システム。
【請求項7】
請求項1または2において、
第1企業を示すノードと、前記第1企業とは異なる第2企業を示すノードとが1以上の前記リンクによって繋がれた経路を1以上含む、経路群を抽出する経路抽出部と、
前記経路の再描画に関する操作入力を受け付ける入力受付部と、
前記経路抽出部が抽出した前記経路群を再描画する再描画部と、
を含む情報処理システム。
【請求項8】
請求項7において、
前記操作入力が、前記経路群に含まれるノードのいずれかを削除する操作入力である場合に、
前記再描画部は、
削除対象であるノードとの前記類似度が所定閾値以上である代替ノードを含む経路群を再描画する情報処理システム。
【請求項9】
請求項7において、
前記操作入力が、前記経路群に含まれない企業のノードを、前記経路群に含まれるノードのいずれかとリンクで接続することにより、前記経路群に追加ノードを追加する操作入力である場合に、
前記再描画部は、前記追加ノードとリンクで接続されうる候補ノードを抽出し、前記候補ノードのうち、前記類似度によって選択されるいずれかを前記追加ノードとリンクで接続することにより、前記追加ノードを含む経路群を再描画する情報処理システム。
【請求項10】
請求項9において、
前記再描画部は、
前記候補ノードと、前記サプライチェーンネットワークに含まれる他のノードとの前記類似度に基づいて、前記追加ノードを前記候補ノードと接続した場合に構成される仮想の局所グラフの前記サプライチェーンネットワークにおける出現のしやすさを示す指標を算出し、
前記指標に基づいて、前記追加ノードと接続されるノードを決定する情報処理システム。
【請求項11】
複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得し、
前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出し、
前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求め、
前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム及び情報処理方法等に関する。
【背景技術】
【0002】
従来、サプライチェーンの分析に関する種々の手法が知られている。サプライチェーンとは、製品の原材料・部品の調達から、製造、在庫管理、配送、販売、消費までの一連の流れをいう。例えば特許文献1には、サプライチェーンにおいて、関心企業の上流側サブネットワーク及び下流側サブネットワークの少なくとも一方を含むサブネットワークを分析し、その結果を表示する情報処理システムが開示されている。また、非特許文献1には、コミュニティ分解手法により関連性の高い企業を抽出する手法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第7034447号公報
【非特許文献】
【0004】
【非特許文献1】Takayuki Mizuno, Takaaki Ohnishi, Tsutomu Watanabe, “Structure of global buyer-supplier networks and its implications for conflict minerals regulations” EPJ Data Science, 2016年1月16日発行, (URL:https://doi.org/10.1140/epjds/s13688-016-0063-7)
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の手法では、企業間の類似度に関する開示がない。また非特許文献1のコミュニティ分解手法は、同じコミュニティに属するか否かの二値化指標を求める手法であり、コミュニティの境界に属する企業の評価が容易でなかった。
【0006】
本開示のいくつかの態様によれば、サプライチェーンネットワークにおける企業間の類似度を適切に求める情報処理システム及び情報処理方法を提供できる。
【課題を解決するための手段】
【0007】
本開示の一形態は、複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得するサプライチェーンネットワーク取得部と、前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出するサブネットワーク抽出部と、前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求めるベクトル取得部と、前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する類似度算出部と、を含む情報処理システムに関係する。
【0008】
本開示の他の形態は、複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得し、前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出し、前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求め、前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する、情報処理方法に関係する。
【図面の簡単な説明】
【0009】
図1】一実施形態に係る情報処理システムを含むシステムの構成例である。
図2図1のサーバシステムの詳細な構成例を示す機能ブロック図である。
図3図1の端末装置の詳細な構成例を示す機能ブロック図である。
図4図1の情報処理システムにおいて実行される処理の概略を示すフローチャートである。
図5A】公開情報に基づいて取得されるデータの構造例である。
図5B】公開情報に基づいて取得されるデータの構造例である。
図5C】公開情報に基づいて取得されるサプライチェーンネットワークの一部の例を示す図である。
図6】サプライチェーンネットワークを説明する模式図である。
図7】類似度算出処理を説明するフローチャートである。
図8】上流側サブネットワークの抽出処理を説明するフローチャートである。
図9A】サブネットワークの一部の例を示す図である。
図9B】サブネットワークの一部の例を示す図である。
図10】サブネットワークの例を示す図である。
図11A】ノードのベクトル表現を求める処理を説明するフローチャートである。
図11B】ノードのベクトル表現を求める処理を説明するフローチャートである。
図12A】サブネットワークにおける流量を例示する図である。
図12B】サブネットワークにおける位相付き流量を例示する図である。
図13】所与のノードに対応する複素ベクトルの例である。
図14】サブネットワークにおける位相付き流量を例示する図である。
図15A】類似度算出処理の一例を説明する図である。
図15B】位相を用いずに類似度算出を行う比較例を説明する図である。
図16】提示処理を説明するフローチャートである。
図17】経路群の抽出について説明する模式図である。
図18】特定のノードを削除させる操作入力について説明する模式図である。
図19】削除処理による再描画の結果を示す模式図である。
図20】削除処理の他の一例を説明する模式図である。
図21】削除処理による他の一例の再描画の結果を示す模式図である。
図22】削除する産業分類を指定するための入力画面の一例を示す図である。
図23】産業分類により削除するノードが特定される場合における、削除処理を説明するフローチャートである。
図24】産業分類により削除するノードが特定される場合における、削除処理による再描画の結果を示す模式図である。
図25】ノード追加処理について説明する模式図である。
図26】新たなノードを追加させる操作入力について説明する模式図である。
図27】ノード追加処理を説明するフローチャートである。
図28A】局所グラフの一例を示す図である。
図28B】局所グラフの一例を示す図である。
図29A】仮想の局所グラフの一例を示す図である。
図29B】仮想の局所グラフの一例を示す図である。
図30】追加ノードとリンクで接続されるノードが示す企業の表示例を示す図である。
図31】ノード追加処理による再描画の結果を示す模式図である。
図32】代替経路算出処理について説明する模式図である。
図33】代替経路算出処理を説明するフローチャートである。
図34】代替経路算出処理による再描画の結果を示す模式図である。
図35】構造推定処理を説明するフローチャートである。
図36】固有ベクトルを例示する図である。
図37】構造推定の具体例を説明する模式図である。
【発明を実施するための形態】
【0010】
以下、実施形態について、図面を参照しながら説明する。図面において、同一又は同等の構成要素には同一の符号を付し、同一又は同等の構成要素に関する説明が重複する場合は適宜省略する。なお、以下に説明する実施形態は、特許請求の範囲に記載された内容を限定するものではない。また、実施形態で説明される構成の全てが、必ずしも本開示の必須構成要件であるとは限らない。本開示で説明する機能を発揮する限りにおいて、実施形態で説明される構成は、適宜省略されてもよい。
【0011】
1.システム構成例
図1は、一実施形態に係る情報処理システム10を含むシステムの構成例である。本実施形態に係るシステムは、サーバシステム100と端末装置200とを含む。ただし、情報処理システム10を含むシステムの構成は必ずしも図1に限定されず、例えば一部の構成を省略したり他の構成を追加したりするなどの種々の変形実施が可能である。例えば、図1では端末装置200として、端末装置200-1と端末装置200-2の2つが図示されているが、端末装置200の数はこれに限定されない。また、構成の省略や追加などの変形実施が可能である点は、後述する図2及び図3においても同様である。
【0012】
本実施形態の情報処理システム10は、例えばサーバシステム100に対応する。ただし、本実施形態の手法はこれに限定されず、サーバシステム100と他の装置を用いた分散処理によって、本明細書で説明する情報処理システム10の処理が実行されてもよい。例えば、本実施形態の情報処理システム10は、サーバシステム100と端末装置200との分散処理によって実現されてもよい。以下、本明細書では、情報処理システム10がサーバシステム100である場合の例について説明する。
【0013】
サーバシステム100は、1つのサーバであってもよいし、複数のサーバを含んで構成されていてもよい。例えば、サーバシステム100は、データベースサーバとアプリケーションサーバとを含んで構成されていてもよい。データベースサーバは、後述するサプライチェーンネットワーク121などを含む、種々のデータを記憶する。アプリケーションサーバは、後述する図4図7図8図11A図11B図16図23図27図33及び図35などを用いて説明する処理を実行する。なお、ここでの複数のサーバは、物理サーバであってもよいし、仮想サーバであってもよい。また、仮想サーバが用いられる場合、当該仮想サーバは、1つの物理サーバに設けられてもよいし、複数の物理サーバに分散して配置されてもよい。このように、本実施形態におけるサーバシステム100の具体的な構成は、種々の変形実施が可能である。
【0014】
端末装置200は、情報処理システム10を利用するユーザによって使用される装置である。端末装置200は、PC(Personal Computer)であってもよいし、スマートフォンなどの携帯端末装置であってもよいし、本明細書で説明する機能を有する他の装置であってもよい。
【0015】
サーバシステム100は、例えばネットワークを介して端末装置200-1及び端末装置200-2と通信可能に接続される。以下、複数の端末装置を互いに区別する必要がない場合、単に端末装置200と表記する。ここでのネットワークは、例えばインターネットなどの公衆通信網であるが、LAN(Local Area Network)などであってもよい。
【0016】
本実施形態の情報処理システム10は、例えば公開情報を用いて、対象に関するデータの収集、分析などを行うOSINT(Open Source Intelligence)システムである。ここでの公開情報は、広く公開されており、合法的に入手可能な種々の情報を含む。例えば公開情報は、有価証券報告書、産業連関表、政府の公式発表、国や企業に関する報道、サプライチェーンデータベースなどを含んでもよい。また、公開情報は、SNS(Social Networking Service)において送受信される種々の情報を含んでもよい。例えばSNSは、テキストまたは画像などを投稿可能なサービスを含み、本実施形態における公開情報は、当該テキストまたは画像、あるいはそれらに対する自然言語処理または画像処理などの結果を含んでもよい。
【0017】
サーバシステム100は、公開情報に基づいて、様々な属性を含むノードを生成する。1つのノードは、所与のエンティティを表す。ここでのエンティティは企業である。ノードに付与される属性は、公開情報に基づいて決定される情報であって、企業の名称、国籍、事業分野、産業分類、取引先及び取引品目などの種々の情報を含む。エンティティを表すノードが企業である場合、企業の産業分類を含む企業に関する属性が、ノードに付与される。なお、ここでの属性は、売り上げ、従業員数、株主及び出資比率、ボードメンバーなどを含んでよい。本実施形態では、属性のうち、少なくとも産業分類がノードに対して付与される。産業分類は、産業の種類をその性質ごとに分類したものである。産業分類として、例えば産業分類コードが用いられてよい。産業分類コードは、産業をいくつかに分類し、各分類結果に「01」等のコードを割り当てた情報である。
【0018】
所与のノードの属性に、他のノードとの関係性を含む属性がある場合、当該所与のノードと他のノードとが、向きを有するリンクによって接続される。例えば、所与の企業が、他の企業に対して何らかの取引製品を提供(売却)しているとする。この場合、他の企業に対応するノードと、所与の企業に対応するノードとの間が、製品の売買関係(流通関係)を表すリンクによって接続される。ここでのリンクは、影響を与える側から受ける側への方向を有するリンクであり、例えば何らかの製品を売る側から買う側への方向を有するリンクである。つまり、製品の提供元企業及び提供先企業を対応付けた取引関係が、リンクにより示される。
【0019】
本実施形態の手法では、サーバシステム100は、複数のエンティティ(例えば企業)を表す複数のノードが、取引関係を示す複数のリンクで接続されたネットワークである、エンティティネットワークを取得する。リンクは方向を有するため、エンティティネットワークは有向グラフである。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を提示する処理を行う。例えば、端末装置200は、OSINTシステムが提供するサービスを利用するユーザによって使用される装置である。例えばユーザは、端末装置200を用いて何らかの分析を情報処理システム10であるサーバシステム100に依頼する。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を端末装置200に送信する。本実施形態におけるエンティティネットワークは、狭義にはサプライチェーンを表すサプライチェーンネットワーク121である。以下、本実施形態では、エンティティネットワークがサプライチェーンネットワーク121であるとして説明する。
【0020】
図2は、サーバシステム100の詳細な構成例を示す機能ブロック図である。サーバシステム100は、例えば図2に示すように、処理部110と、記憶部120と、通信部130と、を含む。
【0021】
本実施形態の処理部110は、下記のハードウェアによって構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。1又は複数の回路装置は例えばIC(Integrated Circuit)、FPGA(field-programmable gate array)等である。1又は複数の回路素子は例えば抵抗、キャパシタ等である。
【0022】
また処理部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の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【0023】
処理部110は、例えばサプライチェーンネットワーク取得部111と、サブネットワーク抽出部112と、経路抽出部113と、入力受付部114と、提示処理部115と、再描画部116と、類似度取得部117と、構造推定部118を含む。
【0024】
サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を取得する。例えばサプライチェーンネットワーク取得部111は、公開情報に基づいてサプライチェーンネットワーク121を作成することにより取得してもよい。公開情報は、製品の提供元企業及び提供先企業を対応付けた取引関係情報を含む。サプライチェーンネットワーク取得部111は、作成したサプライチェーンネットワーク121を、記憶部120に記憶する。ただし、サプライチェーンネットワーク121の作成は、本実施形態に係る情報処理システム10とは異なるシステムにおいて行われてもよい。この場合、サプライチェーンネットワーク取得部111は、当該異なるシステムから作成結果を取得する処理を行ってもよい。
【0025】
サプライチェーンネットワーク取得部111は、例えば図5A図5Cを用いて後述するように、企業間の取引関係に基づいて、複数の企業に対応する複数のノードが接続されたネットワークを、サプライチェーンネットワーク121として取得してもよい。
【0026】
サブネットワーク抽出部112は、サプライチェーンネットワーク取得部111が取得したサプライチェーンネットワーク121の一部を、サブネットワーク122として抽出する処理を行う。サブネットワーク122とは、例えばサプライチェーンネットワーク121のうち、直接的にまたは間接的に特定の企業を表すノードと接続されるノード群を含む有向グラフである。
【0027】
ここで、当該特定の企業は、サプライチェーンネットワーク121に含まれるノードにより示される複数の企業のうちの1つの企業である。特定の企業は、例えば、情報処理システム10における分析の基準となる企業であってよい。特定の企業は、例えば、情報処理システム10を利用するユーザが、所定の操作入力を行うことにより選択されてよい。以下、本明細書において、当該特定の企業を、「第1企業」とも言う。
【0028】
サブネットワーク抽出部112は、サプライチェーンネットワーク121のうち、第1企業に関係する部分であるサブネットワーク122を抽出する。ここでのサブネットワーク122は、第1企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、第1企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含む。本実施形態における上流とは、リンクにおける起点側、即ち、他の企業に対して物品を提供する側を表す。下流とは、リンクにおける終点側、即ち、他の企業から物品の提供を受ける側を表す。上流側企業とは、第1企業に直接物品を提供する企業を含む。ただし、本実施形態における上流側企業は、他の上流側企業の上流に位置する企業を含んでもよい。即ち、上流側企業は、他の企業を介して第1企業と接続される企業を含んでもよい。下流側企業についても同様に、第1企業から直接物品の提供を受ける企業、及び、他の下流側企業の下流に位置する企業を含んでもよい。
【0029】
なお、サブネットワーク122の抽出の基準となる特定の企業は、ベクトル表現の算出対象となる企業であってもよい。この場合、サプライチェーンネットワーク121に含まれる複数の企業が、順次、特定の企業として選択されてもよい。
【0030】
サブネットワーク抽出部112は、抽出したサブネットワーク122を、記憶部120に記憶してよい。
【0031】
経路抽出部113は、サブネットワーク抽出部112が抽出したサブネットワーク122において、1以上の経路を含む経路群を抽出する。ここで、経路は、1つのノードから1以上のリンクをたどって他のノードに至るまでのルートである。すなわち、経路は、1つのノードと他のノードとが1以上のリンクによって繋がれたルートである。
【0032】
本実施形態において、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。第2企業は、サプライチェーンネットワーク121に含まれるノードにより示される複数の企業のうちの1つの企業であり、第1企業とは異なる企業である。第2企業は、例えば、ユーザが入力受付部114に対して所定の操作入力を行うことにより指定されてよい。あるいは、第2企業は、入力受付部114で受け付けた条件の指定に基づき、経路抽出部113が、指定された条件に合致する企業を、第2企業として自動的に決定してもよい。第2企業は、例えば取引が規制されている規制企業であってよく、より具体的にはESG(Environment, Social, Governance)の観点から問題がある企業であってもよい。あるいは、第2企業は、サブネットワーク122におけるチョークポイントに相当する企業であってもよい。
【0033】
経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路のうち、特定の条件を満たす経路を抽出し、抽出した経路を経路群とすることができる。特定の条件は、適宜定められてよい。特定の条件は、例えば最短経路であってよい。特定の条件が最短経路である場合、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路のうち、経由するリンクの数が最も少ない経路を抽出する。特定の条件は、例えばユーザによる操作入力に基づいて定められてもよい。本実施形態では、特定の条件が、最短経路であるとして、以下説明する。
【0034】
入力受付部114は、情報処理システム10を利用するユーザによる操作入力を受け付ける処理を行う。例えば、入力受付部114は、ユーザが端末装置200の操作部250に対して行った操作入力に関する操作信号を、通信部130を介して端末装置200から受信することにより、ユーザによる操作入力を受け付けることができる。あるいは、入力受付部114は、情報処理システム10が備える不図示の操作部(入力インターフェイス)に対して、ユーザが行った操作入力を受け付けてもよい。
【0035】
ここでの操作入力は、第1企業の選択を行う操作を含む。操作入力は、第2企業の選択を行う操作を含んでもよい。操作入力は、経路抽出部113が第2企業を決定するための条件の入力を含んでもよい。また、本実施形態では、操作入力は、経路の再描画に関する操作入力を含む。経路の再描画に関する操作入力の詳細については、後述する。
【0036】
提示処理部115は、経路抽出部113が抽出した経路群をユーザに提示する処理を行う。本実施形態では、提示処理部115は、さらに、再描画部116が再描画した経路群をユーザに提示する処理も行う。例えば、提示処理部115は、表示画面を表示する処理を行う。表示画面は、例えば端末装置200の表示部240に表示される画面である。例えば提示処理部115は、表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。また、表示画面そのものを送信するものには限定されず、提示処理部115は、表示画面を生成可能な情報(例えばマークアップ言語等)を送信する処理を行ってもよい。ただし、表示画面は、サーバシステム100等の端末装置200以外の機器に表示されてもよい。また提示処理部115による提示処理は表示処理に限定されず、音声等を用いた出力処理を含んでもよい。
【0037】
再描画部116は、経路抽出部113が抽出した経路群の再描画を行う。再描画部116は、例えば入力受付部114で受け付けた、経路の再描画に関する操作入力に基づいて、経路群を再描画する。本実施形態において、再描画部116は、削除処理部161と、ノード追加部162と、代替経路算出部163と、を含む。ただし、再描画部116は、必ずしも、削除処理部161、ノード追加部162及び代替経路算出部163の全てを含んでいなくてもよく、これらのうち少なくともいずれかを含んでいればよい。
【0038】
削除処理部161は、経路抽出部113が抽出した経路において特定のノードを削除する、削除処理を実行する。ノード追加部162は、経路抽出部113が抽出した経路群において新たな企業のノードを追加する、ノード追加処理を実行する。代替経路算出部163は、経路抽出部113が抽出した経路群に含まれる経路に類似する代替経路を算出する、代替経路算出処理を実行する。削除処理、ノード追加処理、及び、代替経路算出処理の詳細については、後述する。
【0039】
類似度取得部117は、サプライチェーンネットワーク121に含まれる所与のノードと、他のノードとの間の類似度を求める。類似度取得部117は、ベクトル取得部171と、類似度算出部172を含む。ベクトル取得部171は、サプライチェーンネットワーク121に含まれる各ノードのベクトル表現を求める。ベクトル表現を求める手法については、図11A図14等を用いて後述する。類似度算出部172は、当該ベクトル表現に基づいて、2つのノード間の類似度を算出する処理を行う。ここでの類似度は、例えば類似度合いが高いほど値が大きくなる数値データである。類似度算出処理の詳細については、図15等を用いて後述する。
【0040】
構造推定部118は、サプライチェーンネットワーク121のネットワーク構造を分析する処理を行う。構造推定部118は、行列取得部181と、主要経路推定部182を含む。行列取得部181は、類似度取得部117によって取得された類似度に基づいて、複素相関行列Cを求める。主要経路推定部182は、複素相関行列Cの固有値分解を行うことによって、サプライチェーンネットワーク121の主要経路を推定する処理を行う。各処理の詳細については図35図37を用いて後述する。
【0041】
記憶部120は、処理部110のワーク領域であって、種々の情報を記憶する。記憶部120は、種々のメモリによって実現が可能であり、メモリは、SRAM、DRAM、ROM、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。
【0042】
記憶部120は、例えばサプライチェーンネットワーク取得部111が取得したサプライチェーンネットワーク121を記憶する。また、記憶部120は、例えばサブネットワーク抽出部112が抽出したサブネットワーク122を記憶する。また、記憶部120は、有価証券報告書、産業連関表等の公開情報を記憶してもよい。また記憶部120は、産業分類コード123及び規制対象企業リスト124等を記憶してもよい。産業分類コード123は、産業をいくつかに分類し、各分類結果に「01」等のコードを割り当てた情報である。規制対象企業リスト124は、例えばESGの観点から問題がある企業を特定する情報である。その他、記憶部120は本実施形態の処理に係る種々の情報を記憶可能である。
【0043】
通信部130は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF(radio frequency)回路、及びベースバンド回路を含む。通信部130は、処理部110による制御に従って動作してもよいし、処理部110とは異なる通信制御用のプロセッサを含んでもよい。通信部130は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従った通信を行うためのインターフェイスである。ただし具体的な通信方式は種々の変形実施が可能である。
【0044】
図3は、端末装置200の詳細な構成例を示すブロック図である。端末装置200は、処理部210と、記憶部220と、通信部230と、表示部240と、操作部250を含む。
【0045】
処理部210は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。また処理部210は、プロセッサによって実現されてもよい。プロセッサは、CPU、GPU、DSP等、各種のプロセッサを用いることが可能である。端末装置200のメモリに格納された命令をプロセッサが実行することによって、処理部210の機能が処理として実現される。
【0046】
記憶部220は、処理部210のワーク領域であって、SRAM、DRAM、ROM等の種々のメモリによって実現される。
【0047】
通信部230は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF回路、及びベースバンド回路を含む。通信部230は、例えばネットワークを介して、サーバシステム100との通信を行う。
【0048】
表示部240は、種々の情報を表示するインターフェイスであり、液晶ディスプレイであってもよいし、有機ELディスプレイであってもよいし、他の方式のディスプレイであってもよい。操作部250は、ユーザによる操作入力を受け付けるインターフェイスである。操作部250は、例えば端末装置200に設けられるボタン等であってよい。また表示部240と操作部250は、一体として構成されるタッチパネルであってもよい。
【0049】
2.処理の流れ
2.1 全体フロー
図4は、本実施形態の情報処理システム10において実行される処理の概略を説明するフローチャートである。
【0050】
まず、ステップS101において、サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を取得する。サプライチェーンネットワーク取得部111は、サプライチェーンネットワーク121を記憶部120に記憶する。
【0051】
ステップS102において、類似度取得部117は、ステップS101で取得されたサプライチェーンネットワーク121に含まれる複数のノード間の類似度を算出する。類似度取得部117は、算出した類似度を記憶部120に記憶する。
【0052】
ステップS103において、情報処理システム10は、サプライチェーンネットワーク121のうち、ユーザによる操作入力に基づく情報を提示する処理を行う。ステップS103の処理では、後述するように第1企業の選択入力受付、第2企業の特定、第1企業と第2企業を結ぶ経路群の提示等が行われる。また経路群の提示において、ステップS102で求められた類似度に基づいて提示対象となる経路が決定されてもよい。
【0053】
以下、各ステップの処理について詳細に説明する。
【0054】
2.2 サプライチェーンネットワークの取得
図4のステップS101に対応するサプライチェーンネットワーク121の取得処理について説明する。サプライチェーンネットワーク取得部111は、公開情報に基づいて、サプライチェーンネットワーク121を生成してよい。公開情報には、例えば有価証券報告書やニュースリリース等の情報が含まれる。
【0055】
サプライチェーンネットワーク取得部111は、多数の企業のそれぞれについて、企業の名称、国籍、事業分野、取引先と取引品目等の種々の情報を特定する。またサプライチェーンネットワーク取得部111は、公開情報に基づいて、各企業の従業員数、株主と出資比率、ボードメンバー等を特定してもよい。
【0056】
またサプライチェーンネットワーク取得部111は、公開情報に基づいて、各企業の評判を表す評判情報を取得してもよい。例えば、評判情報とは、対象の企業が、ESG(Environment, Social, Governance)の観点から問題を有する企業であるか、制裁を受けた履歴があるか等を表す情報である。例えば評判情報は、輸出規制への違反をした企業であるか、紛争鉱物を取り扱う企業であるか、奴隷労働に関与する企業であるか、違法伐採に関する企業であるか等を表す情報であってもよい。また公開情報は、政府等の機関が発行する文書であってもよく、評判情報は、所定の国等において取引規制の対象となっているか否かを表す情報であってもよい。また上述したように公開情報はSNSに関する情報を含んでもよく、ここでの評判情報はSNSに基づいて決定される情報であってもよい。例えばサプライチェーンネットワーク取得部111は、SNSにおいて企業等の公式アカウントが発信した情報に基づいて評判情報を取得してもよい。また本実施形態の手法で用いられるSNSの情報は、公式アカウントから発信するものには限定されない。例えばSNSにおいて所定数以上のユーザが「紛争鉱物」、「奴隷労働」、「違法伐採」等のワードとともに所与の企業名を発信していた場合、当該企業に対して、ネガティブな評判情報が対応付けられてもよい。
【0057】
図5A図5Bは、公開情報に基づいて取得されるデータの構造例である。図5Aに示すように、サプライチェーンネットワーク取得部111は、公開情報に含まれる各企業について、企業名、産業分類、評判、国籍が対応付けられた情報を取得する。
【0058】
企業名は、例えば対象の企業の名称を表すテキストデータである。産業分類は、対象の企業の事業分野を表す情報である。評判は上記の通り、対象の企業が、ESGの観点から問題を有する企業であるか否か等を表す情報である。国籍は、対象の企業が属する国を表す情報である。
【0059】
なお図5Aでは産業分類をテキストで図示しているが、産業分類を表す情報は産業分類コードであってもよい。例えば日本標準産業分類であれば、非鉄金属第1次製錬・精製業には「231」というコードが割り当てられ、半導体素子製造業には「2813」等のコードが割り当てられる。なお、産業分類は日本標準産業分類に限定されない。例えば産業分類は、国際標準産業分類やNAICS(North American Industry Classification System)等、他の分類であってもよい。また産業分類コードも、産業分類にあわせて種々のコードを用いることが可能である。以下では、説明の便宜上、産業分類が分類名を表すテキストであるものとして説明する。ただし、以下の処理における分類名は産業分類コードに置き換えが可能である。また、記憶部120は図2に示すように産業分類コード123を含んでもよい。産業分類コード123は、例えば日本標準産業分類における分類名と分類コードを対応付けた情報である。処理部110は、産業分類コード123に基づいて、分類名と分類コードの間の変換処理を行ってもよい。
【0060】
また図5Bに示すように、サプライチェーンネットワーク取得部111は、公開情報に基づいて、企業間の取引を表す情報を取得する。例えば公開情報に含まれる取引関係情報は、図5Bに示す情報、あるいは、図5Bに示す情報を特定することが可能な態様の情報である。企業間の取引を表す情報は、例えば販売元企業を特定する情報と、販売先企業を特定する情報と、取引される製品を特定する情報とを対応付けた情報である。
【0061】
サプライチェーンネットワーク取得部111は、これらの情報に基づいて、企業をノードとし、取引関係をリンクとする有向グラフであるサプライチェーンネットワーク121を作成する。
【0062】
図5Cは、図5Bに示す取引関係に基づいて生成されるサプライチェーンネットワーク121の一部を例示する図である。図5Bに示すように、企業C1が、企業C10に製品P1を売るという関係がある。この場合、サプライチェーンネットワーク取得部111は、企業C1を表すノードと、企業C10を表すノードとの間に、C1からC10への向きのリンクを付与する。企業C1を表すノードには、図5Aに示すように、企業名である「C1」の他、産業分類、評判、国籍等の情報が対応付けられる。企業C10を表すノードについても同様である。またC1からC10へと向かうリンクには、取引製品であるP1が対応付けられる。なおサプライチェーンネットワーク取得部111は、公開情報に基づいて、取引量や取引価格等の情報を取得してもよく、これらの情報がリンクに対応付けられてもよい。
【0063】
また、図5Bに示すように、企業C10が、企業C5に製品P2を売るという関係があるとする。この場合、サプライチェーンネットワーク取得部111は、企業C10を表すノードと、企業C5を表すノードの間に、C10からC5への向きのリンクを付与する。各ノードには図5Aに示す情報が対応付けられ、リンクには取引製品等に関する情報が対応付けられる。
【0064】
なお、上述したように、有向グラフであるサプライチェーンネットワーク121において、何らかのものを提供する(売る)側を「上流側」と表記し、何らかのものの提供を受ける(買う)側を「下流側」と表記する。なお上流及び下流の定義は、後述するサブネットワーク122に置いても同様である。
【0065】
ここでのサプライチェーンネットワーク121は、狭義には処理対象の公開情報に含まれるすべての企業に対応するノードを含むネットワークである。そのため、サプライチェーンネットワーク121は非常に多くのノードを含むネットワークであり、ノード数は数千程度や、それ以上であってもよい。ただし、公開情報に含まれる一部の企業を除外する等、サプライチェーンネットワーク121の構成手法は種々の変形実施が可能である。
【0066】
図6は、サプライチェーンネットワーク121の概略を示す図である。図6に示すように、サプライチェーンネットワーク121は、複数のノードが、取引関係を表すリンクによって結合された有向グラフである。なお、図6では説明を分かりやすくするため、製造工場であるか、流通拠点であるか等に応じてノードの形状を変えている。上述したように、各ノードに対応する企業の名称や産業分類等の情報が取得されているため、例えば産業分類に応じて表示態様を変える等の処理を実行することが可能である。ただし、本実施形態の手法では、ノードの形状を制御することは必須ではない。
【0067】
なお、図5A及び図5Bはサプライチェーンネットワークに関するデータ構造の一例であり、具体的なデータ構造はこれに限定されない。例えば図5A図5Bではリレーショナルデータベース等のテーブルデータを用いる例を示したが、他の構造のデータが用いられてもよい。またテーブルデータを用いる場合であっても、テーブル数は2つに限定されず、1つにまとめられてもよいし、3つ以上に分割して管理されてもよい。また図5A図5Bに示した項目の一部が省略されてもよいし、他の項目が追加されてもよい。例えばサプライチェーンネットワーク取得部111は企業名、産業分類コード、売買の向きを表す情報を取得し、他の情報については欠落が許容されてもよい。
【0068】
2.3 類似度算出処理
図7は、図4のステップS102における類似度算出処理を説明するフローチャートである。この処理が開始されると、まずステップS201において、サブネットワーク抽出部112は、サプライチェーンネットワーク121に含まれるノードのうちの1つを処理対象のノードとして選択し、当該ノード(以下、選択ノードと記載)に関するサブネットワーク122を抽出する。
【0069】
ステップS202において、ベクトル取得部171は、ステップS201で抽出されたサブネットワーク122に基づいて、選択ノードのベクトル表現を求める。ここでのベクトルは、図13を用いて後述するように、大きさと位相を有する複素数を要素とする複素ベクトルである。
【0070】
ステップS203において、ベクトル取得部171は、サプライチェーンネットワーク121に含まれる全てのノードのベクトル表現が求められたか否かを判定する。ただし、本実施形態ではサプライチェーンネットワーク121の全ノードについてベクトル表現を求めることは必須ではなく、類似度算出の対象とならない一部のノードに関する処理が省略されてもよい。
【0071】
ベクトル表現が未算出のノードが存在する場合(ステップS203:No)、ステップS201に戻り、処理が継続される。例えばサブネットワーク抽出部112は、未算出のノードを選択ノードとして選択し、当該選択ノードのベクトル表現を求める。
【0072】
全ノードのベクトル表現が算出された場合(ステップS203:Yes)、ステップS204において、類似度算出部172は、類似度算出の対象となる2つのノードを選択し、当該2つのノードに対応する2つの複素ベクトルに基づいて、当該2つのノード間の類似度を算出する。
【0073】
ステップS205において、類似度算出部172は、全てのノードの組み合わせにおいて類似度が算出されたかを判定する。例えば、サプライチェーンネットワーク121にn個(nは2以上の整数)のノードが含まれる場合、そこから2つのノードを選択する組み合わせは{n×(n-1)}/2通りである。類似度算出部172は、{n×(n-1)}/2通りの類似度が算出された場合に、全てのノードの組み合わせにおいて類似度が算出されたと判定してもよい。
【0074】
類似度が未算出の組み合わせが残っている場合(ステップS205:No)、ステップS204に戻り処理が継続される。全てのノードの組み合わせにおいて類似度が算出された場合(ステップS205:Yes)、類似度算出処理が終了する。ただし、類似度算出部172は、{n×(n-1)}/2通りの全てについて類似度を求めるのではなく、類似度を求める必要がある組み合わせのみを対象として、類似度を算出してもよく、具体的な処理内容は種々の変形実施が可能である。以下、各ステップの詳細について説明する。
【0075】
2.3.1 サブネットワークの抽出
図8は、図7のステップS201に対応するサブネットワーク抽出処理を説明するフローチャートである。
【0076】
ステップS301において、サブネットワーク抽出部112は、サブネットワーク122の抽出の基準となる特定の企業を決定する。例えば、ここでの特定の企業は図7のステップS201で選択される選択ノードであってもよい。例えば図7のステップS201~S203に示したように、サプライチェーンネットワーク121に含まれる複数のノードが順次、選択ノードとして選択される。以下、特定の企業を企業Aとも表記する。
【0077】
ステップS302において、サブネットワーク抽出部112は、選択ノードに対応する企業Aに隣接し、当該企業Aに何かを売っている企業Xをすべて選択し、この集合をS1(A)とする。
【0078】
図9Aは、S1(A)を例示する図である。例えば図9Aは、サプライチェーンネットワーク121のうち、企業Aを含む一部を抽出した図である。図9Aの例では、企業X1を表すノードが、X1からAへと向かうリンクによって、企業Aを表すノードと直接接続されている。すなわち、X1は、企業Aに隣接し、企業Aに何かを売っている企業であるため、S1(A)の要素と判定される。同様に、X2及びX3も企業Aに隣接し、企業Aに何かを売っている企業であるため、S1(A)の要素と判定される。この場合のS1(A)は、(X1,X2,X3)という3つの要素からなる集合である。
【0079】
ステップS303において、サブネットワーク抽出部112は、探索のための変数iを1に初期化し、Si+1(A)を空集合とする。ここではi=1に初期化するため、Si+1(A)はS2(A)となる。従って、ここでは、サブネットワーク抽出部112は、S2(A)を空集合とする。
【0080】
ステップS304において、サブネットワーク抽出部112は、Si(A)の各要素Xに対して、Xに隣接し、Xに製品を売っている企業Yのすべてに対し、企業YをSi+1(A)に追加する。所与の企業Aを対象として初めてステップS304の処理が行われる場合、i=1である。よって、この場合、サブネットワーク抽出部112は、S1(A)の各要素Xに対して、Xに隣接し、Xに製品を売っている企業Yのすべてを、S2(A)に追加する。
【0081】
図9Bは、S2(A)を例示する図である。S1(A)は、この例では図9Aを用いて上述したとおり、(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)に追加される。結果として、ステップS304では、例えば図9Bに示すように、S2(A)として、(X4,X5,X6,X7,X8,X9)という6つの要素からなる集合が生成される。
【0082】
ステップS305において、サブネットワーク抽出部112は、Si+1(A)が空集合であるか否かを判定する。図9Bの例であれば、S2(A)は6つの要素を含むため、空集合ではない(ステップS305:No)と判定される。この場合、ステップS306において、サブネットワーク抽出部112は、変数iをインクリメントして、Si+1(A)を空集合に初期化する。そして、ステップS304の処理に戻る。例えばサブネットワーク抽出部112は、図9Bに示すようにS2(A)を求めた後、ステップS306において、S3(A)を空集合に初期化した上でステップS304の処理に戻る。
【0083】
この場合、ステップS304において、サブネットワーク抽出部112は、S2(A)の各要素Xに隣接し、Xに製品を売っている企業Yを特定し、企業YをS3(A)に追加する。例えばサブネットワーク抽出部112は、X4に隣接しX4に製品を売っている企業を特定し、特定された企業をS3(A)に追加する。X5からX9についても同様であり、サブネットワーク抽出部112は、各企業に隣接し、且つ、製品を売っている企業をS3(A)に追加する。
【0084】
もしS3(A)が空集合でなければ、ステップS305の判定結果がNoとなるため、再度ステップS304に戻り、S4(A)を求める処理が実行される。これ以降の処理も同様であり、Si+1(A)が空集合となるまで、ステップS304からS306の処理が繰り返される。
【0085】
ステップS305においてSi+1(A)が空集合とは、ステップS304の処理によって条件を満たす要素が1つも見つからないことを表す。即ち、Si(A)の要素である企業Xのいずれにも、それ以上、上流側の企業が存在しないことを表す。
【0086】
よってこの場合(ステップS305:Yes)、ステップS307において、サブネットワーク抽出部112は、S1(A)、S2(A)、…、Si(A)の和集合をSとする。
【0087】
ステップS308において、サブネットワーク抽出部112は、企業Aと、Sに含まれるすべての企業に対応するノードを含む有向グラフを、サブネットワークとして出力する。ここでのサブネットワークは、選択ノードに対応する企業Aを基準として上流側の企業を表すサブネットワークであるため、上流側サブネットワークとも表記する。
【0088】
図10は、上流側サブネットワークの例である。図10に示すように、上流側サブネットワークは、企業Aと直接的または間接的に接続される企業を表すノードからなる有向グラフである。このようにすれば、サプライチェーンネットワーク121のうち、所望の企業に関連する部分を適切に抽出することが可能になる。ここではベクトル表現の算出対象となる企業が企業Aとして選択される。上流側サブネットワークは、企業Aのサプライチェーンに含まれる企業や、各企業と企業Aとの具体的な接続関係を特定可能な情報であるため、企業Aの特徴を複素ベクトルで表現する上で有用な情報である。
【0089】
なお、ステップS304においてSi+1(A)を求める際、サブネットワーク抽出部112は、「Si(A)の要素Xに隣接しXに何かを売っている」という条件に加えて、「{A}、S1(A)、…、及びSi(A)の和集合に含まれない」という条件に基づいて企業Yを特定してもよい。
【0090】
例えば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)の要素から除外されるため、処理の簡略化が可能である。
【0091】
また図8のステップS305において、サブネットワーク抽出部112は、Si+1(A)が空集合であるか否かの判定に加えて、i≧kであるか否かを判定してもよい。ここでkは、サブネットワーク122の抽出対象となる段数を決定する値である。kは例えば3程度の値であるが、異なる値が設定されてもよい。サブネットワーク抽出部112は、Si+1(A)が空集合であるという第1条件と、i≧kであるという第2条件の少なくとも一方が満たされた場合に、ステップS305でNoと判定し、それ以上の探索を終了してもよい。このようにすれば、ベクトル表現を求めるためのサブネットワーク122の上流側の段数をk段に限定できる。そのため、選択ノードに対応する企業との距離が遠い企業を処理から除外できるため、処理負荷の軽減が可能になる。より具体的には後述するベクトル表現において値が0となる要素の数を増やすことができるため、類似度算出における計算負荷を軽減できる。
【0092】
なお以上では企業Aを基準として上流側の企業からなる上流側サブネットワークについて説明した。ただしサブネットワークは上流側サブネットワークに限定されず、下流側サブネットワークを含んでもよい。下流側についても探索方向が変わるのみであり、処理は図8と同様であるため説明は省略する。
【0093】
例えばサブネットワーク抽出部112は、選択ノードの上流k段、及び下流k段の範囲において当該選択ノードのサブネットワーク122を抽出し、抽出したサブネットワーク122をベクトル取得部171に出力する。
【0094】
2.3.2 ベクトル表現
図7のステップS202におけるベクトル表現の算出処理について説明する。本実施形態の手法では、ベクトル取得部171は、処理対象ノード(選択ノード)のサブネットワーク122に含まれる各ノードに対して、処理対象ノードまでの距離に応じた位相、及び、処理対象ノードへと向かう流量または処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、処理対象ノードを表す複素ベクトルを求める。なお本実施形態における流量とは、有向グラフにおいて当該グラフ上を流れるものの量を表す。本実施形態のグラフは上流側企業から下流側企業へ向かう方向の有向グラフであり、流量とは上流側企業が下流側企業へ与える影響度合いを表す。本実施形態の流量は、図12Aを用いて後述するように、有向グラフ(サプライチェーンネットワーク121,サブネットワーク122)におけるノードの接続関係に基づいて決定される情報であってもよい。また流量は、例えば上流側企業から下流側企業へ供給される製品(材料、原料、製造装置等を含む)の具体的な量を反映した情報であってもよい。
【0095】
本実施形態の手法によれば、有向グラフであるサプライチェーンネットワーク121(狭義にはそのうちのサブネットワーク122)における流量(フロー)の大きさを絶対値により表現することに加えて、ノード間の距離を位相により表現することが可能になる。そのため、選択ノードを含むサブネットワーク122(局所グラフ)の構造を正確に反映したベクトル表現が可能になる。より具体的には、サプライチェーンにおけるノードのベクトル表現として、当該ノードがその上流、下流において、どのような企業とつながっているかという情報を、詳細に反映する情報を用いることが可能になる。
【0096】
図11A及び図11Bは、図7のステップS202に対応する選択ノードのベクトル表現を求める処理を説明するフローチャートである。まずステップS401において、ベクトル取得部171は、上流側ノードに関する初期化処理を実行する。以下では、選択ノードnsの上流側ノードをxとしたとしき、上流側ノードxの位相付き流量をF(Δθ,x)とする。ベクトル取得部171は、サプライチェーンネットワーク121に含まれ、且つ、選択ノードnsよりも上流側に位置する全ての上流側ノードxについて、F(Δθ,x)を0で初期化する。またベクトル取得部171は、選択ノードns自身の位相付き流量であるF(Δθ,ns)を1に設定する。また選択ノードから上流にm段離れたノードの集合をN とする。選択ノードnsから0段離れたノードは選択ノード自身となるため、N ={ns}である。またベクトル取得部171は、mを1で初期化する。
【0097】
ステップS402において、ベクトル取得部171は、m>kと、N =φの少なくとも一方が満たされるかを判定する。ここでのkは、例えばサブネットワーク122の抽出処理において上述したkと同様であり、探索範囲の上限段数を表す数値である。φは空集合を表す。
【0098】
m≦k、且つ、N ≠φである場合(ステップS402:No)、ステップS403において、ベクトル取得部171は、N に含まれる全てのノードxを対象として、下式(1)を用いてF(Δθ,x)を更新する。
【0099】
【数1】
【0100】
図12A図12Bを用いて具体例を説明する。図12A及び図12Bでは、サプライチェーンネットワーク121として、全ノード数n=14の例を示している。ここで、選択ノードとしてノード8が選択された場合を考える。なおここでのサプライチェーンネットワーク121は小規模であり、サプライチェーンネットワーク121と、ノード8の上下3段分のサブネットワーク122が同一となるため、以下の説明ではサプライチェーンネットワーク121とサブネットワーク122を区別しない。
【0101】
図12Aは、サプライチェーンネットワーク121のノード8に着目した場合の流量を示す図である。この場合、ノード8から上流に1段離れたノードは、ノード3とノード4となる。即ち、ノード8の1段上流からノード8へと流れ込むためのリンクは、ノード3とノード8を結ぶリンクと、ノード4とノード8を結ぶリンクの2本となる。よってノード8に流れ込む流量を1とした場合、当該流量が2本のリンクに所与の比率で分配されることになる。
【0102】
例えば分配比率が等分である場合、ノード3からノード8への流量が1/2、ノード4からノード8への流量が1/2となる。当然、ノード8の1段上流からノード8へと流れ込むためのリンクがN本(Nは2以上の整数)である場合、各リンクに対応する流量は1/Nとなる。以下では分配比率が等分である例について説明する。ただし、具体的な製品の取引量等がリンクに対応付けられている場合、当該取引量等に基づいて分配比率が設定されてもよい。
【0103】
分配比率が決定されたら、具体的に上式(1)の計算が行われる。例えばF(Δθ,3)を求める場合、右辺第1項の更新前のF(Δθ,3)は初期値そのものとなるため0である。またN は、ノード8のみとなるため、「Nm-1 の中でxにつながるノードyすべて」はノード8となる。またノード3とノード8を結ぶリンクの分配比率は上記の通り1/2である。またF(Δθ,y)は、選択ノードであるノード8の位相付き流量であるため、ステップS401で設定したとおり1である。従って、F(Δθ,3)は以下のように更新される。同様に、F(Δθ,4)は以下のように更新される。
(Δθ,3)=0+eiΔθ×(1/2)×1=0.5eiΔθ
(Δθ,4)=0+eiΔθ×(1/2)×1=0.5eiΔθ
【0104】
図12Bは、図12Aと同様のサプライチェーンネットワーク121を対象とした場合であって、ノード8を選択ノードとしたときの各ノードの位相付き流量を例示した図である。上述したように、ノード3及び4の位相付き流量は、いずれも0.5eiΔθとなる。
【0105】
次のステップS404において、ベクトル取得部171はmをインクリメントし、ステップS402に戻って処理を行う。例えば2回目のステップS402の処理ではm=2に設定されているため、2>kであるかの判定、及び、N が空集合であるかの判定が行われる。
【0106】
例えばk=3である場合、2>kは満たされない。また図12A図12Bの例では、ノード8から上流に2段離れたノードとして、ノード3の1段上流に隣接し且つノード4の1段上流に隣接するノード1と、ノード4の1段上流に隣接するノード2が存在する。即ち、N はノード1とノード2の集合であり、空集合ではない。よってこの例ではベクトル取得部171は、ステップS402でNoと判定し、ステップS403の処理を実行する。
【0107】
この場合、N に含まれるノード1とノード2を対象として位相付き流量の更新処理が実行される。図12Aに示すように、ノード3から上流に1段離れたノードは、ノード1のみとなる。即ち、ノード3の1段上流からノード3へと流れ込むためのリンクは、ノード1とノード3を結ぶリンクの1本のみとなる。よってノード3の流量は、その全てがノード1に起因する流量となるため、分配比率は1になる。
【0108】
またノード4から上流に1段離れたノードは、ノード1とノード2の2つとなる。即ち、ノード4の1段上流からノード4へと流れ込むためのリンクは、ノード1とノード4を結ぶリンクと、ノード2とノード4を結ぶリンクの2本となる。よってノード4の流量は、その1/2がノード1に起因し、残り1/2がノード2に起因する流量となるため、分配比率はそれぞれ1/2になる。
【0109】
分配比率が決定されたら、具体的に上式(1)の計算が行われる。例えばF(Δθ,1)を求める場合、右辺第1項の更新前のF(Δθ,1)は初期値そのものとなるため0である。またN は、ノード3とノード4であり、この両方がノード1とつながるため、「Nm-1 の中でxにつながるノードyすべて」はノード3とノード4の2つとなる。またノード1とノード3を結ぶリンクの分配比率は1であり、ノード3の位相付き流量F(Δθ,3)は上述したとおり0.5eiΔθである。またノード1とノード4を結ぶリンクの分配比率は1/2であり、ノード4の位相付き流量F(Δθ,4)は上述したとおり0.5eiΔθである。従って、F(Δθ,1)は以下のように更新される。
(Δθ,1)=0+eiΔθ×{1×0.5eiΔθ+1/2×0.5eiΔθ
=0.75e2iΔθ
【0110】
またF(Δθ,2)を求める場合、右辺第1項の更新前のF(Δθ,2)は初期値そのものとなるため0である。またN は、ノード3とノード4であり、このうちノード2とつながるのはノード4のみであるため、「Nm-1 の中でxにつながるノードyすべて」はノード4の1つとなる。またノード2とノード4を結ぶリンクの分配比率は1/2であり、ノード4の位相付き流量F(Δθ,4)は上述したとおり0.5eiΔθである。従って、F(Δθ,2)は以下のように更新される。
(Δθ,2)=0+eiΔθ×{1/2×0.5eiΔθ}=0.25e2iΔθ
【0111】
以上の説明から分かるように、選択ノードからの段数が増えるごとにeiΔθが乗算されることになるため、位相がΔθずつずれている。即ち、本実施形態の手法では、選択ノードから上流にm段離れたノードの位相は、mΔθとなる。
【0112】
次のステップS404において、ベクトル取得部171はmをインクリメントし、ステップS402に戻って処理を行う。例えば3回目のステップS402の処理ではm=3に設定されているため、3>kであるかの判定、及び、N が空集合であるかの判定が行われる。
【0113】
図12A図12Bのサプライチェーンネットワーク121の例では、ノード1よりも上流のノード、及び、ノード2よりも上流のノードは存在しないため、N が空集合となる。よってステップS402でYesと判定され、図11Bに示す下流側の処理に移行する。N が空集合でなく、且つk≧3である場合には、ステップS402でNoと判定されるため、N に含まれる各ノードを対象として、位相付き流量の更新処理が実行される。即ち、本実施形態の手法では、上流側にk段分の処理が完了する、及び、それよりも上流側にノードが存在しないという条件の少なくとも一方が満たされるまで、1段ずつ上流に向かって位相付き流量を更新する処理が繰り返される。
【0114】
上流側の処理が完了した場合、図11BのステップS405において、ベクトル取得部171は、下流側ノードに関する初期化処理を実行する。以下では、選択ノードnsの下流側ノードをxとしたとしき、下流側ノードxの位相付き流量をF(Δθ,x)とする。ベクトル取得部171は、サプライチェーンネットワーク121に含まれ、且つ、選択ノードnsよりも下流側に位置する全ての下流側ノードxについて、F(Δθ,x)を0で初期化する。またベクトル取得部171は、選択ノードns自身の位相付き流量であるF(Δθ,ns)を1に設定する。また選択ノードから下流にm段離れたノードの集合をN とする。選択ノードnsから0段離れたノードは選択ノード自身となるため、N ={ns}である。またベクトル取得部171は、mを1で初期化する。
【0115】
ステップS406において、ベクトル取得部171は、m>kと、N =φの少なくとも一方が満たされるかを判定する。即ち、下流側においても上流側と同様に、k段分の処理が完了する、または、それよりも下流側にノードが存在しないという条件が満たされるまで、処理が繰り返される。
【0116】
k段分の処理が完了しておらず、且つ、下流側にノードが存在する場合(ステップS406:No)、ベクトル取得部171は、N に含まれる全てのノードxを対象として、下式(2)を用いてF(Δθ,x)を更新する。
【0117】
【数2】
【0118】
図12Aの例であれば、選択ノードであるノード8から下流に1段離れたノードは、ノード11とノード12となる。即ち、ノード8からノード8の1段下流へと流れ出るためのリンクは、ノード8とノード11を結ぶリンクと、ノード8とノード12を結ぶリンクの2本となる。よってノード8から流れ出る流量を1とした場合、当該流量が2本のリンクに所与の比率で分配されることになる。分配比率が等分である場合、ノード8からノード11への流量が1/2、ノード8からノード12への流量が1/2となる。
【0119】
分配比率が決定されたら、具体的に上式(2)の計算が行われる。例えばF(Δθ,11)を求める場合、右辺第1項の更新前のF(Δθ,11)は初期値そのものとなるため0である。またN は、ノード8のみとなるため、「Nm-1 の中でxにつながるノードyすべて」はノード8となる。またノード8とノード11を結ぶリンクの分配比率は上記の通り1/2である。またF(Δθ,y)は、選択ノードであるノード8の位相付き流量であるため、ステップS405で設定したとおり1である。従って、F(Δθ,11)は以下のように更新される。同様に、F(Δθ,12)は以下のように更新される。
(Δθ,11)=0+e-iΔθ×(1/2)×1=0.5e-iΔθ
(Δθ,12)=0+e-iΔθ×(1/2)×1=0.5e-iΔθ
【0120】
次のステップS408において、ベクトル取得部171はmをインクリメントし、ステップS406に戻って処理を行う。例えば2回目のステップS406の処理ではm=2に設定されているため、2>kであるかの判定、及び、N が空集合であるかの判定が行われる。
【0121】
図12A図12Bの例では、N に含まれるノード13及びノード14に関する処理が行われ、F(Δθ,13)及びF(Δθ,14)が更新される。処理の詳細については、以上で説明した例と同様であるため説明を省略する。なお選択ノードからの段数が増えるごとにe-iΔθが乗算されることになるため、位相が-Δθずつずれている。即ち、本実施形態の手法では、選択ノードから下流にm段離れたノードの位相は、-mΔθとなる。
【0122】
下流側にk段分の処理が完了する、及び、それよりも下流側にノードが存在しないという条件の少なくとも一方が満たされた場合(ステップS406:Yes)、ステップS409において、ベクトル取得部171は、各ノードについて求められた位相付き流量に基づいて、選択ノードのベクトル表現を決定する。
【0123】
具体的には、ベクトル取得部171は、サプライチェーンネットワーク121に含まれるn個のノードの全てについて、位相付き流量を所定順に並べたn次元複素ベクトルを、選択ノードのベクトル表現とする。
【0124】
図13は、図12A及び図12Bを用いて上述した例におけるベクトル表現を示す図である。上述したように、ここでのサプライチェーンネットワーク121は14個のノードを含むため、求められるベクトルは14次元複素ベクトルとなる。例えば14次元複素ベクトルは、ノード1~ノード14の位相付き流量をこの順に並べたベクトルである。ただし、サプライチェーンネットワーク121に含まれる複数のノードの順序はこれに限定されず、種々の変形実施が可能である。
【0125】
上述したように、ノード1~ノード4、ノード11~ノード14は選択ノードであるノード8に接続されるため、位相付き流量が更新される。従って、1~4番目、及び11~14番目の要素は0でない複素数となる。一方、ノード5~ノード7、ノード9~ノード10は更新対象とならないため位相付き流量は初期値である0のままとなる。従って、5~7番目、9~10番目の要素は0となる。8番目の要素は、ノード8自身の位相付き流量であるため1となる。
【0126】
本実施形態の手法によれば、流量そのものだけでなく、選択ノードからの段数を考慮したベクトル表現を用いることが可能になる。図13の例であれば、複素ベクトルの1番目の要素の位相が2Δθであることから、当該複素ベクトルは、ノード1が選択ノードから上流に2段離れているという情報を保持できる。同様に、3番目の要素の位相がΔθであることから、複素ベクトルは、ノード3が選択ノードから上流に1段離れているという情報を保持できる。これらの情報を保持する複素ベクトルを類似度算出等の処理に用いることによって、段数を含む情報が処理に反映されるため、処理精度を向上させることが可能になる。
【0127】
なお、上下k段までの処理を行う場合、要素となる複素数の位相は、上流側でΔθ、2Δθ、3Δθ、・・・、kΔθとなり、下流側で-Δθ、-2Δθ、-3Δθ、・・・、-kΔθとなる。位相と段数の関係を明確にするためには、これらの位相が互いに重複しないことが望ましい。例えば、k=3である場合にΔθ=π/2に設定してしまうと、e2iΔθ=e-2iΔθ=-1等の重複が発生するため、例えば上流側に2段離れていることと、下流側に2段離れていることの区別が難しくなる。よって本実施形態では、Δθはkに基づいて値が設定されてもよい。例えばΔθは、(k+1)×Δθ=πを満たす正の実数である。
【0128】
図14は、異なる構造のサプライチェーンネットワーク121の一部を例示する図である。図14において、ノード1が選択ノードとして選択され、ノード2~ノード5等の位相付き流量を求める場合を考える。
【0129】
ここでノード5は、ノード1と直接接続されるため、N に含まれるノードである。具体的には、ノード5の位相付き流量F(Δθ,5)は、N を対象とした処理により以下のように更新される。
(Δθ,5)=0+eiΔθ×(1/3)×1=(1/3)eiΔθ
【0130】
またノード5は、N に含まれるノード2から1段上流のノードであるため、N に含まれるノードである。具体的には、ノード5の位相付き流量F(Δθ,5)は、N を対象とした処理により以下のように更新される。なおノード2の位相付き流量F(Δθ,2)は(1/3)eiΔθである。
(Δθ,5)=(1/3)eiΔθ+eiΔθ×(1/2)×(1/3)eiΔθ
=(1/3)eiΔθ+(1/6)e2iΔθ
【0131】
さらにノード5は、N に含まれるノード4から1段上流のノードであるため、N に含まれるノードである。具体的には、ノード5の位相付き流量F(Δθ,5)は、N を対象とした処理により以下のように更新される。なお、ノード4の位相付き流量F(Δθ,4)は(1/6)e2iΔθである。
(Δθ,5)=(1/3)eiΔθ+(1/6)e2iΔθ
+eiΔθ×(1/2)×(1/6)e2iΔθ
=(1/3)eiΔθ+(1/6)e2iΔθ+(1/12)e3iΔθ
【0132】
以上のように、本実施形態の手法では、選択ノードから対象ノードまでの経路として、距離(段数)の異なる複数の経路が存在するネットワーク構造であったとしても、対象ノードの位相付き流量を用いて、当該ネットワーク構造を表現することが可能になる。例えば上述の例であれば、F(Δθ,5)には位相がΔθの項と、2Δθの項と、3Δθの項の3つが含まれるため、図14に示したサブネットワーク122の構造が適切にベクトル表現に反映される。
【0133】
2.3.3 類似度算出
図7のステップS204における類似度の算出処理について説明する。なお、ステップS202の処理がサプライチェーンネットワーク121に含まれる各ノードを対象として実行されることによって、各ノードのベクトル表現が求められている。
【0134】
本実施形態の類似度算出部172は、2つの複素ベクトルである第1複素ベクトルと第2複素ベクトルのエルミート内積と、第1複素ベクトルのノルムと第2複素ベクトルのノルムの積を求め、エルミート内積とノルムの積の比の実数部分に基づいて、類似度を算出してもよい。
【0135】
例えば、サプライチェーンネットワーク121に含まれるn個のノードのうち、ノードiのベクトル表現をx、ノードjのベクトル表現をxとする。i及びjは、1≦i≦n、1≦j≦n、i≠jを満たす整数である。またx及びxは、上述したとおり、それぞれがn次元複素ベクトルである。
【0136】
この場合、類似度算出部172は、下式(3)に基づいてノードiとノードjの類似度Sを求めてもよい。下式(3)において、x はxの各要素について共役複素数を取った複素共役ベクトルを表す。即ち、右辺の分子はxとxのエルミート内積を表す。また|x|及び|x|は、それぞれx及びxの大きさ(ノルム)を表す。R{}は実部を表す。
【0137】
【数3】
【0138】
なおxとxが等しい場合、上式(3)によって求められる類似度Sは1となる。また上式(3)は、実ベクトルを対象とする場合、広く用いられるコサイン類似度と一致する。換言すれば、本実施形態の手法はコサイン類似度を複素数に拡張することによって、複素ベクトル表現を用いてノード間の類似度を算出できる。
【0139】
ここで本実施形態の手法と従来手法の差異について説明する。広く用いられている埋め込み手法(ベクトル化手法)では、ノードに対して、サプライチェーンネットワークの中での他のノードとの関係の強さを実数値で表し、これを用いて実ベクトル表現をする。例えば、あるノードに対して、他のノードへの寄与度や、他のノードからの寄与度を表す重みのみを用いてベクトル表現することになる。例えば図12Aに示した流量のみを考慮してベクトル表現が求められる。
【0140】
図15Aは、本実施形態の手法により求められた2つの複素ベクトル表現であり、図15Bは、位相を考慮せずに求められた2つの実ベクトル表現である。なお、図15A及び図15Bに示した各ベクトルは、位相の有無による類似度への影響を説明するために設定した便宜的なベクトルであり、具体的なネットワーク構成は図12A図12Bの例と異なる。
【0141】
ここでは14次元ベクトルを想定している。図15Aに示すように、ベクトルの7番目及び8番目の要素を見たとき、比較対象の一方側のベクトルの絶対値は(0,1)であり、他方側のベクトルの絶対値が(1,0)となる点が相違し、1~6番目、及び9~14番目の要素の絶対値は2つのベクトル間で共通である。この点は、図15Bの比較例においても同様である。
【0142】
本実施形態の手法では、ベクトル表現の各要素が複素数であり、選択ノードからの段数に応じた位相を有する。図15Aの左側のベクトルであれば、選択ノードはノード8であり、ノード1及び2は選択ノードから上流側に2段離れており、ノード3及び4は選択ノードから上流側に1段離れている点が表現されている。またノード11及び12は選択ノードから下流側に1段離れており、ノード13及び14は選択ノードから下流側に2段離れている点が表現されている。
【0143】
これに対して、図15Aの右側のベクトルであれば、選択ノードはノード7であり、ノード1及び2は選択ノードから上流側に1段離れており、ノード3及び4は選択ノードから上流側に2段離れている。またノード11及び12は選択ノードから下流側に2段離れており、ノード13及び14は選択ノードから下流側に1段離れている。
【0144】
即ち、この例ではノード8とノード7では、ノード1~4及びノード11~14との接続関係(段数の関係)が大きく相違しているため、ノード8とノード7の類似度は低くなるべきと考えられる。その点、図15Aに示す複素ベクトル表現には当該接続関係の相違が反映されているため、上式(3)を用いてノード7とノード8の類似度Sを算出した場合、類似度は0に近い値となる。なお類似度Sの具体的な値はΔθの設定に応じて異なる。
【0145】
これに対して、図15Bに示した例では、位相が考慮されないため、仮に図15Aを用いて上述したように、ノード8とノード7で、ノード1~4及びノード11~14との段数の関係が大きく相違していたとしても、当該相違がベクトル表現に反映されない。具体的には、図15Bに示したように、7番目と8番目の要素を除いて、2つの実ベクトル表現は一致してしまう。結果として、上式(3)あるいは一般的なコサイン類似度を用いて類似度を算出した場合、類似度は1に近い大きな値となってしまう。
【0146】
以上、図15A図15Bの比較から分かるように、本実施形態の手法では段数に応じた位相を有する複素ベクトル表現を用いることによって、重みのみを考慮した場合には失われていたネットワーク構造に関する情報を、ベクトル表現に反映できる。結果として、位相を用いない場合に比べて類似度の算出精度を高くすることが可能になる。本実施形態の手法では、このようにして求められた類似度が種々の処理に利用されてもよい。例えば後述するように、提示処理において類似度が用いられてもよい。
【0147】
2.4 提示処理
図16は、図4のステップS103における提示処理の一例を説明するフローチャートである。まずステップS501において、入力受付部114は、ユーザによる操作入力を受け付ける。ここでの操作入力は、第1企業を選択する操作である。ユーザによる操作入力は、例えば端末装置200の操作部250において実行されてよい。この場合、入力受付部114は、例えば通信部130を介して、端末装置200で実行された操作入力を表す操作信号を取得する。あるいは、サーバシステム100が不図示の操作部を含み、入力受付部114は、当該操作部を用いて実行された操作入力を受け付けてもよい。その他、操作入力の受付けの具体的な態様については、種々の変形実施が可能である。
【0148】
ステップS502において、サブネットワーク抽出部112は、サブネットワーク122を抽出する。
【0149】
ステップS503において、経路抽出部113は、第2企業を特定する。経路抽出部113は、例えば、入力受付部114においてユーザから第2企業の選択操作を受け付け、受け付けた選択操作に基づいて、第2企業を特定することができる。経路抽出部113は、入力受付部114で受け付けた条件の指定に基づき、指定された条件に合致する企業を、第2企業として決定してもよい。
【0150】
ステップS504において、経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。このとき、経路抽出部113は、特定の条件としての最短経路により構成される経路群を抽出する。
【0151】
ステップS505において、提示処理部115は、抽出された経路群を提示する処理を行う。例えば、提示処理部115は、抽出された経路群を含む表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。端末装置200は、受信した表示画面を表示部240に表示する。ユーザは、表示部240に表示された画面を参照することにより、抽出された経路群を確認することができる。
【0152】
ユーザは、表示部240に表示された経路群について、再描画を希望する場合、例えば端末装置200の操作部250において、再描画に関する操作入力を行う。
【0153】
ステップS506において、入力受付部114は、ユーザによる再描画に関する操作入力を受け付ける。例えば、入力受付部114は、通信部130を介して、端末装置200の操作部250で実行された操作入力を表す操作信号を取得することにより、再描画に関する操作入力を受け付ける。
【0154】
ステップS507において、再描画部116は、入力受付部114で受け付けた再描画に関する操作入力に基づいて、経路群を再描画する。具体的には、再描画部116は、再描画に関する操作入力に基づいて、削除処理、ノード追加処理、または、代替経路算出処理を実行する。
【0155】
ステップS508において、提示処理部115は、再描画された経路群を提示する処理を行う。例えば、提示処理部115は、再描画された経路群を含む表示画面を生成し、通信部130を介して当該表示画面を端末装置200に送信する処理を行う。端末装置200は、受信した表示画面を表示部240に表示する。ユーザは、表示部240に表示された画面を参照することにより、再描画された経路群を確認することができる。以下、各ステップの処理について詳細に説明する。
【0156】
2.4.1 サブネットワークの抽出
図16のステップS502におけるサブネットワーク122の抽出処理について説明する。サプライチェーンに関する分析では、所定の第1企業に着目し、当該第1企業に関するネットワークを分析することが重要である。しかし、サプライチェーンネットワーク121は、例えば公開情報に基づいて取得されるネットワークであるため、多数のノードやリンクを含む。そのため、サプライチェーンネットワーク121は、第1企業と無関係のノードやリンクを含んでいる可能性がある。
【0157】
本実施形態では、図16のステップS501に示したように、入力受付部114が、ユーザによる第1企業の選択操作を受け付ける。この処理は、例えば、分析を行おうとするユーザが具体的な企業名を入力してもよい。あるいは入力受付部114は、産業分類や製品等の情報を受け付け、それらを検索キーとする検索処理を行うことによって、第1企業の候補を提示する処理を行ってもよい。ユーザは、提示された候補から第1企業を選択し、入力受付部114は選択入力を受け付ける。
【0158】
サブネットワーク抽出部112は、入力受付部114が受け付けた操作入力に基づいて、第1企業に関するサブネットワーク122を、サプライチェーンネットワーク121から抽出する処理を行う。
【0159】
具体的な処理は、入力受付部114が受け付けた選択入力に基づいて、第1企業が特定され、当該第1企業が企業Aとなる点を除いて、図8を用いて上述した例と同様である。例えば、第1企業の企業名が取得された場合、サブネットワーク抽出部112は、当該企業名と、サプライチェーンネットワーク121の各ノードに対応付けられた企業名との比較処理に基づいて、第1企業を特定する処理を行う。
【0160】
具体的には、サブネットワーク抽出部112は、第1企業を企業Aとし、Si(A)に含まれる各企業に何かを売っている企業を企業Si+1(A)に追加する処理を、Si+1(A)が空集合となるまで繰り返すことによって、第1企業の上流側サブネットワークを求める。上流側サブネットワークは、第1企業と直接的または間接的に接続される企業を表すノードからなる有向グラフである。このようにすれば、サプライチェーンネットワーク121のうち、第1企業に関連する部分を適切に抽出することが可能になる。上流側サブネットワークは、第1企業のサプライチェーンに含まれる企業や、各企業と第1企業との具体的な接続関係を特定可能な情報であるため、第1企業のサプライチェーンの分析において有用な情報である。
【0161】
同様にサブネットワーク抽出部112は、第1企業を企業Aとし、S’i(A)に含まれる各企業から何かを購入している企業を企業S’i+1(A)に追加する処理を、S’i+1(A)が空集合となるまで繰り返すことによって、第1企業の下流側サブネットワークを求める。
【0162】
なお第1企業のサブネットワーク122を抽出する際にも、探索範囲を表す値k’が設定されてもよい。このようにすれば、探索範囲を限定できるため、処理負荷の軽減が可能である。ただし、類似度算出処理においては、選択ノード近傍のネットワーク構造を複素ベクトルとして表現できればよいため、kを相対的に小さい値にすることで探索範囲から外れるノードが生じても問題となりにくい。一方、ユーザが関心を持っている第1企業のサブネットワーク122を抽出する場合、第1企業が不適切な企業とつながっているかは大きな問題であるため、第1企業と不適切な企業の距離が大きくても当該不適切な企業を漏れなく発見することが望ましい。よってkとk’を比較した場合、k<k’であってもよい。あるいは第1企業のサブネットワーク122の抽出においてはk’が設定されず、Si+1(A)が空集合となるまで探索が継続されてもよい。
【0163】
2.4.2 経路群の抽出
図16のステップS504に対応する経路群の抽出処理について説明する。経路抽出部113は、第1企業を示すノードと第2企業を示すノードとが1以上のリンクによって繋がれた経路を1以上含む、経路群を抽出する。
【0164】
例えば、サブネットワーク抽出部112により抽出されたサブネットワーク122が、上流側サブネットワークであるとする。この場合、第2企業として、第1企業の上流側の企業が選択される。経路抽出部113は、例えば図9に示すサブネットワーク122において、第2企業を示すノードから第1企業を示すノードまでの、1以上のリンクによって繋がれた経路を抽出する。
【0165】
本実施形態では、このとき、経路抽出部113は、特定の条件としての最短経路により構成される経路群を抽出する。例えば、経路抽出部113は、まず、第2企業を示すノードから第1企業を示すノードまでの、1以上のリンクによって繋がれた全ての経路を抽出する。経路抽出部113は、抽出した経路のそれぞれについて、経路に含まれるリンクの数を算出する。経路抽出部113は、リンクの数が最も少ない1以上の経路を抽出し、抽出した経路を、経路群として決定する。このようにして、経路抽出部113は、1以上の経路を含む経路群を抽出することができる。抽出された経路群は、ステップS505の処理によって、例えば表示部240に表示される。
【0166】
図17は、経路群の抽出について説明する模式図である。図17では、ノード内に、そのノードにより示される企業が記載されている。例えば、企業A1を示すノードには、ノード内に「A1」と記載されている。また、図17では、ノード内に、そのノードに付与された産業分類が、括弧により記載されている。例えば、企業A1を示すノードに、産業分類IC6が付与されている場合、ノード内に「(IC6)」と記載されている。この表記の方法は、ノードを含む他の図においても同様である。ただし、図によっては、産業分類の表記を省略している場合もある。
【0167】
図17は、第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」とも表記する。
【0168】
経路抽出部113は、これらの4つの経路のうち、特定の条件を満たす経路、つまり最短経路を抽出する。最短経路は、各経路が有するリンクの数に基づいて定めることができる。例えば、第1経路は3つのリンクを有し、第2経路は2つのリンクを有し、第3経路は2つのリンクを有し、第4経路は3つのリンクを有する。従って、リンクの数が最も少ない経路は、2つのリンクを有する第2経路と第3経路である。従って、ここでの例では、経路抽出部113は、第2経路及び第3経路を、経路群として抽出する。
【0169】
このようにして抽出された経路群は、ステップS505の処理によって、例えば表示部240に表示される。ここでの例では、A2、A5、A1の順でノードをたどる第2経路と、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示される。
【0170】
なお、図17では、抽出されて表示部240に表示される経路については、リンク及びノードを実線で示している。一方、サブネットワーク122には含まれるが、例えば特定の条件を満たさないなどの理由で抽出されずに、表示部240に表示されない経路については、リンク及びノードを破線で示している。図面では、以下、同様の方法で、表示されるリンク及びノードと、表示されないリンク及びノードとを区別する。
【0171】
また、ここでは、最短経路がリンクの数に基づいて決定される場合について説明したが、最短経路は、各経路のノードの数に基づいて決定されてもよい。
【0172】
2.4.3 削除処理
図16のステップS507に対応する経路群の再描画に関する処理のうち、削除処理について説明する。再描画部116の削除処理部161は、入力受付部114において、削除処理を実行するための操作入力を受け付けた場合、削除処理を実行する。
【0173】
削除処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群における特定のノードを削除させる操作入力である。例えば、経路抽出部113により、図17で説明した経路群が抽出されていたとする。この場合、上述のように、A2、A5、A1の順でノードをたどる第2経路と、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示されている。ユーザは、表示部240に表示されたノードのうち、特定のノードを削除させることを希望する場合、当該特定のノードを削除させる操作入力を実行する。このように特定のノードを削除させる操作入力は、本実施形態において、削除処理を実行するための操作入力に相当する。ユーザは、例えば、サプライチェーン上に表示されたノードのうち、特定の企業を示すノードが現実には存在しえないと考えた場合、当該特定の企業を示すノードを削除させる操作入力を行う。
【0174】
図18は、特定のノードを削除させる操作入力について説明する模式図である。ここでは、一例として、ユーザは、企業A5を示すノードを削除させることを希望しているとする。この場合、ユーザは、ノードA5に対して、所定の処理を実行するための入力を行う。例えば、ユーザは、表示部240に表示されているノードA5上にカーソルを移動させ、その状態でマウスをクリックする。すると、例えば図18に示すように、ノードA5を削除するためのコマンドが表示される。ユーザが、ノードA5を削除するためのコマンドを選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。
【0175】
入力受付部114において、特定のノード(ここではノードA5)を削除させる操作入力が受け付けられると、再描画部116の削除処理部161は、削除処理を実行する。具体的には、削除処理部161は、サブネットワークにおいて、第1企業A1を示すノードと第2企業A2を示すノードとが1以上のリンクによって繋がれた経路であって、特定のノードを通らない経路により構成される経路群を再描画する。このとき、削除処理部161は、経路抽出部113と同様に、特定の条件を満たす経路を抽出することにより、再描画を行ってよい。つまり、ここでの例では、削除処理部161は、特定の条件である最短経路を抽出することにより、再描画を行ってよい。
【0176】
図19は、削除処理による再描画の結果を示す模式図である。ここでの例では、ノードA1とノードA2とがリンクによって繋がれた経路であって、ノードA5を通らない最短経路は、A2、A6、A1の順でノードをたどる第3経路である。従って、図19に示すように、削除処理部161は、A2、A6、A1の順でノードをたどる第3経路を再描画する。再描画において、A2、A5、A1の順でノードをたどる第2経路は、抽出されない。削除処理部161は、再描画した経路を、表示部240に表示させる(図16のステップS508)。この場合、図19に示すように、A2、A6、A1の順でノードをたどる第3経路のみが、表示部240に表示される。
【0177】
図20は、削除処理の他の一例を説明する模式図である。具体的には、図20は、サブネットワーク抽出部112により抽出されたサブネットワーク122と、経路抽出部113により抽出された経路群の他の一例を示している。図20に示す例では、ノードA6が存在しないことを除き、図17に示す例と同じである。すなわち、図20に示す例では、サブネットワーク122は、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A5、A1の順でノードをたどる第2経路と、A2、A7、A8、A1の順でノードをたどる第4経路とを含む。これらの3つの経路のうち、最短経路である第2経路のみが、経路群として抽出され、表示部240に表示されている。
【0178】
この状態で、ユーザがノードA5を削除させる操作入力を行ったとする。入力受付部114において、ノードA5を削除させる操作入力が受け付けられると、削除処理部161は、サブネットワークにおいて、第1企業A1を示すノードと第2企業A2を示すノードとが1以上のリンクによって繋がれた経路であって、ノードA5を通らない経路により構成される経路群を再描画する。図20に示す例では、ノードA5を通らない経路は、第1経路と第4経路である。そのため、削除処理部161は、削除処理部161は、例えば図21に示すように、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A7、A8、A1の順でノードをたどる第4経路とを、再描画する。再描画された、第1経路及び第4経路により構成される経路群は、表示部240に表示される。
【0179】
なお、第1経路及び第4経路は、いずれも3つのリンクにより構成されている。しかしながら、仮にいずれかの経路が4つ以上のリンクにより構成されている場合には、第1経路と第4経路とのうち、リンクの数がより少ない、最短経路のみが再描画されてよい。
【0180】
削除処理を実行するための操作入力は、例えば産業分類を指定することにより行われてもよい。図22は、削除する産業分類を指定するための入力画面の一例を示す図である。上述したように、各ノードには、ノードが示す企業の産業分類が付与されている。ここでは、産業分類は、図22に示すように、IC1、IC2、IC3、IC4・・・のように示す。例えば図17に括弧を用いて示しているように、ノードA1には産業分類IC6が付与されており、ノードA2には産業分類IC1が付与されており、ノードA3には産業分類IC2が付与されており、ノードA4及びA8には産業分類IC5が付与されており、ノードA5及びA6には産業分類IC3が付与されており、ノードA7には産業分類IC4が付与されているとする。
【0181】
ユーザは、表示部240に表示された経路群において、特定の産業分類が付与されたノードを削除させることを希望する場合、当該特定の産業分類が付与されたノードを削除させる操作入力を実行する。このように特定の産業分類が付与されたノードを削除させる操作入力は、本実施形態において、削除処理を実行するための操作入力に相当する。ユーザは、例えば、サプライチェーン上に表示されたノードのうち、特定の産業分類が付与されたノードが示す企業が、現実の取引におけるサプライチェーン上には存在しえないと考えた場合、当該特定の産業分類が付与されたノードを削除させる操作入力を行う。
【0182】
ここでは、一例として、ユーザは、産業分類IC3が付与されたノードを削除させることを希望しているとする。この場合、ユーザは、削除させる産業分類を入力する画面を表示させるための操作入力を行う。この操作入力により、例えば、図22に示すラジオボタンが、表示部240に表示される。ユーザは、ラジオボタンにおいて、削除させる産業分類IC3を選択する操作入力を行う。ユーザが、削除させる産業分類を選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。当該操作入力が受け付けられると、削除処理部161により削除処理が実行される。なお、削除させる産業分類の選択は、必ずしもラジオボタンにより行われなくてよい。削除させる産業分類の選択は、他の任意の方式により入力されてよい。
【0183】
図23は、産業分類により削除するノードが特定される場合における、削除処理を説明するフローチャートである。
【0184】
まず、ステップS601において、削除処理部161は、サブネットワーク122において、ユーザにより選択された、特定の産業分類IC3が付与されたノードを特定する。例えば、図17に示す例では、削除処理部161は、特定の産業分類IC3が付与された、ノードA5及びA6を特定する。
【0185】
そして、ステップS602において、削除処理部161は、ステップS601で特定したノード、つまりノードA5及びA6を通らない経路群を再描画する。図17に示す例では、サブネットワーク122において、A5及びA6を通らない経路群として、A2、A3、A4、A1の順でノードをたどる第1経路と、A2、A7、A8、A1の順でノードをたどる第4経路とにより構成される経路群が、再描画される。これにより、例えば図24に示すように、第1経路と第4経路により構成される経路群が再描画される。再描画された、第1経路及び第4経路により構成される経路群は、表示部240に表示される。
【0186】
なお、第1経路及び第4経路は、いずれも3つのリンクにより構成されている。しかしながら、仮にいずれかの経路が4つ以上のリンクにより構成されている場合には、第1経路と第4経路とのうち、リンクの数がより少ない、最短経路のみが再描画されてよい。
【0187】
このように、削除処理を行うことにより、特定のノードを通らない経路群が再描画される。再描画された経路群には、特定のノードが表示されない。そのため、サーバシステム100は、ユーザが経路群に表示させることを希望しない企業のノードを表示しないように、経路群を再描画することができる。例えば、サーバシステム100は、ユーザの操作入力に基づき、現実のサプライチェーンを構成しない企業を、経路群から削除することができる。これにより、より正確に、現実のサプライチェーンを反映した経路群を生成し、表示部240に表示することができる。
【0188】
なお以上では、いずれかのノードが削除された場合に、経路群のうちの最短経路を再描画する例を説明した。ただし本実施形態の処理はこれに限定されず、上述した手法により求められる類似度に基づいて、削除後の経路群が表示されてもよい。
【0189】
例えば操作入力が、経路群に含まれるノードのいずれかを削除する操作入力である場合に、再描画部116は、削除対象であるノードとの類似度が所定閾値以上である代替ノードを含む経路群を再描画してもよい。このようにすれば、削除ノードとの類似度合いが高いノードを含む経路群が再描画の対象となる。よって、削除処理が行われる場合にも、削除前と特性(ネットワーク構造等)が近い経路群を再描画することが可能になる。
【0190】
例えば、削除処理部161は、第1企業に対応するノードと、第2企業に対応するノードを結ぶ経路群に含まれる削除対象ノード以外のノードを代替候補ノードとして決定する。そして削除処理部161は、代替候補ノードのそれぞれについて削除対象ノードとの類似度を求め、類似度が最大となる代替候補ノードを代替ノードとする。
【0191】
図17の例であれば、ノードA5を削除する操作入力が行われた場合、削除処理部161は、ノードA3~A4、ノードA6~A8を代替候補ノードとして選択し、それぞれとノードA5との類似度を取得する。なお、ノード間の類似度は図4及び図7を用いて上述したように予め算出されていてもよい。あるいは各ノードのベクトル表現のみが予め求められており、類似度の算出は再描画の際に実行されてもよい。また、再描画の際に各ノードのベクトル表現の算出、類似度の算出が逐次実行されてもよい。
【0192】
そして削除処理部161は、ノードA5との類似度が最大となるノードを代替ノードとして選択し、当該代替ノードを含む経路群を再描画の対象とする。例えば、ノードA3又はノードA4が代替ノードである場合、A2、A3、A4、A1の順でノードをたどる第1経路が再描画される。またノードA6が代替ノードである場合、A2、A6、A1の順でノードをたどる第3経路が再描画される。またノードA7又はノードA8が代替ノードである場合、A2、A7、A8、A1の順でノードをたどる第4経路が再描画される。ただし、代替ノードは1つに限定されず、所定数のノードが代替ノードとして選択されてもよいし、類似度が所定閾値以上となる全てのノードが代替ノードとして選択されてもよい。また再描画の対象となる経路も1つに限定されず、複数の経路を含む経路群が再描画されてもよい。
【0193】
2.4.4 ノード追加処理
図16のステップS507に対応する経路群の再描画に関する処理のうち、ノード追加処理について説明する。再描画部116のノード追加部162は、入力受付部114において、ノード追加処理を実行するための操作入力を受け付けた場合、ノード追加処理を実行する。ノード追加処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群に含まれない企業のノードを、経路群に含まれるノードのいずれかとリンクで接続することにより、経路群に追加ノードを追加する操作入力である。
【0194】
本実施形態では、再描画部116は、追加ノード(後述するノードY)とリンクで接続されうる候補ノード(後述するノードZ)を抽出し、候補ノードのうち、類似度によって選択されるいずれかを追加ノードとリンクで接続することにより、追加ノードを含む経路群を再描画してもよい。このようにすれば、類似度に応じて適切なノードを用いて追加ノードを含む経路群を再描画できる。
【0195】
具体的には、再描画部116は、候補ノードと、サプライチェーンネットワーク121に含まれる他のノードとの類似度に基づいて、追加ノードを当該候補ノードと接続した場合に構成される仮想の局所グラフ(後述するGV(Z))のサプライチェーンネットワーク122における出現のしやすさを示す指標を算出してもよい。そして再描画部116は、当該指標に基づいて、候補ノードから追加ノードと接続されるノードを決定する。本実施形態の類似度は複素ベクトル表現を用いて求められるものであり、複素ベクトル表現は上述したように、選択ノードからの段数に応じた位相を含むため、具体的なネットワーク構造を反映した情報となる。即ち、複素ベクトル表現に基づく類似度を用いることによって、仮想の局所グラフGV(Z)と既存のグラフ構造を適切に比較できるため、よりサプライチェーンネットワーク121に出現しやすい局所グラフGV(Z)を追加することが可能になる。以下、ノード追加処理について具体的に説明する。
【0196】
図25は、ノード追加処理について説明する模式図である。図25には、経路抽出部113により抽出された経路群が示されている。図25に示す例では、ノードA2からノードA1までの最短経路として抽出された経路群のみが示されており、サブネットワーク122に含まれるが最短経路ではない経路については、図示されていない。具体的には、図25には、A2、A3、A4、A5、A1の順でノードをたどる第5経路と、A2、A3、A4、A6、A1の順でノードをたどる第6経路と、A2、A3、A7、A8、A1の順でノードをたどる第7経路と、が示されている。
【0197】
この経路群について、ユーザは、企業Yを示すノードを経路群に追加することを希望しているとする。また、ユーザは、企業Yが企業A1に取引製品を提供(売却)していることを知っているとする。この場合、ユーザは、企業Yを示すノードを経路群に追加させる操作入力を実行する。このように新たなノードを追加させる操作入力は、本実施形態において、ノード追加処理を実行するための操作入力に相当する。ユーザは、例えば、自身が所属する企業と直接の取引がある企業が、経路群に現れていない場合、当該取引がある企業を示すノードを追加させる操作入力を行う。具体的には、企業Yが元のデータベースに存在していない場合などが想定される。
【0198】
図26は、新たなノードを追加させる操作入力について説明する模式図である。ここでは、一例として、ユーザは、企業Yを示すノードを追加させることを希望しているとする。この場合、ユーザは、企業Yを示す追加ノードYを経路群に追加するための入力を行う。例えば、ユーザは、表示部240に表示されている経路群において、ノードが存在しない位置にカーソルを移動させ、その状態でマウスをクリックする。すると、例えば図26に示すように、追加ノードを追加するためのコマンドが表示される。ユーザが、追加ノードを追加するためのコマンドを選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。このとき、入力受付部114は、追加ノードに付与される産業分類の入力を受け付けてもよい。本実施形態では、入力受付部114は、追加ノードに付与される産業分類の入力も受け付けてもよい。
【0199】
また、ユーザは、経路群に含まれるノードのうち、追加ノードYをリンクで接続させるノードを選択する操作入力を行う。ここでは、図26に示すように、追加ノードYが、ノードA1とリンクで接続させるという操作入力が行われたとする。
【0200】
入力受付部114において、追加ノード(ここではノードY)を追加させる操作入力が受け付けられると、再描画部116のノード追加部162は、ノード追加処理を実行する。具体的には、ノード追加部162は、追加ノードとリンクで接続されうるノードの候補である候補ノードのうちのいずれかを追加ノードとリンクで接続することにより、追加ノードを含む経路群を再描画する。ノード追加部162は、例えば類似度に基づいて、候補ノードから描画候補ノードを抽出し、当該描画候補ノードに関する情報を表示部240に表示させる。例えば、ノード追加部162は、抽出した描画候補ノードが示す企業名を表示部240に表示させる。ノード追加部162は、表示部240に表示された描画候補ノードが示す企業のうち、ユーザの操作入力により選択された企業のノードを、追加ノードとリンクで接続する。
【0201】
図27は、ノード追加処理を説明するフローチャートである。すなわち、図27は、図16のステップS507に対応する経路群の再描画に関する処理のうち、ノード追加処理の一例を示すフローチャートである。図27に示す処理は、入力受付部114において、ノードYを追加させる操作入力を受け付けた場合に実行される。
【0202】
図27のフローにおいて、再描画部116のノード追加部162は、サプライチェーンネットワーク121における、追加ノードをサプライチェーンネットワーク121に含まれる1つのノードと接続した場合に構成される仮想の局所グラフGV(Z)の、サプライチェーンネットワーク121における出現のしやすさを算出する。
【0203】
出現のしやすさは、複素ベクトル表現を用いて算出される類似度に基づいて求められる。上述したように、本実施形態の複素ベクトル表現では、各要素が選択ノードからの段数に応じた位相を含む複素数となるため、具体的なネットワーク構造に関する情報を保持している。そのため、サプライチェーンネットワーク121に含まれる各ノードと、処理対象ノードの類似度をそれぞれ求めた場合に、類似度が所定以上となるノード数が多い場合、処理対象ノードと同様のネットワーク構造(即ち局所グラフGV(Z))がサプライチェーンネットワーク121に頻繁に現れると考えられる。逆に、類似度が所定以上となるノード数が少ない場合、処理対象ノードと同様のネットワーク構造はサプライチェーンネットワーク121に出現しにくい。
【0204】
例えば、ノード追加部162は、ステップS701及びステップS702により、仮想の局所グラフGV(Z)のサプライチェーンネットワーク121における出現のしやすさを算出する。
【0205】
具体的には、まず、ステップS701において、ノード追加部162は、追加ノードYを挿入する際に、追加ノードYの上流に隣接する端点となるノードZの候補(候補ノード)を全て特定する。ここで、候補ノードは、サプライチェーンネットワーク121に含まれるすべてのノードであってもよいし、特定の条件を満たすノードであってもよい。特定の条件は、適宜定めることができ、例えば、特定の産業分類が付与されたノードとしたり、特定の所在地に位置する企業を示すノードとしたりすることができる。特定の条件は、例えばユーザにより入力されてよい。
【0206】
またステップS701において、ノード追加部162は、各候補ノードZのベクトル表現を求める。ここでのベクトル表現は、仮想の局所グラフGV(Z)を表す情報となる。仮想の局所グラフGV(Z)とは、追加ノードYと、追加ノードYに接続されると選択されたノードA1と、候補ノードZに対する局所グラフG(Z)と、を使って構成するグラフである。局所グラフG(Z)は、サプライチェーンネットワーク121において、候補ノードZを端点とするネットワークの一部であり、候補ノードZを端点とし、距離dまで離れたノードにより構成される。ここで、dは、適宜定められる1以上の整数であり、上流側を考える場合、候補ノードZから上流側へ、下流側を考える場合、候補ノードZから下流側へ数える。ここでのdは、図11A図11Bを用いて上述したkと同じであってもよいし、異なってもよい。仮想の局所グラフGV(Z)は、局所グラフG(Z)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想的な局所グラフである。
【0207】
図28A及び図28Bは、局所グラフの一例を示す図である。具体的には、図28Aは、ノードB1を端点とし、上流側に距離dまで離れたノードにより構成される局所グラフG(B1)の一例を示すグラフである。図28Bは、ノードB2を端点とし、上流側に距離dまで離れたノードにより構成される局所グラフG(B2)の一例を示すグラフである。ここでは、いずれも距離d=2の局所グラフを示している。局所グラフG(B1)及びG(B2)は、いずれもサプライチェーンネットワーク121に含まれる局所グラフである。図28A及び図28Bでは、それぞれノードB1及びノードB2を端点とする局所グラフのみを示しているが、候補ノードは、ノードB1及びB2に限られない。
【0208】
図29A及び図29Bは、仮想の局所グラフGV(Z)の一例を示す図である。具体的には、図29Aは、図28Aに示す局所グラフG(B1)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想の局所グラフGV(B1)を示す図である。図29Bは、図28Bに示す局所グラフ(B2)と、追加ノードYと、追加ノードYに接続すると選択されたノードA1とをリンクにより接続した、仮想の局所グラフGV(B2)を示す図である。図29A及び図29Bに示すように、仮想の局所グラフでは、候補ノードB1又はB2と追加ノードYとが、リンクにより接続されており、追加ノードYとノードA1とが、リンクにより接続されている。
【0209】
例えばサブネットワーク抽出部112は、候補ノードZの上流側にd段まで離れたノードにより構成される局所グラフGを求め、さらに候補ノードZの下流側直下にノードYを追加し、且つ、ノードYの下流側直下にノードA1を追加したサブネットワーク122を抽出してもよい。ベクトル取得部171は、当該サブネットワーク122を対象として図11A図11Bに示した処理を行うことによって、候補ノードZのベクトル表現を求める。ここでの候補ノードZのベクトル表現は、仮想の局所グラフGV(Z)をベクトル化したものに相当する。
【0210】
なおサブネットワーク抽出部112は、候補ノードZの上流側にd段まで離れたノード、及び候補ノードZの下流側にd段まで離れたノードにより構成される局所グラフG’を求め、当該局所グラフG’にノードY及びノードA1を追加することによってサブネットワーク122を抽出してもよい。即ち、仮想の局所グラフGV(Z)の具体的な構成、及びそのベクトル表現については種々の変形実施が可能である。
【0211】
ノード追加部162は、ステップS702において、出現のしやすさpを算出する。ここでは、ノード追加部162は、仮想の局所グラフに対応する候補ノードZのベクトル表現と、サプライチェーンネットワーク121に含まれる各ノードのベクトル表現の類似度に基づいて、出現のしやすさpを算出する。
【0212】
具体的には、ノード追加部162は、ステップS701で選択した全ての候補ノードZに対して、「仮想の局所グラフGV(Z)のサプライチェーンネットワーク121における出現のしやすさp」として、「サプライチェーンネットワーク121内に存在するノードであって、候補ノードZとδ以上の類似度を持つノードの数p」を計算する。ここで、所定基準としての閾値δは、出現のしやすさの算出方法などに基づき、適宜定められてよい。ノード追加部162は、ノードZとδ以上の類似度を持つと判定されたp個のノードについて、各ノードの類似度の平均類似度をsとして、三項組{Z,p,s}をリストP(Y)に加える。なお、リストP(Y)は、予め空集合として初期化されている。
【0213】
仮想の局所グラフGV(Z)について、ステップS702で算出したサプライチェーンネットワーク121における出現のしやすさpが大きいほど、仮想の局所グラフGV(Z)はサプライチェーンネットワーク121に頻出する傾向があり、サプライチェーンネットワーク121に現れうるもっともらしい局所グラフであると言える。S702では、サプライチェーンネットワーク121における出現のしやすさpを、候補ノードZとの類似度がδ以上となるノードの数pとしているが、仮想の局所グラフGV(Z)に順序をつける方法は、算出可能な他の指標を用いる方法でもよい。
【0214】
また、二つの仮想の局所グラフGV(Z1)とGV(Z2)とのもっともらしさを比べる方法として、仮想の局所グラフGV(Z1)とGV(Z2)との出現のしやすさpが等しいとき、類似度の平均値を比べてもよいし、類似度の最大値を比べてもよい。二つの仮想の局所グラフのもっともらしさを比べる方法は、さまざま存在するため、必ずしもここで説明した方法に限定されない。
【0215】
なお、候補ノードZとの類似度算出の対象となるノードは、サプライチェーンネットワーク121に含まれる全てのノードであってもよいし、一部のノードであってもよい。例えば、図29A図29Bの例では、ノードYの産業分類がIC1であり、ノードA1の産業分類がIC9である。よってノード追加部162は、サプライチェーンネットワーク121に含まれるノードのうち、1段下流側に産業分類がIC1のノードが接続され、当該ノードのさらに1段下流側にIC9のノードが接続されるノードを、候補ノードZとの類似度算出の対象としてもよい。その他、候補ノードZとの類似度算出の対象となるノードは種々の手法により決定可能である。
【0216】
ノード追加部162は、出現のしやすさpに基づいて選択された1又は複数の候補ノードを、描画候補ノードとして決定する。例えば、ノード追加部162は、複数の描画候補ノードのうち、ユーザが選択したノードを含む経路群の再描画を行ってもよい。
【0217】
具体的には、ステップS703において、ノード追加部162は、リストP(Y)が空集合であるか否かを判定する。つまり、ノード追加部162は、リストP(Y)に、少なくとも1つの企業と出現のしやすさと平均類似度の三項組{Z,p,s}が記録されているか否かを判定する。
【0218】
ノード追加部162は、リストP(Y)が空集合である場合、つまりリストP(Y)に企業と出現のしやすさと平均類似度の三項組が1つも記録されていない場合(ステップS703:Yes)、ステップS704において、閾値δの値を変更する。閾値δの値は、リストP(Y)が空集合とならないように変更される。従って、例えばここでは、閾値δの値が低くなるように変更される。閾値δの値の変更幅は、類似度の算出方法などの条件に基づいて、適宜定められてよい。ノード追加部162は、ステップS704で閾値δの値を変更した場合、上述したステップS702の処理を実行する。
【0219】
ノード追加部162は、リストP(Y)が空集合でない場合、つまりリストP(Y)に企業と出現のしやすさと平均類似度の三項組が少なくとも1つ記録されている場合(ステップS703:No)、リストP(Y)に含まれる企業Zに対応するノードを描画候補ノードとする。ノード追加部162は、ステップS705において、リストP(Y)に含まれる三項組{Z,p,s}のうち、企業Z又は企業Zに平均類似度sなどの付加情報を加えたものを表示部240に表示させる。このとき、ノード追加部162は、企業Z又は企業Zに平均類似度sなどの付加情報を加えたものを、出現のしやすさpの高い順に表示させる。複数の企業の出現のしやすさpが等しい場合、ノード追加部162は、平均類似度sが高い順に表示部240に表示させる。つまり、ノード追加部162は、追加ノードYとリンクで接続される描画候補ノードの企業Zを、表示部240に表示させる。
【0220】
図30は、描画候補ノードが示す企業の表示例を示す図である。図30に示すように、描画候補ノードが示す企業は、例えばラジオボタンにより表示されてよい。描画候補ノードが示す企業は、例えば出現のしやすさpの高い順に、出現のしやすさpが等しい場合は平均類似度sが高い順に表示されてよい。また、図30に示すように、描画候補ノードが示す企業とともに、描画候補ノードに付与された産業分類が表示されてもよい。また、ノード追加部162は、出現のしやすさpの代わりに、出現のしやすさpの全体ノード数に対する割合を指標として用い、当該指標が高い順に企業Zを表示してもよい。また、ノード追加部162は、企業Zとともに又は企業Zに代えて、平均類似度sなどの付加情報を加えたものを表示してもよい。
【0221】
ユーザは、ラジオボタンにおいて、追加ノードYとリンクで接続させるノードの企業を選択する操作入力を行う。ここでは、企業B25が選択されたとする。ユーザが、選択する操作入力を行うと、入力受付部114により当該操作入力が受け付けられる。なお、追加ノードYとリンクで接続させるノードの企業の選択は、必ずしもラジオボタンにより行われなくてよい。追加ノードYとリンクで接続させるノードの企業の選択は、他の任意の方式により入力されてよい。
【0222】
入力受付部114により上記操作入力が受け付けられると、ステップS706において、ノード追加部162は、選択された企業B25を示すノードと、追加ノードYとをリンクで接続する。
【0223】
そして、ステップS707において、ノード追加部162は、追加ノードYを含む経路群を再描画する。具体的には、ノード追加部162は、ノードA2から、選択されたノードB25と追加ノードYとを経由して、ノードA1まで、リンクで接続された経路を含む経路群を抽出する。このとき、ノード追加部162は、サプライチェーンネットワーク121に基づいて、ノードA2からノードB25までリンクで接続される経路を抽出してよい。ノード追加部162は、特定の条件を満たすノードA2からノードB25までの経路を抽出してよい。例えば、ノード追加部162は、ノードA2からノードB25までの最短経路を抽出してよい。
【0224】
図31は、ノード追加処理による再描画の結果を示す模式図である。図31に示すように、ノードA2からノードB25までは、抽出された経路としてリンクで接続される。図31に示す例では、サプライチェーンネットワーク121において、ノードA2は、ノードA9を経由して、ノードB25とリンクで接続されているため、ノードA2、A9、B25の順にリンクで接続されている。また、選択されたノードB25から追加ノードYは、ユーザによってノードB25が選択されたことに基づいて、リンクで接続される。さらに、追加ノードYからノードA1は、ユーザが追加ノードYをノードA1とリンクで接続させるという操作入力を行ったことに基づいて、リンクで接続される。このようにして、ノード追加部162は、例えば図31に示すように、再描画の結果を生成できる。
【0225】
ステップS708で再描画された経路群は、提示処理部115の処理に基づき、表示部240に表示される(図16のステップS508)。
【0226】
なお、提示処理部115は、図27のステップS706で選択された企業のノードと、追加ノードYとを接続するリンクを、他のリンクと異なる態様で提示させてよい。ここでは、図27のステップS706で選択された企業のノードは、ノードB25である。そのため、提示処理部115は、例えば図31に示すように、ノードB25と追加ノードYとを接続するリンクを、他のリンクと異なる態様で提示させてよい。リンクの提示態様は、ユーザが認識可能な任意の態様であってよい。図31では、ノードB25と追加ノードYとを接続するリンクは、他のリンクと異なり、二重線を用いた矢印で示されている。ただし、ノードB25と追加ノードYとを接続するリンクの提示態様は、これに限られない。
【0227】
ノード追加処理を行うことにより、ユーザは、サプライチェーンネットワーク121に含まれないノードを含む経路群を再描画させることができる。これにより、例えば公開情報では得られない企業間の取引関係の情報をユーザが有している場合、経路群に当該取引関係の情報を反映させることができる。
【0228】
また、ノード追加処理では、候補ノードから、類似度に基づいて選択された描画候補ノードが表示され、ユーザは、表示された描画候補ノードが示す企業から、追加ノードと接続するノードを選択する。即ち、追加ノードと接続するノードは、各ノードを含むサブネットワーク122(仮想の局所グラフGV(Z))の構造を考慮して決定される。そのため、再描画により、現実の取引関係を示す経路である可能性が高い経路が描画される。これにより、ユーザは、追加ノードが示す企業が、どのようなサプライチェーン上に位置するかを知ることができる。ただし本実施形態の手法はこれに限定されず、ノード追加部162は、候補ノードから類似度に基づいて1つのノードを選択し、当該ノードと追加ノードが接続された経路を含む経路群を再描画してもよい。即ち、図30を用いて上述した操作入力は省略されてもよい。
【0229】
なお、ここで説明した例では、ユーザは、追加ノードYを、経路群の最下流に位置するノードA1に接続するとして説明した。しかしながら、ユーザは、追加ノードYを、必ずしも経路群における最下流に位置するノードに接続しなくてもよい。追加ノードYは、経路群に含まれるいずれかのノードに接続されればよい。
【0230】
2.4.5 代替経路算出処理
図16のステップS507に対応する経路群の再描画に関する処理のうち、代替経路算出処理について説明する。再描画部116の代替経路算出部163は、入力受付部114において、代替経路算出処理を実行するための操作入力を受け付けた場合、代替経路算出処理を実行する。
【0231】
代替経路算出処理を実行するための操作入力は、例えば、経路抽出部113により抽出された経路群に含まれる上流側ノードと下流側ノードとを結ぶ対象経路の代替経路を算出させる操作入力である。代替経路算出処理を実行するための操作入力について、図32を参照しながら詳細に説明する。
【0232】
図32は、代替経路算出処理について説明する模式図である。図32では、ノードA1からノードA13までの13個のノードが示されているが、経路抽出部113により抽出されて表示部240に表示される経路群は、実線で示したノード及びリンクにより構成される経路のみを含む。つまり、図32に示す例では、経路抽出部113により抽出されて表示部240に表示される経路群は、ノードA2、A3、A11、A1を順にたどる経路のみを含む。破線で示されたノード及びリンクは、サブネットワーク122に含まれるが、例えば特定の条件としての最短経路ではないため、経路抽出部113により抽出されていない。
【0233】
代替経路算出処理を実行するための操作入力は、対象経路の指定を含む。対象経路は、経路抽出部113により抽出された経路群に含まれる経路であって、代替経路に置き換える対象となる経路である。対象経路の指定は、例えば、対象経路に含まれるノードを順に指定することにより行われる。例えば、図32に示す例では、ノードA2、A3、A11及びA1を順に指定することにより、ノードA2、A3、A11、A1の順でノードをたどる経路が、対象経路として指定される。なお、ノードの指定は、例えば、マウスのクリックやタッチパネル上のタッチにより行われてよい。
【0234】
対象経路は、必ずしも、経路抽出部113により抽出された経路群における最も上流のノード及び/又は最も下流のノードを含まなくてもよい。対象経路は、経路抽出部113により抽出された経路群に含まれる経路の一部のみ(部分経路)であってもよい。図32の例では、最も上流のノードはノードA2であり、最も下流のノードはノードA1である。従って、図32の例では、対象経路は、必ずしもノードA2及び/又はノードA1を含まなくてもよい。例えば、対象経路は、ノードA3及びノードA11のみを含む部分経路であってもよい。
【0235】
対象経路における最も上流側のノードを、本明細書において「上流側ノード」という。一方、対象経路における最も下流側のノードを、本明細書において「下流側ノード」という。仮に、対象経路として、ノードA2、A3、A11、A1の順でノードをたどる経路が指定された場合、上流側ノードはノードA2であり、下流側ノードはノードA1である。一方、例えば、対象経路として、ノードA3、A11の順でノードをたどる部分経路が指定された場合、上流側ノードはノードA3であり、下流側ノードはノードA11である。
【0236】
代替経路算出処理を実行するための操作入力は、上述した対象経路の指定に加え、代替経路算出処理を開始させるための操作入力を含んでよい。代替経路算出処理を開始させるための操作入力は、対象経路の指定が完了したときに行われる。代替経路算出処理を開始させるための操作入力は、例えば、操作部250における特定のキーの操作、又は、表示部240に表示された特定のボタンの操作により行われてよい。
【0237】
代替経路算出処理を実行するための操作入力は、入力受付部114において受け付けられる。入力受付部114において、代替経路算出処理を実行するための操作入力が受け付けられると、再描画部116の代替経路算出部163は、代替経路算出処理を実行する。具体的には、代替経路算出部163は、指定した対象経路を、代替経路に置き換えることにより経路群を再描画する。ここで、代替経路は、サブネットワーク122において上流側ノードと下流側ノードとが1以上のリンクによって繋がれた経路のうち、対象経路とは異なる経路である。代替経路算出部163は、指定した対象経路を、1つ以上の代替経路に置き換えることにより経路群を再描画してよい。
【0238】
図33は、代替経路算出処理を説明するフローチャートである。図33を参照しながら、代替経路算出処理の具体的な一例について説明する。ここでは、対象経路として、図32に示す例において、ノードA2、A3、A11、A1の順でノードをたどる経路が指定されたとする。
【0239】
まず、ステップS801において、代替経路算出部163は、代替候補経路RAを抽出する。代替候補経路RAは、代替経路の候補である。代替候補経路RAは、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ、対象経路RT以外の経路である。代替経路算出部163は、例えば、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ対象経路RT以外の全ての経路を抽出する。代替経路算出部163は、サブネットワーク122における、上流側ノードと下流側ノードとを結ぶ対象経路RT以外の経路のうち、特定の条件を満たす一部の経路をのみを抽出してもよい。特定の条件は、例えば最短経路である。
【0240】
図32に示す例では、上流側ノードがノードA2であり、下流側ノードがノードA1であるため、代替経路算出部163は、ノードA2とノードA1を結ぶ、対象経路RT以外の代替候補経路RAを抽出する。ここでは、代替経路算出部163は、特定の条件として、最短経路となる代替候補経路RAのみを抽出するとする。図32に示す例では、ノード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を抽出する。
【0241】
ステップS802において、代替経路算出部163は、対象経路RTに含まれるノードと、代替候補経路RAに含まれるノードの類似度を取得する。図32に示す例ではノードA1~A13の13個のノードが含まれるため、代替経路算出部163は、(13×12)/2=72通りの類似度を取得してもよい。
【0242】
ステップS803において、代替経路算出部163は、ステップS802で取得した2つのノード間の類似度に基づいて、対象経路RTと代替候補経路RAの類似度を算出する。例えば対象経路RTと代替候補経路RAでは上流側ノード(A2)と下流側ノード(A1)が共通であるため、その間の中間ノードの比較が行われてもよい。例えば対象経路RTの中間ノードはA3とA11であり、第1代替候補経路の中間ノードはA4、A7、A10の3つである。よって代替経路算出部163は、A3とA4、A3とA7、A3とA10、A11とA4、A11とA7、A11とA10の類似度に基づいて、対象経路RTと第1代替候補経路の類似度を算出する。例えば代替経路算出部163は、上記6つの類似度の最大値や平均値を経路間の類似度としてもよいし、A3とA4、A3とA7、A3とA10の3つの類似度から第1最大値を求め、A11とA4、A11とA7、A11とA10の3つの類似度から第2最大値を求め、第1最大値と第2最大値の平均値を経路間の類似度としてもよい。あるいは上流側ノードからの距離及び下流側ノードからの段数を考慮して類似度算出の対象となるノードを決定してもよい。例えばノードA3は上流側ノードから下流側に1段目のノードであるため、同じく上流側ノードから下流側に1段目のノードであるA4との間で類似度が求められてもよい。その他、ノード間の類似度に基づいて経路間の類似度を求める手法は種々の変形実施が可能である。第2代替候補経路~第4代替候補経路を対象とする場合も同様である。
【0243】
代替経路算出部163は、抽出された代替候補経路RAのうち、対象経路RTに類似する経路を、代替経路として決定してよい。そして、代替経路算出部163は、対象経路RTを代替経路に置き換えることにより、経路群を再描画してよい。
【0244】
ステップS804において、代替経路算出部163は、対象経路RTを、類似度が最も高い代替候補経路RAに置き換えることにより、経路群を再描画する。例えば、対象経路RTと、第3代替候補経路との類似度が最も高かったとする。この場合、代替経路算出部163は、対象経路RTを、第3代替候補経路に置き換えることにより、経路群を再描画する。
【0245】
図34は、代替経路算出処理による再描画の結果を示す模式図である。図34に示すように、代替経路算出処理の結果、対象経路RTが、ノードA2、A5、A8、A12、A1を順にたどる第3代替候補経路に置き換えられている。
【0246】
ステップS804で再描画された経路群は、提示処理部115の処理に基づき、表示部240に表示される(図16のステップS508)。このとき、表示部240には、置き換えられた第3代替候補経路のみが表示されてよい。つまり、図34において、実線で示すノード及びリンクのみが表示されてよい。対象経路RTは、表示部240に表示されなくてよい。
【0247】
なお、ここでの例では、代替経路算出部163が、抽出された代替候補経路RAのうち、対象経路RTに類似する経路を、代替経路として決定し、対象経路RTを代替経路に置き換えるとして説明した。しかしながら、代替経路算出部163は、必ずしも代替経路を1つに決定しなくてもよい。例えば、代替経路算出部163は、ステップS801で抽出した代替候補経路RAの全てを、対象経路RAと置き換えてもよい。この場合、複数の代替経路が再描画され、表示部240に表示される。
【0248】
代替経路算出処理を行うことにより、ユーザは、対象経路RAの代替経路を知ることができる。これにより、例えばユーザは、対象経路における特定のノードが示す企業が、何らかの理由でサプライチェーンから外れた場合に、代替となるサプライチェーンを知ることができる。また、本実施形態で説明したように、対象経路に類似する代替経路が算出されて表示部240に表示された場合、ユーザは、対象経路RAに近いサプライチェーンを知ることができる。そのため、例えばユーザは、特定の経路が使用できない状態となった場合を想定して、特定の経路の代替となる経路を容易に探すことができる。
【0249】
2.4.6 提示処理
提示処理部115は、経路抽出部113が抽出した経路群を提示する提示処理を実行する。提示処理部115は、再描画部116が再描画した経路群を提示してもよい。提示処理部115は、経路群に関する多様な情報を提示することができる。例えば、提示処理部115は、経路群に含まれるノードが示す企業名や、各ノードに付与された産業分類の情報を提示することができる。提示処理部115は、再描画部116が再描画する前と再描画した後との経路群を、比較可能な態様で提示してもよい。例えば、提示処理部115は、再描画部116が再描画する前の経路群と、再描画した後との経路群とを、並べて提示してよい。
【0250】
以上説明したように、本開示に係る情報処理システム10では、経路抽出部113が抽出した経路を、再描画部116が再描画することができる。上記実施形態で説明した例では、再描画部116は、ユーザの操作入力に応じて、削除処理、ノード追加処理又は代替経路算出処理を実行することによって、抽出した経路を再描画できる。そのため、情報処理システム10は、単に情報を表示するだけでなく、ユーザの操作入力に応じて、ユーザが必要とする情報を表示することができる。
【0251】
なお、上記実施形態の説明では、サブネットワーク抽出部112により抽出されたサブネットワーク122が、上流側サブネットワークである場合について説明した。しかしながら、情報処理システム10は、サブネットワーク122が下流側サブネットワークである場合についても、上記処理に対応する処理を実行することにより、経路抽出部113が抽出した経路を再描画できる。
【0252】
3.ネットワークの構造推定
また以上では複素ベクトル表現を用いて算出された類似度が、ノードの削除、追加、代替経路算出等の処理に用いられる例を説明した。ただし本実施形態の処理はこれに限定されず、主要経路の推定やサプライチェーンネットワーク121の構造推定に用いられてもよい。
【0253】
図35は構造推定処理を説明するフローチャートである。まずステップS901において、行列取得部181は、サプライチェーンネットワーク121に含まれる第1~第nノードのそれぞれの複素ベクトル表現を取得する。以下、第i(iは1≦i≦nを満たす整数)のノードに対応する複素ベクトルをxとする。例えばベクトル取得部117は、第1~第nのノードのそれぞれを選択ノードとして、図11A及び図11Bに示した処理を実行することで複素ベクトルx~xを求め、求めたx~xを記憶部120に記憶する。x~xは、それぞれがn次元複素ベクトルである。そして行列取得部181は、記憶部120から当該複素ベクトルx~xを読み出すことによってステップS901の処理を行う。
【0254】
ステップS902において、行列取得部181は、x~xを所定順に並べた行列X=[x,x,・・・,x]を取得する。また行列取得部181は、行列Xの各成分の共役複素数を取って転置した行列(複素共役転置)Xを求める。なお、サプライチェーンネットワーク121に含まれるn個のノードを並び順は、複素ベクトル表現を求める際の順序と同じである。
【0255】
そして行列取得部181は、C=XXにより、複素相関行列Cを求める。Cの各成分は2つの複素ベクトルのエルミート内積に相当するため、上式(3)に示した類似度に対応する情報である。従ってCはサプライチェーンネットワーク121の第1~第nのノードのノード間の相関を表す複素相関行列Cとして用いることが可能である。
【0256】
次に主要経路推定部182は、複素相関行列Cの固有値分解を行うことによって、サプライチェーンネットワーク121における主要経路を推定する処理を行う。具体的にはステップ903において、主要経路推定部182は、複素相関行列Cの固有値分解を行う。具体的には、主要経路推定部182は、C=VΛV-1により、複素相関行列Cを、固有ベクトルを列ベクトルとする行列Vと、固有値を対角成分とする対角行列Λに分解する。以下、n個の固有値をλ~λと表記し、それぞれの固有値に対応するn個の固有ベクトルをe~eと表記する。
【0257】
主要経路推定部182は、固有値分解によって取得される固有値に対応する固有ベクトルに基づいて、サプライチェーンネットワーク121の主要経路を推定する。具体的には、ステップS904において、主要経路推定部182は、固有値分解の結果に基づいて固有ベクトルeを推定し、eによって特定される経路を、主要経路として推定する。
【0258】
図36は、例えばn=14の場合において、複素相関行列Cの固有値分解によって取得される第iの固有ベクトルeを例示する図である。図36に示すように、本実施形態に係る固有ベクトルeは、それぞれの要素が複素数となる複素ベクトルである。図36に示す例では、eの1、3、8、12、14番目の要素が非零で、それ以外の要素は0であったとする。
【0259】
この場合、主要経路推定部182は、非零要素に対応するノード1、3、8、12、14を通過する経路が、本実施形態に係るサプライチェーンネットワーク121の特徴をよく表す主要経路であると判断する。
【0260】
本実施形態に係る主要経路推定部182は、複素数を要素とする固有ベクトルを求め、固有ベクトルに含まれる要素の位相に基づいて順序が決定される主要経路を推定してもよい。例えば各ノードのベクトル表現が実ベクトルである場合、複素相関行列Cも実数を成分とする行列となるため、固有ベクトルも実ベクトルとなる。この場合、主要経路に含まれるノードを特定することは可能かもしれないが、その順序を特定できない。例えば、ノード1、3、8、12、14が主要経路に含まれることが特定できたとしても、この5つのノードの順序が不明となる。これに対して、本実施形態の手法では図36に示したように、固有ベクトルeの各要素が複素数となるため、位相の情報を含む。本実施形態の手法において、複素数の位相は、選択ノードからの段数を表す情報である。よって、主要経路推定部182は、主要経路に含まれるノードを特定するだけでなく、具体的な順序を特定できるため、よりサプライチェーンネットワーク121の分析に適した情報を取得できる。
【0261】
図36の例であれば、位相が0であるノード8が選択ノードに対応し、ノード3はノード8から上流に1段離れており、ノード1はノード8から上流に2段離れていることが分かる。同様にノード12はノード8から下流に1段離れており、ノード14はノード8から下流に2段離れていることが分かる。従って主要経路推定部182は、図36に示す固有ベクトルeに基づいて、ノード1、ノード3、ノード8、ノード12、ノード14がこの順に並ぶ経路が主要経路であると判定する。
【0262】
そして主要経路推定部182は、推定した主要経路に基づいて、サプライチェーンネットワーク121の構造を推定してもよい。図37は、本実施形態におけるサプライチェーンネットワーク121の構造推定処理を説明する模式図である。例えば、サプライチェーンネットワーク121の所与の位置に自動車メーカーに対応するノード1があり、主要経路として、当該ノード1を含む経路が求められたとする。
【0263】
ここで、自動車メーカーは、自動車に用いられる種々の部品を上流のノードに対応する企業から購入する。例えば自動車メーカーは、電池(バッテリー)、車体、他の部品等を購入し、これらを含む自動車を製造する。この場合、上流からノード1へ向かう経路は、電池のサプライチェーンに関係する経路、車体のサプライチェーンに関係する経路、その他の部品のサプライチェーンに関する経路等に大まかに区分できる。
【0264】
例えば、所与の完成品メーカーに着目した場合、複素相関行列Cの固有値分解によって得られる複数の固有ベクトルは、当該完成品の製造に必要な部品又は原料に応じて分類されてもよい。例えば主要経路推定部182は、固有ベクトルが表す経路として完成品メーカーを含む複数の経路が特定された場合、当該経路に基づいて、第1部品を供給するサプライチェーンと、第1部品とは異なる第2部品を供給するサプライチェーンとを推定してもよい。より広義には、主要経路推定部182は、推定した複数の主要経路に基づいて、それぞれが異なる産業に属する複数の主要経路を特定する構造推定処理を行ってもよい。自動車メーカーのように、複数の部品や材料の供給を受けて完成品を製造するメーカーを含むサプライチェーンネットワーク121はノード数が非常に多い複雑な構造となりやすい。その点、本実施形態の手法によれば、サプライチェーンネットワーク121を部品毎、産業毎に分類できるため、サプライチェーンの構造をユーザが理解しやすい態様に分解できる。さらにノードに対応する要素の絶対値を比較することによって、ある部品や材料の供給において主要な役割を果たす企業を特定することも可能になる。
【0265】
さらに本実施形態では、例えば図37のノード1~ノード5に示したように、主要経路内での順序や、ノード間の距離を特定することも可能である。例えば主要経路推定部182は、当該距離に基づいて、サプライチェーンの上流側に位置するか、下流側に位置するかの推定を行ってもよい。
【0266】
例えば主要経路推定部182は、主要経路に含まれる企業が完成品に近い物品に関わる企業であるのか、部品や原材料に近い物品に関わる企業であるかを判定してもよい。図37の例であれば、ノード5はノード1からの距離が遠いため部品や原材料に近い物品に関わる企業と判定され、ノード2はノード1からの距離が近いため完成品に近い物品に関わる企業であると判定される。例えば主要経路推定部182は、完成品を製造するメーカーから上流側に1段離れた企業は、当該完成品に直接的に組み込まれる部品や、完成品の製造に直接的に用いられる製造機械等を販売している企業であると推定してもよい。
【0267】
また上述した削除処理部161、ノード追加部162、代替経路算出部163は、主要経路推定部182の推定結果に基づいて提示する経路群を決定してもよい。例えば第1企業が図37のノード1(自動車企業)であり、第2企業が電池のサプライチェーンにおける上流側の企業である経路群が提示されている場合に、経路の一部の削除等に起因して代替経路を提示する必要が生じた場合を考える。この場合、削除処理部161等は、削除対象となる企業と第1企業との位相差(段数)に基づいて、主要経路に含まれる企業を含む経路を代替経路として表示してもよい。
【0268】
例えば、ユーザの操作入力が、第1企業から上流に2段離れた企業を削除する入力であったとする。図37に示すように、構造推定部118の処理に基づいて、ノード3に対応する企業が、ノード1の2段上流に位置する主要経路上の企業であると推定されている。よって削除処理部161や代替経路算出部163は、第1企業及び第2企業に対応するノードと、ノード3とを含む経路を提示する処理を行ってもよい。このようにすれば、主要経路に含まれる企業、即ち、重要度が他の企業に比べて高いと推定される企業を優先的に提示対象とすることが可能になる。その際、位相(段数)が考慮されるため、削除される企業の代替企業として適切な企業が選択可能である。例えば、特定の部品や材料を供給するサプライチェーンにおいて、削除対象企業と同様の機能を果たす蓋然性の高い企業を、代替企業として用いることが可能である。
【0269】
上記のように本実施形態について詳細に説明したが、本実施形態の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また情報処理システム、サーバシステム、端末装置等の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【0270】
また本実施形態の手法は、以下の各ステップを含む情報処理方法に適用できる。情報処理方法は、サプライチェーンネットワーク121を取得するステップと、処理対象ノードのサブネットワーク122を抽出するステップと、サブネットワーク122に基づいて処理対象ノードを表す複素ベクトルを求めるステップと、2つの複素ベクトルに基づいてノード間の類似度を求めるステップを含む。サプライチェーンネットワーク121を取得するステップでは、複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークが取得される。サブネットワーク122を抽出するステップでは、複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワーク122が、サプライチェーンネットワーク121から抽出される。複素ベクトルを求めるステップでは、処理対象ノードのサブネットワークに含まれる各ノードに対して、処理対象ノードまでの距離に応じた位相、及び、処理対象ノードへと向かう流量または処理対象ノードからの流量に応じた絶対値を有する複素数が割り当てられることによって、処理対象ノードを表す複素ベクトルが求められる。類似度を求めるステップでは、複数のノードのうちの2つのノードに対応する2つの複素ベクトルに基づいて、2つのノードの間の類似度が算出される。
【符号の説明】
【0271】
10…情報処理システム、100…サーバシステム、110…処理部、111…サプライチェーンネットワーク取得部、112…サブネットワーク抽出部、113…経路抽出部、114…入力受付部、115…提示処理部、116…再描画部、117…類似度取得部、118…構造推定部、120…記憶部、121…サプライチェーンネットワーク、122…サブネットワーク、123…産業分類コード、124…規制対象企業リスト、130…通信部、161…削除処理部、162…ノード追加部、163…代替経路算出部、171…ベクトル取得部、172…類似度算出部、181…行列取得部、182…主要経路推定部、200,200-1,200-2…端末装置、210…処理部、220…記憶部、230…通信部、240…表示部、250…操作部
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8
図9A
図9B
図10
図11A
図11B
図12A
図12B
図13
図14
図15A
図15B
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28A
図28B
図29A
図29B
図30
図31
図32
図33
図34
図35
図36
図37
【手続補正書】
【提出日】2023-02-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得するサプライチェーンネットワーク取得部と、
前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出するサブネットワーク抽出部と、
前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求めるベクトル取得部と、
前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する類似度算出部と、
を含む情報処理システム。
【請求項2】
請求項1において、
前記類似度算出部は、
2つの前記複素ベクトルである第1複素ベクトルと第2複素ベクトルのエルミート内積と、前記第1複素ベクトルのノルムと前記第2複素ベクトルのノルムの積を求め、前記エルミート内積と前記ノルムの積の比の実数部分に基づいて、前記類似度を算出する情報処理システム。
【請求項3】
請求項1または2において、
前記複数のノードは、第1~第n(nは2以上の整数)のノードを含み、
第i(iは1≦i≦nを満たす整数)のノードに対応する前記複素ベクトルをxとしたとき、前記第1~第nのノードに対応する前記複素ベクトルを並べた行列X=[x,x,・・・,x]と、前記行列Xの各成分の共役複素数を取って転置した行列Xを求め、複素相関行列CをC=XXにより求める行列取得部と、
前記複素相関行列Cの固有値分解を行うことによって、前記サプライチェーンネットワークにおける主要経路を推定する主要経路推定部と、
を含む情報処理システム。
【請求項4】
請求項3において、
前記主要経路推定部は、
前記固有値分解によって取得される固有値に対応する固有ベクトルに基づいて、前記主要経路を推定する情報処理システム。
【請求項5】
請求項4において、
前記主要経路推定部は、
複素数を要素とする前記固有ベクトルを求め、前記固有ベクトルに含まれる要素の位相に基づいて順序が決定される前記主要経路を推定する情報処理システム。
【請求項6】
請求項3において、
前記主要経路推定部は、
前記主要経路に基づいて、前記サプライチェーンネットワークの構造を推定する情報処理システム。
【請求項7】
請求項1または2において、
第1企業を示すノードと、前記第1企業とは異なる第2企業を示すノードとが1以上の前記リンクによって繋がれた経路を1以上含む、経路群を抽出する経路抽出部と、
前記経路の再描画に関する操作入力を受け付ける入力受付部と、
前記経路抽出部が抽出した前記経路群を再描画する再描画部と、
を含む情報処理システム。
【請求項8】
請求項7において、
前記操作入力が、前記経路群に含まれるノードのいずれかを削除する操作入力である場合に、
前記再描画部は、
削除対象であるノードとの前記類似度が所定閾値以上である代替ノードを含む経路群を再描画する情報処理システム。
【請求項9】
請求項7において、
前記操作入力が、前記経路群に含まれない企業のノードを、前記経路群に含まれるノードのいずれかとリンクで接続することにより、前記経路群に追加ノードを追加する操作入力である場合に、
前記再描画部は、前記追加ノードとリンクで接続されうる候補ノードを抽出し、前記候補ノードのうち、前記類似度によって選択されるいずれかを前記追加ノードとリンクで接続することにより、前記追加ノードを含む経路群を再描画する情報処理システム。
【請求項10】
請求項9において、
前記再描画部は、
前記候補ノードと、前記サプライチェーンネットワークに含まれる他のノードとの前記類似度に基づいて、前記追加ノードを前記候補ノードと接続した場合に構成される仮想の局所グラフの前記サプライチェーンネットワークにおける出現のしやすさを示す指標を算出し、
前記指標に基づいて、前記追加ノードと接続されるノードを決定する情報処理システム。
【請求項11】
サプライチェーンネットワーク取得部、サブネットワーク抽出部、ベクトル取得部及び類似度算出部を含む情報処理システムによる情報処理方法であって、
前記サプライチェーンネットワーク取得部が、複数の企業にそれぞれ対応する複数のノードが、製品の提供元企業及び提供先企業を対応付けた取引関係を示すリンクで接続された、サプライチェーンネットワークを取得し、
前記サブネットワーク抽出部が、前記複数の企業のうち処理対象ノードに対応する企業に製品を供給する上流側企業を含む上流側サブネットワーク、及び、前記処理対象ノードに対応する企業から製品の供給を受ける下流側企業を含む下流側サブネットワークの少なくとも一方を含むサブネットワークを、前記サプライチェーンネットワークから抽出し、
前記ベクトル取得部が、前記処理対象ノードの前記サブネットワークに含まれる各ノードに対して、前記処理対象ノードまでの距離に応じた位相、及び、前記処理対象ノードへと向かう流量または前記処理対象ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、前記処理対象ノードを表す複素ベクトルを求め、
前記類似度算出部が、前記複数のノードのうちの2つのノードに対応する2つの前記複素ベクトルに基づいて、前記2つのノードの間の類似度を算出する、
情報処理方法。