• No se han encontrado resultados

Carbohidratos de las plantas

2.1.4. Digestión y fermentación ruminal de los carbohidratos

We now provide an overview of the system itself and how it works. This section will also detail how the likelihood estimates are made and used.

To make our explanation clearer, we will continue our use case of system configuration to explain how Escalier works. It is a simplification of actual system configuration; see (Chau et al. 2011) for a system designed to handle system

configuration specifically. Instead, here we walk through the use case only to show the functionality that Escalier can provide, assuming that there is additional support for any given domain that may be required.

Figure 2. How the Base Layer functions. (a) Escalier starts up with canonical (test) cases that are known to be valid (green). (b) Users report over time, growing the number of valids

(green) and nearly-valids (yellow). 3.4.1 Escalier Core

In general, Escalier consists of a standard web-based service architecture connected to a database, a set of applications, and auxiliary maintenance services. This architecture allows separate applications to provide customizable end-user functionality.

Escalier conceptually consists of two layers, where the functionality of the second layer builds on the first layer. The layers are:

3.4.1.1 Base Layer – a Bayesian map.

The first part of Escalier keeps a probability assessment for the likelihood of whether every potential configuration meets its objective function and is therefore valid. For system configuration, it would be whether that system configuration was stable; i.e., it does not crash, or it appears to the user to be stable.

The map is initialized with what we call canonical configurations. These are configurations known to be valid. They may be, for example, system configurations that a vendor or open-source community heavily tested as part of the release cycle. Or, they could also be hand-labeled activity streams or security settings.

Thereby, Escalier starts with some known configurations that meet the objective function criterion. These canonical, known valid configurations are shown in Figure 2(a)

as green cells in a notional 2-dimensional space of all C. Starting with known solutions avoids the standard cold start problem (Adomavicius and Tuzhilin 2005), i.e., the problem with many social computing systems of not having data when they initialize. It should be noted Escalier can start with a small number of canonical configurations initially and still be effective; we will provide test results below.

As more and more configurations are reported to Escalier, these reports update the probability assessments for specific configurations. If the user report indicates the

configuration meets the objective function (either by explicitly labeling the configuration or more likely it being automatically inferred), the likelihood is increased. Conversely, if the user report indicates the configuration is invalid, the likelihood can be decremented. Over time, this constructs a map of the configurations inferred to be valid.

A configuration is given an a priori value (hence it is a Bayesian map). As users report, the probability assessment for any given ci is increased or decreased by a value. If

the probability assessment for ci eventually exceeds a pre-defined threshold, then Escalier

will report ci as meeting its objective function. One way to do this is to have all users'

reports be worth the same value. Another way is to weight values based on the expertise of the user and/or her history of reports. Weighting of reports based on expertise is handled in the Expertise Layer, discussed below. We believe that report values used by Escalier for its likelihood assessments may need to be tuned by domain and community, but we have not tested this.

Figure 2(b) shows the Base Layer after user reports have come in. Remember, we do not know whether the user reports are accurate, and so validity is conditional on other

validity assessment is above a threshold, then Escalier believes the configuration meets the objective function. This is shown as a new green cell in Figure 2(b). If a user, for example, wanted to know what configurations were valid, Escalier would report that any configuration above the threshold (green) was valid and any configuration below it (yellow or white) was invalid.

To continue the systems configuration example, over time, users report on the stability of their system configurations. An Escalier application, described below, can provide this relatively simple functionality for uploading configurations. These user reports are time-stamped, and our Escalier prototype assumes that if users stay with a configuration, it is likely to be stable. As more users land on a system configuration, then there is a higher likelihood that the configuration is stable. If users leave a configuration, it may be unstable or it may not have provided the desired functionality, and so the assessment is decremented lower. Thus, the crowd’s use ultimately leads to accurate assessments about the validity of system configurations.

3.4.1.2 Expertise Layer – a Bayesian network of expertise assessment.

In its default state, the Base Layer is a straightforward probability map, where every user’s report is weighed equally. However, there are often users with more expertise. The Expertise Layer, the second part of Escalier, weighs the likelihood assessments by the expertise of the user that made the report. The Expertise Layer consists of another map that assesses users’ expertise levels, and its values are used to weigh the increments (and any decrements) in the Base Layer.

Figure 3. How Expertise Layer functions. (a) Escalier starts up with knowledge of user expertise from Q&A community data, for example, in the Expertise Layer (top). (b) Users

report over time, and these reports are weighed by the expertise assessments (additional expertise data may also be added over time).

The Expertise Layer is dependent on obtaining users’ expertise levels. This can be done in a number of ways, none of them perfect. We have constructed two different Expertise Layer mechanisms. The first uses a simple z-score metric based on the metric in Zhang et al. (2007). This z-score is calculated from who answers whom in a Q&A community, allowing one to infer a 5-level expertise rating. The ratings are dynamically adjusted as Q&A activity continues, so the z-score-based Expertise Layer is constructed as a Bayesian network. Using z-scores, however, requires Q&A community data. Since most users will not participate in some Q&A community, this approach requires that we label these users’ expertise rankings as novices or don’t-knows.

The other expertise metric we constructed is based on a user's web history. Hung and Ackerman (2015) found that one’s web history of searching websites can identify users who are novices and who have high expertise in technical subjects. We believe that simple metrics, such as the use of advanced commands in Linux, can also imply a high- level of expertise. (We note that all of these can be calculated on a user’s machine and are

be found, although we believe different domain areas, such as security, will have other, specialized metrics.

The expertise evaluations lead to a weighting factor for users’ reports, and the Expertise Layer provides reweighting for the Base Layer’s likelihood assessments, as shown in Figure 3. The intuition here is that reports from someone with the highest expertise should be trusted, those from novices substantially less so. Without the Expertise Layer, the Base Layer will rate each user as a novice. As we will see later, adding expertise information substantially improves Escalier’s performance.

Weighting by expertise also provides additional protection against poor false positive assessments. Escalier’s Base Layer can be tuned to be conservative, as it is in our current prototype. However, because it is conservative, it requires many more reports than would be needed if one could weed out erroneous reports. The Expertise Layer provides the ability to winnow the end-users and pay more attention to those with higher levels of expertise or experience.

In terms of our example use case, the Expertise Layer would have assessments of people’s technical expertise. We could assume those with higher expertise would be more likely to know when their system configurations were stable and when to look for new settings.

Note that if more data were available (e.g., crash reports), Escalier’s assessments become only better. As well, we remind the reader that Escalier can say something about stable configurations from the very beginning because of its canonical data (Base Layer).

3.4.2 Escalier Applications

Escalier consists not only of its core functionality, but also support for

applications. We have designed a number of Escalier applications. One was presented above; it was the Am-I-Normal application that determines whether a user’s system settings are consistent with the crowd’s. We have also constructed a simple reporting prototype. This application can also reside within a community MediaWiki. It is designed to give an incentive to report one’s configuration. The reporting application uploads a user’s configuration using a client-side script. It omits or obscures any privacy- or security-sensitive data. It also reports back to the user whether her configuration is likely to be valid. The reporting application can run stand-alone or, as with the MythTV forum, in a community wiki. Having applications run in the community’s wiki will make it easier for users.

Another application is Whats-Next (Figure 4), again incorporated as part of a MediaWiki page for a community in a simple recommender that allows a user pivots on her own configuration or a subset of it. Using What’s-Next, the user determine what additional system components could be added, with Escalier saying which new system configurations are likely to be stable.

Documento similar