JPWO2009069474A1 - 類似サービス検索システム、方法、及び、プログラム - Google Patents

類似サービス検索システム、方法、及び、プログラム Download PDF

Info

Publication number
JPWO2009069474A1
JPWO2009069474A1 JP2009543754A JP2009543754A JPWO2009069474A1 JP WO2009069474 A1 JPWO2009069474 A1 JP WO2009069474A1 JP 2009543754 A JP2009543754 A JP 2009543754A JP 2009543754 A JP2009543754 A JP 2009543754A JP WO2009069474 A1 JPWO2009069474 A1 JP WO2009069474A1
Authority
JP
Japan
Prior art keywords
service
similarity
component
similar
derivation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009543754A
Other languages
English (en)
Inventor
圭一 井口
圭一 井口
小山 和也
和也 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2009069474A1 publication Critical patent/JPWO2009069474A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

類似サービス検索システムは、1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を計算するサービス部品類似度計算部と、前記計算されたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算するサービス類似度計算部とを備える。

Description

本発明は、類似サービス検索システム、方法、及び、プログラムに関し、更に詳しくは、比較対象のサービスに対して類似関係にある類似サービスを発見できる類似サービス検索システム、方法、及び、プログラムに関する。
ソフトウェア開発にて、ソフトウェア部品を検索するシステムがある。ソフトウェア部品検索システムの一例が、特許文献1〜4に記載されている。これら関連技術のソフトウェア部品検索システムでは、部品の入出力定義(特許文献1)、キーワード(特許文献2)、プログラム名(特許文献3)、及び、あらかじめ登録した階層的機能種別(特許文献4)を利用して、ソフトウェア部品を検索する。
特開2007−164241号公報 特開2006−178708号公報 特開2004−287650号公報 特開平07−036684号公報
特許文献1〜4のソフトウェア部品検索システムの問題点は、あるサービスへの機能拡張を他のサービスへも適用しようとする際に、効率よく適用先のサービスを発見できないということである。その理由は、特許文献1〜4のソフトウェア部品検索システムは、あるサービスへの機能拡張が検索結果のサービスに適用することが可能か、また有意義かを考慮せずに検索するため、機能拡張を適用する意味がない、或いは、簡単な修正により適用することが不可能な部品が検索されるためである。
本発明は、あるサービスへ機能拡張・機能変更を行った際に、同じ機能拡張・機能変更の適用が簡単な修正により可能であり、かつ、適用することが有意義な他のサービス候補を効率よく検索できる類似サービス検索システム、サービス共有開発システム、方法、及び、プログラムを提供することを目的とする。
本発明は、1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービス(比較対象サービス)を構成するサービス部品と比較相手のサービス(比較相手のサービス)を構成するサービス部品との間のサービス部品類似度を計算するサービス部品類似度計算部と、前記計算されたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算するサービス類似度計算部と、を備える類似サービス検索システムを提供する。
本発明は、上記本発明の類似サービス検索システムと、開発者からの指示によりサービスを編集するサービス編集部と、前記サービス編集部が行った編集内容をサービス部品ごとに機能拡張差分として切り出し、切り出した機能拡張差分を機能拡張差分蓄積部に登録する差分計算部と、前記機能拡張差分を、前記編集されたサービスとは異なるサービスに適用する差分適用部と、前記編集されたサービスと類似したサービスを前記類似サービス検索システムにより検索し、前記類似したサービスの開発者に前記機能拡張差分の適用を推薦する推薦部とを有するサービス共有開発システムを提供する。
本発明は、1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求め、前記求められたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算し、前記計算されたサービス類似度に基づいて前記比較対象のサービスに類似するサービスを検索する類似サービス検索方法を提供する。
本発明は、サービスの編集があると、該編集内容を機能拡張差分として切り出し、1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、前記編集されたサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求め、前記求められたサービス部品類似度に基づいて、前記編集されたサービスと比較相手のサービスとのサービス類似度を計算し、前記計算されたサービス類似度に基づいて前記編集されたサービスに類似するサービスを検索し、前記類似するサービスの開発者及び利用者の少なくとも一方に、前記機能拡張差分の適用を推薦するサービス共有開発方法を提供する。
本発明は、1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求める処理と、前記求められたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算する処理と、前記計算されたサービス類似度に基づいて前記比較対象のサービスに類似するサービスを検索する処理と、をコンピュータに実行させるプログラムを提供する。
本発明は、サービスの編集があると、該編集内容を機能拡張差分として切り出す処理と、
1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、前記編集されたサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求める処理と、前記求められたサービス部品類似度に基づいて、前記編集されたサービスと比較相手のサービスとのサービス類似度を計算する処理と、前記計算されたサービス類似度に基づいて前記編集されたサービスに類似するサービスを検索する処理と、前記類似するサービスの開発者及び利用者の少なくとも一方に、前記機能拡張差分の適用を推薦する処理と、をコンピュータに実行させるプログラムを提供する。
本発明の類似サービス検索システム、サービス共有開発システム、方法、及び、プログラムは、あるサービスへ機能拡張・機能変更を行った際に、同じ機能拡張・機能変更の適用が簡単な修正により可能で、かつ、適用することが有意義な他のサービス候補を効率よく検索できる。
本発明の上記及び他の目的、特徴及び利益は、図面を参照する以下の説明により明らかになる。
本発明の第1実施形態の類似サービス検索システムを示すブロック図。 サービスとサービス部品との関係を示すブロック図。 サービスの派生関係を示すブロック図。 類似サービス検索の手順を示すフローチャート。 サービス類似度計算の手順を示すフローチャート。 比較対象と比較相手のサービスを示すブロック図。 サービス部品の比較の組合せを示すブロック図。 サービス部品類似度計算の手順を示すフローチャート。 本発明の第2実施形態の類似サービス検索システムを示すブロック図。 本発明の実施例のサービス共有開発システムを示すブロック図。 サービス共有開発システムの動作手順を示すフローチャート。
以下、図面を参照し、本発明の実施形態を詳細に説明する。図1は、本発明の第1実施形態の類似サービス検索システムの構成を示している。類似サービス検索システム100は、サービス蓄積部120、サービス部品類似度定義蓄積部130、サービス類似度計算部111、サービス部品類似度計算部112、入力部140、及び、出力部150を有する。類似サービス検索システム100は、所定のプログラムにより動作するコンピュータシステムで構成される。
サービス蓄積部120は、サービス、及び、サービスの派生情報やサービス部品の派生情報を蓄積する。サービス部品類似度定義蓄積部130は、サービス部品種類ごとの類似度計算方法を蓄積する。サービス類似度計算部111は、サービスの類似度を計算する。サービス部品類似度計算部112は、サービスを構成する部品の類似度を計算する。入力部140は、比較対象となるサービスを入力する。出力部150は、検索結果を出力する。
サービス蓄積部120は、複数のサービス121、サービスを構成するサービス部品122、サービス派生情報管理部123、及び、サービス部品派生情報管理部124を有する。各サービス121は、1以上のサービス部品から成る。サービス部品122は、提供する機能によって分類され、種類が定義される。サービス部品122には、複数の種類があり、各サービス部品には、その種類が記述されている。サービス部品の種類としては、入力用部品、出力用部品、データ編集用部品、ユーザインタフェース用部品、データベース登録部品などが考えられる。これら以外の種類を扱ってもよい。サービス部品122は、複数のサービスで共有されてもよい。
図2に、サービスとサービス部品との関係を示す。この例では、サービス121は、4つのサービス部品で構成されている。このサービス121は、実行順序を制御するサービス部品122−1と、入力部を構成するサービス部品122−2と、変換部を構成するサービス部品122−3と、出力部を構成するサービス部品122−4とを含む。サービス121内でのサービス部品の並び順は、順序制御部を構成するサービス部品122−1、入力部を構成するサービス部品122−2、変換部を構成するサービス部品122−3、及び、出力部を構成するサービス部品122−4の順となっている。
サービス派生情報管理部123は、サービスの派生元を蓄積し、派生先の情報を管理する。サービス部品派生情報管理部124は、サービス部品の派生情報を管理する。サービス派生情報管理部123及びサービス部品派生情報管理部124は、それぞれ、各サービス及びサービス部品がどのサービス、サービス部品を元に修正して作成されたものであるかを示す情報を蓄積する。サービス派生情報管理部123は、例えば、サービスBについて、派生元のサービスがサービスAであるという情報を蓄積する。これら派生情報は、サービス121、サービス部品122内に拡張情報として記録されていてもよい。
図3に、サービスの派生関係を示す。この例では、サービス2及びサービス3は、それぞれサービス1の派生物である。ここでは、派生関係による結びつきを、リンクと呼ぶ。本実施形態では、リンクによって接続されたサービス間の関係を、派生関係にあると定義する。図3では、サービス2及びサービス3の派生元はサービス1であり、サービス4及びサービス5の派生元はそれぞれサービス2及びサービス3であるので、サービス1〜サービス5は、派生関係にある。一方、サービス6については、どのサービスの派生物でもないので、サービス6と派生関係にあるサービスはない。
また、本実施形態では、派生関係にある2つのサービスについて、派生関係の近さを派生距離として定義する。派生距離は、派生元と派生先のリンクを1と数え、2つのサービス間が何ステップで接続されているかを数えることで計算する。例えば、サービス1とサービス4との間の派生距離は、サービス4からサービス1に辿りつくまでに、サービス4→サービス2→サービス1というリンクを辿ることになるので、“2”となる。また、サービス4とサービス5との間の派生距離は、サービス4からサービス5に辿りつくまでに、サービス4→サービス2→サービス1→サービス3→サービス5というリンクを辿ることになるので、“4”となる。
図1に戻り、サービス部品類似度定義蓄積部130は、サービス部品種類ごとの類似度の定義を記録する類似度定義表131を蓄積する。類似度定義は、例えばコンピュータ処理可能なプログラムによって与えられる。或いは、外部の類似度計算サービスへのURLによって与えられていてもよい。入力用部品に用いる類似度定義としては、例えば、入力項目の名前、数、データ型の一致度を計測する関数が適している。また、データ編集用部品に用いる類似度定義としては、例えば、入力データ型の一致する項目の数、変換先データ型の一致する項目の数を計測する関数が適している。
入力部140は、比較対象となるサービスの識別子を受け取り、サービス類似度計算部111に渡す。サービス類似度計算部111は、サービス派生情報管理部123に蓄積された派生情報を用いて、比較対象のサービスとサービス蓄積部120内の各サービスについて、サービス間の派生距離を計算する。また、比較対象のサービスを構成するサービス部品と、比較相手のサービスを構成するサービス部品との間のサービス類似度を求める。サービス部品類似度の計算は、サービス部品類似度計算部112を用いて行う。サービス部品類似度計算部112は、2つのサービス部品について、サービス部品派生情報管理部124に蓄積された派生情報と、類似度定義表131とから、サービス部品の類似度を計算する。サービス類似度計算部111は、サービス間の派生距離とサービス部品類似度とから、サービス類似度を求める。
出力部150は、サービス類似度計算部111から、類似度の計算結果を受け取り、ユーザに類似サービスを提示する。類似サービスの提示では、例えば、比較対象のサービスとの類似度が高い順に、上位10位までのサービスを提示する。或いは、所定のしきい値を設けておき、類似度がそのしきい値以上のサービスを提示してもよい。
図4に、類似サービス検索システム100の動作手順を示す。ユーザが、入力部140に比較対象のサービスを入力すると、サービス類似度計算部111は、入力された比較対象のサービスを、サービス蓄積部120から読み出す(ステップA1)。サービス類似度計算部111は、比較対象のサービスを読み出すと、サービス蓄積部120に蓄積された比較対象のサービス以外のサービスから1つを選択する(ステップA2)。次いで、選択したサービスと、比較対象のサービスとの間の類似度を計算する(ステップA3)。サービス蓄積部120に、比較対象のサービスとの間で類似度の計算が済んでいない残りのサービス(比較相手のサービス)があるか否かを判定する(ステップA4)。ステップA4で、残りのサービスがあると判定されるとステップA2に戻り、その残りのサービスから1つを選択し、ステップA3及びA4を繰り返す。サービス蓄積部120に残りのサービスがなくなると、ステップA5に進み、比較相手のサービスを、比較対象のサービスとの間でサービス類似度の高い順に並び替える(ステップA5)。次いで、その結果をユーザに提示する(ステップA6)。
図5に、サービス類似度計算の動作手順を示す。サービス類似度計算部111は、比較対象のサービスと比較相手のサービスの双方の間で、サービス派生情報管理部123を参照して、派生関係があるか否かを確認する。派生関係にある場合には、派生距離を計算する(ステップB1)。次いで、双方のサービスを構成するサービス部品で対応関係にある部品を選択する(ステップB2)。選択した対応する部品について、サービス部品類似度計算部112により、サービス部品類似度を計算する(ステップB3)。双方のサービス内に対応する部品が残っているか否かを判定する(ステップB4)。ステップB4で残りの対応する部品が双方のサービス内にあると判定されると、ステップB2に戻り、対応する部品の組を選択する。その後、ステップB3及びB4を繰り返す。ステップB4で残りの対応する部品の組がないと判定されると、ステップB5に進み、派生距離とサービス部品類似度とから、各対応する部品のサービス部品類似度を合算して、サービス類似度を求める。
サービス類似度の計算では、例えば、派生距離が短いほど類似度が高くなる関数を用いて、サービス間の派生距離に基づく類似度と求める。派生距離に基づく類似度の計算に用いる関数には、派生距離の逆数を類似度とする関数や、所定の定数から派生距離を引いた値を類似度とする関数を用いることができる。サービス間の派生距離に基づく類似度に、サービス部品類似度を加えた類似度を、サービス類似度とする。
派生距離に基づく類似度とサービス部品類似度との合算では、派生距離やサービス部品種類に応じて重み付けを行い、傾斜平均を求めてもよい。また、サービス部品のサービス内での位置に応じて、例えば最終ステップのサービス部品の重みを大きくする等の重み付けを行ってもよい。両サービス内で類似度の高いサービス部品が連続している場合には、連続数に従ってサービス類似度が加算するように計算することもできる。サービス類似度を加算する方法の好適な例は、部品類似度が閾値以上のときに一定値を加算する方法である。
類似度を計算するサービス部品の組合せの決定では、比較対象と比較相手とでサービス部品数が同じときは、サービス内でのサービス部品の実行順序に従って組合せを決定すればよい。比較対象のサービスと比較相手のサービスとでサービス部品数が異なる場合には、両サービスの実行ステップを一つずつずらし、各組合せについて、サービス類似度の計算を行った上で、最も類似度が高いものを採用すればよい。
図6に、比較対象のサービスと比較相手のサービスとの一例を示す。この例では、サービス1は、順序制御部と入力部と出力部との3つのサービス部品で構成されており、サービス2は、順序制御部と入力部と変換部と出力部との4つのサービス部品で構成されている。図7に、サービス部品比較の組合せを示す。図6に示す2つのサービスのサービス類似度の計算では、サービス部品類似度の計算を、図7に示す4つの組合せパターンについて行い、4つのうちで最も高い類似度を、サービス部品類似度とする。
サービス部品類似度を計算するサービス部品の組合せでは、「Myers, E. W. [1986]. “An O(ND) difference algorithm and its variations, ”Algorithmica 1, 251-266.」に記載された共通部分を求める手法を使用することができる。この手法を用いる場合は、この手法により一致する部品を求め、組合せを決定すればよい。この方法を用いる場合は全ての組合せの類似度を求める必要がないため、効率的に計算が可能である。
図8に、サービス部品類似度計算の手順を示す。サービス部品類似度計算部112は、サービス類似度計算部111から、比較対象のサービス部品及び比較サービス部品を受け取ると、サービス部品派生情報管理部124を参照して、サービス部品間の派生距離を求める(ステップC1)。この派生距離は、サービス間の派生距離と同様の計算により求めることができる。次に、サービス部品の種類を判定し(ステップC2)、両サービス部品に共通して使用できる類似定義をサービス部品類似度定義蓄積部130から取得する(ステップC3)。
サービス部品類似度計算部112は、取得した類似定義に従って、種類別類似度を求める(ステップC4)。その後、派生距離と種類別類似度とから、サービス部品類似度を求める(ステップC5)。ステップC5では、派生距離に基づく部品類似度を求め、その部品類似度に種類別類似度を合算することで、サービス部品類似度を求めることができる。その際、サービス部品種類ごとに、派生距離に基づく部品類似度と種類別類似度との間で重み付けを行い、傾斜平均を求めてもよい。
本実施形態では、サービス部品類似度計算部112により、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品とについてサービス部品類似度を計算し、サービス類似度計算部111は、サービス部品類似度に基づいて、サービス類似度を計算する。サービス部品類似度の計算では、部品種類ごとに定義した類似度定義を用いて、サービス部品間の類似度を計算する。類似度定義として、サービス部品の機能が類似するほど、計算される類似度定義を用意することで、機能が類似するサービス部品間の類似度を高くすることができる。また、サービスを構成するサービス類似度を合算することで、サービスが提供する機能が類似するサービス間のサービス類似度を高くすることができる。合算に際しては、比較対象と比較相手のサービスにおけるサービス部品の位置(実行手順)などに応じて、サービス部品類似度の重み付けを行うことで、サービス構造が類似するサービス間のサービス類似度を、より高くすることができる。
また、本実施形態では、サービス及びサービス部品の派生情報を用い、派生距離が短いサービス又はサービス部品間の類似度を高く見積もる。このようにすることで、比較対象のサービスにサービス構造及び機能が類似するサービス部品の類似度を、より高くすることができる。以上のように計算されたサービス類似度が高いサービスを探すことで、比較対象のサービスに類似するサービスを探し出すことができる。サービス構造が類似し、かつ、サービス機能が類似したサービスは、機能拡張・機能変更を適用することが可能で、かつ、有意義である可能性が高い。従って、本実施形態では、あるサービスへ機能拡張・機能変更を行った際に、同じ機能拡張・機能変更を適用することが可能で、かつ、有意義な他のサービス候補を効率よく検索できる。
続いて、本発明の第2実施形態について説明する。図9は、本発明の第2実施形態の類似サービス検索システムの構成を示している。第1実施形態と同一の要素については、同じ符号を付け詳細の説明は省略する。本実施形態の類似サービス検索システム200は、第1実施形態の構成(図1)に加えて、プログラム制御により動作するデータ処理装置210と、データ処理装置210を制御するためのプログラムを蓄積するプログラム蓄積部260とを備える。
プログラム蓄積部260は、データ処理装置210に、サービス類似度計算部111及びサービス部品類似度計算部112に相当する機能を行わせ、さらにサービス蓄積部120内にサービス派生情報管理部123及びサービス部品派生情報管理部124を作成させるプログラムを蓄積する。データ処理装置210は、プログラム蓄積部260に蓄積されたプログラムの指示に従い、類似サービス検索システム200が、類似サービス検索システム100と同等の機能を提供するように動作する。
以下、実施例を用いて説明する。本実施例は、類似サービス検索システム100(図1)を、サービス共有開発システムに用いた例である。図10に、サービス共有開発システムの構成を示す。サービス共有開発システム400は、類似サービス検索システム100と、機能拡張差分蓄積部410と、差分適用部420と、サービス編集部430と、差分計算部440と、推薦部450とを備える。
機能拡張差分蓄積部410は、サービスの機能拡張部品を蓄積する。差分適用部420は、機能拡張差分を別のサービスに適用し派生サービスを作成する。サービス編集部430は、開発者からの指示に従いサービスの編集を行う。差分計算部440は、サービスの機能拡張をサービス部品ごとに切り出す。推薦部450は、機能拡張されたサービスと類似したサービスに機能拡張差分を適用することを開発者に推薦する。
図11に、サービス共有開発システム400の動作手順を示す。サービス編集部430は、開発者からの指示により、サービス蓄積部120に蓄積されたサービスを編集する(ステップD1)。差分計算部440は、編集内容を、サービス部品ごとにサービス拡張差分として切り出し、機能拡張差分蓄積部410に蓄積する(ステップD2)。推薦部450は、類似サービス検索システム100により、編集されたサービスと類似するサービスを検索し(ステップD3)、類似サービスの開発者に差分の適用を推薦する(ステップD4)。
類似サービスの開発者は、推薦内容を確認し、差分の適用推薦を受け入れるか否かを判断する。差分適用部420は、類似サービスの開発者が差分の適用推薦を受け入れると(ステップD5)、サービス蓄積部120内に機能拡張差分を適用した新たなサービスを構築する(ステップD6)。その後、差分適用部420は、適用前後のサービスの派生情報を、サービス蓄積部120内に登録する(ステップD7)。
類似サービス検索システムを、サービス共有開発システムに適用することで、サービス部品が編集された際に、他の開発者は、自身が開発中のサービスに適用可能なサービス部品の存在を知ることができる。また、本実施例では、差分適用部420により自動的に派生情報が追加されるので、開発者は、自身で派生情報を管理する必要がない。
本発明を特別に示し且つ例示的な実施形態を参照して説明したが、本発明は、その実施形態及びその変形に限定されるものではない。当業者に明らかなように、本発明は、添付のクレームに規定される本発明の精神及び範囲を逸脱することなく、種々の変更が可能である。例えば、サービス蓄積部やサービス部品類似度定義蓄積部は、類似サービス検索システムの内部にあっても、外部にあってもよい。
本出願は、2007年11月26日出願に係る日本特許出願2007−304555号を基礎とし且つその優先権を主張するものであり、引用によってその開示の内容の全てを本出願の明細書中に加入する。
本発明は、サービス部品を共有し開発を行うサービス共有開発システムの用途に適用できる。また、ユーザが行った機能拡張を蓄積し、他サービスの拡張に利用するアプリケーションサービスプロバイダ基盤、ソフトウェアアズアサービス(SaaS)基盤といった用途にも適用可能である。

Claims (17)

  1. 1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を計算するサービス部品類似度計算部と、
    前記計算されたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算するサービス類似度計算部と、を備える類似サービス検索システム。
  2. 前記サービス蓄積部は、前記サービスを構成する複数のサービス部品を蓄積しており、前記サービス部品類似度計算部は、前記サービス類似度計算部から、前記比較対象のサービスを構成するサービス部品の情報と、前記比較相手のサービスを構成するサービス部品の情報とを受け取り、前記サービス蓄積部を参照して、前記サービス部品間の類似度を計算する、請求項1に記載の類似サービス検索システム。
  3. 前記サービス蓄積部が、前記サービス部品がどのサービス部品からの派生であるかを示す派生情報を管理するサービス部品派生情報管理部を有しており、前記サービス部品類似度計算部は、前記サービス部品派生情報管理部を参照して、前記比較対象のサービスを構成するサービス部品と、前記比較相手のサービスを構成するサービス部品との派生距離を求め、該派生距離に基づいて派生距離に基づくサービス部品の類似度を求め、該派生距離に基づくサービス部品の類似度と前記サービス部品間の類似度とを合算して、前記サービス部品類似度を計算する、請求項2に記載の類似サービス検索システム。
  4. 前記サービス部品類似度計算部は、前記派生距離の計算では、派生元と派生先との関係を1ステップと数えて、前記比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品とが何ステップで接続されるかを計算し、派生距離が短いほど前記派生距離に基づくサービス部品の類似度の値を大きくする、請求項3に記載の類似サービス検索システム。
  5. 前記サービス部品類似度計算部は、前記派生情報に基づくサービス部品の類似度と、前記サービス部品間の類似度とに重み付けを行った上で両者を合算する、請求項3又は4に記載の類似サービス検索システム。
  6. 前記サービス部品類似度計算部は、サービス部品の種類に対応して類似度定義を記憶する類似度定義蓄積部を参照し、前記比較対象のサービスを構成するサービス部品の種類と、前記比較相手のサービスを構成するサービス部品の種類とに合致する類似度定義を用いて、前記サービス部品間の類似度を計算する、請求項2〜4の何れか一に記載の類似サービス検索システム。
  7. 前記サービス類似度計算部は、前記比較対象のサービスを構成する各サービス部品について、前記比較相手のサービスを構成する各サービス部品とのサービス部品類似度を合算して、前記サービス類似度を計算する、請求項1〜6の何れか一に記載の類似サービス検索システム。
  8. 前記サービス類似度計算部は、前記サービス部品類似度に重み付けを行った上で前記サービス部品類似度を合算する、請求項7に記載の類似サービス検索システム。
  9. 前記サービス蓄積部は、前記サービスがどのサービスからの派生であるかを示す派生情報を管理するサービス派生情報管理部を有しており、前記サービス類似度計算部は、前記サービス派生情報管理部を参照して、前記比較対象のサービスと、前記比較相手のサービスとの派生距離を求め、該派生距離に基づいて派生距離に基づくサービスの類似度を求め、該派生距離に基づくサービスの類似度と前記サービス部品類似度とを合算して、前記サービス類似度を計算する、請求項1〜8の何れか一に記載の類似サービス検索システム。
  10. 前記サービス類似度計算部は、前記サービスの派生距離の計算では、派生元と派生先との関係を1ステップと数えて、前記比較対象のサービスと比較相手のサービスとが、何ステップで接続されるかを計算し、派生距離が短いほど前記派生距離に基づくサービスの類似度の値を大きくする、請求項9に記載の類似サービス検索システム。
  11. 前記サービス類似度計算部は、前記派生情報に基づくサービスの類似と、前記サービス部品類似度とに所定の重み付けを行った上で両者を合算する、請求項9又は10に記載の類似サービス検索システム。
  12. 請求項1〜11の何れか一に記載の類似サービス検索システムと、
    開発者からの指示によりサービスを編集するサービス編集部と、
    前記サービス編集部が行った編集内容をサービス部品ごとに機能拡張差分として切り出し、切り出した機能拡張差分を機能拡張差分蓄積部に登録する差分計算部と、
    前記機能拡張差分を、前記編集されたサービスとは異なるサービスに適用する差分適用部と、
    前記編集されたサービスと類似したサービスを前記類似サービス検索システムにより検索し、前記類似したサービスの開発者に前記機能拡張差分の適用を推薦する推薦部とを有するサービス共有開発システム。
  13. 1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求め、
    前記求められたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算し、
    前記計算されたサービス類似度に基づいて前記比較対象のサービスに類似するサービスを検索する類似サービス検索方法。
  14. 前記サービス蓄積部は、前記サービスを構成する複数のサービス部品を蓄積しており、前記サービス部品類似度の計算は、前記比較対象のサービスを構成するサービス部品と、前記比較相手のサービスを構成するサービス部品とについて、前記サービス蓄積部を参照して、前記サービス部品間の類似度を計算する、請求項13に記載の類似サービス検索方法。
  15. サービスの編集があると、該編集内容を機能拡張差分として切り出し、
    1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、前記編集されたサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求め、
    前記求められたサービス部品類似度に基づいて、前記編集されたサービスと比較相手のサービスとのサービス類似度を計算し、
    前記計算されたサービス類似度に基づいて前記編集されたサービスに類似するサービスを検索し、
    前記類似するサービスの開発者及び利用者の少なくとも一方に、前記機能拡張差分の適用を推薦するサービス共有開発方法。
  16. 1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、比較対象のサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求める処理と、
    前記求められたサービス部品類似度に基づいて、前記比較対象のサービスと比較相手のサービスとの間のサービス類似度を計算する処理と、
    前記計算されたサービス類似度に基づいて前記比較対象のサービスに類似するサービスを検索する処理と、をコンピュータに実行させるプログラム。
  17. サービスの編集があると、該編集内容を機能拡張差分として切り出す処理と、
    1以上のサービス部品から構成される複数のサービスを蓄積するサービス蓄積部を参照して、前記編集されたサービスを構成するサービス部品と比較相手のサービスを構成するサービス部品との間のサービス部品類似度を求める処理と、
    前記求められたサービス部品類似度に基づいて、前記編集されたサービスと比較相手のサービスとのサービス類似度を計算する処理と、
    前記計算されたサービス類似度に基づいて前記編集されたサービスに類似するサービスを検索する処理と、
    前記類似するサービスの開発者及び利用者の少なくとも一方に、前記機能拡張差分の適用を推薦する処理と、をコンピュータに実行させるプログラム。
