(57)【要約】【課題】  ユーザーの要求に適合する異種の複数のソフトウェア製品の組み合わせを提案する。【解決手段】  要求処理部３１は、ソフトウェア製品の検索要求を受け付け、検索要求に対応する検索結果を送信する。製品検索部３２は、入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、検索要求に適合する複数の異種のソフトウェア製品を検索して検索結果を生成する。そして、製品検索部３２は、（ａ）複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、（ｂ）１または複数のペアに基づき、検索要求により指定された入力データ種別から検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出する。【選択図】  図１
2020102048.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア製品の検索要求を受け付け、前記検索要求に対応する検索結果を送信する要求処理部と、
入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、前記検索要求に適合する複数の異種のソフトウェア製品を検索して前記検索結果を生成する製品検索部とを備え、
前記製品検索部は、（ａ）前記複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、（ｂ）１または複数の前記ペアに基づき、前記検索要求により指定された入力データ種別から前記検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出すること、
を特徴とするソフトウェア製品提案システム。
【請求項２】
前記検索要求において、複数の入力データ種別の指定が可能であり、
前記製品検索部は、前記検索要求において指定された複数の入力データ種別のいずれかに一致する入力データ種別のソフトウェア製品を、前記一連のソフトウェア製品の組み合わせの初段のソフトウェア製品として検出すること、
を特徴とする請求項１記載のソフトウェア製品提案システム。
【請求項３】
前記製品検索部は、複数の入力データ種別を要求するソフトウェア製品については、前記複数の入力データ種別のそれぞれについて前記ペアを検出することを特徴とする請求項１または請求項２記載のソフトウェア製品提案システム。
【請求項４】
前記要求処理部は、（ａ）前記検索要求において、前記入力データ種別が指定され、前記出力データ種別が指定されていない場合、入力データ種別候補を指定し、（ｂ）前記検索要求において、前記出力データ種別が指定され、前記入力データ種別が指定されていない場合、出力データ種別候補を指定し、
前記製品検索部は、（ａ）前記検索要求において、前記入力データ種別が指定され、前記出力データ種別が指定されていない場合、１または複数の前記ペアに基づき、前記入力データ種別候補から前記検索要求により指定された前記出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出し、前記一連のソフトウェア製品の組み合わせおよび前記入力データ種別候補を前記検索結果とし、（ｂ）前記検索要求において、前記出力データ種別が指定され、前記入力データ種別が指定されていない場合、１または複数の前記ペアに基づき、前記検索要求により指定された前記入力データ種別から前記出力データ種別候補が得られる一連のソフトウェア製品の組み合わせを検出し、前記一連のソフトウェア製品の組み合わせおよび前記出力データ種別候補を前記検索結果とすること、
を特徴とする請求項１記載のソフトウェア製品提案システム。
【請求項５】
前記製品検索部は、（ａ）前記複数の異種のソフトウェア製品において、（ａ１）前記検索要求により指定された入力データ種別に一致する入力データ種別のソフトウェア製品を検出し、（ａ２）検出した前記ソフトウェア製品とともに前記ペアとなる次段のソフトウェア製品を検出し、最後尾のペアにおける後段のソフトウェア製品の出力データ種別が前記検索要求により指定された出力データ種別に一致するまで、前記最後尾のペアにおける後段のソフトウェア製品とともに前記ペアとなる次段のソフトウェア製品を繰り返し検出していくか、（ｂ）前記複数の異種のソフトウェア製品において、（ｂ１）前記検索要求により指定された出力データ種別に一致する出力データ種別のソフトウェア製品を検出し、（ｂ２）検出した前記ソフトウェア製品とともに前記ペアとなる前段のソフトウェア製品を検出し、先頭のペアにおける前段のソフトウェア製品の入力データ種別が前記検索要求により指定された入力データ種別に一致するまで、前記先頭のペアにおける前段のソフトウェア製品とともに前記ペアとなる前段のソフトウェア製品を繰り返し検出していくことを特徴とする請求項１記載のソフトウェア製品提案システム。
【請求項６】
コンピューターを、
ソフトウェア製品の検索要求を受け付け、前記検索要求に対応する検索結果を送信する要求処理部と、
入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、前記検索要求に適合する複数の異種のソフトウェア製品を検索して前記検索結果を生成する製品検索部として機能させるソフトウェア製品提案プログラムであって、
前記製品検索部は、（ａ）前記複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、（ｂ）１または複数の前記ペアに基づき、前記検索要求により指定された入力データ種別から前記検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出すること、
を特徴とするソフトウェア製品提案プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア製品提案システムに関するものである。
【背景技術】
【０００２】
あるソフトウェア商品提案システムは、ユーザーの操作ログデータに基づいて、ソフトウェア商品を選択し、提案ソフトウェア商品データを生成している（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１７０１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のシステムでは、同種の複数のソフトウェア商品から１つのソフトウェア商品を選択して提案することはできるものの、ユーザーの要求に適合する異種の複数のソフトウェア製品の組み合わせを提案することは困難である。
【０００５】
ソフトウェア製品の知識が少ないユーザーにとっては、自己の要求に対してどのようなソフトウェア製品を使用すれば要求が満たされるのかを判断することが困難であり、特に、異種の複数のソフトウェア製品を組み合わせて、要求が満たされるのかを検討することは、より困難である。
【０００６】
本発明は、上記の問題に鑑みてなされたものであり、ユーザーの要求に適合する異種の複数のソフトウェア製品の組み合わせを提案するソフトウェア製品提案システムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るソフトウェア製品提案システムは、ソフトウェア製品の検索要求を受け付け、検索要求に対応する検索結果を送信する要求処理部と、入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、検索要求に適合する複数の異種のソフトウェア製品を検索して検索結果を生成する製品検索部とを備える。そして、製品検索部は、（ａ）複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、（ｂ）１または複数のペアに基づき、検索要求により指定された入力データ種別から検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出する。
【発明の効果】
【０００８】
本発明によれば、ユーザーの要求に適合する異種の複数のソフトウェア製品の組み合わせを提案するソフトウェア製品提案システムが得られる。
【０００９】
本発明の上記又は他の目的、特徴および優位性は、添付の図面とともに以下の詳細な説明から更に明らかになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態に係るソフトウェア製品提案システムの構成を示すブロック図である。
【図２】図２は、図１における製品データ２ａのデータ構造の一例を示す図である。
【図３】図３は、図１における製品検索部３２で検出される一連のソフトウェア製品の組み合わせについて説明する図である（１／３）。
【図４】図４は、図１における製品検索部３２で検出される一連のソフトウェア製品の組み合わせについて説明する図である（２／３）。
【図５】図５は、図１における製品検索部３２で検出される一連のソフトウェア製品の組み合わせについて説明する図である（３／３）。
【図６】図６は、図１に示す提案サーバー１の動作について説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図に基づいて本発明の実施の形態を説明する。
【００１２】
図１は、本発明の実施の形態に係るソフトウェア製品提案システムの構成を示すブロック図である。図１に示すシステムは、ソフトウェア製品提案装置としての提案サーバー１と、製品データ２ａを格納している記憶装置２とを備える。
【００１３】
提案サーバー１は、ネットワーク３に接続され、ネットワーク３を介してユーザーの操作する端末装置４から受信された検索要求に従って、製品データ２ａにおけるソフトウェア製品の組み合わせを検索し、その検索要求に適合するソフトウェア製品の組み合わせを検出し、検出したソフトウェア製品の組み合わせを検索結果としてその端末装置４に送信する。
【００１４】
提案サーバー１は、コンピューターを内蔵するサーバーマシンであり、記憶装置２は、例えばデータベースサーバーマシンであって、所定のプロトコルでデータベースを管理するデータベースエンジンと製品データ２ａを記憶するハードディスクなどといった不揮発性記憶媒体とを備える。ネットワーク３は、（無線または有線の）ＬＡＮ（Local Area Network）および／またはインターネットなどのＷＡＮ（Wide Area Network）を含むコンピューターネットワークである。端末装置４は、スマートフォンなどのポータブルデバイス、パーソナルコンピューターなどといったネットワーク通信可能なデバイスである。
【００１５】
製品データ２ａは、当該システムに登録されたソフトウェア製品の情報を含む。なお、ソフトウェア製品は、有償のものおよび無償のもののいずれでもよい。
【００１６】
図２は、図１における製品データ２ａのデータ構造の一例を示す図である。図２に示すように、製品データ２ａは、各ソフトウェア製品について、ソフトウェア製品に固有な製品ＩＤ、製品名、メーカー名、ソフトウェア種別、入力データ種別、出力データ種別、製品説明、製品仕様書などを含む。
【００１７】
なお、一例として、製品データ２ａには、人工知能ソフトウェア製品が登録される。また、製品データ２ａに登録されるソフトウェア製品は、ライブラリなどではなく、１つの製品として独立して所定の目的や用途で使用可能なソフトウェアである。
【００１８】
また、ここでは、「ソフトウェア種別」は、ソフトウェアの行う処理に基づく分類（例えば、「画像認識」、「自然言語解析」、「音声認識」、「ビッグデータ解析」など）である。
【００１９】
「入力データ種別」は、ソフトウェア製品に使用すべき入力データの種別（例えば、「画像認識」のための画像データ、「自然言語解析」のための自然言語テキストデータ、「音声認識」のための音声信号データ、「ビッグデータ解析」のためのビッグデータなど）である。なお、ビッグデータについては、ＰＯＳ（Point Of Sale）システムなどで得られる個人消費データ、例えばＩｏＴ（Internet of Things）などでハードウェアやセンサーから収集されるデータなどと、より詳細に分類するようにしてもよい。
【００２０】
「出力データ種別」は、ソフトウェア製品によって得られる出力データの種別（例えば、「画像認識」で得られる、画像内の被写体の分類などの分類データ、「自然言語解析」で得られる意図理解結果、「音声認識」で得られる、音声を文章化したテキストデータ、「ビッグデータ解析」で得られる特定の消費者動向など）である。
【００２１】
「製品説明」は、ソフトウェア製品の特徴を示すドキュメント（テキストや画像など）であり、例えば、「製品説明」としては、そのようなドキュメントのファイルを示すＵＲＬ（Uniform Resource Locator）やファイルパスなどが製品データ２ａに含められる。「製品仕様書」は、ソフトウェア製品の仕様書（テキストや画像など）であり、例えば、「製品仕様書」としては、そのような仕様書のファイルを示すＵＲＬやファイルパスなどが製品データ２ａに含められる。
【００２２】
また、図１に示すように、提案サーバー１は、通信装置１１、記憶装置１２、および演算処理装置１３を備える。なお、提案サーバー１は、管理者ユーザー用のユーザーインターフェイスとして入力装置および表示装置を備えていてもよい。
【００２３】
通信装置１１は、例えば、ネットワーク３に接続されるネットワークインターフェイスであって、ネットワーク３に接続された他の装置（端末装置４など）とデータ通信を行う内部装置である。
【００２４】
また、記憶装置１２は、提案サーバー１に内蔵され、各種データやプログラムを格納可能な装置である。記憶装置１２としては、不揮発性メモリー、ハードディスクドライブなどの不揮発性の大容量記憶媒体が使用される。記憶装置１２には、ソフトウェア製品提案プログラム２１が記憶されている。
【００２５】
また、演算処理装置１３は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などをコンピューターとして備え、ＲＯＭや記憶装置２２などからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部として動作する。ここでは、ソフトウェア製品提案プログラム２１を実行することで、演算処理装置１３は、要求処理部３１、製品検索部３２、および製品データ管理部３３として動作する。
【００２６】
要求処理部３１は、ソフトウェア製品の検索要求を受け付け、その検索要求に対応する検索結果を送信する。
【００２７】
この実施の形態では、端末装置４が、ユーザー操作に従ってソフトウェア製品の検索要求を、ネットワーク３を介して提案サーバー１へ送信し、要求処理部３１は、（ａ）通信装置１１を使用して、その検索要求を受け付け、（ｂ）通信装置１１を使用して、ネットワーク３を介して端末装置４へ検索結果を送信し、端末装置４は、その検索結果を受信し、表示する。
【００２８】
製品検索部３２は、入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、上述の検索要求に適合する一連のソフトウェア製品の組み合わせ（つまり、複数の異種のソフトウェア製品）を検索してその検索結果を生成する。例えば、検索結果は、その一連のソフトウェア製品のファイル名のリスト、使用順序などを含む。
【００２９】
図３〜図５は、図１における製品検索部３２で検出される一連のソフトウェア製品の組み合わせについて説明する図である。
【００３０】
特に、製品検索部３２は、（ａ）製品データ２ａに登録されている複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、例えば図３に示すように、（ｂ）１または複数のペアに基づき、上述の検索要求により指定された入力データ種別から上述の検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせ（図３では、ソフトウェア製品＃１〜＃Ｎ，Ｎ＞１）を検出する。つまり、一連のソフトウェア製品の組み合わせは、１つのペアか、ペアにおける後段のソフトウェア製品と次段のペアにおける前段のソフトウェア製品が一致するように連続する複数のペアからなる。
【００３１】
例えば、製品検索部３２は、（ａ）上述の複数の異種のソフトウェア製品において、（ａ１）検索要求により指定された入力データ種別に一致する入力データ種別のソフトウェア製品を検出し、（ａ２）検出したソフトウェア製品とともにペアとなる次段のソフトウェア製品を検出し、最後尾のペアにおける後段のソフトウェア製品の出力データ種別が検索要求により指定された出力データ種別に一致するまで、最後尾のペアにおける後段のソフトウェア製品とともにペアとなる次段のソフトウェア製品を繰り返し検出していくか、（ｂ）上述の複数の異種のソフトウェア製品において、（ｂ１）検索要求により指定された出力データ種別に一致する出力データ種別のソフトウェア製品を検出し、（ｂ２）検出したソフトウェア製品とともにペアとなる前段のソフトウェア製品を検出し、先頭のペアにおける前段のソフトウェア製品の入力データ種別が検索要求により指定された入力データ種別に一致するまで、先頭のペアにおける前段のソフトウェア製品とともにペアとなる前段のソフトウェア製品を繰り返し検出していく。例えば図３の場合、まずソフトウェア製品＃１が検出され、次に、ソフトウェア製品＃１とソフトウェア製品＃２とのペアが検出され、次に、ソフトウェア製品＃２とソフトウェア製品＃３とのペアが検出され、最後に、ソフトウェア製品＃Ｎ−１とソフトウェア製品＃Ｎとのペアが検出されることで、一連のソフトウェア製品＃１〜＃Ｎの組み合わせが検出される。
【００３２】
この実施の形態では、上述の検索要求において、複数の入力データ種別の指定が可能であり、製品検索部３２は、その検索要求において指定された複数の入力データ種別のいずれかに一致する入力データ種別のソフトウェア製品を、上述の一連のソフトウェア製品の組み合わせの初段のソフトウェア製品として検出する。
【００３３】
また、この実施の形態では、製品検索部３２は、複数の入力データ種別を要求するソフトウェア製品については、その複数の入力データ種別のそれぞれについてペアを検出するようにしてもよい。
【００３４】
例えば図４におけるソフトウェア製品＃２のように、複数の入力データ種別の入力データが供給される場合、上述の一連のソフトウェア製品の組み合わせ（ソフトウェア製品＃１〜＃Ｎ）および追加的に要求される入力データ種別（例えば図４のソフトウェア製品＃２の追加入力データ種別）を検索結果としてもよいし、例えば図５に示すように、ソフトウェア製品＃２の複数の入力データ種別のそれぞれについて、ペアを検出していき、上述の一連のソフトウェア製品の組み合わせ（ソフトウェア製品＃１〜＃Ｎ，＃１−１〜＃１−Ｍ，Ｍ＞０）を検出するようにしてもよい。この場合、ソフトウェア製品＃１の入力データ種別（指定入力データ種別）とソフトウェア製品＃１−１の入力データ種別（指定入力データ種別）とは同一でもよいし、異なっていてもよい。
【００３５】
また、この実施の形態では、上述の検索要求において、入力データ種別が指定され、出力データ種別が指定されていない場合、要求処理部３１は、入力データ種別候補を順次選択して製品検索部３２に指定し、製品検索部３２は、（ａ１）指定された入力データ種別候補と、検索要求で指定された出力データ種別とに対応する一連のソフトウェア製品の組み合わせを検索し、（ａ２）１または複数のペアに基づき、入力データ種別候補から検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出し、その一連のソフトウェア製品の組み合わせおよびその入力データ種別候補を検索結果とする。
【００３６】
また、この実施の形態では、上述の検索要求において、出力データ種別が指定され、入力データ種別が指定されていない場合、要求処理部３１は、出力データ種別候補を順次選択して製品検索部３２に指定し、製品検索部３２は、（ｂ１）検索要求で指定された入力データ種別と指定された出力データ種別候補とに対応する一連のソフトウェア製品の組み合わせを検索し、（ｂ２）１または複数のペアに基づき、検索要求により指定された入力データ種別から出力データ種別候補が得られる一連のソフトウェア製品の組み合わせを検出し、その一連のソフトウェア製品の組み合わせおよびその出力データ種別候補を検索結果とする。
【００３７】
また、製品データ管理部３３は、製品データ２ａに対して、提案サーバー１に対する管理者の操作や、ネットワーク３を介して受信されるデータ操作要求に従って、各ソフトウェア製品についての図２に示すようなデータ構造のレコードの追加、削除、編集などを実行する。
【００３８】
次に、上記提案サーバー１の動作について説明する。図６は、図１に示す提案サーバー１の動作について説明するフローチャートである。
【００３９】
ユーザーは、端末装置４（例えばウェブブラウザーなど）を操作して、検索画面を端末装置４に表示させ、指定入力データ種別および指定出力データ種別の少なくとも一方を検索画面に入力し、端末装置４に、提案要求を提案サーバー１に送信させる。提案サーバー１の要求処理部３１は、そのようなユーザー操作に従って、通信装置１１を使用して、端末装置４からネットワーク３を介して提案要求を受信する（ステップＳ１）。ここで、例えば、指定入力データ種別は、ユーザーが用意できるデータの種別であって、指定出力データ種別は、ユーザーが欲しいデータの種別である。
【００４０】
要求処理部３１は、提案要求に指定入力データ種別および指定出力データ種別の両方が含まれているか否かを判定する（ステップＳ２）。
【００４１】
提案要求に指定入力データ種別および指定出力データ種別の両方が含まれている場合、製品検索部３２は、指定入力データ種別および指定出力データ種別に対応する一連のソフトウェア製品の組み合わせを上述のようにして検索し検出する（ステップＳ３）。
【００４２】
例えば、被験者の音声信号データからその被験者の感情を抽出したい場合、指定入力データ種別は、音声信号データとされ、指定出力データ種別は、感情指数データとされ、提案サーバー１によって、一連のソフトウェア製品の組み合わせとして、音声認識ソフトウェア（入力データ種別：音声信号データ，出力データ種別：自然言語のテキストデータ）および自然言語解析ソフトウェア（入力データ種別：自然言語のテキストデータ，出力データ種別：感情指数データ）が検出される。
【００４３】
また、例えば、店舗などの特定の場所での会話から消費者動向を得たい場合、指定入力データ種別は、音声信号データとされ、指定出力データ種別は、消費者動向（店舗の消費財に関する嗜好など）を示す消費者動向データとされ、提案サーバー１によって、一連のソフトウェア製品の組み合わせとして、音声認識ソフトウェア（入力データ種別：音声信号データ，出力データ種別：テキストデータ）、自然言語解析ソフトウェア（入力データ種別：自然言語（テキストデータ），出力データ種別：ビッグデータとして抽出される消費者動向の関連キーワードの検出データ）、およびビッグデータ解析ソフトウェア（入力データ種別：消費者動向の関連キーワードの検出データ，出力データ種別：消費者動向データ）が検出される。
【００４４】
そして、要求処理部３１は、製品検索部３２により検出された一連のソフトウェア製品の組み合わせを示す検索結果を端末装置４に送信する（ステップＳ４）。検索結果には、例えば、その組み合わせにおける各ソフトウェア製品の名称、メーカー、製品説明や製品仕様書へのＵＲＬなどが含まれる。端末装置４は、その検索結果を受信し表示する。
【００４５】
なお、検索において、一連のソフトウェア製品の組み合わせが検出されなかった場合、要求処理部３１は、一連のソフトウェア製品の組み合わせが検出されなかったことを示す検索結果を端末装置４に送信する。
【００４６】
一方、提案要求に指定入力データ種別および指定出力データ種別のいずれかが含まれていない場合、要求処理部３１は、指定入力データ種別が含まれていなければ指定入力データ種別候補を設定し、指定出力データ種別が含まれていなければ指定出力データ種別候補を設定し、その後、指定入力データ種別候補および指定出力データ種別、または指定入力データ種別および指定出力データ種別候補に対応する一連のソフトウェア製品の組み合わせを製品検索部３２に指定し、製品検索部３２に上述のようにして検索させる（ステップＳ５）。
【００４７】
なお、要求処理部３１は、指定入力データ種別候補または指定出力データ種別候補を、製品データ２ａに登録されているソフトウェア製品の入力データ種別または出力データ種別から選択する。また、指定した指定入力データ種別候補または指定出力データ種別候補で一連のソフトウェア製品の組み合わせが検出されなかった場合、要求処理部３１は、再度、別の指定入力データ種別候補または指定出力データ種別候補を選択して指定し、製品検索部３２に検索を実行させ、一連のソフトウェア製品の組み合わせが少なくとも１つ検出されるまで、繰り返し、別の指定入力データ種別候補または指定出力データ種別候補を選択し製品検索部３２に検索を実行させる。
【００４８】
そして、要求処理部３１は、（ａ１）指定入力データ種別候補および（ａ２）その指定入力データ種別候補で検出された一連のソフトウェア製品の組み合わせ、または、（ｂ１）指定出力データ種別候補および（ｂ２）その指定出力データ種別候補で検出された一連のソフトウェア製品の組み合わせを、検索結果として、端末装置４へ送信する（ステップＳ４）。端末装置４は、その検索結果を受信し表示する。
【００４９】
以上のように、上記実施の形態によれば、要求処理部３１は、ソフトウェア製品の検索要求を受け付け、検索要求に対応する検索結果を送信する。製品検索部３２は、入力データ種別および出力データ種別の少なくとも一方が異なる複数の異種のソフトウェア製品の製品データにおいて、検索要求に適合する複数の異種のソフトウェア製品を検索して検索結果を生成する。そして、製品検索部３２は、（ａ）複数の異種のソフトウェア製品のうち、あるソフトウェア製品の入力データ種別と別のソフトウェア製品の出力データ種別とが一致する、ソフトウェア製品のペアを検出し、（ｂ）１または複数のペアに基づき、検索要求により指定された入力データ種別から検索要求により指定された出力データ種別が得られる一連のソフトウェア製品の組み合わせを検出する。
【００５０】
これにより、ユーザーの要求（指定入力データ種別および指定出力データ種別）に適合する異種の複数のソフトウェア製品の組み合わせがユーザーに提案される。
【００５１】
つまり、ユーザーにとって、１つのソフトウェア製品では出力データ種別のデータを生成できない場合でも、複数のソフトウェア製品の組み合わせによって、所望の出力データ種別のデータを生成できるようになる。
【００５２】
また、ユーザーが、ソフトウェア製品自体の知識をあまり有していなくても、用意できるデータ（入力データ）の種別と欲しいデータ（出力データ）の種別が分かれば、複数のソフトウェア製品の組み合わせの提案を受けることができる。
【００５３】
さらに、製造業などにおいて、用意できるデータ（つまり、入力データ）は膨大にあるものの、何に利用できるかわからない場合（つまり、出力データ種別がわからない場合）でも、指定出力データ種別を指定せずに指定入力データ種別を指定することで、指定出力データ種別候補とソフトウェア製品の組み合わせの提案を受けることができる。つまり、既存のデータの活用方法が得られる。
【００５４】
さらに、経営判断に使用したい各種データ（例えば消費者のセンチメント分析結果など）を得たいが、必要なデータがわからない場合（つまり、出力データ種別はわかるものの入力データ種別がわからない場合）でも、指定入力データ種別を指定せずに指定出力データ種別を指定することで、指定入力データ種別候補とソフトウェア製品の組み合わせの提案を受けることができる。つまり、得たいデータのために必要なデータが明らかになる。
【００５５】
なお、上述の実施の形態に対する様々な変更および修正については、当業者には明らかである。そのような変更および修正は、その主題の趣旨および範囲から離れることなく、かつ、意図された利点を弱めることなく行われてもよい。つまり、そのような変更および修正が請求の範囲に含まれることを意図している。
【００５６】
例えば、上記実施の形態では、要求処理部３１および製品検索部３２は、ソフトウェア製品提案システムとして１つの装置（提案サーバー１）に実装されているが、その代わりに、互いに通信可能な複数の装置に分散してソフトウェア製品提案システムとして実装されてもよい。
【００５７】
また、上記実施の形態において、ソフトウェア製品提案プログラム２１は、可搬性のある、コンピューター読取可能な記録媒体に記憶されていてもよく、その場合には、その記録媒体から記憶装置１２へソフトウェア製品提案プログラム２１がインストールされる。
【００５８】
また、上記実施の形態において、製品データ２ａにおける各ソフトウェア製品のレコードに、そのソフトウェア製品と、入力データ種別または出力データ種別が一致する別のソフトウェア製品の製品ＩＤをペア製品ＩＤとして追加し、そのペア製品ＩＤに基づいて、ソフトウェア製品のペアを特定するようにしてもよい。その場合、製品データ管理部３３は、例えば製品データ２ａにソフトウェア製品のレコードを追加する際に、製品データ２ａ内のレコードを検索してそのソフトウェア製品とともにペアとなるソフトウェア製品の製品ＩＤをペア製品ＩＤとして検出し、検出したペア製品ＩＤをそのレコードに追加し、また、例えば製品データ２ａに新たにソフトウェア製品のレコードを追加する際に、製品データ２ａに登録済みのソフトウェア製品のレコードにおけるペア製品ＩＤを更新するようにしてもよい。
【００５９】
また、上記実施の形態において、製品データ２ａ内のソフトウェア種別に基づいて、上述のペアを検索する際の対象から、同種のソフトウェア製品を除外するようにしてもよい。
【００６０】
また、上記実施の形態において、データ種別に関連するキーワードと、データ種別との対応関係を示す関連性データを記憶装置１，１２などに予め格納しておき、要求処理部３１は、検索要求において、データ種別ではなくキーワードで、指定入力データ種別または指定出力データ種別が指定されている場合、関連性データに基づいて、検索要求におけるキーワードに対応するデータ種別を、指定入力データ種別または指定出力データ種別として使用するようにしてもよい。
【産業上の利用可能性】
【００６１】
本発明は、例えば、ユーザーの要求に適したソフトウェア製品を提案するシステムに適用可能である。
【符号の説明】
【００６２】
１  提案サーバー
２ａ  製品データ
２１  ソフトウェア製品提案プログラム
３１  要求処理部
３２  製品検索部
【図１】
2020102048.tif 000003
【図２】
2020102048.tif 000004
【図３】
2020102048.tif 000005
【図４】
2020102048.tif 000006
【図５】
2020102048.tif 000007
【図６】
2020102048.tif 000008