JP6892053B2 - Aiを使用したソースコード売買システム - Google Patents

Aiを使用したソースコード売買システム Download PDF

Info

Publication number
JP6892053B2
JP6892053B2 JP2018230575A JP2018230575A JP6892053B2 JP 6892053 B2 JP6892053 B2 JP 6892053B2 JP 2018230575 A JP2018230575 A JP 2018230575A JP 2018230575 A JP2018230575 A JP 2018230575A JP 6892053 B2 JP6892053 B2 JP 6892053B2
Authority
JP
Japan
Prior art keywords
source code
price
information
selling
trading system
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.)
Active
Application number
JP2018230575A
Other languages
English (en)
Other versions
JP2020095305A5 (ja
JP2020095305A (ja
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.)
One Act
Original Assignee
One Act
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 One Act filed Critical One Act
Priority to JP2018230575A priority Critical patent/JP6892053B2/ja
Priority to PCT/JP2019/048045 priority patent/WO2020122003A1/ja
Publication of JP2020095305A publication Critical patent/JP2020095305A/ja
Priority to JP2020124859A priority patent/JP6971501B2/ja
Publication of JP2020095305A5 publication Critical patent/JP2020095305A5/ja
Priority to US17/340,673 priority patent/US20210342870A1/en
Application granted granted Critical
Publication of JP6892053B2 publication Critical patent/JP6892053B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Description

本発明は、コンピュータプログラムのソースコードの売買を仲介するソースコード売買システムに関する。
各種の商品の売買を仲介する売買システムが知られている。販売者と購入者との間で価格調整を行う機能を有する売買システムも多い。価格調整に当たっては、販売希望数量と購入希望数量との需給関係によって妥当な価格を導出することが可能である。
ここで、商品が複製可能なデータである場合には、販売希望数量が定まらない場合が多い。物品の生産をせずに複製をすれば生産できるので、生産能力に起因する販売数量の制限がないためである。仮に販売希望数量を無限大(または十分に大きな数量)とすると、需給関係によって導出される価格は、商品の価値よりも小さなものとなってしまう。
特許文献1には、購入対象データについて、実際に発生した販売価格に基づいて価格を決定する価格決定システムが開示されている。購入者(需要側)の判断に基づいて価格を決定することとなり、商品としてのデータの価値を反映した価格とすることができる。
商品がコンピュータプログラムのソースコード(以下、単に「ソースコード」と言う。)である場合にも、特許文献1に開示された方法を使用することは可能である。しかしながら、ソースコードの商品自体の内的な要素や外部サービスなどの外的な要素を把握しておらず、商品としてのソースコードの価値を十分に反映した価格とすることはできていない。
特開2012−208946号公報
本発明は、商品としてのソースコードの価値を反映した価格で売買の仲介を行うことのできるソースコード売買システムを提供することを課題とする。
そこで、本発明は、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本発明によれば、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供することができる。
ソースコード売買システムの構成例を示す図である。 価格決定データの例を示す図である。 価格決定部15の計算の例を示すフローチャートの例である。 ソースコード売買システム1を含む全体システム400の構成例である。 ソースコード売買システム1のハードウェア構成の例である。 ソースコード売買システム1を含む全体システム400の接続関係の例である。 価格データ18の構成例である。 類似度判定フロー800の例である。 参照先配分率決定フロー900の例である。 機能ブロックを用いた参照先配分率決定フロー1000の例である。 価格決定フロー1100の例である。 予想価格算出フロー1200の例である。 分類器によるソースコードの分類フロー1300の例である。 外部情報による価格調整フロー1400の例である。 ニュースサイトの情報に基づく価格調整フロー1500の例である。 外部情報による価格調整の実行頻度変更フロー1600の例である。 Web画面1700の例である。 スマートフォン画面1800の例である。
以下、本発明の実施例を説明する。
(システムの構成)
図1は、ソースコード売買システムの構成を示す図である。ソースコード売買システム1は、1又は2以上の販売者端末21及び購入者端末22と、ネットワークを介して接続されている。ソースコード売買システム1は、商品登録部11を介して販売者端末21から登録されたソースコードデータ12を、売買仲介部13を介して購入者端末22のユーザにダウンロード販売する。なお、販売形式はダウンロード販売でなくともよい。
ソースコード売買システム1は、商品登録部11、売買仲介部13、価格決定部15、類比判定部16及びソースコード要望提示部17を備え、ソースコードデータ12及び価格決定データ14を保持している。
商品登録部11は、販売者端末21から、販売を希望するソースコードに係る情報を受信する。販売を希望するソースコードをアップロードさせてソースコードデータ12として格納し、後述する書誌事項14dを受信して価格決定データ14を更新する。
ソースコードデータ12は、販売されるソースコードである。
売買仲介部13は、購入者端末22に販売されるソースコード及び価格を含む情報を表示し、購入者端末からの購入申込を受付け、ソースコードをダウンロードさせる。購入されると、後述する販売実績14bについて価格決定データ14を更新する。
売買仲介部13は、また、各々のソースコードの詳細を表示するホームページへのリンクを備えている。リンクによって詳細が表示されると、後述する注目度14cについて価格決定データ14を更新する。
価格決定データ14は、各々のソースコードの価格を決定するためのデータである。詳細は後述する。
価格決定部15は、価格決定データ14に基づいて各々のソースコードの価格を決定し、保持する。保持された価格は、売買仲介部13によって用いられる。
類比判定部16は、2のソースコードについて、その一方が他方を使用して作成されたと推認できるような類似度を計算し、類似度が十分に大きな場合には類似である(一方が他方を使用して作成された)と判断し、後述する類否情報14eについて価格決定データ14を更新する。
ここで、類似度を計算する手法は、いかなるものであってもよい。例えば、ソースコードを行単位に分割して同一内容の行の比率を求める、ソースコード中の変数名の一致度合いを求める、その他の方法を用いることができる。本発明では、類似であるか否かの判断をすることができれば十分である。
ソースコード要望提示部17は、購入者端末22からソースコード作成の要望(作成を希望するソースコードの機能等)を受け付け、受け付けた要望の一覧を購入者端末22(複数の購入者端末22があり、ソースコード作成の要望を入力した購入者端末22以外の購入者端末22をも含む)に表示する。表示に際してはそのソースコードの作成を自分も望むことを投票する手段(例えば「いいね」ボタン)を提供する。投票が行われると、後述する注目度14cについて価格決定データ14を更新する。
ソースコード要望提示部17は、また、受け付けた要望の一覧を販売者端末21にも表示する(ただし、ソースコード売買システム1がインターネットのホームページとして運用されるのであれば、同一の端末機が販売者端末21にも購入者端末22にもなり得るので、販売者端末21に表示するための特別の仕組は要しない)。その際、投票数も合わせて表示するものとする。販売者は、作成の要望の多いソースコードに係る情報を得ることができ、開発を行うことができる。
図2は、価格決定データを示す図である。価格決定データ14は、各々のソースコード(図中の1行)について、ソースコードID14a、販売実績14b、注目度14c、書誌事項14d及び類否情報14eを含んでいる。
ソースコードID14aは、各々のソースコードを一意に同定するためのIDである。
販売実績14bは、販売数量及び販売価格を含むデータであり、発売開始からの累積の販売数量(累積数量)14b11及び販売価格(累積価格)14b12、並びに、事前に定めた最近の期間の販売数量(最近数量)14b21及び販売価格(最近価格)14b22を含む。ただし、累積数量14b11及び累積価格14b12、又は、最近数量14b21及び最近価格14b22の一方のみとしてもよい。
最近数量14b21及び最近価格14b22を求めるためには、売買仲介部13から販売数量及び販売価格を販売時点と共に受領し、販売時点に基づいて所定の最近の期間のみについて積算することができる。又は、例えば1日毎の期間について最近数量14b21及び最近価格14b22を求めるのであれば、期間の開始時に最近数量14b21及び最近価格14b22の値を0とし、売買仲介部13から受領する販売数量及び販売価格を積算してもよい。
注目度14cは、各々のソースコードが注目されている(関心を持たれている)度合を示すデータであり、ソースコード要望提示部17から受領する投票数14c1及び売買仲介部13から受領するページビュー数14c2を含む。なお、投票数14c1及びページビュー数14c2についても、販売実績14bと同様に累積、最近又はその両方とすることができる。
書誌事項14dは、商品登録部11から受領する書誌情報のデータであり、作成者14d1及び言語14d2を含む。
類否情報14eは、類比判定部16から受領する類似度のデータであり、使用ソースコード14e1及び使用率14e2を含む。図は、ソースコードDが、そのうち70%についてソースコードAを用いて作成された場合のものである。
図3は、価格決定部の計算の例を示すフローチャートである。価格決定部15は、1日につき一度起動され、各々のソースコードの価格を計算する。起動の間隔は、1日よりも長い間隔、例えば3日、1週間等としてもよい。
また、1日よりも短い間隔(例えば6時間)としてもよいが、最近数量14b21及び最近価格14b22を価格決定部15の起動間隔に合わせると、昼間と夜間とで大きく変動する可能性がある。この点、世界各国からのソースコード購入を処理する場合には、変動が緩和されるので、1日よりも短い間隔として価格を頻繁に改定することが容易となる。
価格決定部15は、ステップ15aにおいて、価格(P)にR0を乗じて減額する(0<R0<1)。その後、価格決定データ14を読み込み、それに基づいて価格を調整する。価格決定データ14に基づく調整で価格が上昇しない場合には、ソースコードの価格は時間の経過(価格決定部15の動作回数)によって下落する。価格を上昇させる要因が発生すれば価格の低下が止まるので、時間経過による価格の低下と、単位時間当たりの価格上昇要因発生とが均衡する価格として、商品としてのソースコードの価値に合った価格に収束すると考えられる。
価格決定データ14に基づく調整は、販売実績に基づく調整(ステップ15b)、注目度に基づく調整(ステップ15c)、書誌事項に基づく調整(ステップ15d)、及び類否情報に基づく調整(ステップ15e)が行われる。
販売実績に基づく調整(ステップ15b)は、販売実績14b(累積数量14b11、累積価格14b12、最近数量14b21、最近価格14b22)に基づいて価格を調整する。
例えば、累積数量14b11について、その値b11から、基準値b’11を減算し、それに所定の比率Rb11を乗算した値を価格Pに加算する。b11>b’11であれば価格が上昇し、b11<b’11であれば価格が下降する。(以下、価格データ14に含まれる値について、価格データ14において「14」に続く符号で示し(例えば、b11は符号14b11である累積数量の値を示す。)、それに係る比率を「R」の後のその符号をつけて示す。)
累積価格14b12、最近数量14b21、最近価格14b22についても同様の計算を行う。これにより、販売実績14bに基づく価格調整が行われる。なお、累積数量14b11、累積価格14b12、最近数量14b21、最近価格14b22のすべてについて価格調整を行わずにその一部について行ってもよい。例えば、最近数量14b21、最近価格14b22のみについて価格調整を行うこととしてもよい。最近の販売実績のみが反映され、需要の変化に対応するものとなる。
なお、P=P+(b11―b’11)×Rb11との数式は、価格調整の行い方の一例であり、任意の数式として設計してよい。
以上、販売実績14b(累積数量14b11、累積価格14b11、最近数量14b21、最近価格14b22)に基づく価格調整を説明した。具体的にいかなる価格調整を行うかについては、一例であり、任意の設計としてよい。
注目度に基づく調整(ステップ15c)は、注目度14c(投票数14c1、ページビュー数14c2)に基づいて価格を調整する。数式は、販売実績に基づく調整(ステップ15b)と同様とした。
書誌事項に基づく調整(ステップ15d)は、書誌事項14d(作成者14d1、言語14d2)に基づいて価格を調整する。書誌事項14dは数値ではないので、書誌事項14dを数値に変換する関数fを用いる。
関数fの具体形は、設計事項として定めてよい。例えば、作成者14d1、言語14d2のそれぞれについて、その価値をソースコード売買システム1の運営者が定めて決定してもよい。また、同一の作成者14d1、同一の言語14d2である他のソースコードの販売実績14bに基づいて計算してもよい。
類否情報に基づく調整(ステップ15e)は、類否情報14e(使用ソースコード14e1、使用率14e2)に基づいて価格を調整する。各々のソースコードについて、そのソースコードを使用する他のソースコード(使用ソースコード14e1)が存在する場合、使用する他のソースコードの価格P(e1)の使用率e2を乗算した値が、そのソースコードの価値を推定する根拠となる。これに、所定の比率Reを乗算した値を価格Pに加算する。なお、Σは、使用する他のソースコードが複数ある場合に、全ての使用する他のソースコードについて加算する。
なお、P=P+(Σ(P(e1)・e2)×Reとの数式は、価格調整の行い方の一例であり、任意の数式として設計してよい。
以上詳細に説明したように、本実施例のソースコード売買システム1は、価格決定データ14に基づいて価格を決定する価格決定部15を備える。価格決定データ14として、販売実績14b、注目度14c、書誌事項14d、類否情報14eを用いることで、ソースコードの価値を反映した価格とすることができる。
なお、ソースコードの価値をより正確に反映した価格とするため、価格決定データ14に他の情報をさらに保持し、価格決定部15において処理してもよい。他の情報としては、ソースコードの詳細を表示するホームページの「お気に入り」の登録数、ソースコードについて評価を求めた場合の評価値、クレームの数、その他を用いることができる。
本実施例では、ソースコードの類似度に基づき売上利益の配分を行う構成の例を説明する。
図4は、ソースコード売買システム1を含む全体システム400の構成例である。
全体システム400は、複数のソースコード販売者端末21と複数のソースコード購入者端末22と複数の外部サービスサーバ23とソースコード売買システム1を有し、それぞれの端末やサーバがネットワークを介してソースコード売買システム1に接続されている。なお、ネットワークは有線、無線を問わない。
販売者端末21は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、自らが作成したソフトウェアもしくは他のソフトウェアを改良したソフトウェア等のソースコードを提供及び販売する。
購入者端末22は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、販売されるソフトウェアのソースコードを購入する。
ソースコード売買システム1は、販売者端末21と購入者端末22間をつなぎ、適切な価格でソースコードを販売する仲介を行う。
外部サービスサーバ23は、例えば本ソースコード売買システム1と同様にソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等である。ソースコード売買システム1は、これらの外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
全体システム400のそれぞれの端末やソースコード売買システム1は、例えば、スマートフォン、タブレット、携帯電話機、携帯情報端末(PDA)などの携帯端末でもよいし、メガネ型や腕時計型、着衣型などのウェアラブル端末でもよい。また、据置型または携帯型のコンピュータや、クラウドやネットワーク上に配置されるサーバでもよい。あるいは、これらの複数の端末の組合せであってもよい。例えば、1台のスマートフォンと1台のウェアラブル端末との組合せが論理的に一つの端末として機能し得る。またこれら以外の情報処理端末であってもよい。
全体システム400のそれぞれの端末やソースコード売買システム1は、それぞれオペレーティングシステムやアプリケーション、プログラムなどを実行するプロセッサと、RAM(Random Access Memory)等の主記憶装置と、ICカードやハードディスクドライブ、SSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置と、ネットワークカードや無線通信モジュール、モバイル通信モジュール等の通信制御部と、タッチパネルやキーボード、マウス、音声入力、カメラ部の撮像による動き検知による入力などの入力装置と、モニタやディスプレイ等の出力装置とを備える。なお、出力装置は、外部のモニタやディスプレイ、プリンタ、機器などに、出力するための情報を送信する装置や端子であってもよい。
主記憶装置には、各種プログラムやアプリケーションなど(モジュール)が記憶されており、これらのプログラムやアプリケーションをプロセッサが実行することで全体システムの各機能要素が実現される。なお、これらの各モジュールは集積化する等によりハードウェアで実装してもよい。また、各モジュールはそれぞれ独立したプログラムやアプリケーションでもよいが、1つの統合プログラムやアプリケーションの中の一部のサブプログラムや関数などの形で実装されていてもよい。本明細書では、各モジュールを各「処理部」という呼び方をする。
本明細書では、各モジュール(各処理部)が、処理を行う主体(主語)として記載をしているが、実際には各種プログラムやアプリケーションなど(モジュール)を処理するプロセッサが処理を実行する。
補助記憶装置には、各種データベース(DB)が記憶されている。「データベース」とは、プロセッサまたは外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素(記憶部)である。データベースの実装方法は限定されず、例えばデータベース管理システムでもよいし、表計算ソフトウェアでもよいし、XMLなどのテキストファイルでもよい。
図5は、ソースコード売買システム1のハードウェア構成の例である。
ソースコード売買システム1は、例えばクラウド上に配置されたサーバで構成される。
主記憶装置501には、商品登録部11、売買仲介部13、価格決定部15、類否判定部16、ソースコード要望提示部17、外部情報取得部31、価格調整部32等のプログラムやアプリケーションが記憶されており、これらのプログラムやアプリケーションをプロセッサ503が実行することでソースコード売買システム1の各機能要素が実現される。
価格決定部15は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価等、ソースコードのカテゴリ)に基づいてソースコードの販売価格を変動させ、決定する。
また、本実施例ではさらに、新たにソースコードが登録される場合に、すでに登録されているソースコードの情報に基づいて機械学習による分析を行うことで、ソースコードの販売予想価格を算出し、販売価格を決定する。
類否判定部16は、ソースコード同士の類似度を文字列の差分検出アルゴリズム等に基づき算出する。
外部情報取得部31は、定期的にもしくは任意のタイミングで、ソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等の外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
価格調整部32は、価格決定部15で決定された価格を外部情報に基づき定期的にもしくは任意のタイミングで更新する。
補助記憶装置502は、ソースコードデータ12、価格決定データ14及び価格データ18を備える。
ソースコードデータ12は、販売者端末21から送信されたソースコードを登録、記憶する。
価格決定データ14は、価格決定部15が価格決定を行うための基礎となる情報を登録しており、例えば図2に示すような情報を記憶する。また、外部情報取得部31により取得された外部情報が、処理、整形されて記憶されている。
価格データ18は、販売者が希望する希望価格や、価格決定部15が出した予想価格、価格調整部32により調整された最終価格、類似度に基づく参照先ソースコードへの配分率等の価格に関する情報を記憶する。
図6は、ソースコード売買システム1を含む全体システム400の接続関係の例である。実施例1との差分についてのみ説明する。
外部情報取得部31は、外部サービスサーバ23とネットワークを介して接続しており、各種外部情報を取得する。外部情報取得部31は取得した情報を処理、整形、評価等することにより、価格決定部15及び価格調整部32が処理できる形の情報にして、価格決定データ14に記憶する。
価格調整部32は、価格決定データ14に記憶された外部情報に基づく情報に従って、価格決定データ14に基づいて価格決定部15が決定した価格を、定期的にもしくは任意のタイミングで調整する。
図7は、価格データ18の構成例である。
価格データ18は、ID701、プロダクトID702、希望価格703、予想価格704、最終価格705、アルゴリズムタイプ706、参照先707、売上配分率708、参照先配分率709、更新日時710を有する。
ID701、はソースコードに対する価格を決定する際にシーケンシャルに生成される情報である。
プロダクトIDは実際のソースコードを含む「商品」を特定する情報であり、図示しないプロダクト情報のプロダクトIDを参照する。プロダクト情報には、ソースコードと対応付けて商品に関する情報が記載されており、例えばユーザID、ユーザ名、ステータス、価格履歴、プロダクト詳細、デザイン詳細、使用方法、限定事項、プロダクトイメージ、プレビューURL、プロダクトビデオURL、ユーザガイド、初期価格(希望価格)等の情報が記憶されている。
希望価格703は、販売者が希望する販売価格を記録する。
予想価格704は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出された予想販売価格を記憶する。
最終価格705は、希望価格703や予想価格704や、外部情報による調整に基づき算出された最終的な価格である。
アルゴリズムタイプ706はどのアルゴリズムに基づいて最終的な価格が決定されたのかを示す。autoは、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出されたことを示す。
newsはニュースサイトから取得した情報に基づいて算出されたことを示す。codeは、他のソースコード売買サイトの価格情報に基づいて算出されたことを示す。searchは検索サイトから取得した情報に基づいて算出されたことを示す。
参照先707は、ソースコードが他のソースコードをコピーして、もしくは他のコードから改変して作成されている場合に、その他のソースコードを参照する情報である。プロダクト情報のプロダクトIDを参照する。
売上配分率708は、そのソースコードを販売した後に販売者に支払われる売り上げの配分率を規定する。ここでは割合で出しているが、販売に対する所定の経費や手数料を差し引いた後の金額を分配することとしてもよい。特定の方法で売上金を分配できる方法が記載されていればよい。
参照先配分率709は、他のソースコードを参照している場合に、その参照先のソースコードの販売者に対しても売り上げの一部を分配するための配分率を規定する。例えばソースコードのうちの30%を他のソースコードから流用している場合には、売り上げの30%を他のソースコードの販売者に配分する。
更新日時710は、情報が更新された日時を記憶する。
図8は、類似度判定フロー800の例である。
類否判定部16は、ソースコードデータ12から取得したソースコードのプログラム言語を判別する(810)。書誌情報(書誌事項)14dの言語14d2に基づいて判別してもよいし、ソースコードの構文を解析することにより判別してもよい。
類否判定部16は、判別したプログラム言語と同一のプログラム言語により記述された他のソースコードをソースコードデータ12から取得する(820)。なお、あらかじめ書誌情報に登録されているソースコードのカテゴリに従い、新規のソースコードと同一又は関連するカテゴリの中のみを検索することで検索効率を上げてもよい。
類否判定部16は、それらの類似度を文字列の差分検出アルゴリズムにより算出し(830)、これを出力・表示する(840)。
差分検出アルゴリズムとしては、レーベンシュタイン距離を用いて文字列間の距離を判別する方法や、Myers差分アルゴリズム(Myers Diff algorithm)を用いる方法などがある。
図9は、参照先配分率決定フロー900の例である。
商品登録部11は、新規ソースコードの登録を受け付ける(910)。
類否判定部16は、新規ソースコードが過去にソースコードデータ12に記憶されているソースコードと類似しているかどうか類似度を算出する(920)。
類否判定部16は、類似している他のソースコードが存在する場合には、新規ソースコードにしめる他のソースコードに類似している部分の割合(類似部分の割合)を参照先配分率とする。例えば、新規ソースコードのうちの30%が他のソースコードに類似している場合には、30%を参照先配分率とする(940)。
次に、類否判定部16は新規ソースコードの中に、類似していると判断された他のソースコードへの参照が記載されているかどうかを判別する(950)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(960)。
類似判定930において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(970)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(980)。
なお、参照記載へのインセンティブとして、配分率を調整することとしたが、このステップ950、960は設けない構成としてもよい。
また、インセンティブのつけ方として、参照先の配分率を下げ、新規ソースコードの配分率を上げる構成としたが、その代わりに、もしくはそれと並行して、売り上げに対する売上配分率708を上げることによりインセンティブをつける、という構成にしてもよい。
図10は、機能ブロックを用いた参照先配分率決定フロー1000の例である。
商品登録部11は、新規ソースコードの登録を受け付ける(1010)。
類否判定部16は、新規ソースコードを機能ブロックごとに分解する(1020)。ソースコードは通常いくつかの機能ごとに仕様が分かれている。例えばECサイトのソースコードであれば、顧客管理機能、決済機能、商品管理機能、販売インタフェース生成機能、受発注管理機能などである。ゲームのソースコードであれば、ログイン管理機能、ユーザ入力処理機能、画面生成機能、出力管理機能、3Dモデル処理機能などである。
それぞれのソースコードのカテゴリごとに、ソースコードの内容は異なっていても、機能としては同様のものを持っていることが多い。例えばECサイトであれば、デザインや商品の管理方法などは異なっていても、どのECサイトのソースコードであっても大抵は上記の各種機能を持ち合わせている。
ソースコードのカテゴリ(ジャンル)は、大分類として、管理系、Web系、バッチ処理系、組み込み系、音声映像処理系、データ処理系、ゲーム系等に分けることができ、それぞれの大分類は中で中分類や小分類に分けることができる。例えばWeb系の中の中分類としては、Webサイト構築ソフト、CSSデザイン、HTMLデザイン、JavaScript(登録商標)処理、ECサイトなどに分類することができる。これらの情報は書誌情報に登録されている。
類否判定部16は、書誌情報に基づき同一または関連するカテゴリごとにあらかじめ登録されている一般的な機能ブロックの構造の情報に基づいて、新規ソースコードを解析し機能ブロックごとにソースコードを分解する。ソースコードの中に記載されているコメント欄に記載された説明を検索・解析したり、よく使われる関数やモジュールを検索・解析したりすることで、ソースコードの機能の区切り部分を特定し、機能ブロックを分解することができる。
なお、登録のたびに人手によって機能の区切り部分を特定して機能ブロックを特定する構成としてもよい。
分解された各機能ブロックには、それぞれ重要度及びこれに基づく重み係数が設定されている。例えばECサイトであれば商品管理機能や決済機能の重要度が「高」、顧客管理機能や販売インタフェースの生成機能の重要度は「中」等と設定されている。
類否判定部16は、分解された機能ブロックごとに過去にソースコードデータ12に記憶されているソースコードと類似しているか類似度を算出する(1030)。
類否判定部16は、類似している他のソースコードが存在する場合には、機能ブロックごとに新規ソースコードにしめる他のソースコードに類似している部分の割合(類似部分の割合)を求め、これに各機能ブロックの重み係数を乗算し、すべてを合計することで参照先配分率を決定する(1050)。
例えば、あるソースコードがA、B、Cの3つの機能ブロックからなり、それぞれのソースコード中の重要度に基づく重み係数が20%、50%、30%だとする。A、B、Cがコピーしている他のソースコードの割合がそれぞれ、70%、20%、80%だとする。この場合A、B、Cの他のソースコードに対する依拠する度合いはそれぞれの数値を乗算し、14%、10%、24%となる。
結果、このソースコードがトータルで他のソースコードに依拠する度合いは、これらの合計の48%となり、この数値を参照先配分率とする。
次に、類否判定部16は新規ソースコードの中に、類似していると判断された他のソースコードへの参照が記載されているかどうかを判別する(1060)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(1070)。
類似判定1040において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(1080)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(1090)。
売買仲介部13は、購入者端末22からの注文を受け、ソースコードを販売した場合には、販売価格に対し価格データ18の売上配分率708を乗算することで、売上分配利益を算出する。その後売買仲介部13は、この売上分配利益を参照先配分率709に基づいて、売れたソースコードの販売者端末21と参照先のソースコードの販売者端末21との間で分配する。
本実施例では、このようにしてソースコードの類似度を用いて、参照先のソースコードにも売り上げを分配することができ、ソースコード販売者のインセンティブを高めることができる。
本実施例では、ソースコードの販売価格を決定・調整する方法を説明する。
図11は、価格決定フロー1100の例である。
価格決定部15は、販売者端末21が入力した希望価格703を価格データ18から取得する(1110)。
価格決定部15は、価格決定データ14に記載された情報に基づいて、ソースコードの予想価格(予想販売価格)を算出する(1120)。
希望価格から予想価格が50%以上ずれている場合には(1130)予想価格と希望価格の中間の値を最終価格とする(1140)。50%以上のずれが無い場合には、希望価格を最終価格とする(1150)。
例えば、希望価格が1000円で予想価格が2000円であった場合には、最終価格は中間の1500円となる。なお、予想価格と希望価格の中間の値ではなく、希望価格から予想価格と希望価格の差分の25%の位置にしたり(先の例であれば最終価格1250円)、予想価格を最終価格としてもよい(最終価格2000円)。いずれにしても、希望価格より予想価格が高い場合には、希望価格より高い額の最終価格が設定される。
なお、逆に希望価格よりも予想価格が低い場合には、同様に希望価格よりも低い額の最終価格を設定してもよいし、販売者端末21の意向を尊重し、最終価格を希望価格として値段は下げない、という構成としてもよい。
価格を下げる場合には、例えば希望価格が1000円で予想価格が600円であった場合には、最終価格は中間の800円となる。なお、予想価格と希望価格の中間の値ではなく、希望価格から予想価格と希望価格の差分の25%の位置にしたり(先の例であれば最終価格900円)、予想価格を最終価格としてもよい(最終価格600円)。
また、現構成では、微修正が多数発生しないように、希望価格から予想価格が50%以上ずれているときにのみ価格調整を行うフローだが、1130を設けず、少しでもずれていたら価格調整を行うという構成としてもよい。
この予想価格算出処理1120は比較的短期間(例えば一日1回)繰り返し算出され、最終価格が調整される。2回目以降の算出では、希望価格の代わりに、現在の最終価格が使用され、最終価格が順次更新されることとなる。
なお、ある期間内において外部サービスサーバにて公開された特定の言語の商品(ソースコード)の量が多い場合に、ソースコードの予想価格算出処理を実施することとしてもよい。
例えば、外部情報取得部31が、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムの特定のソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された(更新された)商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、予想価格算出処理を実行する。
例えばこの場合に、自システムのそのプログラミング言語に関連するすべての商品の予想価格算出を行う構成としてもよい。
この最終価格に対し、価格調整部32が月に一度、外部情報に基づく価格調整を実行する(1160、1170)。なお、月に一度外部情報の取得を行ってもよいが、外部情報の取得は一日一度などより頻度高く実施しておいて、外部情報に基づく情報を逐次価格決定データ14に記憶しておき、そのデータに基づいて月に一度価格調整を実行するという構成にしてもよい。
その結果修正された最終価格を、価格データ18の最終価格705に記憶する(1180)。
図12は、予想価格算出フロー1200の例である。
商品登録部11は、新規ソースコードの登録を受け付ける(1210)。
価格決定部15は、ソースコードを処理できる形に整形し(1220)、マルチクラス分類器によるソースコードの分類を実行し、ソースコードを分類する(1230)。
価格決定部15は、分類されたソースコードに対して機械学習による回帰分析を行うことで、ソースコードに対する予想価格を算出する(1240)。例えば、回帰分析の方法として勾配ブースティング回帰分析が用いられるが、これに限定されるものではなく他の価格算出アルゴリズムを用いてもよい。
価格決定部15は、算出された予想価格に価格ポリシーを適用し(1250)、ポリシーに従った適切な価格になっているかどうかを確認する。
価格決定部15は、算出された予想価格を価格データ18に記憶する(1260)。
図13は、分類器によるソースコードの分類フロー1300の例である。
価格決定部15は、トレーニングデータを取得(1310)。
価格決定部15は、ソースコードのプログラム言語とカテゴリ(機能)などの書誌情報に基づいてクラス分けを行い、重複を排除することで、ソースコードの分類を行う(1320)。
価格決定部15は、さらに分類されたソースコードに対応するプロダクト情報のプロダクト詳細に記載されたソースコードの詳細に対して、分類を実施し、関連用語を取得する(1330)。分類の方法としては例えば、Bag-of-words分類が利用できる。
価格決定部15は、関連用語を用いてテキスト分類を実施する(1340)。分類としては例えば単純ベイズ分類が利用できる。例えば1310で取得したトレーニングデータと1330で取得した関連用語とに基づいて、データをトレーニングし、分類モデルを適用することで単純ベイズ分類を実行する。
価格決定部15は、ベイズスコア等のテキスト分類スコアを出力する(1350)。
価格決定部15は、得られたテキスト分類スコアに基づいて、ソースコードの分類を実施する。
図14は、外部情報による価格調整フロー1400の例である。
図11で説明したように、価格決定部15はソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、毎日1度など比較的短い頻度でソースコードの販売価格を算出する。一方価格調整部32は、毎月1度など価格調整部32の価格決定期間よりは長い頻度で価格決定部15の決めた販売価格を外部サービスサーバ23から取得された情報に基づいて調整する。
このようにして順次変動される(ダイナミックプライシング:Dynamic Pricing)変動価格(ダイナミックプライス:Dynamic Price)は売買仲介部13により表示される。
価格調整部32は、ソースコード提供サイトの販売価格に基づく調整に基づく価格の調整を実施する(1410)。
外部情報取得部31が、ソースコード提供サイトの製品情報から、ソースコードを特定する情報及びこのソースコードの販売価格(ソースコード提供サイト価格)を取得する。例えば、ソースコード提供サイトの新製品発表のページにアクセスし、ここに順次掲載されるソースコードの詳細情報や販売価格情報をスクレイピングすることによって、それぞれのソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)を取得し、整形した後に、価格決定データ14の中に順次格納していく。
価格調整部32は、ソースコード提供サイトに掲載されていたソースコードを特定する情報に対応する自システムが持つソースコードの情報を取得し、この販売価格をソースコード提供サイト価格に基づいて調整する。
価格調整部32は、ソースコード提供サイト価格の方が現在の自システムの販売価格よりも高い場合には、自システムのソースコードの販売価格を高くする。例えば、ソースコード提供サイト価格と同価格に設定する。又はソースコード提供サイト価格と現在の販売価格との中間の価格に設定する。
例えば、ソースコード提供サイトに掲載されているAというソースコードのソースコード提供サイト価格が2000円で、ソースコード売買システム1の現在のAに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
なお、ソースコード提供サイト価格と現在の販売価格の中間の値ではなく、現在の販売価格からソースコード提供サイト価格と現在の販売価格との間の差分の25%の位置にしたり(先の例であれば最終販売価格1250円)、ソースコード提供サイト価格を販売価格としてもよい(最終販売価格2000円)。
なお、逆に現在の価格よりもソースコード提供サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えばソースコード提供サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、ソースコード提供サイト価格と現在の販売価格の中間の値ではなく、ソースコード提供サイト価格からソースコード提供サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、ソースコード提供サイト価格を最終販売価格としてもよい(最終販売価格600円)。
なお、価格差がある場合にすぐに価格調整を行うのではなく、ある期間内において外部サービスサーバにて公開された特定の言語の商品(ソースコード)の量が多い場合に、そのソースコードの価格調整を実施することとしてもよい。
例えば、外部情報取得部31は、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムのソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、価格調整を実施する。
この場合に、この同じプログラミング言語の全商品の情報を取得し、分類及び価格算出の処理に利用してもよい。
次に価格調整部32は、検索サイトにおける検索に基づく調整に基づく価格の調整を実施する(1420)。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。外部情報取得部31は、検索サイトから、記憶されているソースコードに対応するソースコードに関する情報を検索用語に基づいて検索する。例えば、ソースコードのカテゴリやタグや詳細情報などに記載されるような情報が検索用語として記憶されている。
検索により、対応するソースコードを特定する情報及びこのソースコードの価格情報(検索サイト価格)を取得する。
前記価格調整部32は、このソースコードを特定する情報に対応する自システムのソースコードの販売価格を、検索サイト価格に基づいて調整する。
例えば、価格調整部32は、検索サイト価格の方が現在の販売価格よりも高い場合には、販売価格を高くする。例えば、販売価格を検索サイト価格と同価格に設定する。又は検索サイト価格と現在の販売価格との中間の価格に設定する。
例えば、検索により見つかったBというソースコードの検索サイト価格が2000円で、ソースコード売買システム1の現在のBに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
なお、検索サイト価格と現在の販売価格の中間の値ではなく、現在の販売価格から検索サイト価格と現在の販売価格との間の差分の25%の位置にしたり(先の例であれば最終販売価格1250円)、検索サイト価格を販売価格としてもよい(最終販売価格2000円)。
なお、逆に現在の価格よりも検索サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えば検索サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、検索サイト価格と現在の販売価格の中間の値ではなく、検索サイト価格から検索サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、検索サイト価格を最終販売価格としてもよい(最終販売価格600円)。
価格調整部32は、ニュースサイトの情報に基づく価格の調整を実施する(1430)。詳細は図15で説明する。
なお、ソースコード提供サイトの販売価格に基づく調整(1420)、検索サイトにおける検索に基づく調整(1430)、ニュースサイトの情報に基づく調整(1430)は、すべてを実施せず、このうちのいずれかを実施する構成としてもよい。また、それぞれの実施頻度やタイミングは別々であってもよい。
また、これらは1つの外部情報の取得に応じてすぐに価格を調整するのではなく、複数の外部情報を例えば1月分蓄積し、これらの情報を解析したうえで統合化や平均化等したうえで1月に1度実行すればよい。
図15は、ニュースサイトの情報に基づく価格調整フロー1500の例である。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。
外部情報取得部31は、ニュースを配信するニュースサイトにアクセスし(1510)、ニュースサイトから、記憶されているソースコードに対応するソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)及び関連する記事情報を取得する(1520、1530)。
例えば、ニュースサイトにアクセスし、所定の期間(例えば過去1ヵ月)の記事のタイトルと内容を取得し、この中から検索用語にヒットするものを抽出することでソースコードに対応する記事情報を取得する。他には、例えばソースコードの製造会社や販売会社の株価情報を取得することもできる。
外部情報取得部31は、取得した記事情報の内容が肯定的か中立か否定的かを評価する(1540)。なお、この処理は価格調整部32が実行してもよい。
価格調整部32は、ニュースサイトに掲載されていたソースコードを特定する情報に対応する自システムのソースコードの現在の販売価格を、記事情報の内容の評価に基づいて調整する(1550)。
例えば、記事情報の内容の評価が肯定的である場合に販売価格を上げる。記事情報の内容が否定的である場合には販売価格を下げてもよいし、販売者の意向を尊重し現状価格を維持してもよい。
価格決定データ14は、肯定的な内容を示す複数の記事用語(肯定的な記事用語)や、否定的な内容を示す複数の記事用語(否定的な記事用語)を記憶しており、外部情報取得部31は、ニュースサイトから取得した記事情報に対して、肯定的な内容を示す記事用語が含まれているか、どれくらいの数含まれているかを解析し、記事情報の内容が肯定的かどうかを評価する。
例えば、外部情報取得部31は、記事情報に含まれる肯定的な記事用語の数が所定の数や割合(例えば1000語当たり10個以上や1%)以上ある場合や、又は記事情報に含まれる肯定的な記事用語の数が否定的な内容を示す記事用語の数よりも多い場合に、記事情報の内容が肯定的であると評価する。
また、例えば記事情報が株価に関するものであれば、ソースコードの製造会社又は販売会社の株価が上昇している場合には肯定的な内容であると評価したり、株価が上昇する可能性が高いと投資家や金融機関等が評価している場合に肯定的な内容であると評価する。
価格調整部32は、調査対象として価格決定データ14に記憶されているすべてのニュースサイトに対して検索調査が終了した場合に処理を終了する(1560)。
図16は、外部情報による価格調整の実行頻度変更フロー1600の例である。
価格決定部15はソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、毎日1度など比較的短い頻度でソースコードの販売価格を算出する。一方価格調整部32は、毎月1度など価格調整部32の価格決定期間よりは長い頻度で価格決定部15の決めた販売価格を外部サービスサーバ23から取得された情報に基づいて調整する。
これは、外部サーバから取得する外部情報が常に発生するわけではなく断片的であり、ある程度蓄積してから価格調整を行った方が価格の変動が安定するという理由と、外部情報の解析処理は計算機資源を消費する重い処理であり、高頻度で実施すると負荷が高いという理由によるものである。
しかしながら、特定のイベントが発生する場合には外部情報による価格調整をもっと高頻度で実施したほうが適切にソースコードの価格を反映できる場合がある。
外部情報取得部31は、ソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等の外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する(1610)。
外部情報取得部31は、これらの外部情報からソースコードを特定する(1620)。
特定したソースコードに対する外部情報の新規掲載頻度が高頻度でない(例えば一日5回未満)の場合(1630)、外部情報による価格調整の実行頻度を現在の月一回のままとする(1650)。一方、外部情報の新規掲載頻度が高頻度(例えば一日5回以上)の場合(1630)、特定したソースコードに対する外部情報による価格調整の実行頻度を高くする(例えば週1回に上げる)(1640)。
このような構成にすることで、通常は計算機の価格調整負荷を月一程度におさえつつ、特定のソースコードに関する世の中の関心が上がってきた場合には、より高い頻度で価格を調整し、より世の中のニーズに近い販売価格を提示することができる。
他の方法としては、ある期間内において特定のソースコードの商品の量が多い場合に、そのソースコードの価格調整頻度を上げることが考えられる。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じプログラミング言語の商品の全数における特定したソースコードに関する外部情報の数が、所定の値(例えば5%)を超えている場合に、価格調整の実行頻度を高くする、または、価格調整を実行する。
他の方法としては、ある期間内において特定のソースコードの価格の更新頻度(変動)が多い場合に、そのソースコードの価格調整頻度を上げることが考えられる。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じまたは関連する外部サービスサーバのソースコードの価格の更新頻度(変動)が所定の値(例えば週に1回)を超えている場合に、価格調整の実行頻度を高くする。
図17は、Web画面1700の例である。
売買仲介部13は、購入者端末22に対してソースコードを販売するためのWeb画面1700を表示する。Web画面1700は、ソースコードのタイトル1710と、詳細情報1740と、プログラム言語や作成者、カテゴリやタブなどの書誌情報1720と、価格表示1730と、購入のためのカート追加ボタン1750とを有する。
図11の価格決定フローに基づき毎日1度かそれ以上の頻度で価格の見直しが行われ、価格表示1730の価格が更新される。また月の最初に外部情報による価格調整が実施され、外部情報の内容や量に応じて、価格表示1730の価格が更新される。
図18は、スマートフォン画面1800の例である。
スマートフォン画面1800は、ソースコードのタイトル1810と、書誌情報1820と、価格表示1830を有する。タイトル等をタップすることで、ソースコードの詳細情報を表示する画面に遷移する。
スマートフォン画面においても毎日1度かそれ以上の頻度で価格の見直しが行われ、価格表示1830の価格が更新される。また月の最初に外部情報による価格調整が実施され、外部上の内容や量に応じて、価格表示1830の価格が更新される。
なお、ソースコードが他のソースコードを一部使用している場合には、参照先コード707や参照先配分率709(又は参照先コードの使用率)を図17や図18に表示してもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
なお、上述の実施例は少なくとも以下に記載の構成を開示している。
(1)
ソフトウェアのソースコードを売買するためのソースコード売買システムであって、
ソースコードを記憶する記憶手段と、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、
前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、
前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、
算出された前記第2の販売価格を表示する売買仲介手段と、
を有する
ことを特徴とするソースコード売買システム。
(2)
(1)に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第2のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
(3)
(2)に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
(4)
(2)に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記ソースコード提供サイト価格と同価格、又は前記ソースコード提供サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。
(5)
(2)〜(4)のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段に記憶されている特定のプログラミング言語のソースコードの数に対する、外部情報取得手段がソースコード提供サイトから取得した前記特定のプログラミング言語に関する更新されたソースコードの数が所定の割合を超えていた場合に、前記第1の販売価格の調整による前記第2の販売価格の算出を実行する
ことを特徴とするソースコード売買システム。
(6)
(1)〜(5)のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つである検索サイトから、前記複数の検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
(7)
(6)に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
(8)
(6)に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記検索サイト価格と同価格、又は前記検索サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。
(9)
(1)〜(8)のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の複数の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記価格調整手段は、前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。
(10)
(9)に記載のソースコード売買システムであって、
前記記事情報の内容の評価が肯定的である場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。
(11)
(9)又は(10)に記載のソースコード売買システムであって、
前記記憶手段は、肯定的な内容を示す複数の記事用語を記憶しており、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語に基づいて前記記事情報の内容が肯定的であることを評価する
ことを特徴とするソースコード売買システム。
(12)
(11)に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語の数が、前記記事情報に含まれる否定的な内容を示す複数の記事用語の数よりも多い場合に、前記記事情報の内容が肯定的であると評価する
ことを特徴とするソースコード売買システム。
(13)
(9)〜(12)のいずれか1項に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記第4のソースコードを特定する情報に関する前記記事情報の配信頻度が所定の値を超えている場合に、前記価格調整手段による前記第2の販売価格の算出の頻度を高める
ことを特徴とするソースコード売買システム。
(14)
(1)〜(13)のいずれか1項に記載のソースコード売買システムであって、
ソースコードの類似度を判定する類否判定手段を有し、
前記類否判定手段は、前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記価格決定手段は、前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。
(15)
(14)に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードを複数の機能ブロックに分割し、それぞれの機能ブロックごとに前記記憶手段に記憶されているソースコードとの類似度を判定する
ことを特徴とするソースコード売買システム。
(16)
(15)に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードの前記機能ブロックごとの重要度を算出し、
前記価格決定手段は、前記機能ブロックごとの類似度と前記機能ブロックごとの重要度とに基づいて、前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。
(17)
(14)〜(16)のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコード売買システム。
(18)
(1)〜(17)のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコード売買システム。
(19)
(18)に記載のソースコード売買システムであって、
前記マルチクラス分類器は、単純ベイズ分類器又はBag−of−words分類器の少なくとも一つである
ことを特徴とするソースコード売買システム。
(20)
(18)又は(19)に記載のソースコード売買システムであって、
前記回帰分析は、勾配ブースティング回帰分析である
ことを特徴とするソースコード売買システム。
(21)
ソースコード売買システムにおけるソフトウェアのソースコードの販売方法であって
販売するソースコードを記憶し、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出し、
前記第1の販売価格を、前記ソースコード売買システムの外部にある前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出し、
算出された前記第2の販売価格を表示する
ことを特徴とするソースコードの販売方法。
(22)
(21)に記載のソースコードの販売方法であって、
前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記第2のソースコードを特定する情報に対応する記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
(23)
(21)又は(22)に記載のソースコードの販売方法であって、
記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部サービスサーバの一つである検索サイトから、前記検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
(24)
(21)〜(23)のいずれか1項に記載のソースコード販売方法であって、
記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。
(25)
(21)〜(24)のいずれか1項に記載のソースコード販売方法であって、
前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコードの販売方法。
(26)
(25)に記載のソースコード販売方法であって、
前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコードの販売方法。
(27)
(21)〜(26)のいずれか1項に記載のソースコード販売方法であって、
前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコードの販売方法。
1…ソースコード売買システム、11…商品登録部、12…ソースコードデータ、13…売買仲介部、14…価格決定データ、15…価格決定部、16…類否判定部、17…ソースコード要望提示部、21…販売者端末、22…購入者端末、23…外部サービスサーバ、31…外部情報取得部、32…価格調整部


