(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-20
(45)【発行日】2024-10-01
(54)【発明の名称】情報処理システム及び情報処理方法
(51)【国際特許分類】
G06Q 10/08 20240101AFI20240924BHJP
【FI】
G06Q10/08
(21)【出願番号】P 2024071829
(22)【出願日】2024-04-25
【審査請求日】2024-04-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】316014906
【氏名又は名称】株式会社FRONTEO
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】久光 徹
(72)【発明者】
【氏名】吉川 悠一
【審査官】岡北 有平
(56)【参考文献】
【文献】特許第7469770(JP,B1)
【文献】特開2024-047979(JP,A)
【文献】特開2023-001815(JP,A)
【文献】特開2023-175558(JP,A)
【文献】特開2023-050018(JP,A)
【文献】特開2022-160906(JP,A)
【文献】特許第7450198(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得するネットワーク取得部と、
前記エンティティネットワークに含まれる複数の経路から、優先度の高い優先経路を選択する経路選択部と、
を含み、
前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、
複数のタグ値のうちの1以上を含むタグが付加データ
として付与されており、
前記経路選択部は、
前記付加データに基づいて、前記複数の経路のそれぞれの経路について、
前記経路の重みを表す経路重みと、前記経路に沿って前記ノードを遷移する際に、前記タグ値がどのように遷移するかを表すタグ遷移パターンの重みであるタグ遷移パターン重みを、特徴量として求め、
前記複数の経路のうち、前記経路に沿った前記タグ遷移パターン重みが最大となる1つまたは複数の候補経路を選択し、
前記候補経路のうち、前記経路重みが相対的に大きいと判定された前記経路を、前記優先経路として選択する情報処理システム。
【請求項2】
請求項
1において、
前記経路選択部は、
前記エンティティネットワークに含まれる前記複数の経路のそれぞれの前記経路について、前記経路上のノードにおける前記取引関係または前記支配関係に基づいて、前記経路重みを求める情報処理システム。
【請求項3】
請求項
2において、
前記経路選択部は、
前記エンティティネットワークに含まれる前記複数の経路のそれぞれの前記経路について、前記経路上の前記ノードの前記タグ値に基づいて、前記経路に対応する前記タグ遷移パターンを求め、求めた前記タグ遷移パターンの前記タグ遷移パターン重みとして前記経路重みを設定し、
前記複数の経路のうちの2以上の経路について、前記タグ遷移パターンが重複した場合、前記2以上の経路のそれぞれについて求められた前記タグ遷移パターン重みの和を求めることによって前記タグ遷移パターン重みを更新する情報処理システム。
【請求項4】
請求項
1において、
前記タグは、産業分類及び国の少なくとも一方を表す情報である情報処理システム。
【請求項5】
複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得するネットワーク取得部と、
前記エンティティネットワークに含まれる複数の経路から、優先度の高い優先経路を選択する経路選択部と、
を含み、
前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、
前記ノードの特性を表すテキストに対応する埋め込みベクトルが付加データ
として付与されており、
前記エンティティネットワークに含まれる第1ノードと、前記第1ノードとは異なる前記ノードを介して前記第1ノードに接続される第2ノードが選択された場合に、
前記経路選択部は、
前記第1ノードに付与された前記埋め込みベクトルである第1埋め込みベクトルと、前記第2ノードに付与された前記埋め込みベクトルである第2埋め込みベクトルの差分を表す第1差分ベクトルを求め、
前記第1ノードを一方の端点とし、前記第2ノードを他方の端点とするサブネットワークに含まれる複数のエッジのそれぞれのエッジについて、
前記エッジの一端側の前記ノードに付与された前記埋め込みベクトルと、前記エッジの他端側の前記ノードの付与された前記埋め込みベクトルの差分を表す第2差分ベクトルを求め、
前記第1差分ベクトルと、前記第2差分ベクトルの内積をエッジ特徴量として求め、
前記第1ノードと前記第2ノードを結ぶ前記複数の経路のそれぞれの経路について、前記経路に含まれるエッジの前記エッジ特徴量に基づいて、前記経路の特徴量を求め、求めた前記特徴量に基づいて前記優先経路を選択する情報処理システム。
【請求項6】
請求項
5において、
前記経路選択部は、
前記第1ノードと前記第2ノードを結ぶ前記複数の経路のそれぞれの前記経路について、前記経路に含まれるエッジの前記エッジ特徴量のうちの最小値を、前記経路の前記特徴量として選択し、
前記複数の経路のうち、前記特徴量が最大となる経路を、前記第1ノードと前記第2ノードを結ぶ前記優先経路として選択する情報処理システム。
【請求項7】
情報処理装置が、
複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得し、
前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、
複数のタグ値のうちの1以上を含むタグが付加データ
としてが付与されており、
前記付加データに基づいて、前記エンティティネットワークに含まれる複数の経路のそれぞれの経路について、
前記経路の重みを表す経路重みと、前記経路に沿って前記ノードを遷移する際に、前記タグ値がどのように遷移するかを表すタグ遷移パターンの重みであるタグ遷移パターン重みを、特徴量として求め、
前記複数の経路のうち、前記経路に沿った前記タグ遷移パターン重みが最大となる1つまたは複数の候補経路を選択し、
前記候補経路のうち、前記経路重みが相対的に大きいと判定された前記経路を、優先経路として選択する、
情報処理方法。
【請求項8】
情報処理装置が、
複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得し、
前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、
前記ノードの特性を表すテキストに対応する埋め込みベクトルが付加データ
として付与されており、
前記エンティティネットワークに含まれる第1ノードと、前記第1ノードとは異なる前記ノードを介して前記第1ノードに接続される第2ノードが選択された場合に、
前記第1ノードに付与された前記埋め込みベクトルである第1埋め込みベクトルと、前記第2ノードに付与された前記埋め込みベクトルである第2埋め込みベクトルの差分を表す第1差分ベクトルを求め、
前記第1ノードを一方の端点とし、前記第2ノードを他方の端点とするサブネットワークに含まれる複数のエッジのそれぞれのエッジについて、
前記エッジの一端側の前記ノードに付与された前記埋め込みベクトルと、前記エッジの他端側の前記ノードの付与された前記埋め込みベクトルの差分を表す第2差分ベクトルを求め、
前記第1差分ベクトルと、前記第2差分ベクトルの内積をエッジ特徴量として求め、
前記第1ノードと前記第2ノードを結ぶ前記複数の経路のそれぞれの経路について、前記経路に含まれるエッジの前記エッジ特徴量に基づいて、前記経路の特徴量を求め、
求めた前記特徴量に基づいて、前記複数の経路から、優先度の高い優先経路を選択する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム及び情報処理方法等に関する。
【背景技術】
【0002】
従来、サプライチェーン等のネットワークの分析に関する種々の手法が知られている。サプライチェーンとは、製品の原材料・部品の調達から、製造、在庫管理、配送、販売、消費までの一連の流れをいう。例えば特許文献1には、サプライチェーンにおいて、関心企業の上流側サブネットワーク及び下流側サブネットワークの少なくとも一方を含むサブネットワークを分析し、その結果を表示する情報処理システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来、ネットワークの構造(ノードの接続関係)に基づいてチョークポイントを求める例のように、経路に関する分析を行う手法が知られている。しかし従来手法では、ネットワークのノードに付与された付加情報に基づいて優先度の高い経路を求める手法は開示されていない。
【0005】
本開示のいくつかの態様によれば、対象となるネットワークにおける優先度の高い経路を適切に選択する情報処理システム及び情報処理方法等を提供できる。
【課題を解決するための手段】
【0006】
本開示の一態様は、複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得するネットワーク取得部と、前記エンティティネットワークに含まれる複数の経路から、優先度の高い優先経路を選択する経路選択部と、を含み、前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、前記ノードの特性を表す付加データが付与されており、前記経路選択部は、前記付加データに基づいて、前記複数の経路のそれぞれの経路について特徴量を求め、求めた前記特徴量に基づいて前記優先経路を選択する情報処理システムに関係する。
【0007】
本開示の他の態様は、情報処理装置が、複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得し、前記エンティティネットワークに含まれる前記複数のノードのそれぞれのノードには、前記ノードの特性を表す付加データが付与されており、前記付加データに基づいて、前記エンティティネットワークに含まれる複数の経路のそれぞれの経路について特徴量を求め、求めた前記特徴量に基づいて、前記複数の経路から、優先度の高い優先経路を選択する、情報処理方法に関係する。
【図面の簡単な説明】
【0008】
【
図1】一実施形態に係る情報処理システムを含むシステムの構成例である。
【
図2】サーバシステムの詳細な構成例を示す機能ブロック図である。
【
図3】端末装置の詳細な構成例を示す機能ブロック図である。
【
図4】情報処理システムにおいて実行される処理の概略を示すフローチャートである。
【
図5A】公開情報に基づいて取得されるデータの構造例である。
【
図5B】公開情報に基づいて取得されるデータの構造例である。
【
図5C】公開情報に基づいて取得される取引ネットワークの一部の例を示す図である。
【
図7】ベクトル表現の決定処理を説明するフローチャートである。
【
図8】上流側サブ取引ネットワークの抽出処理を説明するフローチャートである。
【
図9A】サブ取引ネットワークの一部の例を示す図である。
【
図9B】サブ取引ネットワークの一部の例を示す図である。
【
図10】サブ取引ネットワークの例を示す図である。
【
図11A】ノードのベクトル表現を求める処理を説明するフローチャートである。
【
図11B】ノードのベクトル表現を求める処理を説明するフローチャートである。
【
図12A】サブ取引ネットワークにおける流量を例示する図である。
【
図12B】サブ取引ネットワークにおける位相付き流量を例示する図である。
【
図13】所与のノードに対応する複素ベクトルの例である。
【
図14】サブ取引ネットワークにおける位相付き流量を例示する図である。
【
図15】サプライチェーンネットワークの抽出処理を説明するフローチャートである。
【
図16】優先経路の選択処理を説明するフローチャートである。
【
図17】サプライチェーンネットワークの例である。
【
図18】ループを除去したサプライチェーンネットワークの例である。
【
図21】更新後のタグ遷移パターン重みの例である。
【
図22】タグ遷移パターン重みに基づくソート結果の例である。
【
図23A】優先経路の候補である候補経路の例である。
【
図23B】優先経路の選択処理を説明する図である。
【
図24】サプライチェーンネットワークにおける優先経路の例である。
【
図25】サプライチェーンネットワークの他の例である。
【
図26A】更新後のタグ遷移パターン重みの例である。
【
図26B】優先経路の候補である候補経路の例である。
【
図26C】優先経路の選択処理を説明する図である。
【
図28A】更新後のタグ遷移パターン重みの例である。
【
図28B】優先経路の候補である候補経路の例である。
【
図28C】優先経路の選択処理を説明する図である。
【
図29】優先経路の選択処理を説明する他のフローチャートである。
【
図30】サプライチェーンネットワークの他の例である。
【
図31】各ノード(企業)に対応づけられるテキストの例である。
【
図33】第1差分ベクトルと第2差分ベクトルの内積の例である。
【
図34】サプライチェーンネットワークの各エッジの特徴量(内積)の例である。
【発明を実施するための形態】
【0009】
以下、本実施形態について図面を参照しつつ説明する。図面については、同一又は同等の要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0010】
1.システム構成例
図1は、一実施形態に係る情報処理システム10を含むシステムの構成例である。本実施形態に係るシステムは、サーバシステム100と端末装置200とを含む。ただし、情報処理システム10を含むシステムの構成は必ずしも
図1に限定されず、例えば一部の構成を省略したり他の構成を追加したりするなどの種々の変形実施が可能である。例えば、
図1では端末装置200として、端末装置200-1と端末装置200-2の2つが図示されているが、端末装置200の数はこれに限定されない。
【0011】
本実施形態の情報処理システム10は、例えばサーバシステム100に対応する。ただし、本実施形態の手法はこれに限定されず、サーバシステム100と他の装置を用いた分散処理によって、本明細書で説明する情報処理システム10の処理が実行されてもよい。例えば、本実施形態の情報処理システム10は、サーバシステム100と端末装置200との分散処理によって実現されてもよい。以下、本明細書では、情報処理システム10がサーバシステム100である場合の例について説明する。
【0012】
サーバシステム100は、1つのサーバであってもよいし、複数のサーバを含んで構成されていてもよい。例えば、サーバシステム100は、データベースサーバとアプリケーションサーバとを含んで構成されていてもよい。データベースサーバは、後述する第1ネットワーク121、複素ベクトルなどを含む種々のデータを記憶する。アプリケーションサーバは、
図4、
図7、
図8、
図11A、
図11B、
図15、
図16、
図29などを用いて後述する処理を実行する。なお、ここでの複数のサーバは、物理サーバであってもよいし、仮想サーバであってもよい。また、仮想サーバが用いられる場合、当該仮想サーバは、1つの物理サーバに設けられてもよいし、複数の物理サーバに分散して配置されてもよい。このように、本実施形態におけるサーバシステム100の具体的な構成は、種々の変形実施が可能である。
【0013】
サーバシステム100は、例えばネットワークを介して端末装置200-1及び端末装置200-2と通信する。以下、複数の端末装置を互いに区別する必要がない場合、単に端末装置200と表記する。ここでのネットワークは、例えばインターネットなどの公衆通信網であるが、LAN(Local Area Network)などであってもよい。
【0014】
端末装置200は、情報処理システム10を利用するユーザによって使用される装置である。端末装置200は、PC(Personal Computer)であってもよいし、スマートフォンなどの携帯端末装置であってもよいし、本明細書で説明する機能を有する他の装置であってもよい。
【0015】
本実施形態の情報処理システム10は、例えば公開情報を用いて、対象に関するデータの収集、分析などを行うOSINT(Open Source Intelligence)システムである。ここでの公開情報は、広く公開されており、合法的に入手可能な種々の情報を含む。例えば公開情報は、有価証券報告書、産業連関表、政府の公式発表、国や企業に関する報道、サプライチェーンデータベースなどを含んでもよい。また、公開情報は、SNS(Social Networking Service)において送受信される種々の情報を含んでもよい。例えばSNSは、テキストまたは画像などを投稿可能なサービスを含み、本実施形態における公開情報は、当該テキストまたは画像、あるいはそれらに対する自然言語処理または画像処理などの結果を含んでもよい。
【0016】
サーバシステム100は、公開情報に基づいて様々な属性を含むノードを生成する。1つのノードは、所与のエンティティを表す。ここでのエンティティは例えば企業であるが、公的機関等の他の組織や個人を含んでもよい。ノードに付与される属性は、公開情報に基づいて決定される情報であって、エンティティの名称、国籍、事業分野、産業分類、取引先及び取引品目などの種々の情報を含む。例えばノードにはメタデータとしてタグが付与され、当該タグには上述した種々の属性における属性値が含まれる。エンティティを表すノードが企業である場合、当該企業に関する属性がノードに付与される。なお、ここでの属性は、売り上げ、従業員数、株主及び出資比率、ボードメンバーなどを含んでよい。本実施形態では、属性のうち、少なくとも産業分類がノードに対して付与されてもよい。産業分類は、産業の種類をその性質ごとに分類したものである。産業分類として、例えば産業分類コードが用いられてよい。産業分類コードは、産業をいくつかに分類し、各分類結果に「01」等のコードを割り当てた情報である。産業分類コードは例えばNAICS(North American Industry Classification System)であるが、国際標準産業分類や日本標準産業分類等の他の分類コードが用いられてもよい。
【0017】
所与のノードと他のノードとの間に関係性がある場合、当該所与のノードと他のノードとが、向きを有するエッジによって接続される。例えば、所与の企業が、他の企業に対して何らかの取引製品を提供(売却)しているとする。この場合、他の企業に対応するノードと、所与の企業に対応するノードとの間が、製品の売買関係(流通関係)を表す属性が付与されたエッジによって接続される。ここでのエッジは、影響を与える側から受ける側への方向を有するエッジであり、例えば何らかの製品を売る側から買う側への方向を有するエッジである。つまり、製品の提供元企業及び提供先企業を対応付けた取引関係が、エッジにより示される。またエッジに付与される属性は製品に限定されず、起点企業、終点企業、製品、価格、取引(数)量等の種々の情報を含むことが可能である。なお製品に関する情報は、エッジに付与される必須の属性ではなく、省略が可能である。また起点企業等の他の情報についても同様であり、これらの情報は属性としてエッジに付与されてもよいし、省略されてもよい。
【0018】
本実施形態の手法では、サーバシステム100は、複数のエンティティを表す複数のノードが、取引関係または支配関係を示す複数のエッジで接続されたネットワークである、エンティティネットワーク(第1ネットワーク)を取得する。エッジは方向を有するため、エンティティネットワークは有向グラフである。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を提示する処理を行う。例えば、端末装置200は、OSINTシステムが提供するサービスを利用するユーザによって使用される装置である。例えばユーザは、端末装置200を用いて何らかの分析を情報処理システム10であるサーバシステム100に依頼する。サーバシステム100は、エンティティネットワークに基づく分析を行い、分析結果を端末装置200に送信する。
【0019】
エンティティネットワークが企業間の取引関係を示すネットワークである場合、当該エンティティネットワーク中の経路には、(A)実際にその企業の製品に部品や材料として関わる様々なものの取引が連鎖するもの(上流側)及び/またはその企業の製品の取引が連鎖するもの(下流側)と、(B)その企業に直接関係しない取引の連鎖が偶然複数つながったもの、の二種類がある。よって本実施形態では、公開情報に基づいて取得される取引関係を表すエンティティネットワークを取引ネットワークと表記し、そのうち所与の企業の実質的な取引に関する一部をサプライチェーンネットワークと表記する。即ち、取引ネットワークは上記の(A)と(B)の両方を含むネットワークであり、所与の企業に関するサプライチェーンネットワークとは上記の(A)を含み、且つ、(B)を含まないと推定されるネットワークである。サーバシステム100は、取引ネットワークからサプライチェーンネットワークを抽出する処理を行ってもよい。
【0020】
ただし、本実施形態で処理対象とするネットワークは、取引ネットワーク及びサプライチェーンネットワークに限定されない。例えばエンティティネットワークは、エンティティ間の支配関係を表すネットワークであってもよい。より具体的には、エンティティネットワークは、企業間の株式による支配関係を表す持ち株ネットワークであってもよい。
【0021】
図2は、サーバシステム100の詳細な構成例を示す機能ブロック図である。サーバシステム100は、例えば
図2に示すように、処理部110と、記憶部120と、通信部130と、を含む。ただしサーバシステム100の構成は
図2の例に限定されず、一部の構成を省略する、他の構成を追加する等の種々の変形実施が可能である。
【0022】
本実施形態の処理部110は、下記のハードウェアによって構成される。ハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、ハードウェアは、回路基板に実装された1又は複数の回路装置や、1又は複数の回路素子によって構成できる。1又は複数の回路装置は例えばIC(Integrated Circuit)、FPGA(field-programmable gate array)等である。1又は複数の回路素子は例えば抵抗、キャパシタ等である。
【0023】
また処理部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の機能が処理として実現される。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
【0024】
処理部110は、例えばネットワーク取得部111、ベクトル取得部112、行列取得部113、ネットワーク抽出部114、経路選択部115を含む。ただし処理部110は、
図2に示すすべての構成を含む必要はない。例えば処理部110は、エンティティネットワークとして持ち株ネットワークを取得してもよい。この場合、第2ネットワーク122(狭義にはサプライチェーンネットワーク)の抽出に関する構成であるベクトル取得部112、行列取得部113、ネットワーク抽出部114等の構成が省略されてもよい。
【0025】
ネットワーク取得部111は、複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続された第1ネットワーク121を取得する。例えばネットワーク取得部111は、公開情報に基づいてエンティティネットワークを作成し、当該エンティティネットワークを第1ネットワーク121としてもよい。公開情報は、製品の提供元企業及び提供先企業を対応付けた取引関係情報、あるいは、株式の保有比率等を表す支配関係情報を含む。ネットワーク取得部111は、作成した第1ネットワーク121を、記憶部120に記憶する。ただし、第1ネットワーク121の作成は、本実施形態に係る情報処理システム10とは異なるシステムにおいて行われてもよい。この場合、ネットワーク取得部111は、当該異なるシステムから作成結果を取得する処理を行ってもよい。
【0026】
ネットワーク取得部111は、例えば
図5A-
図5Cを用いて後述するように、企業間の取引関係に基づいて、複数の企業に対応する複数のノードが接続されたネットワークを、第1ネットワーク121として取得してもよい。
【0027】
ベクトル取得部112は、第1ネットワーク121に含まれる各ノードのベクトル表現(複素ベクトル)を求める。具体的には、複数のノードのいずれかをベクトル算出ノードとした場合に、複数のノードのそれぞれについて、ベクトル算出ノードまでの距離に応じた位相、及び、ベクトル算出ノードへと向かう流量またはベクトル算出ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、ベクトル算出ノードの他のノードとの関係性を表現する複素ベクトルを求める。ベクトル表現を求める手法については、
図7~
図14等を用いて後述する。ベクトル取得部112は、取得した各ノードの複素ベクトルを記憶部120に記憶する。
【0028】
行列取得部113は、ベクトル取得部112によって取得された各ノードの複素ベクトルに基づいて、複素相関行列Cを求める。また行列取得部113は、複素相関行列Cの固有値分解を行うことによって、固有値と固有ベクトルを求める。
【0029】
ネットワーク抽出部114は、複数のノードのそれぞれを表す複素ベクトルに基づいて、第1ネットワーク121の一部である第2ネットワーク122を抽出する。具体的には、ネットワーク抽出部114は、固有ベクトルに基づいて、取引ネットワーク(第1ネットワーク121)から、所与の企業の実質的な取引関係を表すサプライチェーンネットワークを第2ネットワーク122として抽出してもよい。
【0030】
経路選択部115は、エンティティネットワークに含まれる複数の経路から、優先度の高い優先経路を選択する。ここでのエンティティネットワークは、例えばサプライチェーンネットワークである第2ネットワーク122である。ただし優先経路の選択対象となるエンティティネットワークは、サプライチェーンネットワーク以外の第2ネットワーク122であってもよいし、第1ネットワーク121であってもよい。
【0031】
記憶部120は、処理部110のワーク領域であって、種々の情報を記憶する。記憶部120は、種々のメモリによって実現が可能であり、メモリは、SRAM、DRAM、ROM、フラッシュメモリなどの半導体メモリであってもよいし、レジスタであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。
【0032】
記憶部120は、例えばネットワーク取得部111が取得した第1ネットワーク121を記憶する。また記憶部120は、ネットワーク抽出部114が抽出した第2ネットワーク122を記憶する。また、記憶部120は、取引関係や支配関係を表す情報として、有価証券報告書、産業連関表等の公開情報を記憶してもよい。例えば記憶部120は、タグデータ123及び規制対象企業リスト124等を記憶する。タグデータ123は、タグに関する情報であり、例えば所与の属性における属性値(タグ値の候補)の集合である。タグデータ123は、例えば産業分類コードであってもよい。ただしタグは、国、企業ID、エンティティのカテゴリ等の種々の情報を含んでもよく、タグデータはこれらのタグに関する情報を含んでもよい。規制対象企業リスト124は、例えばESGの観点から問題がある企業を特定する情報である。その他、記憶部120は本実施形態の処理に係る種々の情報を記憶可能である。
【0033】
通信部130は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF(radio frequency)回路、及びベースバンド回路を含む。通信部130は、処理部110による制御に従って動作してもよいし、処理部110とは異なる通信制御用のプロセッサを含んでもよい。通信部130は、例えばTCP/IP(Transmission Control Protocol/Internet Protocol)に従った通信を行うためのインターフェイスである。ただし具体的な通信方式は種々の変形実施が可能である。
【0034】
図3は、端末装置200の詳細な構成例を示すブロック図である。端末装置200は、処理部210と、記憶部220と、通信部230と、表示部240と、操作部250を含む。
【0035】
処理部210は、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むハードウェアによって構成される。また処理部210は、プロセッサによって実現されてもよい。プロセッサは、CPU、GPU、DSP等、各種のプロセッサを用いることが可能である。端末装置200のメモリに格納された命令をプロセッサが実行することによって、処理部210の機能が処理として実現される。
【0036】
記憶部220は、処理部210のワーク領域であって、SRAM、DRAM、ROM等の種々のメモリによって実現される。
【0037】
通信部230は、ネットワークを介した通信を行うためのインターフェイスであり、例えばアンテナ、RF回路、及びベースバンド回路を含む。通信部230は、例えばネットワークを介して、サーバシステム100との通信を行う。
【0038】
表示部240は、種々の情報を表示するインターフェイスであり、液晶ディスプレイであってもよいし、有機ELディスプレイであってもよいし、他の方式のディスプレイであってもよい。操作部250は、ユーザによる操作入力を受け付けるインターフェイスである。操作部250は、例えば端末装置200に設けられるボタン等であってよい。また表示部240と操作部250は、一体として構成されるタッチパネルであってもよい。
【0039】
以上のように、本実施形態にかかる情報処理システム10は、ネットワーク取得部111と、経路選択部115を含む。そしてエンティティネットワークに含まれる複数のノードのそれぞれのノードには、当該ノードの特性を表す付加データが付与されている。経路選択部115は、付加データに基づいて、複数の経路のそれぞれの経路について特徴量を求め、求めた特徴量に基づいて優先経路を選択してもよい。このようにすれば、ノードに付与される付加データに基づいて、ネットワーク上で優先度合いが高い経路を適切に選択できる。例えばエンティティネットワークがサプライチェーンネットワークである場合、2つの企業間のサブライチェーンにおいて重要度の高い経路(重要度の高い取引の流れ)を選択することが可能になる。情報処理システム10は、例えば選択した優先経路を端末装置200の表示部240に表示させる処理を行う。
【0040】
ここで、ノードに付与される付加データは、産業分類、国等を表すタグであってもよい。付加データがタグである場合、特徴量はネットワーク上の各経路の重み(経路重み)、及び経路に含まれる複数のノードに沿ってタグがどのように遷移するかを表すタグ遷移パターンの重み(タグ遷移パターン重み)である。
【0041】
図19及び
図21等を用いて後述するように、経路重みやタグ遷移パターン重みは容易な演算により求めることが可能であり、且つ、ネットワークの規模が大きくなっても、計算量が過剰に増大する蓋然性が低い。従って本実施形態の手法によれば、ネットワーク中の2つのノード間の優先経路を、対象のネットワークの広い範囲(狭義には全体)を対象として求めることが可能である。また本実施形態では、経路及びタグ遷移パターンの重みが演算されれば、サブネットワークを対象とする場合にも各経路の特徴量の再計算が容易である。例えば本実施形態の手法では、経路の端点となる2つのノードを切り替えた場合にも、優先経路の再選択を高速で実行できる。サブネットワークを対象とした処理については、
図27-
図28Cを用いて後述する。
【0042】
さらに、本実施形態の手法では、経路の重みが演算されれば、タグ遷移パターン重みが決定されるため、優先経路の決定が可能にある。従って本実施形態の手法は、処理対象となるネットワークが取引ネットワークやサプライチェーンネットワークに限定されず、経路の重み(経路の末端ノードでの重み)を演算可能な種々のネットワークに拡張可能である。
【0043】
あるいは、ノードに付与される付加データは、後述するようにノードの特性を表すテキストから求められるベクトル(埋め込みベクトル)であってもよい。付加データが埋め込みベクトルである場合、特徴量は、端点となる2つのノード間の埋め込みベクトルの差分である第1差分ベクトルと、隣接する2つのノード間の埋め込みベクトルの差分である第2差分ベクトルの内積から求められる。具体例については
図29-
図35を用いて後述する。
【0044】
上述したように、本実施形態では公開情報に基づいてエンティティネットワークが取得されてもよい。この際、ノードに応じて付与される属性の種類にばらつきがあり、産業分類コードと、特性を表すテキストのいずれか一方のみが取得されるケースも考えられる。従って、上記の通り産業分類に対応するタグ遷移パターンに基づく処理、及び、テキストから求められる埋め込みベクトルに基づく処理の両方を実装し、これらを相互補完的に用いることによって、取得された属性にあわせてネットワークの優先経路を適切に求めることが可能になる。
【0045】
また、本実施形態の情報処理システム10が行う処理の一部又は全部は、プログラムによって実現されてもよい。情報処理システム10が行う処理とは、狭義にはサーバシステム100の処理部110が行う処理であるが、端末装置200の処理部210が実行する処理を含んでもよい。
【0046】
本実施形態に係るプログラムは、例えばコンピュータによって読み取り可能な媒体である非一時的な情報記憶媒体(情報記憶装置)に格納できる。情報記憶媒体は、例えば光ディスク、メモリーカード、HDD、或いは半導体メモリなどによって実現できる。半導体メモリは例えばROMである。処理部110等は、情報記憶媒体に格納されるプログラムに基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体は、処理部110等としてコンピュータを機能させるためのプログラムを記憶する。コンピュータは、入力装置、処理部、記憶部、出力部を備える装置である。具体的には本実施形態に係るプログラムは、
図4等を用いて後述する各ステップを、コンピュータに実行させるためのプログラムである。
【0047】
また本実施形態の手法は、以下のステップを含む情報処理方法に適用できる。情報処理方法は、情報処理装置が、複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得するステップと、付加データに基づいて、エンティティネットワークに含まれる複数の経路のそれぞれの経路について特徴量を求めるステップと、求めた特徴量に基づいて、複数の経路から、優先度の高い優先経路を選択するステップと、を含む。付加データは、上述したとおり、エンティティネットワークに含まれる複数のノードのそれぞれのノードに付与された、ノードの特性を表すデータである。
【0048】
2.処理の詳細
以下、本実施形態の処理の詳細について説明する。なお以下では、第1ネットワーク121が、複数の企業にそれぞれ対応する複数のノードが、取引関係を示すエッジで接続された取引ネットワークであり、第2ネットワーク122が、関心企業のサプライチェーンを表すサプライチェーンネットワークである例について説明する。このようにすれば、関心企業のサプライチェーンネットワークにおいて、優先度の高い経路を求めることが可能になる。ただし、本実施形態にかかるエンティティネットワークは、サプライチェーンネットワークに限定されない。また第2ネットワーク122の抽出は必須ではなく、第1ネットワーク121が優先経路の選択対象のネットワークとして用いられてもよい。
【0049】
2.1 全体の流れ
図4は、本実施形態の情報処理システム10において実行される処理の概略を説明するフローチャートである。
【0050】
まず、ステップS101において、ネットワーク取得部111は、第1ネットワーク121である取引ネットワークを取得する。ネットワーク取得部111は、取引ネットワークを記憶部120に記憶する。
【0051】
ステップS102において、ベクトル取得部112は、取引ネットワークに含まれる複数のノードのそれぞれについて、ベクトル表現を求める。ベクトル取得部112は、求めたベクトル表現を記憶部120に記憶する。なおここでのベクトル表現とは、各ノードが他のノードとどのように接続されるかというネットワーク構造を表すベクトルであり、付加データの一例である埋め込みベクトル(
図29-
図35を用いて後述)とは異なるベクトルである。
【0052】
ステップS103において、行列取得部113は、ベクトル表現に基づいて複素相関行列Cを決定する。ステップS104において、行列取得部113は、複素相関行列Cの固有値分解を行い、固有値と固有ベクトルを求める。行列取得部113は、少なくとも固有ベクトルを記憶部120に記憶する。
【0053】
ステップS105において、ネットワーク抽出部114は、固有ベクトルに基づいて、取引ネットワークから第2ネットワーク122であるサプライチェーンネットワークを抽出する。例えばネットワーク抽出部114は、関心エンティティである企業のサプライチェーンネットワークを抽出してもよい。
【0054】
ステップS106において、経路選択部115は、ステップS105で抽出されたサプライチェーンネットワークに含まれる複数の経路から、優先経路を選択する。
【0055】
以下、各ステップの処理について詳細に説明する。
【0056】
2.2 取引ネットワークの取得
図4のステップS101に対応する取引ネットワークの取得処理について説明する。ネットワーク取得部111は、公開情報に基づいて、取引ネットワークを生成してもよい。公開情報には、例えば有価証券報告書やニュースリリース等の情報が含まれる。
【0057】
ネットワーク取得部111は、多数の企業のそれぞれについて、企業の名称、国籍、事業分野、取引先と取引品目等の種々の情報を特定する。またネットワーク取得部111は、公開情報に基づいて、各企業の従業員数、株主と出資比率、ボードメンバー等を特定してもよい。
【0058】
またネットワーク取得部111は、公開情報に基づいて、各企業の評判を表す評判情報を取得してもよい。例えば、評判情報とは、対象の企業が、ESG(Environment, Social, Governance)の観点から問題を有する企業であるか、制裁を受けた履歴があるか等を表す情報である。例えば評判情報は、輸出規制への違反をした企業であるか、紛争鉱物を取り扱う企業であるか、奴隷労働に関与する企業であるか、違法伐採に関する企業であるか等を表す情報であってもよい。また公開情報は、政府等の機関が発行する文書であってもよく、評判情報は、所定の国等において取引規制の対象となっているか否かを表す情報であってもよい。また上述したように公開情報はSNSに関する情報を含んでもよく、ここでの評判情報はSNSに基づいて決定される情報であってもよい。例えばネットワーク取得部111は、SNSにおいて企業等の公式アカウントが発信した情報に基づいて評判情報を取得してもよい。また本実施形態の手法で用いられるSNSの情報は、公式アカウントから発信するものには限定されない。例えばSNSにおいて所定数以上のユーザが「紛争鉱物」、「奴隷労働」、「違法伐採」等のワードとともに所与の企業名を発信していた場合、当該企業に対して、ネガティブな評判情報が対応付けられてもよい。
【0059】
図5A、
図5Bは、公開情報に基づいて取得されるデータの構造例である。
図5Aに示すように、ネットワーク取得部111は、公開情報に含まれる各企業について、企業名、産業分類、評判、国籍が対応付けられた情報を取得する。
【0060】
企業名は、例えば対象の企業の名称を表すテキストデータである。産業分類は、対象の企業の事業分野を表す情報である。評判は上記の通り、対象の企業が、ESGの観点から問題を有する企業であるか否か等を表す情報である。国籍は、対象の企業が属する国を表す情報である。
【0061】
なお
図5Aでは産業分類をテキストで図示しているが、産業分類を表す情報は産業分類コードであってもよい。例えば日本標準産業分類であれば、非鉄金属第1次製錬・精製業には「231」というコードが割り当てられ、半導体素子製造業には「2813」等のコードが割り当てられる。なお、産業分類は上述したようにNAICS等、他の分類であってもよい。以下では、説明の便宜上、産業分類が分類名を表すテキストであるものとして説明する。ただし、以下の処理における分類名は産業分類コードに置き換えが可能である。また、記憶部120は
図2に示すようにタグデータ123を含んでもよく、タグデータ123は、例えばNAICSにおける分類名と分類コードを対応付けた情報である。処理部110は、タグデータ123に基づいて、分類名と分類コードの間の変換処理を行ってもよい。
【0062】
また
図5Bに示すように、ネットワーク取得部111は、公開情報に基づいて、企業間の取引を表す情報を取得する。例えば公開情報に含まれる取引関係情報は、
図5Bに示す情報、あるいは、
図5Bに示す情報を特定することが可能な態様の情報である。企業間の取引を表す情報は、例えば販売元企業を特定する情報と、販売先企業を特定する情報と、取引される製品を特定する情報とを対応付けた情報である。
【0063】
ネットワーク取得部111は、これらの情報に基づいて、企業をノードとし、取引関係をエッジとする有向グラフである取引ネットワークを作成する。
【0064】
図5Cは、
図5Bに示す取引関係に基づいて生成される取引ネットワークの一部を例示する図である。
図5Bに示すように、企業C1が、企業C10に製品P1を売るという関係がある。この場合、ネットワーク取得部111は、企業C1を表すノードと、企業C10を表すノードとの間に、C1からC10への向きのエッジを付与する。企業C1を表すノードには、
図5Aに示すように、企業名である「C1」の他、産業分類、評判、国籍等の情報が対応付けられる。企業C10を表すノードについても同様である。またC1からC10へと向かうエッジには、取引製品であるP1が対応付けられる。なおネットワーク取得部111は、公開情報に基づいて、取引量や取引価格等の情報を取得してもよく、これらの情報がエッジに対応付けられてもよい。
【0065】
また、
図5Bに示すように、企業C10が、企業C5に製品P2を売るという関係があるとする。この場合、ネットワーク取得部111は、企業C10を表すノードと、企業C5を表すノードの間に、C10からC5への向きのエッジを付与する。各ノードには
図5Aに示す情報が対応付けられ、エッジには取引製品等に関する情報が対応付けられる。
【0066】
なお、上述したように、有向グラフである取引ネットワークにおいて、何らかのものを提供する(売る)側を「上流側」と表記し、何らかのものの提供を受ける(買う)側を「下流側」と表記する。なお上流及び下流の定義は、後述するサプライチェーンネットワークにおいても同様である。
【0067】
ここでの取引ネットワークは、狭義には処理対象の公開情報に含まれるすべての企業に対応するノードを含むネットワークである。そのため、取引ネットワークは非常に多くのノードを含むネットワークであり、ノード数は数千程度や、それ以上であってもよい。ただし、公開情報に含まれる一部の企業を除外する等、取引ネットワークの構成手法は種々の変形実施が可能である。
【0068】
図6は、取引ネットワークの概略を示す図である。
図6に示すように、取引ネットワークは、複数のノードが、取引関係を表すエッジによって結合された有向グラフである。なお、
図6では説明を分かりやすくするため、製造工場であるか、流通拠点であるか等に応じてノードの形状を変えている。上述したように、各ノードに対応する企業の名称や産業分類等の情報が取得されているため、例えば産業分類に応じて表示態様を変える等の処理を実行することが可能である。ただし、本実施形態の手法では、ノードの形状を制御することは必須ではない。
【0069】
なお、
図5A及び
図5Bは取引ネットワークに関するデータ構造の一例であり、具体的なデータ構造はこれに限定されない。例えば
図5Aや
図5Bではリレーショナルデータベース等のテーブルデータを用いる例を示したが、他の構造のデータが用いられてもよい。またテーブルデータを用いる場合であっても、テーブル数は2つに限定されず、1つにまとめられてもよいし、3つ以上に分割して管理されてもよい。また
図5A、
図5Bに示した項目の一部が省略されてもよいし、他の項目が追加されてもよい。例えばネットワーク取得部111は企業名、産業分類コード、売買の向きを表す情報を取得し、他の情報については欠落が許容されてもよい。
【0070】
2.3 ベクトル表現の算出
2.3.1 ベクトル算出ノードに関する取引ネットワーク抽出
図7は、
図4のステップS102における複素ベクトル決定処理を説明するフローチャートである。この処理が開始されると、まずベクトル取得部112は、取引ネットワークに含まれる複数のノードの内の1つをベクトル算出ノードとして選択する。
【0071】
ステップS202において、ベクトル取得部112は、ベクトル算出ノードに関するサブ取引ネットワークを抽出する。サブ取引ネットワークとは、取引ネットワークのうち、ベクトル算出ノードを含む一部のネットワークを表す。
【0072】
ステップS203において、ベクトル取得部112は、ステップS202で抽出されたサブ取引ネットワークに基づいて、ベクトル算出ノードのベクトル表現を求める。ここでのベクトルは、
図13を用いて後述するように、大きさと位相を有する複素数を要素とする複素ベクトルである。
【0073】
ステップS204において、ベクトル取得部112は、取引ネットワークに含まれる全てのノードのベクトル表現が求められたか否かを判定する。ベクトル表現が未算出のノードが存在する場合(ステップS204:No)、ステップS201に戻り、処理が継続される。例えばベクトル取得部112は、複素ベクトルが未算出のノードをベクトル算出ノードとして選択し、当該ベクトル算出ノードのベクトル表現を求める。
【0074】
全ノードのベクトル表現が算出された場合(ステップS204:Yes)、ベクトル取得部112は、
図7に示した処理を終了する。
【0075】
図8は、
図7のステップS202に対応するサブ取引ネットワーク抽出処理を説明するフローチャートである。
【0076】
ステップS301において、ベクトル取得部112は、サブ取引ネットワークの抽出の基準となる特定の企業を決定する。例えば、ここでの特定の企業は
図7のステップS202で選択されるベクトル算出ノードに対応する企業であってもよい。例えば
図7のステップS201~S204に示したように、取引ネットワークに含まれる複数のノードが順次、ベクトル算出ノードとして選択される。以下、特定の企業を企業Aとも表記する。
【0077】
ステップS302において、ベクトル取得部112は、ベクトル算出ノードに対応する企業Aに隣接し、当該企業Aに何かを売っている企業Xをすべて選択し、この集合をS1(A)とする。
【0078】
図9Aは、S1(A)を例示する図である。例えば
図9Aは、取引ネットワークのうち、企業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と直接的または間接的に接続される企業を表すノードからなる有向グラフである。このようにすれば、取引ネットワークのうち、所望の企業に関連する部分を適切に抽出することが可能になる。上流側サブ取引ネットワークは、企業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は、サブ取引ネットワークの抽出対象となる段数を決定する値である。kは例えば3程度の値であるが、異なる値が設定されてもよい。ベクトル取得部112は、Si+1(A)が空集合であるという第1条件と、i≧kであるという第2条件の少なくとも一方が満たされた場合に、ステップS305でNoと判定し、それ以上の探索を終了してもよい。このようにすれば、ベクトル表現を求めるためのサブ取引ネットワークの上流側の段数をk段に限定できる。そのため、ベクトル算出ノードに対応する企業との距離が遠い企業を処理から除外できるため、処理負荷の軽減が可能になる。より具体的には後述するベクトル表現において値が0となる要素の数を増やすことができるため、複素ベクトルを用いた処理(例えば類似度算出や、複素相関行列Cの固有値分解)における計算負荷を軽減できる。
【0092】
なお以上では企業Aを基準として上流側の企業からなる上流側サブ取引ネットワークについて説明した。ただしサブ取引ネットワークは上流側サブ取引ネットワークに限定されず、下流側サブ取引ネットワークを含んでもよい。下流側についても探索方向が変わるのみであり、処理は
図8と同様であるため説明は省略する。例えばベクトル取得部112は、ベクトル算出ノードの上流k段、及び下流k段の範囲において当該ベクトル算出ノードのサブ取引ネットワークを抽出する。
【0093】
2.3.2 ベクトル表現を求める処理
次にサブ取引ネットワークに基づいてベクトル算出ノードのベクトル表現を求める処理について説明する。本実施形態の手法では、ベクトル取得部112は、ベクトル算出ノードのサブ取引ネットワークに含まれる各ノードに対して、ベクトル算出ノードまでの距離に応じた位相、及び、ベクトル算出ノードへと向かう流量またはベクトル算出ノードからの流量に応じた絶対値を有する複素数を割り当てることによって、ベクトル算出ノードを表す複素ベクトルを求める。なお本実施形態における流量とは、有向グラフにおいて当該グラフ上を流れるものの量を表す。本実施形態のグラフは上流側企業から下流側企業へ向かう方向の有向グラフであり、流量とは上流側企業が下流側企業へ与える影響度合いを表す。本実施形態の流量は、
図12Aを用いて後述するように、有向グラフにおけるノードの接続関係に基づいて決定される情報であってもよい。また流量は、例えば上流側企業から下流側企業へ供給される製品(材料、原料、製造装置等を含む)の具体的な量を反映した情報であってもよい。
【0094】
本実施形態の手法によれば、有向グラフである取引ネットワーク(狭義にはそのうちのサブ取引ネットワーク)における流量(フロー)の大きさを絶対値により表現することに加えて、ノード間の距離を位相により表現することが可能になる。そのため、ベクトル算出ノードを含むサブ取引ネットワーク(局所グラフ)の構造を正確に反映したベクトル表現が可能になる。より具体的には、ノードのベクトル表現として、当該ノードがその上流、下流において、どのような企業とつながっているかという情報を、詳細に反映する情報を用いることが可能になる。
【0095】
図11A及び
図11Bは、
図7のステップS203に対応するベクトル算出ノードのベクトル表現を求める処理を説明するフローチャートである。まずステップS401において、ベクトル取得部112は、上流側ノードに関する初期化処理を実行する。以下では、ベクトル算出ノードnsの上流側ノードをxとしたとしき、上流側ノードxの位相付き流量をF
+(Δθ,x)とする。ベクトル取得部112は、取引ネットワークに含まれ、且つ、ベクトル算出ノードnsよりも上流側に位置する全ての上流側ノードxについて、F
+(Δθ,x)を0で初期化する。またベクトル取得部112は、ベクトル算出ノードns自身の位相付き流量であるF
+(Δθ,ns)を1に設定する。またベクトル算出ノードから上流にm段離れたノードの集合をN
m
+とする。ベクトル算出ノードnsから0段離れたノードはベクトル算出ノード自身となるため、N
0
+={ns}である。またベクトル取得部112は、mを1で初期化する。
【0096】
ステップS402において、ベクトル取得部112は、m>kと、Nm
+=φの少なくとも一方が満たされるかを判定する。ここでのkは、例えばサブ取引ネットワークの抽出処理において上述したkと同様であり、探索範囲の上限段数を表す数値である。φは空集合を表す。
【0097】
m≦k、且つ、Nm
+≠φである場合(ステップS402:No)、ステップS403において、ベクトル取得部112は、Nm
+に含まれる全てのノードxを対象として、下式(1)を用いてF+(Δθ,x)を更新する。
【0098】
【0099】
図12A、
図12Bを用いて具体例を説明する。
図12A及び
図12Bでは、取引ネットワークとして、全ノード数n=14の例を示している。ここで、ベクトル算出ノードとしてノード8が選択された場合を考える。なおここでの取引ネットワークは小規模であり、取引ネットワークと、ノード8の上下3段分のサブ取引ネットワークが同一となるため、以下の説明では取引ネットワークとサブ取引ネットワークを区別しない。
【0100】
図12Aは、取引ネットワークのノード8に着目した場合の流量を示す図である。この場合、ノード8から上流に1段離れたノードは、ノード3とノード4となる。即ち、ノード8の1段上流からノード8へと流れ込むためのエッジは、ノード3とノード8を結ぶエッジと、ノード4とノード8を結ぶエッジの2本となる。よってノード8に流れ込む流量を1とした場合、当該流量が2本のエッジに所与の比率で分配されることになる。
【0101】
例えば分配比率が等分である場合、ノード3からノード8への流量が1/2、ノード4からノード8への流量が1/2となる。当然、ノード8の1段上流からノード8へと流れ込むためのエッジがN本(Nは2以上の整数)である場合、各エッジに対応する流量は1/Nとなる。以下では分配比率が等分である例について説明する。ただし、具体的な製品の取引量等がエッジに対応付けられている場合、当該取引量等に基づいて分配比率が設定されてもよい。
【0102】
分配比率が決定されたら、具体的に上式(1)の計算が行われる。例えばF+(Δθ,3)を求める場合、右辺第1項の更新前のF+(Δθ,3)は初期値そのものとなるため0である。またN0
+は、ノード8のみとなるため、「Nm-1
+の中でxにつながるノードyすべて」はノード8となる。またノード3とノード8を結ぶエッジの分配比率は上記の通り1/2である。またF+(Δθ,y)は、ベクトル算出ノードであるノード8の位相付き流量であるため、ステップS401で設定したとおり1である。従って、F+(Δθ,3)は以下のように更新される。同様に、F+(Δθ,4)は以下のように更新される。
F+(Δθ,3)=0+eiΔθ×(1/2)×1=0.5eiΔθ
F+(Δθ,4)=0+eiΔθ×(1/2)×1=0.5eiΔθ
【0103】
図12Bは、
図12Aと同様の取引ネットワークを対象とした場合であって、ノード8をベクトル算出ノードとしたときの各ノードの位相付き流量を例示した図である。上述したように、ノード3及び4の位相付き流量は、いずれも0.5e
iΔθとなる。
【0104】
次のステップS404において、ベクトル取得部112はmをインクリメントし、ステップS402に戻って処理を行う。例えば2回目のステップS402の処理ではm=2に設定されているため、2>kであるかの判定、及び、N2
+が空集合であるかの判定が行われる。
【0105】
例えばk=3である場合、2>kは満たされない。また
図12A、
図12Bの例では、ノード8から上流に2段離れたノードとして、ノード3の1段上流に隣接し且つノード4の1段上流に隣接するノード1と、ノード4の1段上流に隣接するノード2が存在する。即ち、N
2
+はノード1とノード2の集合であり、空集合ではない。よってこの例ではベクトル取得部112は、ステップS402でNoと判定し、ステップS403の処理を実行する。
【0106】
この場合、N
2
+に含まれるノード1とノード2を対象として位相付き流量の更新処理が実行される。
図12Aに示すように、ノード3から上流に1段離れたノードは、ノード1のみとなる。即ち、ノード3の1段上流からノード3へと流れ込むためのエッジは、ノード1とノード3を結ぶエッジの1本のみとなる。よってノード3の流量は、その全てがノード1に起因する流量となるため、分配比率は1になる。
【0107】
またノード4から上流に1段離れたノードは、ノード1とノード2の2つとなる。即ち、ノード4の1段上流からノード4へと流れ込むためのエッジは、ノード1とノード4を結ぶエッジと、ノード2とノード4を結ぶエッジの2本となる。よってノード4の流量は、その1/2がノード1に起因し、残り1/2がノード2に起因する流量となるため、分配比率はそれぞれ1/2になる。
【0108】
分配比率が決定されたら、具体的に上式(1)の計算が行われる。例えばF+(Δθ,1)を求める場合、右辺第1項の更新前のF+(Δθ,1)は初期値そのものとなるため0である。またN1
+は、ノード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)は以下のように更新される。
F+(Δθ,1)=0+eiΔθ×{1×0.5eiΔθ+1/2×0.5eiΔθ}
=0.75e2iΔθ
【0109】
またF+(Δθ,2)を求める場合、右辺第1項の更新前のF+(Δθ,2)は初期値そのものとなるため0である。またN1
+は、ノード3とノード4であり、このうちノード2とつながるのはノード4のみであるため、「Nm-1
+の中でxにつながるノードyすべて」はノード4の1つとなる。またノード2とノード4を結ぶエッジの分配比率は1/2であり、ノード4の位相付き流量F+(Δθ,4)は上述したとおり0.5eiΔθである。従って、F+(Δθ,2)は以下のように更新される。
F+(Δθ,2)=0+eiΔθ×{1/2×0.5eiΔθ}=0.25e2iΔθ
【0110】
以上の説明から分かるように、ベクトル算出ノードからの段数が増えるごとにeiΔθが乗算されることになるため、位相がΔθずつずれている。即ち、本実施形態の手法では、ベクトル算出ノードから上流にm段離れたノードの位相は、mΔθとなる。
【0111】
次のステップS404において、ベクトル取得部112はmをインクリメントし、ステップS402に戻って処理を行う。例えば3回目のステップS402の処理ではm=3に設定されているため、3>kであるかの判定、及び、N3
+が空集合であるかの判定が行われる。
【0112】
図12A、
図12Bの取引ネットワークの例では、ノード1よりも上流のノード、及び、ノード2よりも上流のノードは存在しないため、N
3
+が空集合となる。よってステップS402でYesと判定され、
図11Bに示す下流側の処理に移行する。N
3
+が空集合でなく、且つk≧3である場合には、ステップS402でNoと判定されるため、N
3
+に含まれる各ノードを対象として、位相付き流量の更新処理が実行される。即ち、本実施形態の手法では、上流側にk段分の処理が完了する、及び、それよりも上流側にノードが存在しないという条件の少なくとも一方が満たされるまで、1段ずつ上流に向かって位相付き流量を更新する処理が繰り返される。
【0113】
上流側の処理が完了した場合、
図11BのステップS405において、ベクトル取得部112は、下流側ノードに関する初期化処理を実行する。以下では、ベクトル算出ノードnsの下流側ノードをxとしたとしき、下流側ノードxの位相付き流量をF
-(Δθ,x)とする。ベクトル取得部112は、取引ネットワークに含まれ、且つ、ベクトル算出ノードnsよりも下流側に位置する全ての下流側ノードxについて、F
-(Δθ,x)を0で初期化する。またベクトル取得部112は、ベクトル算出ノードns自身の位相付き流量であるF
-(Δθ,ns)を1に設定する。またベクトル算出ノードから下流にm段離れたノードの集合をN
m
-とする。ベクトル算出ノードnsから0段離れたノードはベクトル算出ノード自身となるため、N
0
-={ns}である。またベクトル取得部112は、mを1で初期化する。
【0114】
ステップS406において、ベクトル取得部112は、m>kと、Nm
-=φの少なくとも一方が満たされるかを判定する。即ち、下流側においても上流側と同様に、k段分の処理が完了する、または、それよりも下流側にノードが存在しないという条件が満たされるまで、処理が繰り返される。
【0115】
k段分の処理が完了しておらず、且つ、下流側にノードが存在する場合(ステップS406:No)、ステップS407において、ベクトル取得部112は、Nm
-に含まれる全てのノードxを対象として、下式(2)を用いてF-(Δθ,x)を更新する。
【0116】
【0117】
図12Aの例であれば、ベクトル算出ノードであるノード8から下流に1段離れたノードは、ノード11とノード12となる。即ち、ノード8からノード8の1段下流へと流れ出るためのエッジは、ノード8とノード11を結ぶエッジと、ノード8とノード12を結ぶエッジの2本となる。よってノード8から流れ出る流量を1とした場合、当該流量が2本のエッジに所与の比率で分配されることになる。分配比率が等分である場合、ノード8からノード11への流量が1/2、ノード8からノード12への流量が1/2となる。
【0118】
分配比率が決定されたら、具体的に上式(2)の計算が行われる。例えばF-(Δθ,11)を求める場合、右辺第1項の更新前のF-(Δθ,11)は初期値そのものとなるため0である。またN0
-は、ノード8のみとなるため、「Nm-1
-の中でxにつながるノードyすべて」はノード8となる。またノード8とノード11を結ぶエッジの分配比率は上記の通り1/2である。またF-(Δθ,y)は、ベクトル算出ノードであるノード8の位相付き流量であるため、ステップS405で設定したとおり1である。従って、F-(Δθ,11)は以下のように更新される。同様に、F-(Δθ,12)は以下のように更新される。
F-(Δθ,11)=0+e-iΔθ×(1/2)×1=0.5e-iΔθ
F-(Δθ,12)=0+e-iΔθ×(1/2)×1=0.5e-iΔθ
【0119】
次のステップS408において、ベクトル取得部112はmをインクリメントし、ステップS406に戻って処理を行う。例えば2回目のステップS406の処理ではm=2に設定されているため、2>kであるかの判定、及び、N2
-が空集合であるかの判定が行われる。
【0120】
図12A、
図12Bの例では、N
2
-に含まれるノード13及びノード14に関する処理が行われ、F
-(Δθ,13)及びF
-(Δθ,14)が更新される。処理の詳細については、以上で説明した例と同様であるため説明を省略する。なおベクトル算出ノードからの段数が増えるごとにe
-iΔθが乗算されることになるため、位相が-Δθずつずれている。即ち、本実施形態の手法では、ベクトル算出ノードから下流にm段離れたノードの位相は、-mΔθとなる。
【0121】
下流側にk段分の処理が完了する、及び、それよりも下流側にノードが存在しないという条件の少なくとも一方が満たされた場合(ステップS406:Yes)、ステップS409において、ベクトル取得部112は、各ノードについて求められた位相付き流量に基づいて、ベクトル算出ノードのベクトル表現を決定する。
【0122】
具体的には、ベクトル取得部112は、取引ネットワークに含まれるn個のノードの全てについて、位相付き流量を所定順に並べたn次元複素ベクトルを、ベクトル算出ノードのベクトル表現とする。
【0123】
図13は、
図12A及び
図12Bを用いて上述した例におけるベクトル表現を示す図である。上述したように、ここでの取引ネットワークは14個のノードを含むため、求められるベクトルは14次元複素ベクトルとなる。例えば14次元複素ベクトルは、ノード1~ノード14の位相付き流量をこの順に並べたベクトルである。ただし、取引ネットワークに含まれる複数のノードの順序はこれに限定されず、種々の変形実施が可能である。
【0124】
上述したように、ノード1~ノード4、ノード11~ノード14はベクトル算出ノードであるノード8に接続されるため、位相付き流量が更新される。従って、1~4番目、及び11~14番目の要素は0でない複素数となる。一方、ノード5~ノード7、ノード9~ノード10は更新対象とならないため位相付き流量は初期値である0のままとなる。従って、5~7番目、9~10番目の要素は0となる。8番目の要素は、ノード8自身の位相付き流量であるため1となる。
【0125】
本実施形態の手法によれば、流量そのものだけでなく、ベクトル算出ノードからの段数を考慮したベクトル表現を用いることが可能になる。
図13の例であれば、複素ベクトルの1番目の要素の位相が2Δθであることから、当該複素ベクトルは、ノード1がベクトル算出ノードから上流に2段離れているという情報を保持できる。同様に、3番目の要素の位相がΔθであることから、複素ベクトルは、ノード3がベクトル算出ノードから上流に1段離れているという情報を保持できる。これらの情報を保持する複素ベクトルをこれ以降の処理に用いることによって、段数を含む情報が処理に反映されるため、処理精度を向上させることが可能になる。
【0126】
なお、上下k段までの処理を行う場合、要素となる複素数の位相は、上流側でΔθ、2Δθ、3Δθ、・・・、kΔθとなり、下流側で-Δθ、-2Δθ、-3Δθ、・・・、-kΔθとなる。位相と段数の関係を明確にするためには、これらの位相が互いに重複しないことが望ましい。例えば、k=3である場合にΔθ=π/2に設定してしまうと、e2iΔθ=e-2iΔθ=-1等の重複が発生するため、例えば上流側に2段離れていることと、下流側に2段離れていることの区別が難しくなる。よって本実施形態では、Δθはkに基づいて値が設定されてもよい。例えばΔθは、(k+1)×Δθ=πを満たす正の実数である。
【0127】
図14は、異なる構造の取引ネットワークの一部を例示する図である。
図14において、ノード1がベクトル算出ノードとして選択され、ノード2~ノード5等の位相付き流量を求める場合を考える。
【0128】
ここでノード5は、ノード1と直接接続されるため、N1
+に含まれるノードである。具体的には、ノード5の位相付き流量F+(Δθ,5)は、N1
+を対象とした処理により以下のように更新される。
F+(Δθ,5)=0+eiΔθ×(1/3)×1=(1/3)eiΔθ
【0129】
またノード5は、N1
+に含まれるノード2から1段上流のノードであるため、N2
+に含まれるノードである。具体的には、ノード5の位相付き流量F+(Δθ,5)は、N2
+を対象とした処理により以下のように更新される。なおノード2の位相付き流量F+(Δθ,2)は(1/3)eiΔθである。
F+(Δθ,5)=(1/3)eiΔθ+eiΔθ×(1/2)×(1/3)eiΔθ
=(1/3)eiΔθ+(1/6)e2iΔθ
【0130】
さらにノード5は、N2
+に含まれるノード4から1段上流のノードであるため、N3
+に含まれるノードである。具体的には、ノード5の位相付き流量F+(Δθ,5)は、N3
+を対象とした処理により以下のように更新される。なお、ノード4の位相付き流量F+(Δθ,4)は(1/6)e2iΔθである。
F+(Δθ,5)=(1/3)eiΔθ+(1/6)e2iΔθ
+eiΔθ×(1/2)×(1/6)e2iΔθ
=(1/3)eiΔθ+(1/6)e2iΔθ+(1/12)e3iΔθ
【0131】
以上のように、本実施形態の手法では、ベクトル算出ノードから対象ノードまでの経路として、距離(段数)の異なる複数の経路が存在するネットワーク構造であったとしても、対象ノードの位相付き流量を用いて、当該ネットワーク構造を表現することが可能になる。例えば上述の例であれば、F
+(Δθ,5)には位相がΔθの項と、2Δθの項と、3Δθの項の3つが含まれるため、
図14に示したサブ取引ネットワークの構造が適切にベクトル表現に反映される。
【0132】
取引ネットワークの各ノードの複素ベクトルは、例えばノード間の類似度算出に用いられてもよい。例えば処理部110は、下式(3)に基づいてノードiとノードjの類似度Sを求める不図示の類似度算出部を含んでもよい。下式(3)において、xj
*はxjの各要素について共役複素数を取った複素共役ベクトルを表す。即ち、右辺の分子はxiとxjのエルミート内積を表す。また|xi|及び|xj|は、それぞれxi及びxjの大きさ(ノルム)を表す。R{}は実部を表す。
【0133】
【0134】
このようにすれば、例えばベクトル間の類似度算出に用いられるコサイン類似度を複素数に拡張することが可能になる。具体的には、上述したようにノード間の距離(位相差)を用いた判定が可能になるため、類似度の算出精度を高くすることが可能である。
【0135】
2.4 複素相関行列と固有値分解
本実施形態の複素ベクトルは、取引ネットワークからサプライチェーンネットワークを抽出する処理に用いられてもよい。具体的には、まず
図4のステップS103に示したように、行列取得部113は、複素ベクトルに基づいて複素相関行列Cを決定し、ステップS104に示したように当該複素相関行列Cの固有値分解を行う。
【0136】
まず行列取得部113は、取引ネットワークに含まれる第1~第nノードのそれぞれの複素ベクトル表現を取得する。以下、第i(iは1≦i≦nを満たす整数)のノードに対応する複素ベクトルをx
iとする。例えばベクトル取得部112は、第1~第nのノードのそれぞれをベクトル算出ノードとして、
図11A及び
図11Bに示した処理を実行することで複素ベクトルx
1~x
nを求め、求めたx
1~x
nを記憶部120に記憶する。x
1~x
nは、それぞれがn次元複素ベクトルであり、例えば縦ベクトルである。
【0137】
次に行列取得部113は、x1~xnを並べることによって行列Xを取得する。例えば行列取得部113は、x1~xnを所定順に並べた行列X=[x1,x2,・・・,xn]を取得し、成分ごとに絶対値が1となるように規格化する。そして行列取得部113は、規格化後の行列を改めて行列Xとする。以上のように、本実施形態において「x1~xnを並べることによって行列Xを取得する」処理とは、単純にx1~xnを並べる処理に限定されず、規格化等の他の処理(並べる前の前処理であってもよいし、並べた後の後処理であってもよい)を含んでもよい。
【0138】
行列Xは、n行n列の正方行列である。また行列取得部113は、行列Xの各成分の共役複素数を取って転置した行列(複素共役転置)X*を求める。行列X*もn行n列の正方行列である。なお、取引ネットワークに含まれるn個のノードを並び順は、複素ベクトル表現を求める際の順序と同じである。
【0139】
そして行列取得部113は、C=XX*により、複素相関行列Cを求める。複素相関行列Cもn行n列の正方行列である。Cの各成分は2つの複素ベクトルのエルミート内積に相当するため、上式(3)に示した類似度に対応する情報である。従ってCは取引ネットワークの第1~第nのノードのノード間の相関を表す複素相関行列Cとして用いることが可能である。
【0140】
次に行列取得部113は、複素相関行列Cの固有値分解を行う。具体的には行列取得部113は、C=VΛV-1により、複素相関行列Cを、固有ベクトルを列ベクトルとする行列Vと、固有値を対角成分とする対角行列Λに分解する。以下、m個の固有値をe1~emと表記し、それぞれの固有値に対応するm個の固有ベクトルをv1~vmと表記する。ここでmはm≦nを満たす整数である。なお固有値分解については公知の手法であるため詳細な説明は省略する。
【0141】
なお以上ではx1~xnが縦ベクトルとして表現される例について説明したがx1~xnは横ベクトルとして表現されてもよい。この場合、例えば行列取得部113は、x1~xnを縦方向に並べて絶対値を1に規格化した行列をXとする。また行列取得部113は、C=X*Xにより、複素相関行列Cを求めてもよい。以上のように、本実施形態の行列取得部113は、取引ネットワークの各ノードを表現する複数の複素ベクトルから複素相関行列Cを求める処理、及び、複素相関行列Cの固有値分解を行う処理を行うものであり、具体的な処理は種々の変形実施が可能である。
【0142】
2.5 サプライチェーンネットワークの取得
次に
図4のステップS105に対応するサプライチェーンネットワークの抽出処理を説明する。
【0143】
ネットワーク抽出部114は、取引ネットワーク及び複素ベクトルに基づいて、サプライチェーンネットワーク群を抽出する処理と、当該サプライチェーンネットワーク群のうち、関心エンティティに対応する基準ノードを含む一部を、優先経路の選択処理の対象であるサプライチェーンネットワークとして選択する処理と、を行う。このようにすれば、取引ネットワークのうちの重要な部分をサプライチェーンネットワークとして抽出するだけでなく、具体的なノード(企業)を特定した処理を行うことが可能になる。結果として、優先経路の選択に用いる情報の量を適切に抑制することが可能になる。
【0144】
以下、企業(ノード)を限定せずにサプライチェーンネットワーク群を抽出する処理を第1抽出処理と表記し、サプライチェーンネットワーク群から企業等を限定したサプライチェーンネットワークを抽出する処理を第2抽出処理と表記する。
【0145】
2.5.1 サプライチェーンネットワーク群の取得
図15は、ネットワーク抽出部114による第1抽出処理を説明するフローチャートである。まずステップS501において、ネットワーク抽出部114は、m個の固有ベクトルv
1~v
mのうち、v
jを選択する。ここでjは1以上m以下の整数であり、例えば初期値はj=1である。
【0146】
ここでvjは、n行n列の複素相関行列Cの固有値分解によって得られるベクトルであるため、n個の要素を含む縦ベクトルとなる。例えば固有ベクトルvjは以下の式(4)となる。なお下式(4)では表現を容易にするため、固有ベクトルvjの転置表現を用いている。
【0147】
【0148】
ここで固有ベクトルvjの1番目の要素は、取引ネットワークのノード1に関する情報を表す。即ち、ノード1の絶対値(流量)はrj1であり、位相(基準ノードからの距離)はpj1である。固有ベクトルvjの2~n番目の要素についても同様であり、それぞれがノード2~ノードnの流量と位相を表す。つまり1つの固有ベクトルは、取引ネットワークに含まれるn個のノード間の関係(ネットワーク構造)を特定する情報である。そして、固有ベクトルが複素相関行列Cから求められることに鑑みれば、固有ベクトルが表すネットワーク構造は、取引ネットワークにおける主要なネットワーク構造を表すと考えられる。従って本実施形態のネットワーク抽出部114は、固有ベクトルに基づいて取引ネットワークからサプライチェーンネットワーク群を抽出する第1抽出処理を行う。
【0149】
ステップS502において、ネットワーク抽出部114は、取引ネットワークに含まれるエッジE1~EL(Lはエッジ総数を表す2以上の整数)のうち、Elを選択する。ここでlは1以上L以下の整数であり、例えば初期値はl=1である。
【0150】
ステップS503において、ネットワーク抽出部114は、エッジElの上流側ノードc(l,s)と下流側ノードc(l,t)を特定する。例えばエッジElは属性として上流側ノードc(l,s)と下流側ノードc(l,t)を含み、ネットワーク抽出部114は当該属性値を参照することによってステップS503の処理を行う。
【0151】
ステップS504において、ネットワーク抽出部114は、固有ベクトルvjに基づいて上流側ノードc(l,s)の絶対値rj(l,s)と位相pj(l,s)を決定する。具体的には、ネットワーク抽出部114は上流側ノードc(l,s)が取引ネットワークに含まれるノード1~ノードnのうちの何番目のノードであるかを特定し、固有ベクトルvjのn個の要素のうち、対応する要素を読み出すことによって絶対値rj(l,s)と位相pj(l,s)を決定する。例えば上流側c(l,s)がノード1に対応する場合、rj(l,s)=rj1であり、pj(l,s)=pj1である。
【0152】
ステップS505において、ネットワーク抽出部114は、固有ベクトルvjに基づいて下流側ノードc(l,t)の絶対値rj(l,t)と位相pj(l,t)を決定する。具体的な処理については上流側ノードc(l,s)の場合と同様である。
【0153】
そしてネットワーク抽出部114は、固有ベクトルvjの要素の絶対値によって表される上流側ノードc(l,s)の流量及び下流側ノードc(l,t)の流量の大きさを判定する第1判定、及び、固有ベクトルvjの要素の位相によって表される上流側ノードc(l,s)と下流側ノードc(l,t)の間の距離を判定する第2判定を行うことによって、サプライチェーンネットワークを抽出する。ただし、第1判定と第2判定の両方は必須ではなく、何れか一方が省略されてもよい。
【0154】
このようにすれば、固有ベクトルvjから求められる流量や位相を用いてエッジElの重要度合いを判定できる。具体的には、固有ベクトルにおいて上流側ノードc(l,s)の流量及び下流側ノードc(l,t)の流量の両方がある程度大きい場合、当該2つのノードを結ぶエッジElは取引ネットワーク内でも重要なエッジと推定される。また固有ベクトルvjから求められる位相は、当該固有ベクトルvjによって表されるネットワーク構造における上流側ノードc(l,s)と下流側ノードc(l,t)の主要な接続関係(距離、段数)を表している。つまり固有ベクトルの位相から特定される接続関係と、エッジElにおける接続関係が近ければエッジElの重要度は高く、遠ければエッジElの重要度は低いと判定できる。以上のように、流量及び位相を用いることによって、エッジElに関する判定を適切に実行することが可能になる。
【0155】
ステップS506において、ネットワーク抽出部114は流量に基づく第1判定を行う。具体的には、ネットワーク抽出部114は、上流側ノードc(l,s)の絶対値rj(l,s)が所与の閾値δよりも大きく、且つ、下流側ノードc(l,t)の絶対値rj(l,t)が所与の閾値δよりも大きいかを判定する。
【0156】
rj(l,s)とrj(l,t)の両方がδより大きい場合(ステップS506:Yes)、ステップS507において、ネットワーク抽出部114は位相(距離)に基づく第2判定を行う。具体的には、ネットワーク抽出部114は、上流側ノードc(l,s)の位相pj(l,s)から下流側ノードc(l,t)の位相pj(l,t)を減算し、その値が(1-ε)より大きく、且つ、(1+ε)より小さいかを判定する。ここでεは所与の閾値である。
【0157】
(1+ε)及び(1-ε)に含まれる1とは、隣り合う2つのノード間の距離を表す値である。上述したように、取引ネットワークにおいて、上流側ノードc(l,s)と下流側ノードc(l,t)はエッジElによって直接接続される2つのノードであり、ノード間の距離は1となる。つまりエッジElが取引ネットワークの中で重要なエッジである場合、固有ベクトルvjによって表されるネットワーク構造においても、上流側ノードc(l,s)と下流側ノードc(l,t)はエッジElに相当するエッジにより直接接続される、即ち固有ベクトルvjから求められるノード間距離が1に十分近い値になると推定される。一方で、エッジElが取引ネットワークの中で重要なエッジでない場合、固有ベクトルvjによって表されるネットワーク構造においては、上流側ノードc(l,s)と下流側ノードc(l,t)はそもそも接続されないか、エッジElとは異なるエッジにより接続されることによりノード間距離が1とは異なる値となると推定される。
【0158】
従ってステップS507において、ネットワーク抽出部114は、固有ベクトルvjから決定される上流側ノードc(l,s)と下流側ノードc(l,t)の間の距離と、隣接する2つのノードの間の距離(具体的には1)との差分値を判定する。これにより、位相に基づいてエッジElの重要度を適切に判定することが可能になる。
【0159】
流量の少なくとも一方が閾値δ以下である場合(ステップS506:No)、または、距離と1との差分絶対値がε以上である場合(ステップS507:No)、処理対象としているエッジElの重要度が低いと判定される。従って、ステップS508において、ネットワーク抽出部114はElを抽出対象のサプライチェーンネットワークから除外する処理を行う。
【0160】
一方、流量の両方が閾値δより大きく(ステップS506:Yes)、距離と1との差分絶対値がεより小さい場合(ステップS507:Yes)、エッジElはサプライチェーンネットワークを構成するエッジとして残される。
【0161】
以上でエッジElに関する処理が終了する。ステップS509において、ネットワーク抽出部114は、取引ネットワークに含まれる全てのエッジE1~ELに関する処理が終了したかを判定する。
【0162】
未処理のエッジがある場合(ステップS509:No)、ステップS510において、ネットワーク抽出部114は変数lを更新した後、ステップS502に戻る。例えばネットワーク抽出部114は、エッジE1に関する処理を行った後、lをインクリメントすることでl=2に更新し、エッジE2を対象として上述したステップS502~S509の処理を実行する。
【0163】
全てのエッジに関する処理が終了した場合(ステップS509:Yes)、ステップS511において、ネットワーク抽出部114は、エッジE1~ELのうち、ステップS508の処理で除外されずに残ったエッジにより構成されるネットワークをサプライチェーンネットワーク群に追加する。ここで追加されるネットワークは、取引ネットワークの部分ネットワークである。なおエッジE1~ELのうち、ステップS508の処理で除外されずに残ったエッジにより構成されるネットワークは、全てのノードが接続されたグラフになるとは限らず、いくつかのネットワークに分割されていてもよい。この場合、ネットワーク抽出部114は、分割されたそれぞれのネットワークをサプライチェーンネットワーク群に追加する処理を行う。
【0164】
ステップS501~S511の処理によって、固有ベクトルvjを対象としたサプライチェーンネットワークの抽出処理が終了する。次にステップS512において、ネットワーク抽出部114は、固有値分解で求められた全ての固有ベクトルv1~vmに関する処理が終了したかを判定する。
【0165】
未処理の固有ベクトルがある場合(ステップS512:No)、ステップS513において、ネットワーク抽出部114は変数jを更新した後、ステップS501に戻る。例えばネットワーク抽出部114は、固有ベクトルv1に関する処理を行った後、jをインクリメントすることでj=2に更新し、固有ベクトルv2を対象として上述したステップS502~S513の処理を実行する。なお処理対象の固有ベクトルが更新される際には、ステップS508の処理結果も初期化され、エッジE1~ELの全てが削除されていない状態から再度ステップS502の処理が開始される。
【0166】
全ての固有ベクトルに関する処理が終了した場合(ステップS512:Yes)、ネットワーク抽出部114は、サプライチェーンネットワーク群を抽出する第1抽出処理を終了する。つまりサプライチェーンネットワーク群とは、固有ベクトルv1~vmのそれぞれについて求められた部分ネットワークの集合である。
【0167】
2.5.2 サプライチェーンネットワークの選択
次にネットワーク抽出部114は、サプライチェーンネットワーク群から特定の企業に関するサプライチェーンネットワークを抽出する第2抽出処理を行う。例えばネットワーク抽出部114は、
図15に示した第1抽出処理によって求められたサプライチェーンネットワーク群から、所与の企業に対応するノードを含むサプライチェーンネットワークを抽出する。ここで所与の企業は、端末装置200の操作部250を用いて入力されてもよい。例えば端末装置200のユーザは、自社、競合他社、買収予定企業等、何らかの分析が必要となる関心企業を選択する操作を行う。ネットワーク抽出部114は、選択された企業に対応するノードを特定し、サプライチェーンネットワーク群に含まれる各ネットワークのうち、特定されたノードを含むネットワークを抽出することによって、第2抽出処理を実行する。
【0168】
またネットワーク抽出部114は、他の条件に基づいてサプライチェーンネットワークの絞り込みを行ってもよい。例えばネットワーク抽出部114は、関心企業の特定の製品に関するサプライチェーンネットワークを選択してもよい。この場合、ネットワーク抽出部114は、サプライチェーンネットワーク群のうち、エッジに付与されるタグに選択された製品を表す情報が含まれるか否かを判定してもよい。
【0169】
2.6 優先経路の決定
次に経路選択部115の処理を説明する。なお、ここでは上述したように、情報処理システム10が、第1ネットワーク121から第2ネットワーク122を抽出するネットワーク抽出部114を含む例を考える。この場合、経路選択部115は、第2ネットワーク122から優先経路を求めてもよい。第2ネットワーク122を対象とすることによって、第1ネットワーク121の中で重要度の高い部分を対象として優先経路を選択できる。第2ネットワーク122がサプライチェーンネットワークである場合、関心エンティティの本質的な取引関係において重要度の高い取引経路を求めることが可能である。
【0170】
2.6.1 処理の流れ
本実施形態にかかるエンティティネットワークのノードには、複数のタグ値のうちの1以上を含むタグが付加データとして付与されていてもよい。そして経路選択部115は、複数の経路のそれぞれの経路の重みを表す経路重みと、経路に沿ってノードを遷移する際に、タグ値がどのように遷移するかを表すタグ遷移パターンの重みであるタグ遷移パターン重みを、特徴量として求め、経路重み及びタグ遷移パターン重みに基づいて、優先経路を選択してもよい。このようにすれば、ノードの接続関係を反映した経路重みと、タグ値の遷移を反映したタグ遷移パターン重みの両方を考慮して優先経路を選択できる。
【0171】
本実施形態にかかるタグは、産業分類及び国の少なくとも一方を表す情報であってもよい。例えばタグ値が産業分類を表す場合、タグ遷移パターンとは、企業を結ぶ経路上で産業分類がどのように変化していくかを表す情報となる。この場合、タグ遷移パターン重みを用いることによって、どのような産業分類に属する企業同士が関係を有しているかという観点から重要な経路(主要な取引経路)を特定すること等が可能になる。
【0172】
またタグ値が国を表す場合、タグ遷移パターン重みを用いることによって、どの国の企業同士が関係を有しているかを判定できる。結果として、例えば国家間の関係を考慮して優先経路を選択することが可能になる。例えば、ある商品のサプライチェーンネットワークにおいて特定国に属する企業を含む経路が優先経路として選択された場合、当該特定国への依存度合いが高い可能性があると判定することが可能である。
【0173】
図16は、
図4のステップS106における優先経路の選択処理を説明するフローチャートである。まずステップS601において、経路選択部115は、第2ネットワーク122に含まれる複数の経路のそれぞれについて、当該経路の重みを表す特徴量である経路重みを求める。
【0174】
ステップS602において、経路選択部115は、複数の経路のそれぞれについて、当該経路に沿って、ノードに付与される付加データであるタグ値がどのように変化するかを表すタグ遷移パターンを求める。そして、処理対象としている経路に対応するタグ遷移パターンの重みを表すタグ遷移パターン重みとして、当該経路の経路重みを設定する。
【0175】
ステップS603において、経路選択部115は、1つのタグ遷移パターンを選択し、当該タグ遷移パターンが、他の経路のタグ遷移パターンと重複しているかを判定する。タグ遷移パターンが他の経路と重複している場合(ステップS603:Yes)、ステップS604において、経路選択部115は、それぞれの経路から求められたタグ遷移パターン重みの和を求めることによって、タグ遷移パターン重みを更新する。タグ遷移パターンが重複しない場合(ステップS603:No)、ステップS604の処理が省略される。すなわち、他の経路と重複しないタグ遷移パターンについては、ステップS602で設定された重みがそのままタグ遷移パターン重みとして用いられる。
【0176】
ステップS605において、経路選択部115は、全てのタグ遷移パターンについて処理が行われたかを判定する。未処理のタグ遷移パターンが残っている場合(ステップS605:No)、経路選択部115はステップS603に戻って処理を継続する。
【0177】
全てのタグ遷移パターンについて処理が行われた場合(ステップS605:Yes)、ステップS606において、経路選択部115は、経路重み及びタグ遷移パターン重みに基づいて優先経路を選択する。以下、各ステップの処理について、具体例を用いて詳細に説明する。
【0178】
2.6.2 経路重み
まず
図16のステップS601に示す経路重みの算出処理について説明する。経路選択部115は、エンティティネットワークに含まれる複数の経路のそれぞれの経路について、経路上のノードにおける取引関係または支配関係に基づいて、経路重みを求めてもよい。このようにすれば、エンティティネットワークの具体的な構成に基づいて、経路重みを算出することが可能になる。
【0179】
図17は、優先経路の選択対象となる第2ネットワーク122であるサプライチェーンネットワークの例である。ここではノードA~ノードKの11個のノードを含むシンプルな構成のサプライチェーンネットワークについて説明する。
図17では、各ノードに付与されたタグを{}で囲んで図示している。a~iは、タグに含まれるタグ値(属性値)の例であり、ここでは1つのアルファベットが1つの産業分類を表すものとする。例えばノードAには産業分類としてaが対応付けられている。また1つの企業が複数の事業を行うこともあるため、1つのノードに複数の産業分類が対応付けられてもよい。例えばノードBには、産業分類としてb及びcが対応付けられる。ノードC~ノードKについても同様であり、それぞれ1または複数の産業分類を含むタグが付与される。
【0180】
図17に示すサプライチェーンネットワークには、矢印の方向を逆順にたどった場合に、A→B→D→Iという経路がある。以下、複数のノードを接続した経路を、単純にノードを表すアルファベットの羅列で表記する。例えば経路ABDIとは、ノードA、B、D、Iをこの順にたどる経路を表す。
図17のサプライチェーンネットワークでは、ノードBからノードIへと向かうエッジが存在するため、逆順にたどった場合にIBという経路が存在する。従って当該サプライチェーンネットワークは、ABDIBDIB…という無限ループを含む。
【0181】
このように第2ネットワーク122にループが含まれる場合、経路選択部115による優先経路の選択処理の前に、当該ループが解消されてもよい。例えば情報処理システム10は、第2ネットワーク122に含まれるループを解消することによって、第2ネットワーク122を更新するネットワーク更新部(
図2には不図示)を含んでもよい。ネットワーク更新部は、例えばサーバシステム100の処理部110に含まれる。具体的には、ネットワーク更新部は、ループする直前のABDIという経路までを考慮し、ループを構成するノードIとノードBの間のエッジを削除する。このようにすれば、優先経路の選択における計算負荷を抑制できる。ものの流れに着目する場合、サプライチェーンネットワークに現れるループ部分は本質的な部分として考慮しなくてよいとの知見があるため(例えばKichikawa, Y., Iyetomi, H., Iino, T. et al. Community structure based on circular flow in a large-scale transaction network. Appl Netw Sci 4, 92 (2019). https://doi.org/10.1007/s41109-019-0202-8)、ループを解消しても適切な処理を実行することが可能である。
【0182】
図18は、
図17のサプライチェーンネットワークにおけるループを解消した上で、各エッジでの重みを追記した図である。例えば
図18のサプライチェーンネットワークではノードAが下流端であり、ノードI,J,Kがそれぞれ上流端である。
【0183】
ここでノードAからノードIに遷移する経路は、ABDIの1通りである。またノードAからノードJに遷移する経路は、ABDJ,ABEJ,ABFJ,ABGJ,ACGJの5通りである。ノードAからノードKに遷移する経路は、ABFK,ABGK,ACGK,ACHKの4通りである。
図18に示すサプライチェーンネットワークにおける経路は以上の10通りとなる。
【0184】
経路選択部115は、これらの複数の経路のそれぞれについて、経路重みを求める。
図19は、サプライチェーンネットワークの構造に基づく重み、即ち流量に基づいて経路の重みを求めた場合の例を表す図である。例えばノードAにおける流量を1とした場合、ノードAにはノードBとノードCの2つが接続される。流量が等分される場合、ノードBの流量はノードAの流量である1の半分である0.5となる。同様にノードCの流量も0.5となる。
【0185】
またノードBにはノードD~ノードGの4つが接続される。よってノードBの流量である0.5がこれら4つのノードに分配される。従って、各ノードの流量は0.5×(1/4)=0.125となる。
【0186】
またノードDにはノードIとノードJの2つが接続される。よってノードDの流量である0.125がこれら2つのノードに分配される。従って、経路ABDIというノード遷移に沿った末端ノードIでの重み(流量)は0.125×(1/2)=0.0625となる。経路選択部115は、経路の終端ノードでの重みを、当該経路の重みとして設定する。同様に、経路ABDJの末端ノードJの重みは0.0625であるため、経路ABDJの重みも0.0625となる。
【0187】
他の経路についても同様である。例えばノードEにはノードJのみが接続されるため、経路ABEJの重みは、ノードEでの流量と同じ0.125となる。
【0188】
ノードFにはノードJとノードKの2つが接続される。従って、経路ABFJの重み及び経路ABFKの重みは、ノードFの流量の1/2であるため、それぞれ0.0625となる。
【0189】
ノードGにはノードJとノードKの2つが接続される。従って、経路ABGJ及び経路ABGKの重みは、ノードBを経由した場合のノードGの流量の1/2であるため、それぞれ0.0625となる。また経路ACGJ及び経路ACGKの重みは、ノードCを経由した場合のノードGの流量の1/2であるため、それぞれ0.125となる。
【0190】
ノードHにはノードKのみが接続される。従って、経路ACHKの重みはノードHの流量と同じであり、0.25となる。
【0191】
なお、以上ではノードに接続されるエッジの数に応じて流量が等分される例を説明したがこれには限定されない。例えば、具体的な取引量等に応じて、分配比率がエッジごとに異なってもよい。この場合も、対応するエッジの重みに基づいて経路重みが算出可能であることは当業者であれば容易に理解できるであろう。また、エンティティネットワークが株式等による支配関係を表すネットワークである場合、持ち株比率に応じて各エッジの重みが決定されてもよい。
【0192】
2.6.3 タグ遷移パターン重み
図16のステップS602-S605に示すタグ遷移パターン重みの算出処理について説明する。経路選択部115は、エンティティネットワークに含まれる複数の経路のそれぞれの経路について、経路上のノードのタグ値に基づいて、経路に対応するタグ遷移パターンを求め、求めたタグ遷移パターンのタグ遷移パターン重みとして経路重みを設定してもよい(ステップS602)。そして経路選択部115は、複数の経路のうちの2以上の経路について、タグ遷移パターンが重複した場合、2以上の経路のそれぞれについて求められたタグ遷移パターン重みの和を求めることによってタグ遷移パターン重みを更新する(ステップS603-S605)。例えば上述したように産業分類を表すタグの遷移を考えた場合、経路上に現れる企業が異なっても、産業分類の遷移としては同じ遷移をするパターンが存在する場合がある。例えば
図18のノードBとノードCは、同じ産業分類を表すタグbが付与されている。従って産業分類を対象とした処理を行う場合、ノードBとノードCを区別する必要がない場面も考えられる。本実施形態の手法では、このように経路が異なるが産業分類の遷移(広義にはタグ遷移パターン)が重複するケースを考慮した適切な重み設定が可能になる。以下、具体的に説明する。
【0193】
図18のサプライチェーンネットワークにおいて、経路ABDIを考えた場合、ノードAには産業分類を表すタグ値であるaが対応づけられている。ノードBには、タグ値としてb及びcが対応づけられている。ノードDには、タグ値としてd及びeが対応づけられている。ノードIには、タグ値としてhが対応づけられている。
【0194】
つまり経路ABDIに沿ってタグ値がどのように変化したかを表すタグ遷移パターンとして、abdh,abeh,acdh,acehの4通りが考えられる。なおabdhとは、4つのノードを遷移した場合に、各ノードに付与されたタグ値としてa、b、d、hがこの順に現れるタグ遷移パターンを表す。これ以外の例についても同様である。従って経路選択部115は、4つのタグ遷移パターンabdh,abeh,acdh,acehのそれぞれのタグ遷移パターン重みとして、経路ABDIの経路重み0.0625を設定する。
【0195】
他の経路についても同様であり、各経路でのタグ遷移パターンの種類数は、経路ABDJが4通り、経路ABEJが4通り、経路ABFJが2通り、経路ABFKが2通り、経路ABGJが2通り、経路ABGKが2通り、経路ACGJが2通り、経路ACGKが2通り、経路ACHKが2通りである。経路選択部115は、10通りの経路から求められる上記26通りのタグ遷移パターンに対して、それぞれ対応する経路重みをタグ遷移パターン重みとして設定する。
【0196】
図20Aは、以上の処理によって、各タグ遷移パターンに割り当てられたタグ遷移パターン重みの例を示す図である。上述したように、経路ABDIに対応するタグ遷移パターンは、abdh,abeh,acdh,acehの4通りであり、このそれぞれに経路ABDIの経路重みと同じ0.0625が設定される(
図20Aの#1-#4)。経路ABDJに対応するタグ遷移パターンは、abdi,abei,acdi,aceiの4通りであり、このそれぞれに経路ABDJの経路重みと同じ0.0625が設定される(
図20Aの#5-#8)。他の経路についても同様であり、結果は
図20Aに示すとおりである。以上が
図16のステップS602の処理に対応する。
【0197】
次に、経路選択部115は、ステップS603-S605に示したように、複数の経路でタグ遷移パターンが重複する場合、当該重複するタグ遷移パターンについて、重みの和を求めることによってタグ遷移パターン重みを更新する。
【0198】
図20Bは、
図20Aを用いて上述した26通りのタグ遷移パターンとそのタグ遷移パターン重みの表を、タグ遷移パターンに基づいてソートした例である。なおソートに伴って#1~#26の各番号は新たに割り振られている。
【0199】
例えば#1に示したタグ遷移パターンabciは、経路ABEJのみに現れ、他の経路では現れない(ステップS603:No)。従って経路選択部115は、タグ遷移パターンabciのタグ遷移パターン重みとして、経路ABEJの経路重みから求められた0.125をそのまま設定する。
【0200】
また#2に示したタグ遷移パターンabdhは、経路ABDIのみに現れ、他の経路では現れない(ステップS603:No)。従って経路選択部115は、タグ遷移パターンabdhのタグ遷移パターン重みとして、経路ABDIの経路重みから求められた0.0625をそのまま設定する。
【0201】
これに対して、#3及び#4に示すように、タグ遷移パターンabdiは、経路ABDJと、ABEJの2つに重複して現れる。経路ABDJに対応するタグ遷移パターンabdiにはタグ遷移パターン重みとして0.0625が設定され、経路ABEJに対応するタグ遷移パターンabdiにはタグ遷移パターン重みとして0.125が設定されている。この場合、経路選択部115は、2つのタグ遷移パターン重みの和を求めることによって、タグ遷移パターン重みを更新する(ステップS604)。この例では、更新処理が行われることによって、タグ遷移パターンabdiのタグ遷移パターン重みが0.0625+0.125=0.1875に更新される。
【0202】
経路選択部115は、他のタグ遷移パターンについても同様に、重複するタグ遷移パターンについて、
図20Aで求められたタグ遷移パターン重みの和を求めることによってタグ遷移パターン重みを更新する処理を行う。
【0203】
図21は、更新後のタグ遷移パターン重みの例を示す図である。
図21では、タグ遷移パターン、タグ遷移パターン重み、及びタグ遷移パターンに対応する1つまたは複数の経路の関係が示されている。
図21に示すように、重複するタグ遷移パターンの重みが1つに統一されることによって、互いに重複しない15通りのタグ遷移パターンについて、それぞれタグ遷移パターン重みが求められる。
【0204】
2.6.4 優先経路の選択
図16のステップS606に示す優先経路の選択処理について説明する。経路選択部115は、複数の経路のうち、経路に沿ったタグ遷移パターン重みが最大となる1つまたは複数の候補経路を選択し、候補経路のうち、経路重みが相対的に大きいと判定された経路を、優先経路として選択してもよい。本実施形態の手法によれば、タグ遷移パターン重みと経路重みの両方を考慮するため、優先経路を高い精度で選択することが可能になる。
【0205】
図22は、
図21に示した15通りのデータを、タグ遷移パターン重みの大きさに基づいて降順にソートした図である。経路選択部115は、タグ遷移パターン重みが最大となるタグ遷移パターンを選択する。
図22の例では、abfiのタグ遷移パターン重みが0.375で最大となる。そしてタグ遷移パターンabfiには、ABGJ、ABGK、ACGJ、ACGKの4通りの経路が対応づけられている。そこで経路選択部115は、この4つの経路を優先経路の候補経路として選択する。
【0206】
図23Aは、候補経路として選択された4つの経路の情報を示す図である。
図23では、経路(ノード遷移)、タグ遷移パターン、タグ遷移パターン重み、経路重みの情報を図示している。なお、
図20Aを用いて上述したように1つの経路に複数のタグ遷移パターンが対応する場合もあるが、ここではタグ遷移パターンabfiに基づいて候補経路が選択されているため、タグ遷移パターン及びタグ遷移パターン重みとして、タグ遷移パターンabfiの情報のみが対応づけられる。
【0207】
図23Bは、
図23Aに示した4通りのデータを、経路重みの大きさに基づいて降順にソートした図である。ここでは、経路ACGJ及びACGKの経路重みが0.125であり、経路ABGJ及びABGKの経路重みが0.0625である。従って経路選択部115は、経路重みが相対的に大きい経路ACGJ及びACGKを、優先経路として選択する。
図24は、この場合の優先経路をネットワーク上で示す図である。
【0208】
なおここでの優先経路とは、ノード遷移の情報(狭義の経路)と、タグ遷移の情報(タグ遷移パターン)の両方を含む情報であってもよい。例えば、
図20Aの#21及び#22に示すように、経路ACGJは、タグ遷移パターンabfiとadfiに対応する。そのうち、重要度が高いのはタグ遷移パターン重みの値が大きいabfiである。つまり、経路ACGJにおいて、ノードCはタグ値bに対応する産業分類と、タグ値dに対応する産業分類の両方に属するが、経路ACGJの優先度が高いのはノードCがタグ値bに対応する産業分類の企業として機能する場合である。逆に言えば、ノードCがタグ値dに対応する産業分類の企業として機能する場合、ノードA,C,G,Jがこの順に接続される取引関係があったとしても、当該取引関係の重要度は相対的に低いと考えられる。従って本実施形態の情報処理システム10は、優先経路を端末装置200に出力する際に、ノード遷移の情報(狭義の経路、例えば
図24)に加えて、タグ遷移パターンを出力してもよい。
【0209】
また以上では、まずタグ遷移パターン重みで候補経路を選択し、選択された候補経路の中で経路重みを比較する処理を説明した。ただし本実施形態における処理はこれに限定されず、タグ遷移パターン重みと経路重みが他の手法で併用されてもよい。例えば、経路選択部115は、タグ遷移パターン重みが所定閾値以上(あるいは全体の上位所定割合以上)である経路を候補経路として選択してもよい。この場合、候補経路として選択される経路が増えるため、タグ遷移パターン重みと経路重みをバランスよく考慮した処理を行うことが可能になる。あるいは経路選択部115は、タグ遷移パターン重みと経路重みを引数とする所与の関数を用いて特徴量を求め、当該特徴量の値が最大となる経路を優先経路として選択してもよい。ここでの関数は、例えば重み付け平均を求める関数であるが、他の関数が用いられてもよい。その他、タグ遷移パターン重みと経路重みを用いる処理の具体例については種々の変形実施が可能である。
【0210】
2.6.5 ネットワークの他の例
図25は、サプライチェーンネットワークの他の例を示す図である。ノードKに付与されるタグがjに変更された点を除いて、
図25に示すネットワークは、
図18を用いて上述したサプライチェーンネットワークと同様である。
【0211】
図26A-
図26Cは、
図25に示すネットワークを対象として、
図16を用いて上述した流れに従って処理を行った結果を示す図である。
図26Aは、ステップS601-S605の処理が完了した場合に取得されるタグ遷移パターン重みを、当該タグ遷移パターン重みの大きさに基づいて降順にソートした結果を示す図であり、
図22と同様の図である。この例では、タグ遷移パターンabgj及びadgjの重みが0.25で最大となる。
【0212】
図26Bは、タグ遷移パターン重みに基づいて選択された候補経路を示す図であり、
図23Aに対応する。
図26Cは、候補経路から優先経路を選択する処理を説明する図であり、
図23Bに対応する。
【0213】
図25のネットワークを対象とした処理では、タグ遷移パターンabgj及びadgjに対応する候補経路としていずれも経路ACHKが選択され(
図26B)、その両方の経路重みが等しくなるため、経路ACHKが優先経路として選択される(
図26C)。この例からわかるように、本実施形態の手法では、1つの経路の中で複数のタグ遷移パターンが優先経路として設定されてもよい。
【0214】
例えば上述したように、本実施形態における優先経路は、ノード遷移の情報とタグ遷移パターンの両方を含んでもよい。
図25-
図26Cの例であれば、ノード遷移(狭義の経路)としては経路ACHKの1つのみが優先経路であるが、当該優先経路には、タグ遷移パターンとしてabgj及びadgjの2つが対応づけられる。タグ遷移パターンの情報を端末装置200に出力することによって、例えばノードCに対応する企業は、タグ値bに対応する産業分類の企業として機能する場合と、タグ値dに対応する産業分類の企業として機能する場合のいずれにおいても重要度の高い企業であることをユーザに認識させることが可能になる。
【0215】
2.6.6 サブネットワーク
以上では、関心エンティティに対応するノードAを一端とするサプライチェーンネットワークを処理対象とする例を説明した(
図18)。以上の例では、当該サプライチェーンネットワークの他端側は限定されておらず、例えば上流端のノードであるノードI,J,Kの全てが処理対象に含まれる。しかしネットワーク分析においては、2つのエンティティ間の関係を分析したいという要望があると考えられる。例えば自社と、特定企業(敵対企業、取引リスクの高い企業等)の間の取引関係を分析するために、自社と当該特定企業間の優先経路を求めることは有用である。従って経路選択部115は、2つのエンティティの選択入力を受け付け、当該2つのエンティティを結ぶ優先経路を求める処理を行ってもよい。
【0216】
図27は、
図18に示したサプライチェーンネットワークのサブネットワークの例である。ここではノードAとノードJが選択された例を考慮している。従って
図27のサブネットワークは、
図18に示したサプライチェーンネットワークから、ノードA及びノードJに直接または間接的に接続されるエッジ及びノードを抽出することによって構成される。なお、ネットワークの一部をサブネットワークとして抽出する処理は公知であるため、詳細な説明については省略する。
【0217】
この場合、サブネットワークはサプライチェーンネットワークの一部であるため、経路選択部115は、サプライチェーンネットワーク全体を対象として実行した処理結果を流用することが可能である。具体的には経路選択部115は、
図18に示すサプライチェーンネットワークに対して
図16のステップS601-S605の処理を行うことによって取得されるデータ(例えば
図22に示す表)のうち、必要な一部を抽出し、
図27のサブネットワークに対する処理に利用する。
【0218】
図28Aは、タグ遷移パターンを、当該タグ遷移パターン重みの大きさに基づいて降順にソートした結果を示す図であり、
図22に示したデータのうち、
図27に示すサブネットワークに関連する項目のみを抽出した図である。
図27の例では、サブネットワークの一端がノードJであるため、経路選択部115は、ノード遷移(狭義の経路)の4番目の要素がJである項目のみを抽出する処理を実行する。この場合、
図28Aに示すように、タグ遷移パターンabfiの重みが0.375で最大となる。
【0219】
図28Bは、タグ遷移パターン重みに基づいて選択された候補経路を示す図である。
図28Cは、候補経路から優先経路を選択する処理を説明する図である。
図28Bに示すように、タグ遷移パターンabfiに対応する候補経路としてABGJ及びACGJが選択される。そして
図28Cに示すように、経路ABGJ及びACGJのうち、経路重みが相対的に大きい経路ACGJが優先経路として選択される。
【0220】
以上のように、本実施形態の手法では、サブネットワークを対象とする場合でも優先経路を適切に選択できる。従って、例えば指定された2つのエンティティを結ぶ優先経路を選択することが可能になる。その際、上述したように、ネットワーク全体を対象として処理を行っておけば、処理結果をサブネットワークの処理に流用できる。従って、抽出するサブネットワークが変化する場合にも、優先経路の選択処理を高速に実行することが可能になる。例えば、以上ではノードAとノードJの間の優先経路を求める例を示したが、処理対象となるノードが他のノードに変化した場合であっても、優先経路の選択処理を高速に実行することが可能になる。
【0221】
2.6.7 タグの他の例
以上では、タグ値が産業分類を表す例(産業分類b~j)について説明した。ただし本実施形態におけるタグは1種類の属性を表す情報に限定されず、複数の属性を組み合わせた情報であってもよい。この場合、第1ネットワーク121及び第2ネットワーク122の各ノードには、第1属性の属性値と第2属性の属性値を組み合わせた情報がタグ値として付与される。
【0222】
ここでのタグは、例えば産業分類と国の組み合わせを特定する情報であってもよい。例えばそれぞれのノードに対して、国を表すタグ値としてN1~Nx(xは2以上の整数)が付与されてもよい。例えばノードAに対応するエンティティが、N1という国に属する産業分類aの企業である場合、ノードAにはN1とaの組み合わせを表す(a:N1)がタグ値として付与される。またノードBに対応するエンティティが、N1という国に属する産業分類bの企業であり、且つ、N1という国に属する産業分類cの企業でもある場合、ノードBには(b:N1)及び(c:N1)というタグ値が付与される。他のノードについても同様に、産業分類と国の組み合わせによって1つのタグ値が表現される。
【0223】
このように、タグ値が複数の属性値の組み合わせである場合であっても、経路選択部115は、上述した手法と同様に経路重みを求めることが可能である。また、タグ遷移パターンが産業分類と国の組み合わせによって表現されるタグ値の集合になる点を除いて、タグ遷移パターンを求める処理、及び、タグ遷移パターン重みを求める処理に変更はない。従って経路選択部115は、
図16-
図28Cを用いて上述した流れと同様の処理によって、優先経路を決定できる。
【0224】
3.付加データの変形例
以上ではノードに付与される付加データがタグであり、特徴量として経路重み及びタグ遷移パターン重みが求められる例を説明した。ただし、付加データ、及び当該付加データから求められる特徴量はこれには限定されない。
【0225】
例えばノードには、ノードの特性を表すテキストに対応する埋め込みベクトルが付加データとして付与されてもよい。そして経路選択部115は、埋め込みベクトルに基づいて特徴量を求めることによって、優先経路を選択してもよい。このようにすれば、テキストという言語情報を用いて、ノード間の関係を適切に評価することが可能になる。
3.1 処理の流れ
図29は、
図4のステップS106に示した経路選択処理の一例であって、埋め込みベクトルを用いた場合の処理を説明するフローチャートである。まずステップS701において、経路選択部115は、各ノードに対応づけられた埋め込みベクトルを取得する。
【0226】
図30は、処理対象となるネットワーク(例えばサプライチェーンネットワーク)の例である。ここではノード1~ノード6の6つのノードを含むシンプルなネットワークを考える。
【0227】
図31は、各ノードに対応する企業、テキスト(企業プロファイル)、及び埋め込みベクトルの関係を示す図である。例えばノード1は、「Xニューエナジー」という名称の企業であり、企業プロファイルとして、「高純度ポリシリコンなど太陽光発電業界向け基礎材料の製造・販売・研究開発。」というテキストが対応づけられている。企業プロファイルは、企業の特性を表したテキストである。またノード1には、企業プロファイルをベクトル化した埋め込みベクトルV1が対応づけられている。なお埋め込みとは、自然言語処理の分野において、単語や語句をベクトル空間上に位置づけることによって数学的に扱える情報に変換する処理を表す。本実施形態の埋め込みベクトルとは、対象となるテキストを数学的な情報に変換することによって取得されるベクトルである。なお、テキストを数学的な情報に変換する具体的な手法は種々知られており、本実施形態ではそれらを広く適用可能であるため、詳細な説明は省略する。
【0228】
図31に示す情報は、例えばネットワーク取得部111がエンティティネットワークを取得する際に取得される。情報処理システム10は、例えば企業のホームページや、有価証券報告書等の公開情報を用いて企業プロファイルを取得してもよい。埋め込みベクトルは、上記の通り、企業プロファイルが取得されれば公知の手法により決定が可能である。ノード2-6に対応する情報についても同様である。
図29のステップS701において、例えば経路選択部115は、記憶部120に記憶された
図31のテーブルデータから、埋め込みベクトルV1-V6を取得する処理を行う。
【0229】
ステップS702において、エンティティネットワークに含まれる第1ノードと、第1ノードとは異なるノードを介して第1ノードに接続される第2ノードが選択された場合に、経路選択部115は、第1ノードに付与された埋め込みベクトルである第1埋め込みベクトルと、第2ノードに付与された埋め込みベクトルである第2埋め込みベクトルの差分を表す第1差分ベクトルを求める。後述するように、第1差分ベクトルは特徴量の算出に用いられる。
【0230】
第1ノード及び第2ノードは、具体的には優先経路を求める対象となるノードである。換言すれば、第1ノード及び第2ノードが選択された場合、経路選択部115はこの2つを端点とする優先経路を選択する処理を行う。なおここでの選択は端末装置200のユーザによって行われてもよいし、経路選択部115が自動で選択してもよい。例えば
図30に示すネットワークにおいて、第1ノードとは上流端のノードであるノード1であり、第2ノードとは下流端のノードであるノード6であってもよい。本実施形態の手法によれば、優先経路を求めたい両端のノードの関係を第1差分ベクトルを用いて表現することが可能になる。第1差分ベクトルは、ノード1とノード6の間の概略的な関係(マクロな関係)を表す情報と考えてもよい。
【0231】
ステップS703において、経路選択部115は、第1ノードを一方側の端点とし、第2ノードを他方側の端点とするサブネットワークに含まれる複数のエッジのそれぞれのエッジについて、エッジの一端側のノードに付与された埋め込みベクトルと、エッジの他端側のノードの付与された埋め込みベクトルの差分を表す第2差分ベクトルを求める。
【0232】
ここでノードXとノードYを結ぶエッジをEXYと表記する。
図30の例であれば、第1ノードと第2ノードを結ぶサブネットワークに含まれる複数のエッジとは、E12,E15,E23,E24,E25,E36,E46,E56の8つである。経路選択部115は、この8つのエッジのそれぞれについて、第2差分ベクトルを求める。これにより、第1ノードと第2ノードの間に存在する隣接ノード間の関係を第2差分ベクトルを用いて表現することが可能になる。第2差分ベクトルは、隣接ノード間の局所的な関係(ミクロな関係)を表す情報と考えてもよい。
【0233】
図32は、差分ベクトルの定義を説明する図である。例えば差分ベクトルは、ネットワークの上流側から下流側へ向かう方向を正方向とするベクトルであってもよい。この場合、ノード1とノード6の差分ベクトル(第1差分ベクトル)は、ノード6の埋め込みベクトルV6から、ノード1の埋め込みベクトルV1を減算したベクトルV61となる。またノード1とノード2の差分ベクトル(第2差分ベクトル)は、ノード2の埋め込みベクトルV2から、ノード1の埋め込みベクトルV1を減算したベクトルV21となる。他の差分ベクトルについても同様である。
【0234】
ステップS704において、経路選択部115は、第1ノードと第2ノードを結ぶサブネットワークに含まれる複数のエッジのそれぞれのエッジについて、第1差分ベクトルと、第2差分ベクトルの内積をエッジ特徴量として求める。具体的には、
図32に示した差分ベクトルのうち、第2差分ベクトルであるV21,V51,V32,V42,V52,V63,V64及びV65のそれぞれについて、第1差分ベクトルであるV61との内積を求める。このようにすれば、ノード1とノード6の間のマクロな関係と、隣接ノード間のミクロな関係がどの程度相関しているかを内積の値として評価することが可能になる。内積の値が大きいほど、マクロな関係とミクロな関係の相関度合いが高いと考えられる。
【0235】
図33は、第1差分ベクトルと第2差分ベクトルの内積の例を示す図である。この例であれば、第1差分ベクトルV61と第2差分ベクトルV21の内積の値は、0.55であり相対的に大きい。つまり
図30のネットワークにおいて、V21に対応する2つの隣接ノードであるノード1とノード2の関係は、ノード1とノード6のマクロな関係との一致度合いが高いと考えられる。同様に、V51,V63,V64,V65は内積の値が大きく、対応する2つのノード間の関係はマクロな関係との一致度合いが高い。一方、V32,V42,V52は内積の値が相対的に小さいため、対応する2つのノード間の関係はマクロな関係との一致度合いが低いと考えられる。
【0236】
ステップS705において、経路選択部115は、第1ノードと第2ノードを結ぶ複数の経路のそれぞれの経路について、経路に含まれるエッジのエッジ特徴量(内積)に基づいて、経路の特徴量を求める。
【0237】
図34は、エッジ特徴量(内積)をネットワーク上で示した図である。ノード1とノード6を結ぶ経路としては、経路1236,1246,1256,156の4通りが考えられる。経路1236では、エッジE12,E23,E36の3つのエッジを経由するため、経路1236の特徴量は、3つの内積の値である0.55,0.06,0.56に基づいて決定される。他の経路についても同様である。このようにすれば、各経路の特徴量を、当該経路に沿った複数のミクロな関係と、マクロな関係との一致度合いから判定することが可能になる。
【0238】
具体的には、経路選択部115は、第1ノードと第2ノードを結ぶ複数の経路のそれぞれの経路について、経路に含まれるエッジのエッジ特徴量のうちの最小値を、経路の特徴量として選択してもよい。
図35は、この場合の経路の特徴量を示す図である。経路1236では、エッジE23のエッジ特徴量である0.06が最小となるため、この値が経路1236の特徴量として設定される。同様に、経路1246では、エッジE24のエッジ特徴量である0.06が最小となる。経路1256では、エッジE25のエッジ特徴量である0.01が最小となる。経路156では、エッジE56のエッジ特徴量である0.56が最小となる。
【0239】
ステップS706において、経路選択部115は、複数の経路のうち、特徴量が最大となる経路を、第1ノードと第2ノードを結ぶ優先経路として選択してもよい。
図35から明らかなように、以上の例では経路156の特徴量が最大となるため、経路選択部115は、経路156をノード1とノード6の間の優先経路として選択する。このようにすれば、マクロな関係との一致度合いが低いエッジを含む経路が優先経路から除外されやすくなる。換言すれば、マクロな関係とミクロな関係の齟齬が最も少ないと考えられる経路が優先経路として選択される。ただし、エッジ特徴量から経路の特徴量を求める手法はこれに限定されず、例えばエッジ特徴量の平均値を経路の特徴量とする等の種々の変形実施が可能である。
【0240】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本開示の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本開示の範囲に含まれる。また情報処理システム、サーバシステム、端末装置等の構成及び動作等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【0241】
10…情報処理システム、100…サーバシステム、110…処理部、111…ネットワーク取得部、112…ベクトル取得部、113…行列取得部、114…ネットワーク抽出部、115…経路選択部、120…記憶部、121…第1ネットワーク、122…第2ネットワーク、123…タグデータ、124…規制対象企業リスト、130…通信部、200,200-1,200-2…端末装置、210…処理部、220…記憶部、230…通信部、240…表示部、250…操作部
【要約】
【課題】対象となるネットワークにおける優先度の高い経路を適切に選択する情報処理システム及び情報処理方法等の提供。
【解決手段】 情報処理システムは、複数のエンティティにそれぞれ対応する複数のノードが、取引関係または支配関係を示すエッジで接続されたエンティティネットワークを取得するネットワーク取得部と、エンティティネットワークに含まれる複数の経路から、優先度の高い優先経路を選択する経路選択部と、を含み、エンティティネットワークに含まれる複数のノードのそれぞれのノードには、ノードの特性を表す付加データが付与されており、経路選択部は、付加データに基づいて、複数の経路のそれぞれの経路について特徴量を求め、求めた特徴量に基づいて優先経路を選択する。
【選択図】
図2