The technology described herein relates generally to design voting and more specifically to focused voting through adaptive filtering.
Traditional providers of graphic design products (e.g., greeting cards, business cards, flyers, brochures) offer a limited number of designs generated by in-house creators or paid third-party contractors. Limited customizations may be available for these design products, such as the incorporation of a corporate logo onto business cards or the inclusion of a photograph onto a greeting card. While the designs provided may be appropriate for many applications and occasions, the limited number of parties having creative input may result in a too-rigid environment that does not offer sufficient options for conveying certain messages.
Thus, there is a need for a graphics design system that offers consumers the capability to create and customize graphic designs according to their communications needs. There is also a need for a system where those consumer-created designs can be shared among the population of consumers, thus increasing the creative talent pool for graphic design.
Systems and methods are provided for filtering a pool of image designs. In one example, votes for a plurality of image designs are received, where the votes form a distribution across the pool of image designs. A mean, a confidence interval, and a minimum are determined for the distribution based on the plurality of votes. A determination is made as to whether a break-point threshold has been reached for the pool of image designs, where the break-point threshold is based on the mean, the confidence interval, and the minimum. A further determination is made as to whether each particular design should be removed from consideration after the break-point threshold has been met, where a particular design is removed from consideration based on a mean of votes for the particular design and a confidence interval for the particular design. Image designs that have not been removed from consideration are then given special prominence when displayed to voters. For example, designs that have not been removed from consideration can be displayed earlier in an otherwise randomly ordered sequence of images presented to a voter.
As another example, a system for filtering a pool of image designs may include one or more data processors and a computer-readable medium encoded with instructions for commanding the one or more data processors to execute a method. In the method, votes for a plurality of image designs are received, where the votes form a distribution across the pool of image designs. A mean, a confidence interval, and a minimum are determined for the distribution based on the plurality of votes. A determination is made as to whether a break-point threshold has been reached for the pool of image designs, where the break-point threshold is based on the mean, the confidence interval, and the minimum. A further determination is made as to whether each particular design should be removed from consideration after the break-point threshold has been met, where a particular design is removed from consideration based on a mean of votes for the particular design and a confidence interval for the particular design. Image designs that have not been removed from consideration are then given special prominence when displayed to voters. For example, designs that have not been removed from consideration can be displayed earlier in an otherwise randomly ordered sequence of images presented to a voter.
As a further example, a computer-readable medium may be encoded with instructions for commanding one or more data processors to execute a method for filtering a pool of image designs. In the method, votes for a plurality of image designs are received, where the votes form a distribution across the pool of image designs. A mean, a confidence interval, and a minimum are determined for the distribution based on the plurality of votes. A determination is made as to whether a break-point threshold has been reached for the pool of image designs, where the break-point threshold is based on the mean, the confidence interval, and the minimum. A further determination is made as to whether a particular design should be removed from consideration after the break-point threshold has been met, where the particular design is removed from consideration based on a mean of votes for the particular design and a confidence interval for the particular design. Image designs that have not been removed from consideration are then given special prominence when displayed to voters. For example, designs that have not been removed from consideration can be displayed earlier in an otherwise randomly ordered sequence of images presented to a voter.
A voting candidate filter manager 102 may be used to facilitate a wide variety of other types of voting applications as well. For example, a voting candidate filter manager 102 may be used to manage a political office election, a barbeque rib cook-off, a sports player-of-the-game competition, an acting award election, a top 40 songs of the week competition, as well as other applications.
A voting candidate filter manager 102 may be implemented using one or more servers 104 that are responsive to one or more networks 106 in providing an interface to users 108. Users 108 may be randomly provided one or more voting candidates 110 for consideration. A user 108 may vote for a voting candidate 110 or may rate a voting candidate (e.g., on a scale of 1 to 10, on a scale of 1 star to 5 stars). Voting candidates 110 as well as a record of votes cast 112 may be stored in one or more data stores 114 that are responsive to the one or more servers 104.
The configuration of
In another example, instead of completely removing non-competitive candidates, candidates identified as being non-competitive may have their probability of being provided for display and consideration lessened. This reduction in display probability may be proportional to a level of non-competitiveness of the candidate (e.g., designs below but near the non-competitive threshold may have their probability of display reduced 25%, while a design far below the threshold may have a more significant reduction in display probability).
The implementation of
A candidate that may ultimately be successful may perform poorly initially for a number of reasons. For example, in a voting competition for a top-20 image design template list, an image design template creator may be awarded a monetary commission or be otherwise compensated (e.g., awarded a prize) in exchange for consumers purchasing the creator's image design template (e.g., to create cards, business cares, posters, invitations). Consumers may tend to select image design templates from the top-20 list much more often than from other image design template categorizations. Thus, garnering a top-20 list spot may be quite lucrative to an image design template creator. This monetary incentive may encourage image design template creators and their associates to “stuff the ballot box” in voting for the creator's templates and voting against other templates. If certain safeguards are not in place, initial spikes in voting averages created by such incentivized voting may place less desirable designs in the top-20 while more desirable designs are removed from consideration based on their initial poor performance.
Voting progress is monitored, and once a sufficient number of votes are received, a data filtering time period begins. During the data filtering time period 406, candidates are periodically or continually removed from consideration based on poor performance. Such poor performance is measured statistically, such that it is determined with a level of certainty that the removed candidate will not be successful (e.g., in making the top-20 list).
The identification of when the data filtering period 406 should begin may be made in a variety of ways. For example, the data filtering period 406 may begin when received voting reaches a break-point threshold. A break-point threshold may be determined as a point in the voting when a statistically significant amount of voting data has been gathered, such that decisions about the viability of certain voting candidates may be made.
In one example, the break-point threshold may be based on characteristics of a distribution of votes across a pool of provided voting candidates. For example, the break-point threshold may be set based on a lower bound mean a such that mean(X)>α for X={X1, . . . , Xn}, and lower bound interval width β such that β<size(CI), where α is the mean for the distribution threshold and β is the confidence interval threshold, wherein mean(X) is the mean for the distribution and size(CI) is the confidence interval for the distribution. As more votes are received during the data gathering phase, the mean of the distribution will increase until it reaches α. At that point, if the confidence interval around the mean has a size smaller than β, then the break-point threshold has been reached and the process moves to the data filtering phase. If not, then the data collection phase continues until the mean has reached the upper bound of the confidence interval
or the minimum number of votes has reached an ultimate break-point, Ω. The ultimate break-point, Ω, may be utilized to trigger the data filtering phase in a case of high data variability, such as variability caused by voting based on favoritism. In one example, α, β, and Ω are set at α=50, β=15, and Ω=75.
Once the break-point threshold has been reached, the algorithm may begin registering the confidence interval associated with each candidate to provide filtering. Following filtering, remaining candidates are ranked. Remaining candidates may be presented to users for additional voting, where further filtering may be performed after additional votes are received.
In one example, candidates are removed from consideration based on a mean of votes for the particular design and a confidence interval for the particular design. Specifically, filtering may be performed incrementally. Given a total number of candidates, n, and a number of rounds of filtering performed thus far (or an amount of time since voting has started), i, a preliminary minimum number of candidates to retain may be calculated according to γi=n−50×(i+1). An additional floor value, Γ, may also be considered, such that a minimum number of candidates to retain is the greater of γi and Γ for all rounds i (i.e., min{γi|∀i>0}≧Γ).
With a continued inflow of voting data, the variability around the mean of each design tends to decrease, which in terms of confidence intervals, translates into the narrowing of the interval width. As the interval width decreases for single intervals, the distance between confidence intervals for different candidates tends to increase as designs differentiate from one another. In one example, a marginalized poor design will be discarded when the mean for that design is lower than the mean of the top δi designs and the confidence interval of that design has no overlap with any confidence intervals of the top δi designs. Practically, assuming the current working set is n0 and the threshold is δi
The process may be repeated as more voting data is received until γi=Γ. When Γ has been reached, all further filtering may be ceased. The Γ value guarantees that the final set of candidates provided to users for voting has at least a certain number of candidates.
In one example, confidence intervals may be calculated as follows. Assuming the distributions of all voters are independent and identically distributed, the Central Limit Theorem may be applied, with values normalized, where the 95% confidence interval is subsequently calculated. Given a data set with X={X1, . . . , Xn} data points pooling independent and identically distributed random variables with mean E(Xi)=μ, variance Var(Xi)=σ2, and standard deviation std(Xi)=σ, estimate the mean and standard deviation with E(X)={circumflex over (μ)}=
Normalizing with
where μ is the mean whose prediction is sought, the 95% confidence interval can then be calculated as P(|Z|<z)=0.95, given the normal assumption, z=1.96. The confidence interval is then calculated according to:
resulting in the
interval.
As noted above, in certain situations voters may have an incentive (e.g., a monetary incentive) to vote a certain way or to vote excessively. If one or a small group of voters' actions are significantly skewing results, then it may be desirable to ignore those voters' ratings when tabulating results.
To identify voters to display in the user interface of
A disk controller 960 interfaces one or more optional disk drives to the system bus 952. These disk drives may be external or internal floppy disk drives such as 962, external or internal CD-ROM, CD-R, CD-RW or DVD drives such as 964, or external or internal hard drives 966. As indicated previously, these various disk drives and disk controllers are optional devices.
A display interface 968 may permit information from the bus 952 to be displayed on a display 970 in audio, graphic, or alphanumeric format. Communication with external devices may optionally occur using various communication ports 973.
In addition to the standard computer-type components, the hardware may also include data input devices, such as a keyboard 972, or other input device 974, such as a microphone, remote control, pointer, mouse and/or joystick.
As additional examples, for example, the systems and methods may include data signals conveyed via networks (e.g., local area network, wide area network, internet, combinations thereof, etc.), fiber optic medium, carrier waves, wireless networks, etc. for communication with one or more data processing devices. The data signals can carry any or all of the data disclosed herein that is provided to or from a device.
Additionally, the methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform the methods and operations described herein. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein.
The systems' and methods' data (e.g., associations, mappings, data input, data output, intermediate data results, final data results, etc.) may be stored and implemented in one or more different types of computer-implemented data stores, such as different types of storage devices and programming constructs (e.g., RAM, ROM, Flash memory, flat files, databases, programming data structures, programming variables, IF-THEN (or similar type) statement constructs, etc.). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.
It should be understood that as used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context expressly dictates otherwise; the phrase “exclusive or” may be used to indicate situation where only the disjunctive meaning may apply.