Claims (11)

  1. ソフトウェアのソースコードを売買するためのソースコード売買システムであって、
    前記ソースコードに対応する複数の検索用語を記憶する記憶手段と、
    前記ソースコードの内容、売買情報又は書誌情報の少なくともつに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、
    前記ソースコード売買システムの外部にあるニュースを配信するニュースサイトから前記検索用語に基づいて検索された第2のソースコードを特定する情報と記事情報とを取得する外部情報取得手段と、
    前記第2のソースコードを特定する情報に対応する前記ソースコードの前記第1の販売価格を、前記ニュースサイトから取得した前記記事情報の内容が肯定的かどうかの評価に基づいて調整することにより、第2の販売価格を算出する価格調整手段と、
    算出された前記第2の販売価格を表示する売買仲介手段と、
    を有する
    ことを特徴とするソースコード売買システム。
  2. 請求項1に記載のソースコード売買システムであって、
    前記記事情報の内容の評価が肯定的である場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
    ことを特徴とするソースコード売買システム。
  3. 請求項1又は2に記載のソースコード売買システムであって、
    前記記憶手段は、複数の肯定的な内容を示記事用語を記憶しており、
    前記外部情報取得手段は、前記記事情報に含まれる前記肯定的な内容を示す記事用語に基づいて前記記事情報の内容が肯定的であることを評価する
    ことを特徴とするソースコード売買システム。
  4. 請求項3に記載のソースコード売買システムであって、
    前記外部情報取得手段は、前記記事情報に含まれる前記肯定的な内容を示す記事用語の数が、前記記事情報に含まれる否定的な内容を示記事用語の数よりも多い場合に、前記記事情報の内容が肯定的であると評価する
    ことを特徴とするソースコード売買システム。
  5. 請求項1〜4のいずれか1項に記載のソースコード売買システムであって、
    前記外部情報取得手段は、前記第2のソースコードを特定する情報に関する前記記事情報の配信頻度が所定の値を超えている場合に、前記価格調整手段による前記第2の販売価格の算出の頻度を高める
    ことを特徴とするソースコード売買システム。
  6. ソースコード売買システムにおけるソフトウェアのソースコードの販売方法であって
    前記ソースコードに対応する数の検索用語を記憶しており、
    前記ソースコードの内容、売買情報又は書誌情報の少なくともつに基づいて、前記ソースコードの第1の販売価格を算出し、
    前記ソースコード売買システムの外部にあるニュースを配信するニュースサイトから、前記検索用語に基づいて検索された第2のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
    前記第2のソースコードを特定する情報に対応する前記ソースコードの前記第1の販売価格を、前記ニュースサイトから取得した前記記事情報の内容が肯定的かどうかの評価に基づいて調整することにより、第2の販売価格を算出し、
    算出された前記第2の販売価格を表示する
    ことを特徴とするソースコードの販売方法。
  7. 請求項6に記載のソースコードの販売方法であって、
    前記記事情報の内容の評価が肯定的である場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
    ことを特徴とするソースコードの販売方法。
  8. 請求項6又は7に記載のソースコードの販売方法であって、
    複数の肯定的な内容を示記事用語を記憶しており、
    前記記事情報に含まれる前記肯定的な内容を示す記事用語に基づいて前記記事情報の内容が肯定的であることを評価する
    ことを特徴とするソースコードの販売方法。
  9. 請求項8に記載のソースコードの販売方法であって、
    前記記事情報に含まれる前記肯定的な内容を示す記事用語の数が、前記記事情報に含まれる否定的な内容を示記事用語の数よりも多い場合に、前記記事情報の内容が肯定的であると評価する
    ことを特徴とするソースコードの販売方法。
  10. 請求項6〜9のいずれか1項に記載のソースコードの販売方法であって、
    前記第2のソースコードを特定する情報に関する前記記事情報の配信頻度が所定の値を超えている場合に、前記第2の販売価格の算出の頻度を高める
    ことを特徴とするソースコードの販売方法。
  11. ソフトウェアのソースコード販売するソースコード売買システムに、請求項6〜10のいずれか1項に記載のソースコードの販売方法の各ステップを実現させるプログラム。
JP2018230575A 2018-12-10 2018-12-10 Aiを使用したソースコード売買システム Active JP6892053B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018230575A JP6892053B2 (ja) 2018-12-10 2018-12-10 Aiを使用したソースコード売買システム
PCT/JP2019/048045 WO2020122003A1 (ja) 2018-12-10 2019-12-09 Aiを使用したソースコード売買システム
JP2020124859A JP6971501B2 (ja) 2018-12-10 2020-07-22 Aiを使用したソースコード売買システム
US17/340,673 US20210342870A1 (en) 2018-12-10 2021-06-07 Source code trading system using ai

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018230575A JP6892053B2 (ja) 2018-12-10 2018-12-10 Aiを使用したソースコード売買システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020124859A Division JP6971501B2 (ja) 2018-12-10 2020-07-22 Aiを使用したソースコード売買システム

Publications (3)

Publication Number Publication Date
JP2020095305A JP2020095305A (ja) 2020-06-18
JP2020095305A5 JP2020095305A5 (ja) 2020-09-10
JP6892053B2 true JP6892053B2 (ja) 2021-06-18

Family

ID=71076439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018230575A Active JP6892053B2 (ja) 2018-12-10 2018-12-10 Aiを使用したソースコード売買システム

Country Status (3)

Country Link
US (1) US20210342870A1 (ja)
JP (1) JP6892053B2 (ja)
WO (1) WO2020122003A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023017234A (ja) * 2021-07-26 2023-02-07 トヨタ自動車株式会社 ソフトウェア管理システム、方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189866A (ja) * 2000-12-20 2002-07-05 Ricoh Co Ltd ソフトウェア部品売買システム、ソフトウェア部品売買方法およびソフトウェア部品売買プログラムが記憶された記憶媒体
US7979323B2 (en) * 2007-01-08 2011-07-12 Retail Insight, Llc Exchanging retail pricing information
JP5380203B2 (ja) * 2009-08-20 2014-01-08 ニフティ株式会社 価格推定装置、方法及びプログラム
JP5791121B2 (ja) * 2013-03-08 2015-10-07 Necソリューションイノベータ株式会社 コスト算出装置、コスト算出方法、及びプログラム
JP6802045B2 (ja) * 2016-11-18 2020-12-16 株式会社Nttぷらら 販売価格決定システム及び販売価格決定方法
US20180315141A1 (en) * 2017-04-26 2018-11-01 Clause, Inc. System and method for business intelligence through data-driven contract analysis

