Internet based method and system for ranking artists using a popularity profile
First Claim
Patent Images
1. A computer system for computing the popularity of one or more artists, comprising:
- one or more client computers;
at least two information servers, wherein each information server contains or provides data related to one or more artists, and wherein at least one information server is accessible through the Internet;
a popularity profile server (PPS) comprising;
a qualitative data analyzer unit for automatically analyzing qualitative data using sentiment analysis, wherein the sentiment analysis uses natural language parsing to separate the qualitative data into parts of speech; and
a score keeper unit for calculating a plurality of scores related to each of the one or more artists, the score keeper unit implementing computer instructions to;
(a) obtain two or more sets of data related to each artist from the at least two information servers, wherein the data comprises both qualitative data and quantitative data obtained from one or more sources other than search terms that were entered into an Internet search engine, and wherein each set of the two or more sets of data is obtained on different dates;
(b) automatically assign to each of the qualitative data based on a machine-based sentiment analysis of the qualitative data either a first number if the qualitative data analyzer classifies the quantitative data as a favorable sentiment of a song or a second number if the qualitative data analyzer classifies the quantitative data as an unfavorable sentiment of a song, wherein the qualitative data includes a published review of a song performed by the artist;
(c) calculate two or more sets of scores for each artist based on the quantitative data obtained and the number(s) assigned to the qualitative data, wherein each of the two or more sets of scores is comprised of one or more scores, and wherein each of the two or more sets of scores is calculated for each of the sets of data obtained by multiplying a weighting factor to each of the sets of data obtained and taking the sum of the respective products, the weighting factor being part of a set of weighting factors representing the relative importance of each set of data used to calculate a score and having a numerical value between 0 and 1 so that the sum of the set of weighting factors is equal to 1, and wherein the set of weighting factors is set by a user using a slider bar in a graphical user interface administered by the popularity profile server;
(d) calculate a momentum factor for each artist based on the rate of change over time of the two or more sets of scores calculated for the two or more sets of data, wherein the rate of change includes comparing a first score calculated from data obtained on a first date to a second score calculated from data obtained on a second date that is different than the first date; and
(e) apply the momentum factor to all scores of the most recent of the two or more sets of scores to increase or decrease the values of the most recent of the two or more sets of scores;
one or more network interfaces connecting the popularity profile server, the one or more information servers, and the one or more client computers to a network;
a centralized database for storing all of the data obtained and the scores calculated;
a plurality of retrieval agents, each retrieval agent implementing computer instructions to obtain data from one of the at least two information servers in response to instructions communicated to the retrieval agent by an agent manager operating on the PPS, the data obtained comprising a subset of the data which is less than the whole of the data used to calculate a score, the instructions comprising a number N representing the maximum number of attempts to obtain the data for each task during a communications session, a number T representing a time period to wait, and an indicator of a portion of data available from the one of the at least two information servers that is different for each retrieval agent, the portion being less than the whole of the data available,wherein the number N, the number T, and the indicator are set for each retrieval agent by a user with administrative privileges using a graphical user interface administered by the PPS,wherein each retrieval agent does not attempt to obtain the data before the respective time period T has expired,wherein each retrieval agent obtains the data in accordance with the respective indicator, andwherein for each retrieval agent;
the retrieval agent determines whether the data is obtained successfully within the respective N attempts during the communications session, and if the data is obtained successfully within the respective N attempts during the communications session, the data retrieval agent requests permission from the agent manager to transfer the data obtained to the centralized database and transfers the data obtained to the centralized database only if permission is granted by the agent manager, but if the data is not obtained successfully after N attempts during the communication session, the data retrieval agent sends a failure message to the agent manager and terminates its own operation;
a maintenance agent implementing computer instructions to, in response to new data being added to the centralized database by any of the at least two retrieval agents;
update one or more indexes related to the centralized database used to facilitate retrieval of data stored therein and cause the scorekeeper to calculate the two or more sets of scores for artists associated with the new data;
a widget agent implementing computer instructions on the PPS, to communicate with a remote third party application to receive a request from a remote third party application, the request comprising an identifier of an artist, wherein upon receiving the request, the widget agent retrieves from the centralized database the current ranking of the artist using the identifier and transmits the current ranking to the remote third party application, the current ranking representing the ranked order of the artist based on a comparison of the artist'"'"'s current sets of scores to other artists'"'"' current sets of scores;
wherein the agent manager records in a log file after each data retrieval attempt by the plurality of retrieval agents an indicator of whether the data retrieval attempt was successful or not successful; and
wherein at least one of the plurality of retrieval agents obtains the data by extracting the data directly from the HTML code of a web page viewable by a web browser or by receiving the data from a third party application that extracts the data from the HTML code of a web page viewable by a web browser.
1 Assignment
0 Petitions
Accused Products
Abstract
A set of data pertaining to artists and other content creators is retrieved periodically from various Internet-connected sources, the data being characterized as both quantitative and qualitative data. The data is analyzed through various means, including sentiment analysis, to produce quantitative information, including a score or set of scores, that is descriptive of an artist'"'"'s popularity as well as the ranking of an artist among other artists within a category or set of categories.
57 Citations
14 Claims
-
1. A computer system for computing the popularity of one or more artists, comprising:
-
one or more client computers; at least two information servers, wherein each information server contains or provides data related to one or more artists, and wherein at least one information server is accessible through the Internet; a popularity profile server (PPS) comprising; a qualitative data analyzer unit for automatically analyzing qualitative data using sentiment analysis, wherein the sentiment analysis uses natural language parsing to separate the qualitative data into parts of speech; and a score keeper unit for calculating a plurality of scores related to each of the one or more artists, the score keeper unit implementing computer instructions to; (a) obtain two or more sets of data related to each artist from the at least two information servers, wherein the data comprises both qualitative data and quantitative data obtained from one or more sources other than search terms that were entered into an Internet search engine, and wherein each set of the two or more sets of data is obtained on different dates; (b) automatically assign to each of the qualitative data based on a machine-based sentiment analysis of the qualitative data either a first number if the qualitative data analyzer classifies the quantitative data as a favorable sentiment of a song or a second number if the qualitative data analyzer classifies the quantitative data as an unfavorable sentiment of a song, wherein the qualitative data includes a published review of a song performed by the artist; (c) calculate two or more sets of scores for each artist based on the quantitative data obtained and the number(s) assigned to the qualitative data, wherein each of the two or more sets of scores is comprised of one or more scores, and wherein each of the two or more sets of scores is calculated for each of the sets of data obtained by multiplying a weighting factor to each of the sets of data obtained and taking the sum of the respective products, the weighting factor being part of a set of weighting factors representing the relative importance of each set of data used to calculate a score and having a numerical value between 0 and 1 so that the sum of the set of weighting factors is equal to 1, and wherein the set of weighting factors is set by a user using a slider bar in a graphical user interface administered by the popularity profile server; (d) calculate a momentum factor for each artist based on the rate of change over time of the two or more sets of scores calculated for the two or more sets of data, wherein the rate of change includes comparing a first score calculated from data obtained on a first date to a second score calculated from data obtained on a second date that is different than the first date; and (e) apply the momentum factor to all scores of the most recent of the two or more sets of scores to increase or decrease the values of the most recent of the two or more sets of scores; one or more network interfaces connecting the popularity profile server, the one or more information servers, and the one or more client computers to a network; a centralized database for storing all of the data obtained and the scores calculated; a plurality of retrieval agents, each retrieval agent implementing computer instructions to obtain data from one of the at least two information servers in response to instructions communicated to the retrieval agent by an agent manager operating on the PPS, the data obtained comprising a subset of the data which is less than the whole of the data used to calculate a score, the instructions comprising a number N representing the maximum number of attempts to obtain the data for each task during a communications session, a number T representing a time period to wait, and an indicator of a portion of data available from the one of the at least two information servers that is different for each retrieval agent, the portion being less than the whole of the data available, wherein the number N, the number T, and the indicator are set for each retrieval agent by a user with administrative privileges using a graphical user interface administered by the PPS, wherein each retrieval agent does not attempt to obtain the data before the respective time period T has expired, wherein each retrieval agent obtains the data in accordance with the respective indicator, and wherein for each retrieval agent; the retrieval agent determines whether the data is obtained successfully within the respective N attempts during the communications session, and if the data is obtained successfully within the respective N attempts during the communications session, the data retrieval agent requests permission from the agent manager to transfer the data obtained to the centralized database and transfers the data obtained to the centralized database only if permission is granted by the agent manager, but if the data is not obtained successfully after N attempts during the communication session, the data retrieval agent sends a failure message to the agent manager and terminates its own operation; a maintenance agent implementing computer instructions to, in response to new data being added to the centralized database by any of the at least two retrieval agents;
update one or more indexes related to the centralized database used to facilitate retrieval of data stored therein and cause the scorekeeper to calculate the two or more sets of scores for artists associated with the new data;a widget agent implementing computer instructions on the PPS, to communicate with a remote third party application to receive a request from a remote third party application, the request comprising an identifier of an artist, wherein upon receiving the request, the widget agent retrieves from the centralized database the current ranking of the artist using the identifier and transmits the current ranking to the remote third party application, the current ranking representing the ranked order of the artist based on a comparison of the artist'"'"'s current sets of scores to other artists'"'"' current sets of scores; wherein the agent manager records in a log file after each data retrieval attempt by the plurality of retrieval agents an indicator of whether the data retrieval attempt was successful or not successful; and wherein at least one of the plurality of retrieval agents obtains the data by extracting the data directly from the HTML code of a web page viewable by a web browser or by receiving the data from a third party application that extracts the data from the HTML code of a web page viewable by a web browser. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer implemented method for computing the popularity of one or more artists, comprising:
-
obtaining by a plurality of retrieval agents two or more sets of data related to each artist from at least two information servers, with one of the at least two information servers having data obtainable through the Internet, wherein the data comprises both qualitative data and quantitative data obtained from one or more sources other than search terms that were entered into an Internet search engine, wherein each set of the two or more sets of data is obtained on different dates, wherein each of the plurality of retrieval agents obtains data from one of the at least two information servers in response to instructions communicated to the retrieval agent by an agent manager, the data obtained comprising a subset of the data which is less than the whole of the data used to calculate a score, the instructions comprising a number N representing the maximum number of attempts to obtain the data during a communications session, a number T representing a time period to wait, and an indicator of a portion of data available from the one of the at least two information servers that is different for each retrieval agent, the portion being less than the whole of the data available, wherein the number N, the number T, and the indicator are set for each retrieval agent by a user with administrative privileges using a graphical user interface administered by the PPS, wherein each retrieval agent does not attempt to obtain the data before the respective time period T has expired, wherein each retrieval agent obtains data in accordance with the respective indicator; and wherein for each retrieval agent; the retrieval agent determines whether the data is obtained successfully within the respective N attempts during the communications session, and if the data is obtained successfully within the respective N attempts during the communications session, the data retrieval agent requests permission from the agent manager to transfer the data obtained to a centralized database and transfers the data obtained to the centralized database only if permission is granted by the agent manager, but if the data is not obtained successfully after N attempts during the communication session, the data retrieval agent sends a failure message to the agent manager and terminates its own operation; assigning to each of the qualitative data one of two predetermined numbers based on a machine-based sentiment analysis of the qualitative data, wherein the sentiment analysis uses natural language parsing to separate the qualitative data into parts of speech, and wherein the number assigned is a first number if the sentiment analysis classifies the quantitative data as a favorable sentiment of a song and a second number if the sentiment analysis classifies the quantitative data as an unfavorable sentiment of a song, wherein the qualitative data includes a published review of a song performed by the artist; calculating two or more sets of scores for each artist based on quantitative data obtained and the number(s) assigned to the qualitative data, wherein each of the two or more sets of scores is comprised of one or more scores, and wherein each of the two or more sets of scores is calculated for each of the sets of data obtained, wherein each of the scores is calculated by multiplying a weighting factor to each of the sets of data obtained and taking the sum of the respective products, the weighting factor being part of a set of weighting factors representing the relative importance of each set of data used to calculate a score and having a numerical value between 0 and 1 so that the sum of the set of weighting factors is equal to 1, and wherein the set of weighting factors is set by a user using a slider bar in a graphical user interface administered by the popularity profile server; calculating a momentum factor for each artist based on the rate of change over time of the two or more sets of scores calculated for the two or more sets of data, wherein the rate of change includes comparing a first score calculated from data obtained on a first date to a second score calculated from data obtained on a second date that is different than the first date; applying the momentum factor to all scores of the most recent of the two or more sets of scores to increase or decrease the values of the most recent of the two or more sets of scores; updating one or more indexes used to facilitate retrieval of data stored in the centralized database in response to the two or more sets of data obtained from the at least two information servers being added to the centralized database by any of the at least two retrieval agents; causing the two or more sets of scores to be calculated in response to the two or more sets of data obtained from the at least two information servers being added to the centralized database by any of the at least two retrieval agents; retrieving from the centralized database the current ranking of the artist using an identifier of an artist and transmitting the current ranking to a remote third party application in response to receiving a request from the remote third party application, the request comprising the identifier of the artist, and the current ranking representing the ranked order of the artist based on a comparison of the artist'"'"'s current sets of scores to other artists'"'"' current sets of scores; logging by the agent manager in a log file after each data retrieval attempt by the plurality of retrieval agents an indicator of whether the data retrieval attempt was successful or not successful; and wherein at least one of the plurality of retrieval agents obtains the data by extracting the data directly from the HTML code of a web page viewable by a web browser or by receiving the data from a third party application that extracts the data from the HTML code of a web page viewable by a web browser. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification