WO2020122003A1 - Aiを使用したソースコード売買システム - Google Patents
Aiを使用したソースコード売買システム Download PDFInfo
- Publication number
- WO2020122003A1 WO2020122003A1 PCT/JP2019/048045 JP2019048045W WO2020122003A1 WO 2020122003 A1 WO2020122003 A1 WO 2020122003A1 JP 2019048045 W JP2019048045 W JP 2019048045W WO 2020122003 A1 WO2020122003 A1 WO 2020122003A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- source code
- price
- information
- trading system
- selling
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0206—Price or cost determination based on market factors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
Definitions
- the present invention relates to a source code trading system that mediates the trading of source codes of computer programs.
- a trading system that mediates the trading of various products is known. Many trading systems have the function of adjusting prices between sellers and buyers. In price adjustment, it is possible to derive an appropriate price based on the supply and demand relationship between the desired sales quantity and the desired purchase quantity.
- the desired sales quantity is often undefined. This is because there is no limitation on the sales quantity due to the production capacity, because the product can be produced by copying it without producing it. If the desired sales quantity is infinite (or a sufficiently large quantity), the price derived from the supply and demand relationship will be smaller than the value of the product.
- Patent Document 1 discloses a price determination system that determines the price of the purchase target data based on the actually generated selling price. The price is determined based on the judgment of the purchaser (demand side), and the price can reflect the value of data as a product.
- Patent Document 1 The method disclosed in Patent Document 1 can be used even when the product is the source code of a computer program (hereinafter, simply referred to as “source code”). However, since the internal elements of the source code product itself and external elements such as external services are not understood, the price cannot sufficiently reflect the value of the source code as a product.
- the present application includes a plurality of means for solving the above problems.
- a source code trading system for trading source code of software the storage means storing the source code, and the source Price determining means for calculating the first selling price of the source code based on at least one of the content of the code, the trading information or the bibliographic information, and the information is acquired from an external service server outside the source code trading system.
- External information acquisition means for adjusting the first sales price based on information acquired from the external service server, and price adjustment means for calculating a second sales price, and the calculated second sales And a trading mediation means for displaying a price.
- FIG. 1 is a configuration example of an entire system 400 including a source code trading system 1. It is an example of a hardware configuration of the source code trading system 1. It is an example of a connection relationship of the entire system 400 including the source code trading system 1. It is a structural example of price data 18. It is an example of a similarity determination flow 800. 9 is an example of a reference destination allocation rate determination flow 900. It is an example of a reference destination allocation rate determination flow 1000 using a functional block. It is an example of a price determination flow 1100.
- 3 is an example of a source code classification flow 1300 by a classifier. It is an example of a price adjustment flow 1400 based on external information. It is an example of a price adjustment flow 1500 based on news site information. It is an example of a flow 1600 of changing the execution frequency of price adjustment by external information. It is an example of a Web screen 1700. It is an example of a smartphone screen 1800.
- FIG. 1 is a diagram showing the configuration of a source code trading system.
- the source code trading system 1 is connected to one or more seller terminals 21 and purchaser terminals 22 via a network.
- the source code trading system 1 downloads and sells the source code data 12 registered from the seller terminal 21 via the commodity registration unit 11 to the user of the purchaser terminal 22 via the trade brokerage unit 13. Note that the sales format does not have to be download sales.
- the source code trading system 1 includes a product registration unit 11, a trading agent unit 13, a price determination unit 15, a similarity determination unit 16, and a source code request presentation unit 17, and holds source code data 12 and price determination data 14. There is.
- the product registration unit 11 receives, from the seller terminal 21, information related to the source code desired to be sold.
- the source code desired to be sold is uploaded and stored as the source code data 12, and the bibliographic matter 14d described later is received to update the price determination data 14.
- the source code data 12 is the source code to be sold.
- the trading agency 13 displays information including the source code and price to be sold on the purchaser terminal 22, accepts the purchase application from the purchaser terminal, and downloads the source code.
- the price determination data 14 is updated for the sales record 14b described later.
- the trading agency 13 also has a link to a home page that displays the details of each source code. When the details are displayed by the link, the price determination data 14 is updated for the attention degree 14c described later.
- the price determination data 14 is data for determining the price of each source code. Details will be described later.
- the price determination unit 15 determines and holds the price of each source code based on the price determination data 14. The held price is used by the trading agency 13.
- the similarity determination unit 16 calculates a similarity between two source codes so that it can be inferred that one is created using the other, and if the similarity is sufficiently large, it is similar (one is the other.
- the price determination data 14 is updated with respect to similarity information 14e described later.
- any method may be used to calculate the degree of similarity.
- the source code may be divided into line units to obtain the ratio of lines having the same contents, the degree of matching of variable names in the source code, and other methods may be used. In the present invention, it is sufficient to be able to judge whether or not they are similar.
- the source code request presentation unit 17 receives a request for source code creation (functions of source code desired to be created, etc.) from the purchaser terminal 22 and displays a list of the received requests in the purchaser terminal 22 (the purchaser terminals 22 Yes, including the purchaser terminal 22 other than the purchaser terminal 22 that has input the request to create the source code). For display, provide a means (for example, a "like" button) to vote that you also want to create the source code. When the vote is made, the price determination data 14 is updated for the degree of attention 14c described later.
- the source code request presentation unit 17 also displays the list of accepted requests on the seller terminal 21 (provided that the same terminal is sold if the source code trading system 1 is operated as an Internet home page). Since it can be the buyer terminal 21 or the buyer terminal 22, no special mechanism for displaying on the seller terminal 21 is required). At that time, the number of votes will also be displayed.
- the seller can obtain information related to the source code that is often requested to be created, and can perform development.
- FIG. 2 is a diagram showing price determination data.
- the price determination data 14 includes a source code ID 14a, a sales record 14b, a degree of attention 14c, a bibliographic item 14d, and similarity information 14e for each source code (one line in the drawing).
- the source code ID 14a is an ID for uniquely identifying each source code.
- the sales record 14b is data including the sales quantity and the sales price, and the cumulative sales quantity (cumulative quantity) 14b11 and the sales price (cumulative price) 14b12 from the start of the sale, and the sales quantity in a predetermined latest period. It includes a (latest quantity) 14b21 and a selling price (latest price) 14b22. However, only one of the cumulative quantity 14b11 and the cumulative price 14b12 or the recent quantity 14b21 and the latest price 14b22 may be used.
- the sales brokerage unit 13 In order to obtain the recent quantity 14b21 and the recent price 14b22, it is possible to receive the sales quantity and the selling price from the sales brokerage unit 13 together with the selling point, and to add up only for a predetermined recent period based on the selling point. Alternatively, for example, if the latest quantity 14b21 and the latest price 14b22 are to be obtained for the period of each day, the value of the latest quantity 14b21 and the latest price 14b22 is set to 0 at the start of the period, and the sales quantity and the sale price received from the sales brokerage unit 13 are set. May be added up.
- the attention level 14c is data indicating the degree to which each source code is attracted (is interested), and the number of votes 14c1 received from the source code request presenting unit 17 and the page received from the trading intermediary unit 13. It includes the number of views 14c2.
- the number of votes 14c1 and the number of page views 14c2 can be cumulative, recent, or both, like the sales record 14b.
- the bibliographic item 14d is data of bibliographic information received from the product registration unit 11, and includes a creator 14d1 and a language 14d2.
- the similarity information 14e is data of the degree of similarity received from the similarity determination unit 16, and includes a used source code 14e1 and a usage rate 14e2.
- the figure shows the case where the source code D is created by using the source code A for 70% of them.
- FIG. 3 is a flowchart showing an example of calculation by the price determination unit.
- the price determination unit 15 is activated once a day and calculates the price of each source code.
- the activation intervals may be longer than one day, for example, three days, one week, or the like.
- the interval may be shorter than one day (for example, 6 hours), but if the recent quantity 14b21 and the latest price 14b22 are matched with the activation interval of the price determination unit 15, there is a possibility that the fluctuation may occur greatly between daytime and nighttime. In this respect, when processing source code purchases from countries around the world, fluctuations are mitigated, so that it becomes easier to frequently revise the price at intervals shorter than one day.
- step 15a the price determination unit 15 multiplies the price (P) by R0 to reduce the price (0 ⁇ R0 ⁇ 1).
- the price determination data 14 is read and the price is adjusted based on it. If the price does not increase due to the adjustment based on the price determination data 14, the price of the source code decreases due to the passage of time (the number of times the price determining unit 15 operates). If a factor that raises the price occurs, the price will stop falling, so a price that matches the value of the source code as a product should be a price that balances the price decrease over time and the occurrence of the factor that raises the price per unit time. It is thought to converge to.
- the adjustment based on the price determination data 14 includes the adjustment based on the sales record (step 15b), the adjustment based on the degree of attention (step 15c), the adjustment based on the Bibliographical items (step 15d), and the adjustment based on the similarity information (step 15e). Is done.
- the adjustment based on the sales record adjusts the price based on the sales record 14b (cumulative quantity 14b11, cumulative price 14b12, recent quantity 14b21, recent price 14b22).
- the reference value b'11 is subtracted from the value b11, and a value obtained by multiplying it by a predetermined ratio Rb11 is added to the price P. If b11>b'11, the price rises, and if b11 ⁇ b'11, the price falls.
- the value included in the price determination data 14 is indicated by a code following “14” in the price determination data 14 (for example, b11 indicates the value of the accumulated quantity which is the code 14b11.), and the ratio thereof is “R”. The symbol after "" is attached.
- price adjustment based on the sales record 14b is performed.
- the cumulative quantity 14b11, the cumulative price 14b12, the latest quantity 14b21, and the latest price 14b22 may be partially adjusted without performing price adjustment.
- price adjustment may be performed only for the latest quantity 14b21 and the latest price 14b22. Only the latest sales results will be reflected, and it will respond to changes in demand.
- the price adjustment based on the sales record 14b (cumulative quantity 14b11, cumulative price 14b11, recent quantity 14b22, recent price 14b22) has been described above. What kind of price adjustment is specifically made is an example, and any design may be adopted.
- step 15c the price is adjusted based on the degree of attention 14c (the number of votes 14c1, the number of page views 14c2).
- the formula is the same as the adjustment based on the sales record (step 15b).
- the price is adjusted based on the bibliographic items 14d (creator 14d1 and language 14d2). Since the bibliographic item 14d is not a numerical value, a function f for converting the bibliographic item 14d into a numerical value is used.
- the concrete form of the function f may be set as a design item.
- the operator of the source code trading system 1 may determine and determine the value of each of the creator 14d1 and the language 14d2.
- the calculation may be performed based on the sales record 14b of another source code having the same creator 14d1 and the same language 14d2.
- the price is adjusted based on the similarity information 14e (use source code 14e1, usage rate 14e2).
- the value obtained by multiplying the usage rate e2 of the price P(e1) of the other source code to be used is It is the basis for estimating the value of the source code.
- a value obtained by multiplying this by a predetermined ratio Re is added to the price P. It should be noted that ⁇ is added for all other source codes to be used when there are a plurality of other source codes to be used.
- the source code trading system 1 of this embodiment includes the price determination unit 15 that determines the price based on the price determination data 14.
- the price determination unit 15 determines the price based on the price determination data 14.
- FIG. 4 is a configuration example of the entire system 400 including the source code trading system 1.
- the entire system 400 has a plurality of source code seller terminals 21, a plurality of source code purchaser terminals 22, a plurality of external service servers 23, and a source code trading system 1, and each terminal or server is a source via a network. It is connected to the code trading system 1.
- the network may be wired or wireless.
- the seller terminal 21 is, for example, a terminal such as a computer or a tablet used by a software development company, a system construction company, an educational institution such as a university, an individual programmer, or the like, such as software created by itself or software obtained by improving other software. Provide and sell the source code.
- the purchaser terminal 22 is a terminal such as a computer or tablet used by, for example, a software development company, a system construction company, an educational institution such as a university, an individual programmer, etc., and purchases the source code of the software to be sold.
- the source code trading system 1 connects the seller terminal 21 and the buyer terminal 22 and mediates selling the source code at an appropriate price.
- the external service server 23 is, for example, a code trading site that sells and sells source codes, a search engine site, a news site that provides news and stock prices, and the like, similar to the source code trading system 1.
- the source code trading system 1 acquires from the external service server 23 external information such as sales price information regarding the source code, news article information related to the source code, and stock price information.
- Each terminal of the overall system 400 and the source code trading system 1 may be, for example, a mobile terminal such as a smartphone, a tablet, a mobile phone, and a personal digital assistant (PDA), or a wearable terminal such as a glasses type, a wristwatch type, and a clothing type. But it's okay. Further, it may be a stationary or portable computer, or a server arranged on the cloud or network. Alternatively, it may be a combination of a plurality of these terminals. For example, a combination of one smartphone and one wearable terminal can logically function as one terminal. Moreover, an information processing terminal other than these may be used.
- a mobile terminal such as a smartphone, a tablet, a mobile phone, and a personal digital assistant (PDA), or a wearable terminal such as a glasses type, a wristwatch type, and a clothing type. But it's okay. Further, it may be a stationary or portable computer, or a server arranged on the cloud or network. Alternatively, it may be a
- Each terminal of the overall system 400 and the source code trading system 1 include a processor that executes an operating system, an application, a program, and the like, a main storage device such as a RAM (Random Access Memory), an IC card, a hard disk drive, and an SSD ( Solid State Drive), auxiliary storage device such as flash memory, communication control unit such as network card, wireless communication module, mobile communication module, touch panel, keyboard, mouse, voice input, input by motion detection by imaging of camera unit, etc.
- Input device and an output device such as a monitor and a display.
- the output device may be a device or terminal that transmits information to be output to an external monitor, display, printer, device, or the like.
- each module is stored in the main memory, and each functional element of the overall system is realized by the processor executing these programs and applications.
- each of these modules may be implemented by hardware such as integration.
- each module may be an independent program or application, but may be implemented in the form of a subprogram or function of one integrated program or application.
- each module is referred to as each “processing unit”.
- each module is described as a subject (subject) that performs processing, but in reality, a processor that processes various programs and applications (modules) executes the processing.
- DB databases
- the “database” is a functional element (storage unit) that stores a data set so as to be able to handle arbitrary data operations (for example, extraction, addition, deletion, overwrite, etc.) from a processor or an external computer.
- the database mounting method is not limited, and may be, for example, a database management system, spreadsheet software, or a text file such as XML.
- FIG. 5 is an example of a hardware configuration of the source code trading system 1.
- the source code trading system 1 is composed of, for example, a server arranged on the cloud.
- the main storage device 501 includes programs and applications such as the product registration unit 11, the trading agent unit 13, the price determination unit 15, the similarity determination unit 16, the source code request presentation unit 17, the external information acquisition unit 31, and the price adjustment unit 32. Is stored, and each functional element of the source code trading system 1 is realized by the processor 503 executing these programs and applications.
- the price determination unit 15 varies and determines the sales price of the source code based on the sales record and the bibliographic information of the source code (for example, source code category such as creator, programming language, evaluation, etc.). Further, in the present embodiment, further, when a new source code is registered, by performing analysis by machine learning based on the information of the already registered source code, the estimated sales price of the source code is calculated, Determine the selling price.
- the similarity determination unit 16 calculates the similarity between source codes based on a character string difference detection algorithm or the like.
- the external information acquisition unit 31 receives the source code from the external service server 23 such as a code buying/selling site that buys and sells the source code, a search engine site, and a news site that provides news and stock prices at regular or arbitrary timing. Acquires external information such as sales price information, news article information and stock price information related to the source code.
- the price adjustment unit 32 updates the price determined by the price determination unit 15 periodically or at an arbitrary timing based on the external information.
- the auxiliary storage device 502 includes source code data 12, price determination data 14, and price data 18.
- the source code data 12 registers and stores the source code transmitted from the seller terminal 21.
- the price determination data 14 has registered therein information as a basis for the price determination unit 15 to make a price determination, and stores, for example, information as shown in FIG. Also, the external information acquired by the external information acquisition unit 31 is processed, shaped, and stored.
- the price data 18 includes a desired price desired by the seller, an expected price issued by the price determination unit 15, a final price adjusted by the price adjustment unit 32, and a price such as an allocation rate to the reference source code based on the similarity. Stores information about.
- FIG. 6 is an example of a connection relationship of the entire system 400 including the source code trading system 1. Only the difference from the first embodiment will be described.
- the external information acquisition unit 31 is connected to the external service server 23 via a network and acquires various external information.
- the external information acquisition unit 31 processes, shapes, evaluates, etc. the acquired information into information in a form that can be processed by the price determination unit 15 and the price adjustment unit 32, and stores the information in the price determination data 14.
- the price adjusting unit 32 adjusts the price determined by the price determining unit 15 based on the price determining data 14 periodically or at any timing according to the information based on the external information stored in the price determining data 14.
- FIG. 7 is a configuration example of the price data 18.
- the price data 18 has an ID 701, a product ID 702, a desired price 703, an expected price 704, a final price 705, an algorithm type 706, a reference destination 707, a sales distribution ratio 708, a reference destination distribution ratio 709, and an update date/time 710.
- the ID 701 is information that is sequentially generated when the price for the source code is determined.
- the product ID is information that identifies a “commodity” including the actual source code, and refers to the product ID of product information (not shown). In the product information, information about the product is described in association with the source code. For example, user ID, user name, status, price history, product details, design details, usage method, restrictions, product image, preview URL, Information such as a product video URL, a user guide, and an initial price (desired price) is stored.
- the desired price 703 records the selling price desired by the seller.
- the estimated price 704 is based on the sales record and the estimated sales price of the source code based on the bibliographic information of the source code (for example, creator, programming language, evaluation, category, etc.) and information of other source codes already registered.
- the expected selling price calculated by performing analysis by machine learning is stored.
- the final price 705 is a desired price 703, an expected price 704, and a final price calculated based on adjustment by external information.
- Algorithm type 706 indicates based on which algorithm the final price was determined.
- auto is a machine learning based on the sales price and the estimated sales price of the source code based on the bibliographic information of the source code (for example, creator, programming language, evaluation, category, etc.) and information of other source codes already registered. It shows that it was calculated by the analysis.
- the reference destination 707 is information that refers to another source code when the source code is created by copying another source code or by modifying from another code. Refer to the product ID in the product information.
- the sales distribution ratio 708 defines the distribution ratio of sales paid to the seller after selling the source code. Although it is given here as a ratio, it is also possible to distribute the amount of money after deducting predetermined expenses and fees for sales. It suffices if there is a description of how the sales can be distributed by a specific method.
- the reference destination distribution ratio 709 defines a distribution ratio for distributing a part of the sales to the seller of the source code of the reference destination when referring to another source code. For example, when 30% of the source code is diverted from other source code, 30% of the sales is distributed to the seller of the other source code.
- the update date and time 710 stores the date and time when the information was updated.
- FIG. 8 is an example of the similarity determination flow 800.
- the similarity determination unit 16 determines the programming language of the source code acquired from the source code data 12 (810). The determination may be made based on the language 14d2 of the bibliographic information (Bibliographic items) 14d or by analyzing the syntax of the source code.
- the similarity determination unit 16 acquires another source code described in the same programming language as the determined programming language from the source code data 12 (820). The search efficiency may be improved by searching only the category that is the same as or related to the new source code according to the category of the source code registered in the bibliographic information in advance.
- the similarity determination unit 16 calculates the degree of similarity by a character string difference detection algorithm (830), and outputs/displays this (840).
- the difference detection algorithm there is a method of discriminating the distance between the character strings using the Levenshtein distance, a method of using the Myers difference algorithm (Myers Diff algorithm), and the like.
- FIG. 9 is an example of a reference destination distribution rate determination flow 900.
- the product registration unit 11 receives registration of a new source code (910).
- the similarity determination unit 16 calculates the degree of similarity whether the new source code is similar to the source code previously stored in the source code data 12 (920). If there is another similar source code, the similarity determination unit 16 sets the proportion of the portion similar to the other source code (the proportion of the similar portion) to be the new source code as the reference destination distribution rate. To do. For example, when 30% of the new source code is similar to other source code, 30% is set as the reference destination allocation rate (940).
- the similarity determination unit 16 determines whether the new source code includes a reference to another source code determined to be similar (950). When a reference is given, the allocation rate to the new source code is increased as an incentive to legally disclose that it relied on other source code. That is, the reference destination allocation rate is lowered by, for example, 2% (960).
- the similarity determination unit 16 sets the distribution rate of the new source code to 100%. That is, the reference destination allocation rate is set to 0% (970).
- the similarity determination unit 16 stores the reference destination distribution ratio in the reference destination distribution ratio 709 of the price data 18 (980). Although the distribution rate is adjusted as an incentive for reference, the steps 950 and 960 may be omitted.
- the allocation ratio of the reference destination is decreased and the allocation ratio of the new source code is increased, but instead or in parallel with it, the sales allocation ratio 708 to the sales is increased. You may make it the structure of turning on.
- FIG. 10 is an example of a reference destination distribution rate determination flow 1000 using functional blocks.
- the product registration unit 11 receives registration of a new source code (1010).
- the similarity determination unit 16 decomposes the new source code into functional blocks (1020).
- the source code is usually separated according to some functions.
- the source code of an EC site includes a customer management function, a payment function, a product management function, a sales interface generation function, an ordering management function, and the like. If it is the source code of the game, it has a login management function, a user input processing function, a screen generation function, an output management function, a 3D model processing function, and the like.
- the source code contents are different for each source code category, they often have similar functions. For example, if it is an EC site, the source code of any EC site usually has the above-mentioned various functions even if the design or the management method of the product is different.
- the source code categories can be roughly classified into management system, Web system, batch processing system, embedded system, audio/video processing system, data processing system, game system, etc. Can be divided into middle and small categories.
- middle classification in the Web system can be classified into website construction software, CSS design, HTML design, Javascript (registered trademark) processing, EC site, and the like. These pieces of information are registered in the bibliographic information.
- the similarity determination unit 16 analyzes the new source code and decomposes the source code for each functional block based on the information on the structure of general functional blocks that is registered in advance for each of the same or related categories based on the bibliographic information. To do.
- the delimiter part of the function of the source code is specified, Functional blocks can be disassembled. Note that the function block may be specified by manually specifying the function delimiter portion each time registration is performed.
- An importance degree and a weighting factor based on the importance degree are set for each of the decomposed functional blocks. For example, in the case of an EC site, the importance of the product management function and the payment function is set to "high”, and the importance of the customer management function and the sales interface generation function are set to "medium”.
- the similarity determination unit 16 calculates the degree of similarity for each of the decomposed functional blocks with the source code stored in the source code data 12 in the past (1030). If other similar source code exists, the similarity determination unit 16 obtains the ratio of the similar parts to the other source code (the ratio of the similar parts) to the new source code for each functional block. , And the weighting coefficient of each functional block is multiplied, and all are summed to determine the reference destination allocation rate (1050).
- a certain source code is composed of three functional blocks A, B, and C, and the weighting factors based on the importance in each source code are 20%, 50%, and 30%. It is assumed that the percentages of other source codes copied by A, B, and C are 70%, 20%, and 80%, respectively. In this case, the degrees of dependence of A, B, and C on other source codes are 14%, 10%, and 24% when the respective numerical values are multiplied. As a result, the degree to which this source code totally depends on other source codes is 48% of these totals, and this value is taken as the reference destination allocation rate.
- the similarity determination unit 16 determines whether the new source code includes a reference to another source code determined to be similar (1060). When a reference is given, the allocation rate to the new source code is increased as an incentive to legally disclose that it relied on other source code. That is, the reference destination allocation ratio is lowered by, for example, 2% (1070).
- the similarity determination unit 16 sets the distribution rate of the new source code to 100%. That is, the reference destination allocation rate is set to 0% (1080).
- the similarity determination unit 16 stores the reference destination distribution ratio in the reference destination distribution ratio 709 of the price data 18 (1090).
- the sales brokerage unit 13 calculates the sales distribution profit by multiplying the sales price by the sales distribution ratio 708 of the price data 18. Thereafter, the sales brokerage unit 13 distributes the sales distribution profit between the seller terminal 21 of the sold source code and the seller terminal 21 of the referenced source code based on the reference destination distribution rate 709. In this embodiment, in this way, by using the similarity of the source code, the sales can be distributed to the referenced source code, and the incentive of the source code seller can be increased.
- FIG. 11 is an example of the price determination flow 1100.
- the price determination unit 15 acquires the desired price 703 input by the seller terminal 21 from the price data 18 (1110).
- the price determination unit 15 calculates the expected price (estimated selling price) of the source code based on the information described in the price determination data 14 (1120). When the expected price deviates from the desired price by 50% or more (1130), the intermediate value between the expected price and the desired price is set as the final price (1140). If there is no deviation of 50% or more, the desired price is set as the final price (1150).
- the desired price is 1000 yen and the expected price is 2000 yen
- the final price is 1500 yen, which is the middle price.
- it may be set at a position 25% of the difference between the expected price and the desired price (in the previous example, the final price is 1250 yen), and the expected price is set as the final price.
- Good final price 2000 yen
- the expected price is higher than the desired price
- the final price higher than the desired price is set.
- the expected price lower than the desired price may be set in the same manner, or the intention of the seller terminal 21 is respected and the final price is set as the desired price.
- the price may not be reduced.
- the final price is 800 yen, which is an intermediate value.
- it may be set at a position 25% of the difference between the expected price and the desired price (in the previous example, the final price is 900 yen), and the expected price is the final price.
- Good final price 600 yen).
- the price adjustment is performed only when the expected price deviates by 50% or more from the desired price so that many fine adjustments do not occur. It may be configured to perform.
- This expected price calculation processing 1120 is repeatedly calculated for a relatively short period (for example, once a day), and the final price is adjusted. In the second and subsequent calculations, the current final price is used instead of the desired price, and the final price will be updated sequentially.
- the expected price calculation process for the source code may be performed.
- the external information acquisition unit 31 acquires a list of products (products) from the source code providing site.
- the ratio of products related to new (updated) products on the source code providing site exceeds a predetermined value (for example, 5%).
- the expected price calculation process is executed. For example, in this case, the expected prices of all products related to the programming language of the own system may be calculated.
- the price adjustment unit 32 performs price adjustment based on external information on the final price once a month (1160, 1170).
- the external information may be acquired once a month, but the external information may be acquired more frequently, such as once a day, and information based on the external information may be stored in the sequential price determination data 14.
- the price may be adjusted once a month based on the data.
- the final price corrected as a result is stored in the final price 705 of the price data 18 (1180).
- FIG. 12 is an example of the expected price calculation flow 1200.
- the product registration unit 11 receives registration of a new source code (1210).
- the price determination unit 15 shapes the source code so that it can be processed (1220), executes the classification of the source code by the multi-class classifier, and classifies the source code (1230).
- the price determination unit 15 calculates the expected price for the source code by performing regression analysis by machine learning on the classified source code (1240). For example, a gradient boosting regression analysis is used as the regression analysis method, but the method is not limited to this and other price calculation algorithms may be used.
- the price determination unit 15 applies a price policy to the calculated expected price (1250) and confirms whether the price is an appropriate price according to the policy.
- the price determination unit 15 stores the calculated expected price in the price data 18 (1260).
- FIG. 13 is an example of a source code classification flow 1300 by the classifier.
- the price determination unit 15 acquires training data (1310).
- the price determination unit 15 classifies the source code by classifying it based on the bibliographic information such as the program language of the source code and the category (function), and eliminating the duplication (1320).
- the price determination unit 15 classifies the details of the source code described in the product details of the product information corresponding to the further classified source code, and acquires related terms (1330).
- a classification method for example, Bag-of-words classification can be used.
- the price determination unit 15 performs text classification using the related terms (1340).
- As the classification for example, naive Bayes classification can be used.
- naive Bayes classification is performed by training the data and applying a classification model based on the training data acquired at 1310 and the related terms acquired at 1330.
- the price determination unit 15 outputs a text classification score such as a Bayesian score (1350).
- the price determination unit 15 classifies the source code based on the obtained text classification score.
- FIG. 14 is an example of a price adjustment flow 1400 based on external information.
- the price determining unit 15 calculates the selling price of the source code based on at least one of the content of the source code, the trading information, and the bibliographic information at a relatively short frequency such as once a day.
- the price adjustment unit 32 adjusts the selling price determined by the price determination unit 15 based on the information acquired from the external service server 23 at a frequency longer than the price determination period of the price adjustment unit 32, such as once a month. In this way, the fluctuating price (dynamic price) that is sequentially fluctuated (dynamic pricing) is displayed by the trading agency 13.
- the price adjustment unit 32 adjusts the price based on the adjustment based on the selling price of the source code providing site (1410).
- the external information acquisition unit 31 acquires, from the product information of the source code providing site, information identifying the source code and the selling price of the source code (source code providing site price). For example, by accessing the new product announcement page of the source code providing site and scraping the detailed information of the source code and the selling price information that are sequentially posted here, information identifying each source code (for example, source code name Source code such as one or more of the information such as the creator, the sales company, the model number, the version name, and the programming language, or a combination of several) is acquired and shaped, and then sequentially in the price determination data 14. To store.
- the price adjustment unit 32 acquires information about the source code of the own system corresponding to the information identifying the source code posted on the source code providing site, and adjusts the selling price based on the source code providing site price. ..
- the price adjusting unit 32 raises the selling price of the source code of the own system.
- the price is set to the same price as the source code providing site.
- the price is set to an intermediate price between the source code providing site price and the current selling price. For example, when the source code providing site price of the source code A listed on the source code providing site is 2000 yen and the selling price of the source code corresponding to the current A of the source code trading system 1 is 1000 yen. , The final selling price will be adjusted to the middle of 1,500 yen.
- the source code providing site price may be set at a position 25% of the difference between the source code providing site price and the current selling price (the previous example If so, the final selling price is 1250 yen, and the source code providing site price may be the selling price (final selling price 2000 yen).
- the price of the source code providing site is lower than the current price, it may be lowered to the final selling price which is lower than the selling price. May be left unchanged and the current selling price may be kept.
- the final selling price is 800 yen, which is an intermediate value.
- the source code providing site price may be set at a position 25% of the difference between the source code providing site price and the current selling price (in the previous example, For example, the final selling price of 900 yen) or the source code providing site price may be used as the final selling price (final selling price of 600 yen).
- the price is not adjusted immediately if there is a price difference.
- Price adjustment may be performed.
- the external information acquisition unit 31 acquires a list of products (products) from the source code providing site. Price adjustment is performed when the ratio of products related to products newly introduced to the source code providing site among the products in the same programming language as the source code of the own system exceeds a predetermined value (for example, 5%). To do. In this case, information on all the products in the same programming language may be acquired and used for the classification and price calculation processing.
- the price adjustment unit 32 adjusts the price based on the adjustment based on the search at the search site (1420).
- the price determination data 14 stores a plurality of search terms corresponding to the source code stored in the source code data 12.
- the external information acquisition unit 31 searches the search site for information about the source code corresponding to the stored source code based on the search term. For example, information such as the source code category, tags, and detailed information is stored as search terms. By the search, the information specifying the corresponding source code and the price information (search site price) of this source code are acquired.
- the price adjusting unit 32 adjusts the selling price of the source code of the own system corresponding to the information specifying the source code based on the search site price.
- the price adjusting unit 32 raises the selling price when the search site price is higher than the current selling price.
- the selling price is set to the same price as the search site price.
- the price is set to an intermediate price between the search site price and the current selling price.
- the search site price of the source code B found by the search is 2000 yen
- the selling price of the source code corresponding to the current B of the source code trading system 1 is 1000 yen
- the final selling price is the intermediate price. Adjust to 1500 yen.
- an intermediate value between the search site price and the current selling price it may be set at 25% of the difference between the current selling price and the search site price and the current selling price.
- the selling price may be 1250 yen) and the search site price may be the selling price (final selling price 2000 yen).
- the final sale price may be lowered to the final sale price that is lower than the sale price in the same manner, or the final sale price may be left unchanged, respecting the intention of the seller.
- the current selling price may be kept unchanged.
- the final selling price is 800 yen, which is an intermediate value.
- the position may be set to 25% of the difference between the search site price and the current selling price (in the previous example, the final selling price is 900 yen. )
- the search site price may be the final sale price (final sale price 600 yen).
- the price adjustment unit 32 adjusts the price based on the information on the news site (1430). Details will be described with reference to FIG.
- the adjustment based on the selling price of the source code providing site (1420), the adjustment based on the search on the search site (1430), and the adjustment based on the information on the news site (1430) are not carried out all but one of them. It is good also as a structure which implements. Moreover, each implementation frequency and timing may be different. Moreover, these do not adjust the price immediately according to the acquisition of one piece of external information, but accumulate a plurality of pieces of external information for one month, analyze these information, and then perform integration, averaging, etc. You only have to do this once a month.
- FIG. 15 is an example of a price adjustment flow 1500 based on news site information.
- the price determination data 14 stores a plurality of search terms corresponding to the source code stored in the source code data 12.
- the external information acquisition unit 31 accesses a news site that delivers news (1510), and from the news site, information that identifies the source code corresponding to the stored source code (for example, source code name, creator, sales company).
- Source code such as one of information such as model number, version name, programming language, or a combination of several
- related article information are acquired (1520, 1530).
- the article information corresponding to the source code is acquired.
- stock price information of a source code manufacturing company or a sales company can be acquired.
- the external information acquisition unit 31 evaluates whether the content of the acquired article information is positive, neutral, or negative (1540). Note that this processing may be executed by the price adjustment unit 32.
- the price adjustment unit 32 adjusts the current selling price of the source code of its own system corresponding to the information identifying the source code posted on the news site based on the evaluation of the content of the article information (1550). For example, when the evaluation of the content of the article information is positive, the selling price is increased. When the content of the article information is negative, the selling price may be lowered, or the current price may be maintained in consideration of the intention of the seller.
- the price determination data 14 stores a plurality of article terms indicating positive contents (positive article terms) and a plurality of article terms indicating negative contents (negative article terms).
- the acquisition unit 31 analyzes whether or not the article information acquired from the news site includes an article term indicating a positive content, and how many of them are included, and determines whether the content of the article information is affirmative. Evaluate.
- the external information acquisition unit 31 includes a case where the number of positive article terms included in the article information is a predetermined number or a ratio (for example, 10 or more per 1000 words or 1%) or more, or included in the article information. When the number of positive article terms is larger than the number of article terms indicating negative content, the content of article information is evaluated as positive.
- the price adjustment unit 32 ends the process when the search and survey are completed for all the news sites stored in the price determination data 14 as the survey target (1560).
- FIG. 16 is an example of a flow 1600 of changing the execution frequency of price adjustment based on external information.
- the price determining unit 15 calculates the selling price of the source code at a relatively short frequency such as once a day based on at least one of the content of the source code, the sale information and the bibliographic information.
- the price adjustment unit 32 adjusts the selling price determined by the price determination unit 15 based on the information acquired from the external service server 23 at a frequency longer than the price determination period of the price adjustment unit 32, such as once a month. This is because the external information that is acquired from the external server does not always occur and is fragmentary.
- the external information acquisition unit 31 receives sales price information related to the source code and the source code from the external service server 23 such as a code buying/selling site that sells and sells the source code, a search engine site, and a news site that provides news and stock prices. External information such as news article information and stock price information is acquired (1610). The external information acquisition unit 31 identifies the source code from these external information (1620).
- the frequency of new posting of external information for the identified source code is not high (for example, less than 5 times a day) (1630)
- the frequency of price adjustment by external information is kept at the current once a month (1650). ..
- the new posting frequency of external information is high (for example, 5 times or more per day) (1630)
- the frequency of performing price adjustment based on the external information on the specified source code is increased (for example, raised once a week) ( 1640).
- the price adjustment load of the computer is usually kept around once a month, but when the public interest in a specific source code rises, the price is adjusted more frequently and It is possible to offer a selling price that is close to the needs of the world.
- Another method is to increase the frequency of price adjustment of the source code when the amount of the product of the specific source code is large within a certain period.
- the external information acquisition unit 31 acquires a list of products (products) from the external service server 23 (eg, source code providing site, search site, news site, etc.).
- the external information acquisition unit 31 executes the price adjustment when the number of pieces of external information regarding the specified source code in the total number of products in the same programming language as the specified source code exceeds a predetermined value (for example, 5%). Increase frequency or perform price adjustment.
- the price adjustment frequency of the source code may be increased.
- the external information acquisition unit 31 acquires a list of products (products) from the external service server 23 (eg, source code providing site, search site, news site, etc.).
- the external information acquisition unit 31 adjusts the price when the update frequency (variation) of the price of the source code of the external service server that is the same as or related to the identified source code exceeds a predetermined value (for example, once a week). Increase the execution frequency of.
- FIG. 17 is an example of the Web screen 1700.
- the trade brokerage unit 13 displays a Web screen 1700 for selling the source code on the purchaser terminal 22.
- the Web screen 1700 has a source code title 1710, detailed information 1740, bibliographic information 1720 such as programming language, creator, category, tab, etc., price display 1730, and cart addition button 1750 for purchase.
- the price is reviewed once or more frequently every day, and the price on the price display 1730 is updated.
- price adjustment based on external information is performed at the beginning of the month, and the price on the price display 1730 is updated according to the content and amount of external information.
- FIG. 18 is an example of the smartphone screen 1800.
- the smartphone screen 1800 has a source code title 1810, bibliographic information 1820, and price display 1830. By tapping the title etc., the screen changes to the screen displaying detailed information of the source code. Even on the smartphone screen, the price is reviewed once a day or more frequently, and the price on the price display 1830 is updated. In addition, price adjustment based on external information is performed at the beginning of the month, and the price on the price display 1830 is updated according to the external content and amount. Note that when the source code partially uses another source code, even if the reference destination code 707 or the reference destination allocation ratio 709 (or the use rate of the reference destination code) is displayed in FIG. 17 or FIG. Good.
- the present invention is not limited to the above-described embodiments, but includes various modifications.
- the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described.
- a part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of a certain embodiment.
- other configurations can be added/deleted/replaced.
- the above-described respective configurations, functions, processing units, processing means, etc. may be realized by hardware by designing a part or all of them, for example, with an integrated circuit.
- each of the above-described configurations, functions, and the like may be realized by software by a processor interpreting and executing a program that realizes each function.
- Information such as a program, a table, and a file that realizes each function can be stored in a memory, a recording device such as a hard disk, an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, and a DVD.
- the control lines and information lines are shown as being considered necessary for explanation, and not all the control lines and information lines in the product are necessarily shown. In practice, it may be considered that almost all configurations are connected to each other.
- SYMBOLS 1 Source code trading system, 11... Merchandise registration section, 12... Source code data, 13... Trading agent section, 14... Price determination data, 15... Price determination section, 16... Similarity determination section, 17... Source code request presentation 21... Seller terminal, 22... Purchaser terminal, 23... External service server, 31... External information acquisition section, 32... Price adjustment section
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。ソフトウェアのソースコードを売買するためのソースコード売買システムであって、ソースコードを記憶する記憶手段と、前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、算出された前記第2の販売価格を表示する売買仲介手段と、を有することを特徴とするソースコード売買システムを提供する。
Description
関連出願
本出願は、2018年12月10日に出願された「AIを使用したソースコード売買システム」と題する日本国特許出願特願2018-230575号の優先権を主張し、その開示はその全体が参照により本明細書に取り込まれる。
本発明は、コンピュータプログラムのソースコードの売買を仲介するソースコード売買システムに関する。
本出願は、2018年12月10日に出願された「AIを使用したソースコード売買システム」と題する日本国特許出願特願2018-230575号の優先権を主張し、その開示はその全体が参照により本明細書に取り込まれる。
本発明は、コンピュータプログラムのソースコードの売買を仲介するソースコード売買システムに関する。
各種の商品の売買を仲介する売買システムが知られている。販売者と購入者との間で価格調整を行う機能を有する売買システムも多い。価格調整に当たっては、販売希望数量と購入希望数量との需給関係によって妥当な価格を導出することが可能である。
ここで、商品が複製可能なデータである場合には、販売希望数量が定まらない場合が多い。物品の生産をせずに複製をすれば生産できるので、生産能力に起因する販売数量の制限がないためである。仮に販売希望数量を無限大(または十分に大きな数量)とすると、需給関係によって導出される価格は、商品の価値よりも小さなものとなってしまう。
特許文献1には、購入対象データについて、実際に発生した販売価格に基づいて価格を決定する価格決定システムが開示されている。購入者(需要側)の判断に基づいて価格を決定することとなり、商品としてのデータの価値を反映した価格とすることができる。
商品がコンピュータプログラムのソースコード(以下、単に「ソースコード」と言う。)である場合にも、特許文献1に開示された方法を使用することは可能である。しかしながら、ソースコードの商品自体の内的な要素や外部サービスなどの外的な要素を把握しておらず、商品としてのソースコードの価値を十分に反映した価格とすることはできていない。
本発明は、商品としてのソースコードの価値を反映した価格で売買の仲介を行うことのできるソースコード売買システムを提供することを課題とする。
そこで、本発明は、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。
そこで、本発明は、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、ソフトウェアのソースコードを売買するためのソースコード売買システムであって、ソースコードを記憶する記憶手段と、前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、算出された前記第2の販売価格を表示する売買仲介手段と、を有することを特徴とする。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、ソフトウェアのソースコードを売買するためのソースコード売買システムであって、ソースコードを記憶する記憶手段と、前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、算出された前記第2の販売価格を表示する売買仲介手段と、を有することを特徴とする。
本発明によれば、ソースコードの類似度に基づく売買利益の配分の仕組みや、外部ソースの情報を活用したダイナミックプライシング(変動価格)の仕組みを提供することができる。
以下、本発明の実施例を説明する。
(システムの構成)
図1は、ソースコード売買システムの構成を示す図である。ソースコード売買システム1は、1又は2以上の販売者端末21及び購入者端末22と、ネットワークを介して接続されている。ソースコード売買システム1は、商品登録部11を介して販売者端末21から登録されたソースコードデータ12を、売買仲介部13を介して購入者端末22のユーザにダウンロード販売する。なお、販売形式はダウンロード販売でなくともよい。
図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、最近数量14b22、最近価格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は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、自らが作成したソフトウェアもしくは他のソフトウェアを改良したソフトウェア等のソースコードを提供及び販売する。
図4は、ソースコード売買システム1を含む全体システム400の構成例である。
全体システム400は、複数のソースコード販売者端末21と複数のソースコード購入者端末22と複数の外部サービスサーバ23とソースコード売買システム1を有し、それぞれの端末やサーバがネットワークを介してソースコード売買システム1に接続されている。なお、ネットワークは有線、無線を問わない。
販売者端末21は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、自らが作成したソフトウェアもしくは他のソフトウェアを改良したソフトウェア等のソースコードを提供及び販売する。
購入者端末22は、例えばソフトウェア開発会社、システム構築会社、大学等教育機関、個人プログラマー等が使用するコンピュータやタブレットなどの端末であり、販売されるソフトウェアのソースコードを購入する。
ソースコード売買システム1は、販売者端末21と購入者端末22間をつなぎ、適切な価格でソースコードを販売する仲介を行う。
外部サービスサーバ23は、例えば本ソースコード売買システム1と同様にソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等である。ソースコード売買システム1は、これらの外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
ソースコード売買システム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などのテキストファイルでもよい。
補助記憶装置には、各種データベース(DB)が記憶されている。「データベース」とは、プロセッサまたは外部のコンピュータからの任意のデータ操作(例えば、抽出、追加、削除、上書きなど)に対応できるようにデータ集合を記憶する機能要素(記憶部)である。データベースの実装方法は限定されず、例えばデータベース管理システムでもよいし、表計算ソフトウェアでもよいし、XMLなどのテキストファイルでもよい。
図5は、ソースコード売買システム1のハードウェア構成の例である。
ソースコード売買システム1は、例えばクラウド上に配置されたサーバで構成される。
主記憶装置501には、商品登録部11、売買仲介部13、価格決定部15、類否判定部16、ソースコード要望提示部17、外部情報取得部31、価格調整部32等のプログラムやアプリケーションが記憶されており、これらのプログラムやアプリケーションをプロセッサ503が実行することでソースコード売買システム1の各機能要素が実現される。
ソースコード売買システム1は、例えばクラウド上に配置されたサーバで構成される。
主記憶装置501には、商品登録部11、売買仲介部13、価格決定部15、類否判定部16、ソースコード要望提示部17、外部情報取得部31、価格調整部32等のプログラムやアプリケーションが記憶されており、これらのプログラムやアプリケーションをプロセッサ503が実行することでソースコード売買システム1の各機能要素が実現される。
価格決定部15は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価等、ソースコードのカテゴリ)に基づいてソースコードの販売価格を変動させ、決定する。
また、本実施例ではさらに、新たにソースコードが登録される場合に、すでに登録されているソースコードの情報に基づいて機械学習による分析を行うことで、ソースコードの販売予想価格を算出し、販売価格を決定する。
類否判定部16は、ソースコード同士の類似度を文字列の差分検出アルゴリズム等に基づき算出する。
また、本実施例ではさらに、新たにソースコードが登録される場合に、すでに登録されているソースコードの情報に基づいて機械学習による分析を行うことで、ソースコードの販売予想価格を算出し、販売価格を決定する。
類否判定部16は、ソースコード同士の類似度を文字列の差分検出アルゴリズム等に基づき算出する。
外部情報取得部31は、定期的にもしくは任意のタイミングで、ソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等の外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する。
価格調整部32は、価格決定部15で決定された価格を外部情報に基づき定期的にもしくは任意のタイミングで更新する。
価格調整部32は、価格決定部15で決定された価格を外部情報に基づき定期的にもしくは任意のタイミングで更新する。
補助記憶装置502は、ソースコードデータ12、価格決定データ14及び価格データ18を備える。
ソースコードデータ12は、販売者端末21から送信されたソースコードを登録、記憶する。
価格決定データ14は、価格決定部15が価格決定を行うための基礎となる情報を登録しており、例えば図2に示すような情報を記憶する。また、外部情報取得部31により取得された外部情報が、処理、整形されて記憶されている。
価格データ18は、販売者が希望する希望価格や、価格決定部15が出した予想価格、価格調整部32により調整された最終価格、類似度に基づく参照先ソースコードへの配分率等の価格に関する情報を記憶する。
ソースコードデータ12は、販売者端末21から送信されたソースコードを登録、記憶する。
価格決定データ14は、価格決定部15が価格決定を行うための基礎となる情報を登録しており、例えば図2に示すような情報を記憶する。また、外部情報取得部31により取得された外部情報が、処理、整形されて記憶されている。
価格データ18は、販売者が希望する希望価格や、価格決定部15が出した予想価格、価格調整部32により調整された最終価格、類似度に基づく参照先ソースコードへの配分率等の価格に関する情報を記憶する。
図6は、ソースコード売買システム1を含む全体システム400の接続関係の例である。実施例1との差分についてのみ説明する。
外部情報取得部31は、外部サービスサーバ23とネットワークを介して接続しており、各種外部情報を取得する。外部情報取得部31は取得した情報を処理、整形、評価等することにより、価格決定部15及び価格調整部32が処理できる形の情報にして、価格決定データ14に記憶する。
価格調整部32は、価格決定データ14に記憶された外部情報に基づく情報に従って、価格決定データ14に基づいて価格決定部15が決定した価格を、定期的にもしくは任意のタイミングで調整する。
外部情報取得部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、ユーザガイド、初期価格(希望価格)等の情報が記憶されている。
価格データ18は、ID701、プロダクトID702、希望価格703、予想価格704、最終価格705、アルゴリズムタイプ706、参照先707、売上配分率708、参照先配分率709、更新日時710を有する。
ID701、はソースコードに対する価格を決定する際にシーケンシャルに生成される情報である。
プロダクトIDは実際のソースコードを含む「商品」を特定する情報であり、図示しないプロダクト情報のプロダクトIDを参照する。プロダクト情報には、ソースコードと対応付けて商品に関する情報が記載されており、例えばユーザID、ユーザ名、ステータス、価格履歴、プロダクト詳細、デザイン詳細、使用方法、限定事項、プロダクトイメージ、プレビューURL、プロダクトビデオURL、ユーザガイド、初期価格(希望価格)等の情報が記憶されている。
希望価格703は、販売者が希望する販売価格を記録する。
予想価格704は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出された予想販売価格を記憶する。
最終価格705は、希望価格703や予想価格704や、外部情報による調整に基づき算出された最終的な価格である。
アルゴリズムタイプ706はどのアルゴリズムに基づいて最終的な価格が決定されたのかを示す。autoは、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出されたことを示す。
予想価格704は、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出された予想販売価格を記憶する。
最終価格705は、希望価格703や予想価格704や、外部情報による調整に基づき算出された最終的な価格である。
アルゴリズムタイプ706はどのアルゴリズムに基づいて最終的な価格が決定されたのかを示す。autoは、販売実績やソースコードの書誌情報(例えば作成者、プログラム言語、評価、カテゴリ等)に基づくソースコードの予測販売価格や、すでに登録されている他のソースコードの情報に基づいて機械学習による分析を行い算出されたことを示す。
newsはニュースサイトから取得した情報に基づいて算出されたことを示す。codeは、他のソースコード売買サイトの価格情報に基づいて算出されたことを示す。searchは検索サイトから取得した情報に基づいて算出されたことを示す。
参照先707は、ソースコードが他のソースコードをコピーして、もしくは他のコードから改変して作成されている場合に、その他のソースコードを参照する情報である。プロダクト情報のプロダクトIDを参照する。
参照先707は、ソースコードが他のソースコードをコピーして、もしくは他のコードから改変して作成されている場合に、その他のソースコードを参照する情報である。プロダクト情報のプロダクトIDを参照する。
売上配分率708は、そのソースコードを販売した後に販売者に支払われる売り上げの配分率を規定する。ここでは割合で出しているが、販売に対する所定の経費や手数料を差し引いた後の金額を分配することとしてもよい。特定の方法で売上金を分配できる方法が記載されていればよい。
参照先配分率709は、他のソースコードを参照している場合に、その参照先のソースコードの販売者に対しても売り上げの一部を分配するための配分率を規定する。例えばソースコードのうちの30%を他のソースコードから流用している場合には、売り上げの30%を他のソースコードの販売者に配分する。
更新日時710は、情報が更新された日時を記憶する。
参照先配分率709は、他のソースコードを参照している場合に、その参照先のソースコードの販売者に対しても売り上げの一部を分配するための配分率を規定する。例えばソースコードのうちの30%を他のソースコードから流用している場合には、売り上げの30%を他のソースコードの販売者に配分する。
更新日時710は、情報が更新された日時を記憶する。
図8は、類似度判定フロー800の例である。
類否判定部16は、ソースコードデータ12から取得したソースコードのプログラム言語を判別する(810)。書誌情報(書誌事項)14dの言語14d2に基づいて判別してもよいし、ソースコードの構文を解析することにより判別してもよい。
類否判定部16は、判別したプログラム言語と同一のプログラム言語により記述された他のソースコードをソースコードデータ12から取得する(820)。なお、あらかじめ書誌情報に登録されているソースコードのカテゴリに従い、新規のソースコードと同一又は関連するカテゴリの中のみを検索することで検索効率を上げてもよい。
類否判定部16は、それらの類似度を文字列の差分検出アルゴリズムにより算出し(830)、これを出力・表示する(840)。
差分検出アルゴリズムとしては、レーベンシュタイン距離を用いて文字列間の距離を判別する方法や、Myers差分アルゴリズム(Myers Diff algorithm)を用いる方法などがある。
類否判定部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)。
商品登録部11は、新規ソースコードの登録を受け付ける(910)。
類否判定部16は、新規ソースコードが過去にソースコードデータ12に記憶されているソースコードと類似しているかどうか類似度を算出する(920)。
類否判定部16は、類似している他のソースコードが存在する場合には、新規ソースコードにしめる他のソースコードに類似している部分の割合(類似部分の割合)を参照先配分率とする。例えば、新規ソースコードのうちの30%が他のソースコードに類似している場合には、30%を参照先配分率とする(940)。
次に、類否判定部16は新規ソースコードの中に、類似していると判断された他のソースコードへの参照が記載されているかどうかを判別する(950)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(960)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(960)。
類似判定930において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(970)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(980)。
なお、参照記載へのインセンティブとして、配分率を調整することとしたが、このステップ950、960は設けない構成としてもよい。
また、インセンティブのつけ方として、参照先の配分率を下げ、新規ソースコードの配分率を上げる構成としたが、その代わりに、もしくはそれと並行して、売り上げに対する売上配分率708を上げることによりインセンティブをつける、という構成にしてもよい。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(980)。
なお、参照記載へのインセンティブとして、配分率を調整することとしたが、このステップ950、960は設けない構成としてもよい。
また、インセンティブのつけ方として、参照先の配分率を下げ、新規ソースコードの配分率を上げる構成としたが、その代わりに、もしくはそれと並行して、売り上げに対する売上配分率708を上げることによりインセンティブをつける、という構成にしてもよい。
図10は、機能ブロックを用いた参照先配分率決定フロー1000の例である。
商品登録部11は、新規ソースコードの登録を受け付ける(1010)。
類否判定部16は、新規ソースコードを機能ブロックごとに分解する(1020)。ソースコードは通常いくつかの機能ごとに仕様が分かれている。例えばECサイトのソースコードであれば、顧客管理機能、決済機能、商品管理機能、販売インタフェース生成機能、受発注管理機能などである。ゲームのソースコードであれば、ログイン管理機能、ユーザ入力処理機能、画面生成機能、出力管理機能、3Dモデル処理機能などである。
それぞれのソースコードのカテゴリごとに、ソースコードの内容は異なっていても、機能としては同様のものを持っていることが多い。例えばECサイトであれば、デザインや商品の管理方法などは異なっていても、どのECサイトのソースコードであっても大抵は上記の各種機能を持ち合わせている。
商品登録部11は、新規ソースコードの登録を受け付ける(1010)。
類否判定部16は、新規ソースコードを機能ブロックごとに分解する(1020)。ソースコードは通常いくつかの機能ごとに仕様が分かれている。例えばECサイトのソースコードであれば、顧客管理機能、決済機能、商品管理機能、販売インタフェース生成機能、受発注管理機能などである。ゲームのソースコードであれば、ログイン管理機能、ユーザ入力処理機能、画面生成機能、出力管理機能、3Dモデル処理機能などである。
それぞれのソースコードのカテゴリごとに、ソースコードの内容は異なっていても、機能としては同様のものを持っていることが多い。例えばECサイトであれば、デザインや商品の管理方法などは異なっていても、どのECサイトのソースコードであっても大抵は上記の各種機能を持ち合わせている。
ソースコードのカテゴリ(ジャンル)は、大分類として、管理系、Web系、バッチ処理系、組み込み系、音声映像処理系、データ処理系、ゲーム系等に分けることができ、それぞれの大分類は中で中分類や小分類に分けることができる。例えばWeb系の中の中分類としては、Webサイト構築ソフト、CSSデザイン、HTMLデザイン、JavaScript(登録商標)処理、ECサイトなどに分類することができる。これらの情報は書誌情報に登録されている。
類否判定部16は、書誌情報に基づき同一または関連するカテゴリごとにあらかじめ登録されている一般的な機能ブロックの構造の情報に基づいて、新規ソースコードを解析し機能ブロックごとにソースコードを分解する。ソースコードの中に記載されているコメント欄に記載された説明を検索・解析したり、よく使われる関数やモジュールを検索・解析したりすることで、ソースコードの機能の区切り部分を特定し、機能ブロックを分解することができる。
なお、登録のたびに人手によって機能の区切り部分を特定して機能ブロックを特定する構成としてもよい。
類否判定部16は、書誌情報に基づき同一または関連するカテゴリごとにあらかじめ登録されている一般的な機能ブロックの構造の情報に基づいて、新規ソースコードを解析し機能ブロックごとにソースコードを分解する。ソースコードの中に記載されているコメント欄に記載された説明を検索・解析したり、よく使われる関数やモジュールを検索・解析したりすることで、ソースコードの機能の区切り部分を特定し、機能ブロックを分解することができる。
なお、登録のたびに人手によって機能の区切り部分を特定して機能ブロックを特定する構成としてもよい。
分解された各機能ブロックには、それぞれ重要度及びこれに基づく重み係数が設定されている。例えばECサイトであれば商品管理機能や決済機能の重要度が「高」、顧客管理機能や販売インタフェースの生成機能の重要度は「中」等と設定されている。
類否判定部16は、分解された機能ブロックごとに過去にソースコードデータ12に記憶されているソースコードと類似しているか類似度を算出する(1030)。
類否判定部16は、類似している他のソースコードが存在する場合には、機能ブロックごとに新規ソースコードにしめる他のソースコードに類似している部分の割合(類似部分の割合)を求め、これに各機能ブロックの重み係数を乗算し、すべてを合計することで参照先配分率を決定する(1050)。
類否判定部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%となり、この数値を参照先配分率とする。
結果、このソースコードがトータルで他のソースコードに依拠する度合いは、これらの合計の48%となり、この数値を参照先配分率とする。
次に、類否判定部16は新規ソースコードの中に、類似していると判断された他のソースコードへの参照が記載されているかどうかを判別する(1060)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(1070)。
参照が記載されている場合には、他のソースコードに依拠した旨を正当に開示したインセンティブとして、新規ソースコードに対する配分率を上げる。すなわち参照先配分率を例えば2%下げる(1070)。
類似判定1040において類似するソードコードが存在しない場合には、類否判定部16は、新規ソースコードの配分率を100%にする。すなわち、参照先配分率を0%とする(1080)。
類否判定部16は、参照先配分率を価格データ18の参照先配分率709に記憶する(1090)。
類否判定部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)。
価格決定部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円)。
なお、逆に希望価格よりも予想価格が低い場合には、同様に希望価格よりも低い額の最終価格を設定してもよいし、販売者端末21の意向を尊重し、最終価格を希望価格として値段は下げない、という構成としてもよい。
価格を下げる場合には、例えば希望価格が1000円で予想価格が600円であった場合には、最終価格は中間の800円となる。なお、予想価格と希望価格の中間の値ではなく、希望価格から予想価格と希望価格の差分の25%の位置にしたり(先の例であれば最終価格900円)、予想価格を最終価格としてもよい(最終価格600円)。
また、現構成では、微修正が多数発生しないように、希望価格から予想価格が50%以上ずれているときにのみ価格調整を行うフローだが、1130を設けず、少しでもずれていたら価格調整を行うという構成としてもよい。
この予想価格算出処理1120は比較的短期間(例えば一日1回)繰り返し算出され、最終価格が調整される。2回目以降の算出では、希望価格の代わりに、現在の最終価格が使用され、最終価格が順次更新されることとなる。
この予想価格算出処理1120は比較的短期間(例えば一日1回)繰り返し算出され、最終価格が調整される。2回目以降の算出では、希望価格の代わりに、現在の最終価格が使用され、最終価格が順次更新されることとなる。
なお、ある期間内において外部サービスサーバにて公開された特定の言語の商品(ソースコード)の量が多い場合に、ソースコードの予想価格算出処理を実施することとしてもよい。
例えば、外部情報取得部31が、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムの特定のソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された(更新された)商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、予想価格算出処理を実行する。
例えばこの場合に、自システムのそのプログラミング言語に関連するすべての商品の予想価格算出を行う構成としてもよい。
例えば、外部情報取得部31が、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムの特定のソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された(更新された)商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、予想価格算出処理を実行する。
例えばこの場合に、自システムのそのプログラミング言語に関連するすべての商品の予想価格算出を行う構成としてもよい。
この最終価格に対し、価格調整部32が月に一度、外部情報に基づく価格調整を実行する(1160、1170)。なお、月に一度外部情報の取得を行ってもよいが、外部情報の取得は一日一度などより頻度高く実施しておいて、外部情報に基づく情報を逐次価格決定データ14に記憶しておき、そのデータに基づいて月に一度価格調整を実行するという構成にしてもよい。
その結果修正された最終価格を、価格データ18の最終価格705に記憶する(1180)。
その結果修正された最終価格を、価格データ18の最終価格705に記憶する(1180)。
図12は、予想価格算出フロー1200の例である。
商品登録部11は、新規ソースコードの登録を受け付ける(1210)。
価格決定部15は、ソースコードを処理できる形に整形し(1220)、マルチクラス分類器によるソースコードの分類を実行し、ソースコードを分類する(1230)。
価格決定部15は、分類されたソースコードに対して機械学習による回帰分析を行うことで、ソースコードに対する予想価格を算出する(1240)。例えば、回帰分析の方法として勾配ブースティング回帰分析が用いられるが、これに限定されるものではなく他の価格算出アルゴリズムを用いてもよい。
価格決定部15は、算出された予想価格に価格ポリシーを適用し(1250)、ポリシーに従った適切な価格になっているかどうかを確認する。
価格決定部15は、算出された予想価格を価格データ18に記憶する(1260)。
商品登録部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は、得られたテキスト分類スコアに基づいて、ソースコードの分類を実施する。
価格決定部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により表示される。
図11で説明したように、価格決定部15はソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、毎日1度など比較的短い頻度でソースコードの販売価格を算出する。一方価格調整部32は、毎月1度など価格調整部32の価格決定期間よりは長い頻度で価格決定部15の決めた販売価格を外部サービスサーバ23から取得された情報に基づいて調整する。
このようにして順次変動される(ダイナミックプライシング:Dynamic Pricing)変動価格(ダイナミックプライス:Dynamic Price)は売買仲介部13により表示される。
価格調整部32は、ソースコード提供サイトの販売価格に基づく調整に基づく価格の調整を実施する(1410)。
外部情報取得部31が、ソースコード提供サイトの製品情報から、ソースコードを特定する情報及びこのソースコードの販売価格(ソースコード提供サイト価格)を取得する。例えば、ソースコード提供サイトの新製品発表のページにアクセスし、ここに順次掲載されるソースコードの詳細情報や販売価格情報をスクレイピングすることによって、それぞれのソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)を取得し、整形した後に、価格決定データ14の中に順次格納していく。
価格調整部32は、ソースコード提供サイトに掲載されていたソースコードを特定する情報に対応する自システムが持つソースコードの情報を取得し、この販売価格をソースコード提供サイト価格に基づいて調整する。
外部情報取得部31が、ソースコード提供サイトの製品情報から、ソースコードを特定する情報及びこのソースコードの販売価格(ソースコード提供サイト価格)を取得する。例えば、ソースコード提供サイトの新製品発表のページにアクセスし、ここに順次掲載されるソースコードの詳細情報や販売価格情報をスクレイピングすることによって、それぞれのソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)を取得し、整形した後に、価格決定データ14の中に順次格納していく。
価格調整部32は、ソースコード提供サイトに掲載されていたソースコードを特定する情報に対応する自システムが持つソースコードの情報を取得し、この販売価格をソースコード提供サイト価格に基づいて調整する。
価格調整部32は、ソースコード提供サイト価格の方が現在の自システムの販売価格よりも高い場合には、自システムのソースコードの販売価格を高くする。例えば、ソースコード提供サイト価格と同価格に設定する。又はソースコード提供サイト価格と現在の販売価格との中間の価格に設定する。
例えば、ソースコード提供サイトに掲載されているAというソースコードのソースコード提供サイト価格が2000円で、ソースコード売買システム1の現在のAに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
例えば、ソースコード提供サイトに掲載されているAというソースコードのソースコード提供サイト価格が2000円で、ソースコード売買システム1の現在のAに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
なお、ソースコード提供サイト価格と現在の販売価格の中間の値ではなく、現在の販売価格からソースコード提供サイト価格と現在の販売価格との間の差分の25%の位置にしたり(先の例であれば最終販売価格1250円)、ソースコード提供サイト価格を販売価格としてもよい(最終販売価格2000円)。
なお、逆に現在の価格よりもソースコード提供サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えばソースコード提供サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、ソースコード提供サイト価格と現在の販売価格の中間の値ではなく、ソースコード提供サイト価格からソースコード提供サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、ソースコード提供サイト価格を最終販売価格としてもよい(最終販売価格600円)。
なお、逆に現在の価格よりもソースコード提供サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えばソースコード提供サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、ソースコード提供サイト価格と現在の販売価格の中間の値ではなく、ソースコード提供サイト価格からソースコード提供サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、ソースコード提供サイト価格を最終販売価格としてもよい(最終販売価格600円)。
なお、価格差がある場合にすぐに価格調整を行うのではなく、ある期間内において外部サービスサーバにて公開された特定の言語の商品(ソースコード)の量が多い場合に、そのソースコードの価格調整を実施することとしてもよい。
例えば、外部情報取得部31は、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムのソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、価格調整を実施する。
この場合に、この同じプログラミング言語の全商品の情報を取得し、分類及び価格算出の処理に利用してもよい。
例えば、外部情報取得部31は、ソースコード提供サイトから、商品(プロダクト)の一覧を取得する。自システムのソースコードと同じプログラミング言語の商品のうち、ソースコード提供サイトに新たに投入された商品に関連するものの割合が所定の値(例えば5%)を超えている場合に、価格調整を実施する。
この場合に、この同じプログラミング言語の全商品の情報を取得し、分類及び価格算出の処理に利用してもよい。
次に価格調整部32は、検索サイトにおける検索に基づく調整に基づく価格の調整を実施する(1420)。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。外部情報取得部31は、検索サイトから、記憶されているソースコードに対応するソースコードに関する情報を検索用語に基づいて検索する。例えば、ソースコードのカテゴリやタグや詳細情報などに記載されるような情報が検索用語として記憶されている。
検索により、対応するソースコードを特定する情報及びこのソースコードの価格情報(検索サイト価格)を取得する。
前記価格調整部32は、このソースコードを特定する情報に対応する自システムのソースコードの販売価格を、検索サイト価格に基づいて調整する。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。外部情報取得部31は、検索サイトから、記憶されているソースコードに対応するソースコードに関する情報を検索用語に基づいて検索する。例えば、ソースコードのカテゴリやタグや詳細情報などに記載されるような情報が検索用語として記憶されている。
検索により、対応するソースコードを特定する情報及びこのソースコードの価格情報(検索サイト価格)を取得する。
前記価格調整部32は、このソースコードを特定する情報に対応する自システムのソースコードの販売価格を、検索サイト価格に基づいて調整する。
例えば、価格調整部32は、検索サイト価格の方が現在の販売価格よりも高い場合には、販売価格を高くする。例えば、販売価格を検索サイト価格と同価格に設定する。又は検索サイト価格と現在の販売価格との中間の価格に設定する。
例えば、検索により見つかったBというソースコードの検索サイト価格が2000円で、ソースコード売買システム1の現在のBに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
例えば、検索により見つかったBというソースコードの検索サイト価格が2000円で、ソースコード売買システム1の現在のBに対応するソースコードの販売価格が1000円であった場合、最終販売価格を中間の1500円に調整する。
なお、検索サイト価格と現在の販売価格の中間の値ではなく、現在の販売価格から検索サイト価格と現在の販売価格との間の差分の25%の位置にしたり(先の例であれば最終販売価格1250円)、検索サイト価格を販売価格としてもよい(最終販売価格2000円)。
なお、逆に現在の価格よりも検索サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えば検索サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、検索サイト価格と現在の販売価格の中間の値ではなく、検索サイト価格から検索サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、検索サイト価格を最終販売価格としてもよい(最終販売価格600円)。
価格調整部32は、ニュースサイトの情報に基づく価格の調整を実施する(1430)。詳細は図15で説明する。
なお、逆に現在の価格よりも検索サイト価格が低い場合には、同様に販売価格よりも低い額の最終販売価格に下げてもよいし、販売者の意向を尊重し、最終販売価格を据え置き、現在の販売価格のままとする構成としてもよい。
価格を下げる場合には、例えば検索サイト価格が600円で現在の販売価格が1000円であった場合には、最終販売価格は中間の800円となる。なお、検索サイト価格と現在の販売価格の中間の値ではなく、検索サイト価格から検索サイト価格と現在の販売価格の差分の25%の位置にしたり(先の例であれば最終販売価格900円)、検索サイト価格を最終販売価格としてもよい(最終販売価格600円)。
価格調整部32は、ニュースサイトの情報に基づく価格の調整を実施する(1430)。詳細は図15で説明する。
なお、ソースコード提供サイトの販売価格に基づく調整(1420)、検索サイトにおける検索に基づく調整(1430)、ニュースサイトの情報に基づく調整(1430)は、すべてを実施せず、このうちのいずれかを実施する構成としてもよい。また、それぞれの実施頻度やタイミングは別々であってもよい。
また、これらは1つの外部情報の取得に応じてすぐに価格を調整するのではなく、複数の外部情報を例えば1月分蓄積し、これらの情報を解析したうえで統合化や平均化等したうえで1月に1度実行すればよい。
また、これらは1つの外部情報の取得に応じてすぐに価格を調整するのではなく、複数の外部情報を例えば1月分蓄積し、これらの情報を解析したうえで統合化や平均化等したうえで1月に1度実行すればよい。
図15は、ニュースサイトの情報に基づく価格調整フロー1500の例である。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。
外部情報取得部31は、ニュースを配信するニュースサイトにアクセスし(1510)、ニュースサイトから、記憶されているソースコードに対応するソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)及び関連する記事情報を取得する(1520、1530)。
価格決定データ14は、ソースコードデータ12に記憶されているソースコードに対応する複数の検索用語を記憶している。
外部情報取得部31は、ニュースを配信するニュースサイトにアクセスし(1510)、ニュースサイトから、記憶されているソースコードに対応するソースコードを特定する情報(例えばソースコード名や作成者、販売会社、型番、バージョン名、プログラム言語等の情報の一つ、またはいくつかの組み合わせ等ソースコードを特定できればよい)及び関連する記事情報を取得する(1520、1530)。
例えば、ニュースサイトにアクセスし、所定の期間(例えば過去1ヵ月)の記事のタイトルと内容を取得し、この中から検索用語にヒットするものを抽出することでソースコードに対応する記事情報を取得する。他には、例えばソースコードの製造会社や販売会社の株価情報を取得することもできる。
外部情報取得部31は、取得した記事情報の内容が肯定的か中立か否定的かを評価する(1540)。なお、この処理は価格調整部32が実行してもよい。
外部情報取得部31は、取得した記事情報の内容が肯定的か中立か否定的かを評価する(1540)。なお、この処理は価格調整部32が実行してもよい。
価格調整部32は、ニュースサイトに掲載されていたソースコードを特定する情報に対応する自システムのソースコードの現在の販売価格を、記事情報の内容の評価に基づいて調整する(1550)。
例えば、記事情報の内容の評価が肯定的である場合に販売価格を上げる。記事情報の内容が否定的である場合には販売価格を下げてもよいし、販売者の意向を尊重し現状価格を維持してもよい。
例えば、記事情報の内容の評価が肯定的である場合に販売価格を上げる。記事情報の内容が否定的である場合には販売価格を下げてもよいし、販売者の意向を尊重し現状価格を維持してもよい。
価格決定データ14は、肯定的な内容を示す複数の記事用語(肯定的な記事用語)や、否定的な内容を示す複数の記事用語(否定的な記事用語)を記憶しており、外部情報取得部31は、ニュースサイトから取得した記事情報に対して、肯定的な内容を示す記事用語が含まれているか、どれくらいの数含まれているかを解析し、記事情報の内容が肯定的かどうかを評価する。
例えば、外部情報取得部31は、記事情報に含まれる肯定的な記事用語の数が所定の数や割合(例えば1000語当たり10個以上や1%)以上ある場合や、又は記事情報に含まれる肯定的な記事用語の数が否定的な内容を示す記事用語の数よりも多い場合に、記事情報の内容が肯定的であると評価する。
例えば、外部情報取得部31は、記事情報に含まれる肯定的な記事用語の数が所定の数や割合(例えば1000語当たり10個以上や1%)以上ある場合や、又は記事情報に含まれる肯定的な記事用語の数が否定的な内容を示す記事用語の数よりも多い場合に、記事情報の内容が肯定的であると評価する。
また、例えば記事情報が株価に関するものであれば、ソースコードの製造会社又は販売会社の株価が上昇している場合には肯定的な内容であると評価したり、株価が上昇する可能性が高いと投資家や金融機関等が評価している場合に肯定的な内容であると評価する。
価格調整部32は、調査対象として価格決定データ14に記憶されているすべてのニュースサイトに対して検索調査が終了した場合に処理を終了する(1560)。
価格調整部32は、調査対象として価格決定データ14に記憶されているすべてのニュースサイトに対して検索調査が終了した場合に処理を終了する(1560)。
図16は、外部情報による価格調整の実行頻度変更フロー1600の例である。
価格決定部15はソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、毎日1度など比較的短い頻度でソースコードの販売価格を算出する。一方価格調整部32は、毎月1度など価格調整部32の価格決定期間よりは長い頻度で価格決定部15の決めた販売価格を外部サービスサーバ23から取得された情報に基づいて調整する。
これは、外部サーバから取得する外部情報が常に発生するわけではなく断片的であり、ある程度蓄積してから価格調整を行った方が価格の変動が安定するという理由と、外部情報の解析処理は計算機資源を消費する重い処理であり、高頻度で実施すると負荷が高いという理由によるものである。
しかしながら、特定のイベントが発生する場合には外部情報による価格調整をもっと高頻度で実施したほうが適切にソースコードの価格を反映できる場合がある。
価格決定部15はソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、毎日1度など比較的短い頻度でソースコードの販売価格を算出する。一方価格調整部32は、毎月1度など価格調整部32の価格決定期間よりは長い頻度で価格決定部15の決めた販売価格を外部サービスサーバ23から取得された情報に基づいて調整する。
これは、外部サーバから取得する外部情報が常に発生するわけではなく断片的であり、ある程度蓄積してから価格調整を行った方が価格の変動が安定するという理由と、外部情報の解析処理は計算機資源を消費する重い処理であり、高頻度で実施すると負荷が高いという理由によるものである。
しかしながら、特定のイベントが発生する場合には外部情報による価格調整をもっと高頻度で実施したほうが適切にソースコードの価格を反映できる場合がある。
外部情報取得部31は、ソースコードを売買するコード売買サイトや、検索エンジンサイトや、ニュースや株価を提供するニュースサイト等の外部サービスサーバ23から、ソースコードに関する販売価格情報や、ソースコードに関連したニュースの記事情報や株価情報などの外部情報を取得する(1610)。
外部情報取得部31は、これらの外部情報からソースコードを特定する(1620)。
外部情報取得部31は、これらの外部情報からソースコードを特定する(1620)。
特定したソースコードに対する外部情報の新規掲載頻度が高頻度でない(例えば一日5回未満)の場合(1630)、外部情報による価格調整の実行頻度を現在の月一回のままとする(1650)。一方、外部情報の新規掲載頻度が高頻度(例えば一日5回以上)の場合(1630)、特定したソースコードに対する外部情報による価格調整の実行頻度を高くする(例えば週1回に上げる)(1640)。
このような構成にすることで、通常は計算機の価格調整負荷を月一程度におさえつつ、特定のソースコードに関する世の中の関心が上がってきた場合には、より高い頻度で価格を調整し、より世の中のニーズに近い販売価格を提示することができる。
このような構成にすることで、通常は計算機の価格調整負荷を月一程度におさえつつ、特定のソースコードに関する世の中の関心が上がってきた場合には、より高い頻度で価格を調整し、より世の中のニーズに近い販売価格を提示することができる。
他の方法としては、ある期間内において特定のソースコードの商品の量が多い場合に、そのソースコードの価格調整頻度を上げることが考えられる。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じプログラミング言語の商品の全数における特定したソースコードに関する外部情報の数が、所定の値(例えば5%)を超えている場合に、価格調整の実行頻度を高くする、または、価格調整を実行する。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じプログラミング言語の商品の全数における特定したソースコードに関する外部情報の数が、所定の値(例えば5%)を超えている場合に、価格調整の実行頻度を高くする、または、価格調整を実行する。
他の方法としては、ある期間内において特定のソースコードの価格の更新頻度(変動)が多い場合に、そのソースコードの価格調整頻度を上げることが考えられる。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じまたは関連する外部サービスサーバのソースコードの価格の更新頻度(変動)が所定の値(例えば週に1回)を超えている場合に、価格調整の実行頻度を高くする。
例えば、外部情報取得部31は、外部サービスサーバ23(例えばソースコード提供サイトや、検索サイト、ニュースサイト等)から、商品(プロダクト)の一覧を取得する。
外部情報取得部31は、特定したソースコードと同じまたは関連する外部サービスサーバのソースコードの価格の更新頻度(変動)が所定の値(例えば週に1回)を超えている場合に、価格調整の実行頻度を高くする。
図17は、Web画面1700の例である。
売買仲介部13は、購入者端末22に対してソースコードを販売するためのWeb画面1700を表示する。Web画面1700は、ソースコードのタイトル1710と、詳細情報1740と、プログラム言語や作成者、カテゴリやタブなどの書誌情報1720と、価格表示1730と、購入のためのカート追加ボタン1750とを有する。
図11の価格決定フローに基づき毎日1度かそれ以上の頻度で価格の見直しが行われ、価格表示1730の価格が更新される。また月の最初に外部情報による価格調整が実施され、外部情報の内容や量に応じて、価格表示1730の価格が更新される。
売買仲介部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等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
スマートフォン画面1800は、ソースコードのタイトル1810と、書誌情報1820と、価格表示1830を有する。タイトル等をタップすることで、ソースコードの詳細情報を表示する画面に遷移する。
スマートフォン画面においても毎日1度かそれ以上の頻度で価格の見直しが行われ、価格表示1830の価格が更新される。また月の最初に外部情報による価格調整が実施され、外部上の内容や量に応じて、価格表示1830の価格が更新される。
なお、ソースコードが他のソースコードを一部使用している場合には、参照先コード707や参照先配分率709(又は参照先コードの使用率)を図17や図18に表示してもよい。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1…ソースコード売買システム、11…商品登録部、12…ソースコードデータ、13…売買仲介部、14…価格決定データ、15…価格決定部、16…類否判定部、17…ソースコード要望提示部、21…販売者端末、22…購入者端末、23…外部サービスサーバ、31…外部情報取得部、32…価格調整部
Claims (27)
- ソフトウェアのソースコードを売買するためのソースコード売買システムであって、
ソースコードを記憶する記憶手段と、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出する価格決定手段と、
前記ソースコード売買システムの外部にある外部サービスサーバから情報を取得する外部情報取得手段と、
前記第1の販売価格を、前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出する価格調整手段と、
算出された前記第2の販売価格を表示する売買仲介手段と、
を有する
ことを特徴とするソースコード売買システム。 - 請求項1に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第2のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。 - 請求項2に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。 - 請求項2に記載のソースコード売買システムであって、
前記価格調整手段は、前記ソースコード提供サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記ソースコード提供サイト価格と同価格、又は前記ソースコード提供サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。 - 請求項2~4のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段に記憶されている特定のプログラミング言語のソースコードの数に対する、外部情報取得手段がソースコード提供サイトから取得した前記特定のプログラミング言語に関する更新されたソースコードの数が所定の割合を超えていた場合に、前記第1の販売価格の調整による前記第2の販売価格の算出を実行する
ことを特徴とするソースコード売買システム。 - 請求項1~5のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つである検索サイトから、前記複数の検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記価格調整手段は、前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。 - 請求項6に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。 - 請求項6に記載のソースコード売買システムであって、
前記価格調整手段は、前記検索サイト価格の方が前記第1の販売価格よりも高い場合に、前記第2の販売価格を、前記検索サイト価格と同価格、又は前記検索サイト価格と前記第1の販売価格との間の価格、のいずれかに設定する
ことを特徴とするソースコード売買システム。 - 請求項1~8のいずれか1項に記載のソースコード売買システムであって、
前記記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部情報取得手段は、前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の複数の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記価格調整手段は、前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコード売買システム。 - 請求項9に記載のソースコード売買システムであって、
前記記事情報の内容の評価が肯定的である場合に、前記第1の販売価格よりも高い前記第2の販売価格を設定する
ことを特徴とするソースコード売買システム。 - 請求項9又は10に記載のソースコード売買システムであって、
前記記憶手段は、肯定的な内容を示す複数の記事用語を記憶しており、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語に基づいて前記記事情報の内容が肯定的であることを評価する
ことを特徴とするソースコード売買システム。 - 請求項11に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記記事情報に含まれる前記記事用語の数が、前記記事情報に含まれる否定的な内容を示す複数の記事用語の数よりも多い場合に、前記記事情報の内容が肯定的であると評価する
ことを特徴とするソースコード売買システム。 - 請求項9~12のいずれか1項に記載のソースコード売買システムであって、
前記外部情報取得手段は、前記第4のソースコードを特定する情報に関する前記記事情報の配信頻度が所定の値を超えている場合に、前記価格調整手段による前記第2の販売価格の算出の頻度を高める
ことを特徴とするソースコード売買システム。 - 請求項1~13のいずれか1項に記載のソースコード売買システムであって、
ソースコードの類似度を判定する類否判定手段を有し、
前記類否判定手段は、前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記価格決定手段は、前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。 - 請求項14に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードを複数の機能ブロックに分割し、それぞれの機能ブロックごとに前記記憶手段に記憶されているソースコードとの類似度を判定する
ことを特徴とするソースコード売買システム。 - 請求項15に記載のソースコード売買システムであって、
前記類否判定手段は、前記新たなソースコードの前記機能ブロックごとの重要度を算出し、
前記価格決定手段は、前記機能ブロックごとの類似度と前記機能ブロックごとの重要度とに基づいて、前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコード売買システム。 - 請求項14~16のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコード売買システム。 - 請求項1~17のいずれか1項に記載のソースコード売買システムであって、
前記価格決定手段は、前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコード売買システム。 - 請求項18に記載のソースコード売買システムであって、
前記マルチクラス分類器は、単純ベイズ分類器又はBag-of-words分類器の少なくとも一つである
ことを特徴とするソースコード売買システム。 - 請求項18又は19に記載のソースコード売買システムであって、
前記回帰分析は、勾配ブースティング回帰分析である
ことを特徴とするソースコード売買システム。 - ソースコード売買システムにおけるソフトウェアのソースコードの販売方法であって
販売するソースコードを記憶し、
前記ソースコードの内容、売買情報又は書誌情報の少なくとも一つに基づいて、前記ソースコードの第1の販売価格を算出し、
前記第1の販売価格を、前記ソースコード売買システムの外部にある前記外部サービスサーバから取得した情報に基づいて調整し、第2の販売価格を算出し、
算出された前記第2の販売価格を表示する
ことを特徴とするソースコードの販売方法。 - 請求項21に記載のソースコードの販売方法であって、
前記外部サービスサーバの一つであるソースコード提供サイトの製品情報から、第2のソースコードを特定する情報と前記第2のソースコードの販売価格を示すソースコード提供サイト価格に関する情報とを取得し、
前記第2のソースコードを特定する情報に対応する記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記ソースコード提供サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。 - 請求項21又は22に記載のソースコードの販売方法であって、
記憶手段は、前記ソースコードに対応する複数の検索用語を記憶しており、
前記外部サービスサーバの一つである検索サイトから、前記検索用語に基づいて検索された第3のソースコードを特定する情報と前記第3のソースコードに対応する価格を示す検索サイト価格に関する情報とを取得し、
前記第3のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、検索サイト価格に関する情報に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。 - 請求項21~23のいずれか1項に記載のソースコード販売方法であって、
記憶手段は、前記ソースコードに対応する第2の複数の検索用語を記憶しており、
前記外部サービスサーバの一つでありニュースを配信するニュースサイトから、前記第2の検索用語に基づいて検索された第4のソースコードを特定する情報と記事情報とを取得し、前記記事情報の内容が肯定的かどうかを評価し、
前記第4のソースコードを特定する情報に対応する前記記憶手段に記憶された前記ソースコードの前記第1の販売価格を、前記記事情報の内容の評価に基づいて調整することにより、前記第2の販売価格を算出する
ことを特徴とするソースコードの販売方法。 - 請求項21~24のいずれか1項に記載のソースコード販売方法であって、
前記記憶手段に記憶される新たなソースコードに類似する類似ソースコードが前記記憶手段に記憶されている場合に、前記新たなソースコードに対する前記類似ソースコードの使用割合を算出し、
前記使用割合に基づいて前記新たなソースコードの売上代金の分配割合を決定する
ことを特徴とするソースコードの販売方法。 - 請求項25に記載のソースコード販売方法であって、
前記新たなソースコードに類似する前記類似ソースコードが前記記憶手段に記憶されている場合であって、前記類似ソースコードへの参照情報が前記新たなソースコードに記載されている場合には、前記新たなソースコードに対する売上代金の分配割合を増加させる
ことを特徴とするソースコードの販売方法。 - 請求項21~26のいずれか1項に記載のソースコード販売方法であって、
前記ソースコードの前記内容に対し、マルチクラス分類器を用いてカテゴリの分類を行い、当該分類されたソースコードに対して回帰分析を行うことで、前記第1の販売価格を算出する
ことを特徴とするソースコードの販売方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/340,673 US20210342870A1 (en) | 2018-12-10 | 2021-06-07 | Source code trading system using ai |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-230575 | 2018-12-10 | ||
JP2018230575A JP6892053B2 (ja) | 2018-12-10 | 2018-12-10 | Aiを使用したソースコード売買システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/340,673 Continuation US20210342870A1 (en) | 2018-12-10 | 2021-06-07 | Source code trading system using ai |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020122003A1 true WO2020122003A1 (ja) | 2020-06-18 |
Family
ID=71076439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/048045 WO2020122003A1 (ja) | 2018-12-10 | 2019-12-09 | Aiを使用したソースコード売買システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210342870A1 (ja) |
JP (1) | JP6892053B2 (ja) |
WO (1) | WO2020122003A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023017234A (ja) * | 2021-07-26 | 2023-02-07 | トヨタ自動車株式会社 | ソフトウェア管理システム、方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189866A (ja) * | 2000-12-20 | 2002-07-05 | Ricoh Co Ltd | ソフトウェア部品売買システム、ソフトウェア部品売買方法およびソフトウェア部品売買プログラムが記憶された記憶媒体 |
JP2011043970A (ja) * | 2009-08-20 | 2011-03-03 | Nifty Corp | 価格推定装置、方法及びプログラム |
JP2018081612A (ja) * | 2016-11-18 | 2018-05-24 | 株式会社Nttぷらら | 販売価格決定システム及び販売価格決定方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979323B2 (en) * | 2007-01-08 | 2011-07-12 | Retail Insight, Llc | Exchanging retail pricing information |
JP5791121B2 (ja) * | 2013-03-08 | 2015-10-07 | Necソリューションイノベータ株式会社 | コスト算出装置、コスト算出方法、及びプログラム |
US20180315141A1 (en) * | 2017-04-26 | 2018-11-01 | Clause, Inc. | System and method for business intelligence through data-driven contract analysis |
-
2018
- 2018-12-10 JP JP2018230575A patent/JP6892053B2/ja active Active
-
2019
- 2019-12-09 WO PCT/JP2019/048045 patent/WO2020122003A1/ja active Application Filing
-
2021
- 2021-06-07 US US17/340,673 patent/US20210342870A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189866A (ja) * | 2000-12-20 | 2002-07-05 | Ricoh Co Ltd | ソフトウェア部品売買システム、ソフトウェア部品売買方法およびソフトウェア部品売買プログラムが記憶された記憶媒体 |
JP2011043970A (ja) * | 2009-08-20 | 2011-03-03 | Nifty Corp | 価格推定装置、方法及びプログラム |
JP2018081612A (ja) * | 2016-11-18 | 2018-05-24 | 株式会社Nttぷらら | 販売価格決定システム及び販売価格決定方法 |
Non-Patent Citations (1)
Title |
---|
MASATO NINOHIRA, KENTA MIKAWA, MASAYUKI GOTO: "Prediction Model of Selling Prices of Second-hand Fashion Items Based on Mixture Regression Model", PREPRINTS OF THE 40TH SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS (SITA2017) [USB]; NOVEMBER 28 - DECEMBER 01; 2017, 1 December 2017 (2017-12-01), JP, pages 507 - 508, XP009522193, ISBN: 978-4-88552-314-4 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020095305A (ja) | 2020-06-18 |
US20210342870A1 (en) | 2021-11-04 |
JP6892053B2 (ja) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10192237B2 (en) | Method and system for distribution of content | |
KR102225729B1 (ko) | 복수 온라인 쇼핑몰 상품 등록을 위한 상품정보 가공 장치 및 방법 | |
US10614516B2 (en) | Method and system for auction information management | |
US11341558B2 (en) | Systems and methods for recommending a product based on an image of a scene | |
US20120303418A1 (en) | Dynamic pricing of access to content where pricing varies with user behavior over time to optimize total revenue and users are matched to specific content of interest | |
US20210334782A1 (en) | Method and system for negotiating, generating, documenting, and fulfilling vendor financing opportunities | |
CN113159972B (zh) | 组合确定方法、装置、电子设备及计算机可读存储介质 | |
JP2023159414A (ja) | Aiを使用したソースコード売買システム | |
US20220036376A1 (en) | Methods and systems for suggesting alternative phrases for text-based web content | |
WO2020122003A1 (ja) | Aiを使用したソースコード売買システム | |
US20230139339A1 (en) | Method and system for adaptive product categorization | |
US8725558B1 (en) | Intra-site product advertising system | |
CA3134673C (en) | Methods and systems for generating search results | |
US11379929B2 (en) | Advice engine | |
JP6602820B2 (ja) | ソースコード売買システム | |
US20160104173A1 (en) | Real-time economic indicator | |
US12002082B2 (en) | Method, medium, and system for providing trait-focused recommendations of computer applications | |
US20230259692A1 (en) | Systems and methods for computer generation of a modifiable product description | |
US20230078260A1 (en) | Systems and methods for providing recommendations of computer applications based on similarity | |
US20230351334A1 (en) | Method and system for message respeciation | |
US20240202184A1 (en) | Methods and systems for managing list data structures in event-driven systems | |
US20230113506A1 (en) | Systems and methods for generating content for a user interface | |
JP6347374B1 (ja) | カレンダー提供システムおよびカレンダー提供方法 | |
AU2015101665A4 (en) | Methods and systems for identifying, tailoring, providing and displaying data, and verification thereof | |
WO2023192735A1 (en) | Systems and methods for providing product data on mobile user interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19895938 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19895938 Country of ref document: EP Kind code of ref document: A1 |