Also Published As

Publication number Publication date
WO2020122003A1 (ja) 2020-06-18
JP2020095305A (ja) 2020-06-18
US20210342870A1 (en) 2021-11-04

Similar Documents

Publication Publication Date Title
US20120197750A1 (en) Methods, systems and devices for recommending products and services
US20090076899A1 (en) Method for analyzing, searching for, and trading targeted advertisement spaces
CA2923600A1 (en) Review sentiment analysis
US10614516B2 (en) Method and system for auction information management
KR102225729B1 (ko) 복수 온라인 쇼핑몰 상품 등록을 위한 상품정보 가공 장치 및 방법
US20140075350A1 (en) Visualization and integration with analytics of business objects
JP2017016485A (ja) 算出装置、算出方法及び算出プログラム
US20120029965A1 (en) Selecting a project portfolio
US11341558B2 (en) Systems and methods for recommending a product based on an image of a scene
KR102453535B1 (ko) 온라인 쇼핑 플랫폼을 제공하는 방법 및 장치
JP2023159414A (ja) Aiを使用したソースコード売買システム
JP6892053B2 (ja) Aiを使用したソースコード売買システム
US20210090105A1 (en) Technology opportunity mapping
US20220036376A1 (en) Methods and systems for suggesting alternative phrases for text-based web content
CA2909957A1 (en) Large-scale customer-product relationship mapping and contact scheduling
CN109840788A (zh) 用于分析用户行为数据的方法及装置
US20230139339A1 (en) Method and system for adaptive product categorization
US11379929B2 (en) Advice engine
JP6602820B2 (ja) ソースコード売買システム
JP6699084B2 (ja) 情報処理装置、制御方法及びプログラム
US20230080396A1 (en) Systems and methods for providing trait-focused recommendations of computer applications
US20230410187A1 (en) Systems and methods for dynamically controlling display of search results
JP6327950B2 (ja) 予測値演算装置、予測値演算方法および予測値演算プログラム
US20230078260A1 (en) Systems and methods for providing recommendations of computer applications based on similarity
US20230259692A1 (en) Systems and methods for computer generation of a modifiable product description

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200722

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200722

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200909

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201231

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210413

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210512

R150 Certificate of patent or registration of utility model

Ref document number: 6892053

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250