The subject disclosure relates generally to online content rating and weighting of the content ratings.
As commerce increasingly goes online, personal interaction with salespeople, vendors, and others that facilitate the sale and rental of goods and services is becoming more limited. Consumers desiring to know about the benefits and drawbacks of online content are dependent on reviews and ratings left behind by people who may be anonymous or at least unknown to the consumers. While the overall rating of the online content can occasionally be helpful, often the reviews and ratings can be misleading or ambiguous.
When the overall rating is made up of only a few discrete votes or ratings, the overall rating can have a large margin of error rendering the rating virtually useless. Similarly, when the overall rating is based on ratings from individuals with divergent backgrounds and interests than the person viewing the rating, the overall rating can be misleading. The information required to determine the confidence of a rating is often unavailable, or not easily accessible to the people viewing the ratings.
Various non-limiting embodiments provide for online content rating and weighting. In an example embodiment, a system comprises a memory storing computer-executable components and a processor communicatively coupled to the memory that executes or facilitates execution of one or more of the computer executable components. The executable components can include a vote gathering component configured to collect votes, and a rating component configured to generate a rating based on the votes collected. The executable components can also include a weighting component configured to generate a weighting coefficient that modifies the rating as a function of a difference between a number of votes collected and a threshold number of votes.
In another example embodiment, a method comprises collecting, by a system including at least one processor, votes for an item. The method also comprises generating, by the system, a rating of the item based on the votes collected, and the method further comprises weighting, by the system, the rating using a weighting coefficient that modifies the rating as a function of a difference between a number of votes collected and a threshold number of votes.
In another example embodiment, a computer readable storage device has computer executable instructions that, in response to execution, cause a computing system to perform operations comprising collecting votes for an item, generating a rating of the item based on the votes collected, and weighting the rating using a weighting coefficient that modifies the rating as a function of a difference between a number of votes collected and a predetermined number of votes.
The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the drawings and the following detailed description.
In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the disclosure, as generally described herein, and illustrated in the Figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
In various non-limiting embodiments, an content rating system is provided to modify and weight ratings of online content. The online content can be products, goods, and services for sale or rent. The online content can also be reviews of books, movies, hotels, and other items that may not be related to e-commerce. The content rating system can collect votes and ratings for online content received at a content rating portal. The content rating system can also collect vote and ratings from public and/or existing sources. For instance, the content rating system can scour many portals, websites, and databases to collect ratings and rankings of the online content, as well as information about the number of votes that make up the ratings and rankings.
When the ratings are collected, the content rating system can generate overall ratings for online content based on the collected votes, and modify and/or weight the generated overall ratings based on the number of votes the ratings consist of. For instance, if two items each have an equivalent rating, but the first item has been voted on over a thousand times, and the second item has only been voted on only ten times, the rating of the second item can be reduced to reflect the lower quality of the rating. Since the rating with only ten votes will have a much larger margin of error, weighting coefficient can be used to weight the rating downward.
The weighting coefficient can be a multiplier that can be between 0 and 1 and the weighted ranking can be the product of the weighting coefficient and the overall rating. The weighting coefficient can be a function of the number of votes, and can approach 1 as the votes approach a threshold number of votes.
In other embodiments, the content rating system can give an estimate of the level of confidence in the ratings of the online content. The confidence levels can be based on the number of votes, the identity and background of the people voting, content being voted on, background and context of the person viewing the ratings, and other information that can be used to generate a confidence score.
In another embodiment, the individual ratings and votes used to generate the average rating can also be filtered. For example, a user viewing the rating of the product can have similar or divergent preferences and interests with users placing the votes. The votes can be filtered based on the preferences and interests and votes of people with similar preferences and interests can be taken into account to improve the quality and confidence level of the ratings, while the votes of those with different interests can be ignored.
Referring now to
It is to be appreciated that the specific ratings and the number of votes for items A and B in 102 and 106 are exemplary and are provided to show how content rating system 104 can modify and/or weight the ratings based on the number of votes. Other combinations of ratings and number of votes are possible in other scenarios and examples.
Content rating system 104 can weight the ratings of items A and B based on the number of votes that the ratings are made up of. Since item A has only 10 votes, far fewer than item B with 1000 votes, the high rating of item A is not as statistically significant as the rating of item B. Accordingly, content rating system 104 can weight the rating to reflect the statistical importance, and give it 3/5 stars as seen in 106. Since item B has 1000 votes however, the rating of 4/5 stars in 102 is statistically more significant, and so the content rating system 104 can weight the rating of item B very little or not at all.
Turning now to
Vote gathering component 204 can be configured to collect votes from data store 210 and content rating portal 212. Vote gathering component 204 can collect votes from each source individually, or both together. Content rating portal 212 can be a website associated with the content rating system 202. Users reviewing and rating online content can enter their ratings, rankings, and/or reviews of online content into the content rating portal 212, and each submission can be counted by the vote gathering component as a vote. The votes can provide information about the voter, such as identity, background, voting history, as well as give a quantitative or qualitative rating of the online content. The quantitative rating can be a numerical value, such as a rating out of 10, or some other quantitative metric. A positive or negative rating, or a thumbs up/thumbs down rating can be examples of a qualitative rating.
Data store 210 can be any public or private pre-existing source of ratings for the online content. Data store 210 can be a database of reviews, or website containing ratings. Vote gathering component 204 can contain a list of sources of reviews and ratings and/or scour the Internet for other sources of reviews and ratings. Popular aggregator websites contain ratings for online content along with a information identifying the number of votes that make up the ratings.
Once vote gathering component 204 gathers the votes and ratings from content rating portal 212 and data store 210, rating component 206 can be configured to generate a rating based on the votes collected. The rating can be an average of each of the votes collected. In the case of numerical ratings received at a content rating portal 212, the averaged rating (Ra) can be expressed as:
where Ri=Ratings received at content rating portal, Ni=Number of votes received at content rating portal.
When rating component 206 generates an average rating based on both votes received at a content rating portal 212 and from data store 210, the averaged rating can be expressed as:
where Rk is the averaged rating in the data store 210, and Nk is the number of votes that Rk consists of, and N=(Nk+Ni). Thus, when rating component 206 generates the ratings based on the votes collected at the content rating portal 212 and from the data store 210, the two sets of votes are weighted such that they each give equal weighting on a per vote basis to the average rating. In other embodiments, the function that is used to generate the averaged rating can weight the content rating portal 212 votes higher than the data store 210 votes or vice versa.
With the average rating calculated by the rating component 206, weighting component 208 can be configured to generate a weighting coefficient that modifies the rating as a function of a number of votes collected. The weighting coefficient can be a multiplier that the weighting component 208 multiplies against the average rating to derive the weighted rating 214. The weighting coefficient W can be 0<W≦1, where the weighting coefficient is equal to one when there are a predetermined number of votes. The predetermined number of votes can be provided by the person viewing the ratings, or by the content rating system. The predetermined number of votes can also be determined based on the content being rated.
The weighting coefficient can then be a function of a base multiplier and the number of votes, where the base multiplier is the value of the weighting coefficient when the number of votes is zero. The base multiplier can be a predetermined number, and like the threshold number of votes can be based on the content being rated among other factors.
When the number of votes is low, the weighting coefficient reduces the average rating to account for the statistically insignificant number of votes. As the number of votes increase however, the weighting coefficient increases in value, approaching 1, so that the weighted rating is close to the average rating. When a threshold is passed, and the weighting coefficient is equal to 1, the weighted rating is equal to the average rating generated by the rating component 206. Votes collected beyond the threshold number of votes will serve to modify the average rating but not the weighting coefficient.
Rather than just modifying the rating based on the number of votes, other weighting systems are possible as well. For instance, in an embodiment of the present disclosure, weighting component 208 can be configured to hide, or not show, the ratings of items that do not meet a predetermined number of votes. Therefore, ratings that are statistically insignificant, can be prevented from being considered and/or shown. Rating component 206 can also be configured to not rate items until the predetermined number of votes have been received.
It is to be appreciated that while
Turning now to
The vote gathering component 304 can be configured to collect votes that rating component 306 uses to generate the rating. Confidence component 308 can be configured to provide a confidence score of a rated item 314. The confidence score can provide a measure of the relative usefulness or reliability of the rating of the rated item. The confidence score can be based on the rated item, a number of votes gathered, an identity of the voter(s), a purchase history of the voter(s), and a voting history of the voter(s). The confidence score can also be based on similar information associated with the person viewing the rating.
Since the ratings can be made anonymously, the viewer of the rating does not always have the information available to judge the reliability of usefulness of the rating. If a majority, or a large number of people voting on an item have preferences that are different than the person viewing the rating, the ratings can even be misleading. The confidence score uses additional information to give the person viewing the rating an idea about how much confidence to place in the rating.
Confidence component 308 can retrieve information from data store 310 about the identity of the voters, person viewing the rating, purchase histories, voting histories, and other preferences and background information. The confidence component 308 can also retrieve information from online data store 312. The online data store 312 can be a public and/or private source of data that can be analyzed by the confidence component 308 to determine voter preferences, voter identification and so on.
In an embodiment, confidence component 308 can provide higher confidence scores to ratings that are made by voters known to the person viewing the rating. Votes by friends, family, and colleagues, can be given higher confidence scores. Similarly, votes by professionals, experts, and others in trusted positions can be given higher confidence scores.
In another embodiment, the confidence scores can be used by a weighting component (e.g., weighting component 208) to modify the ratings based on the confidence score. Ratings with higher confidence scores can be left as is, or boosted, whereas ratings with lower confidence scores can be decreased.
Referring now to
The vote gathering component 404 can be configured to collect votes which the rating component 406 uses to generate a rating of the items 410, 412, and 414. The rating can be weighted (e.g., by weighting component 208) and scoring component 408 can be configured to generate a score based on the weighted rating, where the score is a measure of the relative ratings of items.
In some embodiments, the rating generated by the rating component 406 can be a raw numerical rating that is difficult to intuitively grasp. The scoring component 408 can interpret the rating, and provide a score that is easy to understand. The score can be a percentile rank of the relative ranking of the items 410, 412, and 414. The score can also be translated into a visual medium. For instance in
Turning now to
Scores that are close together, such as scores 506, 508, and 510, respectively, 4.5 stars out of 5, 4 stars out of 5, and 3.5 stars out of 5, can be modified to make it easier to visualize the relative spread of ratings and scores. The modified scores, 5 out of 5 stars for item 512, 3 out of 5 stars for item 514, and 1 star out of 5 for item 516 make it easier to see the gaps between the ratings.
Scoring component 508 can generate the modified scores based on a spread of ratings of similar items. For instance, if a large number of rated items that are similar to each other (such as movies) all have raw and/or weighted ratings and scores that are very close together, it can be difficult to determine the relative rankings of the items. Scoring component can then assign different scores to more clearly show the relative ratings of the items.
At 602, the votes can be collected by a content rating portal, or from online data stores. The content rating portal can be a website associated with a content rating system. Users reviewing and rating online content can enter their ratings, rankings, and/or reviews of online content into the content rating portal and each submission can be counted as a vote. The votes can provide information about the voter, such as identity, background, voting history, as well as give a quantitative or qualitative rating of the online content. The online data stores can be any public or private pre-existing source of ratings for the online content. Popular aggregator websites contain ratings for online content along with a information identifying the number of votes that make up the ratings.
At 604, once the votes are collected, a rating of the item and/or online content can be generated based on the votes collected. The rating can be an average of each of the votes collected. In the case of numerical ratings received at a content rating portal, the averaged rating (Ra) can be expressed as:
where Ri=Ratings received at content rating portal, Ni=Number of votes received at content rating portal.
When average ratings are based on both votes received at a content rating portal and from an online data store, the averaged rating can be expressed as:
where Rk is the averaged rating in the online data store, and Nk is the number of votes that Rk consists of, and N=(Nk+Ni). Thus, the ratings are generated and weighted such that they each give equal weighting on a per vote basis to the average rating. In other embodiments, the function that is used to generate the averaged rating can weight the content rating portal votes higher than the online data store votes or vice versa.
At 606, the average rating is weighted using a weighting coefficient that modifies the rating as a function of a difference between a number of votes collected and a predetermined number of votes. The weighting coefficient can be multiplied against the average rating to derive the weighted rating. The weighting coefficient W can be 0<W≦1, where the weighting coefficient is equal to one when there are a predetermined number of votes. The predetermined number of votes can be provided by the person viewing the ratings, or by the content rating system. The predetermined number of votes can also be determined based on the content being rated.
Turning now to
The content rating portal can be a website associated with a content rating system. Users reviewing and rating online content can enter their ratings, rankings, and/or reviews of online content into the content rating portal and each submission can be counted as a vote. The votes can provide information about the voter, such as identity, background, voting history, purchase history and other preferences associated with the voter.
At 704, the rating of the item and/or online content can be generated based on the votes collected. The rating can be an average of each of the votes collected and weighted such that the votes from the content rating portal and the public rating are weighted equally on a per vote basis. The function for generating the rating can also preferentially treat votes from either the content rating portal or the public rating.
At 706, the confidence score of the rated item can be provided to give a better idea of the reliability of the rating. The confidence score can be based on the rated item, a number of votes gathered, an identity of the voter(s), a purchase history of the voter(s), and a voting history of the voter(s). The confidence score can also be based on similar information associated with the person viewing the rating.
Since the ratings can be made anonymously, the viewer of the rating does not always have the information available to judge the reliability of usefulness of the rating. If a majority, or a large number of people voting on an item have preferences that are different than the person viewing the rating, the ratings can even be misleading. The confidence score uses additional information to give the person viewing the rating an idea about how much confidence to place in the rating.
Turning now to
At 806, a determination is made about whether or not the number of votes that make up the rating equals a predetermined threshold of number of votes. If the number of votes is below the threshold, the rating is reduced as a function of the difference between the number of votes actually collected and the threshold number of votes. As the difference gets smaller, and the number of votes collected increases, the rating can be reduced by a smaller amount. On the other hand, if the number of votes collected exceeds the threshold, no change to the rating is made.
There can be a base weighting coefficient that is used, so that even if there is only 1 vote for an item, the base weighting coefficient is used. For instance, the base weighting coefficient can be 0.5, or anything other predetermined number between 0 and 1. As the number of votes increase, the weighting coefficient that is multiplied against the rating approaches 1.
With reference to
The system bus 908 can be any of several types of bus structure that can further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 906 includes read-only memory (ROM) 910 and random access memory (RAM) 912. A basic input/output system (BIOS) is stored in a non-volatile memory 910 such as ROM, EPROM, EEPROM, which BIOS contains the basic routines that help to transfer information between elements within the computer 902, such as during start-up. The RAM 912 can also include a high-speed RAM such as static RAM for caching data.
The computer 902 further includes an internal hard disk drive (HDD) 914 (e.g., EIDE, SATA), which internal hard disk drive 914 can also be configured for external use in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) 916, (e.g., to read from or write to a removable diskette 918) and an optical disk drive 920, (e.g., reading a CD-ROM disk 922 or, to read from or write to other high capacity optical media such as the DVD). The hard disk drive 914, magnetic disk drive 916 and optical disk drive 911 can be connected to the system bus 908 by a hard disk drive interface 924, a magnetic disk drive interface 926 and an optical drive interface 928, respectively. The interface 924 for external drive implementations includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies. Other external drive connection technologies are within contemplation of the subject innovation.
The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. For the computer 902, the drives and media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable media above refers to a HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, can also be used in the exemplary operating environment, and further, that any such media can contain computer-executable instructions for performing the methods of the disclosed innovation.
A number of program modules can be stored in the drives and RAM 912, including an operating system 930, one or more application programs 932, other program modules 934 and program data 936. All or portions of the operating system, applications, modules, and/or data can also be cached in the RAM 912. It is to be appreciated that aspects of the subject disclosure can be implemented with various commercially available operating systems or combinations of operating systems.
A user can enter commands and information into the computer 902 through one or more wired/wireless input devices, e.g., a keyboard 938 and a pointing device, such as a mouse 940. Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, touch screen, or the like. These and other input devices are often connected to the processing unit 904 through an input device interface 942 that is coupled to the system bus 908, but can be connected by other interfaces, such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, etc.
A monitor 944 or other type of display device is also connected to the system bus 908 through an interface, such as a video adapter 946. In addition to the monitor 944, a computer typically includes other peripheral output devices (not shown), such as speakers, printers, etc.
The computer 902 can operate in a networked environment using logical connections by wired and/or wireless communications to one or more remote computers, such as a remote computer(s) 948. The remote computer(s) 948 can be a workstation, a server computer, a router, a personal computer, portable computer, microprocessor-based entertainment appliance, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 902, although, for purposes of brevity, only a memory/storage device 950 is illustrated. The logical connections depicted include wired/wireless connectivity to a local area network (LAN) 952 and/or larger networks, e.g., a wide area network (WAN) 954. Such LAN and WAN networking environments are commonplace in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which may connect to a global communications network, e.g., the Internet.
When used in a LAN networking environment, the computer 902 is connected to the local network 952 through a wired and/or wireless communication network interface or adapter 956. The adapter 956 may facilitate wired or wireless communication to the LAN 952, which may also include a wireless access point disposed thereon for communicating with the wireless adapter 956.
When used in a WAN networking environment, the computer 902 can include a modem 958, or can be connected to a communications server on the WAN 954, or has other means for establishing communications over the WAN 954, such as by way of the Internet. The modem 958, which can be internal or external and a wired or wireless device, is connected to the system bus 908 through the serial port interface 942. In a networked environment, program modules depicted relative to the computer 902, or portions thereof, can be stored in the remote memory/storage device 950. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be used.
The computer 902 is operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This includes at least Wi-Fi® and Bluetooth™ wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices.
Wi-Fi, allows connection to the Internet from a couch at home, a bed in a hotel room, or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b, g, n, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which use IEEE 802.3 or Ethernet). Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11 Mbps (802.11a) or 54 Mbps (802.11b) data rate, for example, or with products that contain both bands (dual band), or other bands (e.g., 802.11g, 802.11n, . . . ) so the networks can provide real-world performance similar to the basic 10BaseT wired Ethernet networks used in many offices.
Each computing object 1010, 1012, etc. and computing objects or devices 1020, 1022, 1024, 1026, 1028, etc. can communicate with one or more other computing objects 1010, 1012, etc. and computing objects or devices 1020, 1022, 1024, 1026, 1028, etc. by way of the communications network 1042, either directly or indirectly. Even though illustrated as a single element in
There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems can be connected together by wired or wireless systems, by local networks or widely distributed networks. Currently, many networks are coupled to the Internet, which provides an infrastructure for widely distributed computing and encompasses many different networks, though any network infrastructure can be used for exemplary communications made incident to the systems for rating and weighting the ratings of online content as described in various embodiments herein.
Thus, a host of network topologies and network infrastructures, such as client/server, peer-to-peer, or hybrid architectures, can be utilized. One or more of these network topologies can be employed by network-enabled television 104, 200, 302, 600 for communicating with a network. The “client” is a member of a class or group that uses the services of another class or group to which it is not related. A client can be a process, i.e., roughly a set of instructions or tasks, that requests a service provided by another program or process. The client process utilizes the requested service, in some cases without having to “know” any working details about the other program or the service itself.
In a client/server architecture, particularly a networked system, a client is usually a computer that accesses shared network resources provided by another computer, e.g., a server. In the illustration of
A server is typically a remote computer system accessible over a remote or local network, such as the Internet or wireless network infrastructures. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server. Any software objects utilized pursuant to the techniques described herein can be provided standalone, or distributed across multiple computing devices or objects.
In a network environment in which the communications network 1042 or bus is the Internet, for example, the computing objects 1010, 1012, etc. can be Web servers with which other computing objects or devices 1020, 1022, 1024, 1026, 1028, etc. communicate via any of a number of known protocols, such as the hypertext transfer protocol (HTTP). Computing objects 1010, 1012, etc. acting as servers may also serve as clients, e.g., computing objects or devices 1020, 1022, 1024, 1026, 1028, etc., as may be characteristic of a distributed computing environment.
Reference throughout this specification to “one embodiment,” “an embodiment,” “a disclosed aspect,” or “an aspect” means that a particular feature, structure, or characteristic described in connection with the embodiment or aspect is included in at least one embodiment or aspect of the present disclosure. Thus, the appearances of the phrase “in one embodiment,” “in one aspect,” or “in an embodiment,” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in various disclosed embodiments.
As utilized herein, terms “component,” “system,” “module”, “interface,” “user interface”, and the like are intended to refer to a computer-related entity, hardware, software (e.g., in execution), and/or firmware. For example, a component can be a processor, a process running on a processor, an object, an executable, a program, a storage device, and/or a computer. By way of illustration, an application running on a server and the server can be a component. One or more components can reside within a process, and a component can be localized on one computer and/or distributed between two or more computers.
Further, these components can execute from various computer readable media having various data structures stored thereon. The components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, e.g., the Internet, a local area network, a wide area network, etc. with other systems via the signal).
As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry; the electric or electronic circuitry can be operated by a software application or a firmware application executed by one or more processors; the one or more processors can be internal or external to the apparatus and can execute at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts; the electronic components can include one or more processors therein to execute software and/or firmware that confer(s), at least in part, the functionality of the electronic components. In an aspect, a component can emulate an electronic component via a virtual machine, e.g., within a cloud computing system.
The subject matter described herein can be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, computer-readable carrier, or computer-readable media. For example, computer-readable media can include, but are not limited to, a magnetic storage device, e.g., hard disk; floppy disk; magnetic strip(s); an optical disk (e.g., compact disk (CD), a digital video disc (DVD), a Blu-ray Disc™ (BD)); a smart card; a flash memory device (e.g., card, stick, key drive); and/or a virtual device that emulates a storage device and/or any of the above computer-readable media.
The word “exemplary” where used herein means serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary,” “demonstrative,” or the like, is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
As used herein, the term “infer” or “inference” refers generally to the process of reasoning about, or inferring states of, the system, environment, user, and/or intent from a set of observations as captured via events and/or data. Captured data and events can include user data, device data, environment data, data from sensors, sensor data, application data, implicit data, explicit data, etc. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states of interest based on a consideration of data and events, for example.
Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources. Various classification schemes and/or systems (e.g., support vector machines, neural networks, expert systems, Bayesian belief networks, fuzzy logic, and data fusion engines) can be employed in connection with performing automatic and/or inferred action in connection with the disclosed subject matter.
Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the appended claims, such terms are intended to be inclusive—in a manner similar to the term “comprising” as an open transition word—without precluding any additional or other elements. Moreover, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.