JP2009543754A 2007-11-26 2008-11-13 類似サービス検索システム、方法、及び、プログラム Pending JPWO2009069474A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007304555 2007-11-26
JP2007304555 2007-11-26
PCT/JP2008/070672 WO2009069474A1 (ja) 2007-11-26 2008-11-13 類似サービス検索システム、方法、及び、プログラム

Publications (1)

Publication Number Publication Date
JPWO2009069474A1 true JPWO2009069474A1 (ja) 2011-04-14

Family

ID=40678376

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009543754A Pending JPWO2009069474A1 (ja) 2007-11-26 2008-11-13 類似サービス検索システム、方法、及び、プログラム

Country Status (2)

Country Link
JP (1) JPWO2009069474A1 (ja)
WO (1) WO2009069474A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011115024A1 (ja) * 2010-03-15 2011-09-22 日本電気株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP5323107B2 (ja) * 2011-02-10 2013-10-23 三菱電機株式会社 ソフトウェア部品管理装置およびソフトウェア部品管理プログラム
WO2014188502A1 (ja) * 2013-05-21 2014-11-27 株式会社日立製作所 管理システム、管理プログラム及び管理方法
WO2016135883A1 (ja) 2015-02-25 2016-09-01 株式会社日立製作所 サービス設計支援システムおよびサービス設計支援方法
JP7382245B2 (ja) * 2020-02-07 2023-11-16 株式会社日立製作所 代替候補推薦システム及び方法
CN113409136A (zh) * 2021-06-30 2021-09-17 中国工商银行股份有限公司 组合服务相似度分析方法、装置、计算机系统及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003216425A (ja) * 2002-01-24 2003-07-31 Japan Science & Technology Corp 類似度計測システム
CA2476585A1 (en) * 2002-02-18 2003-08-21 Japan Science And Technology Agency Software component importance evaluation system
JP2003281185A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 情報検索方法および情報検索装置

Also Published As

Publication number Publication date
WO2009069474A1 (ja) 2009-06-04

Similar Documents

Publication Publication Date Title
CN107436875B (zh) 文本分类方法及装置
US9087111B2 (en) Personalized tag ranking
JPWO2009069474A1 (ja) 類似サービス検索システム、方法、及び、プログラム
JP4736713B2 (ja) プロジェクトメンバーの選定を支援するシステムと方法
US20120158687A1 (en) Display entity relationship
JP5527027B2 (ja) スキーマ定義生成装置、スキーマ定義生成方法およびスキーマ定義生成プログラム
CN112989055B (zh) 文本识别方法、装置、计算机设备和存储介质
US8243988B1 (en) Clustering images using an image region graph
JP2014191641A (ja) インストールプログラム及びインストール方法
JP2011090352A (ja) 検索データ管理装置
US20130159347A1 (en) Automatic and dynamic design of cache groups
CN112307374A (zh) 基于待办事项的跳转方法、装置、设备及存储介质
JP4868484B2 (ja) サーチプロファイルの比較方法
WO2012027124A1 (en) Systems and methods for lexicon generation
US20060117252A1 (en) Systems and methods for document analysis
CN111126965B (zh) 审核规则优化方法、装置、计算机设备以及存储介质
CN115130043B (zh) 基于数据库的数据处理方法、装置、设备及存储介质
JP5928446B2 (ja) 情報検索システム、情報検索方法および情報検索プログラム
US20140195561A1 (en) Search method and information managing apparatus
KR101723310B1 (ko) 특허공보를 기반으로한 대리인 검색 서비스 제공 시스템 및 방법
KR101784106B1 (ko) 지식구조를 이용한 다중 컨텐츠 평가 방법, 그 장치 및 이를 이용한 컨텐츠 추천방법
JP6511793B2 (ja) テストケース生成プログラム、テストケース生成方法及びテストケース生成装置
JP6772606B2 (ja) データ処理プログラム、データ処理方法、及びデータ処理装置
US11689432B1 (en) Feedback prioritization system
US20130262980A1 (en) Information processing apparatus, history control method, and computer-readable recording medium