review package¶
Review data model consisting of review and summary.
This module defines abstract review.base.Review and review.base.Summary, and those implementations. review.base.Review represents review itself and review.base.Summary is a summarized reviews given to a same object.
This module assumes each review is representable in one scalar value, and those review values are in a multipliable additive group. With the assumption, this module implements two types of summarization methods. One of them is average of reviews and the other one is making a vector, in other words histogram, of reviews.
This module has the following aliases:
Submodules¶
review.base module¶
Defines abstract Review and Summary classes.
- class
review.base.Review(date=None)[source]¶ Bases:
review.base._MultipliableImmutableAdditiveGroupAbstruct class of Review.
Review is defined on a multipliable immutable additive group. Subclass must implement the following methods;
- _eq_:
- _add_:
- _rmul_:
Review also needs to implement a property score to return the review score itselt. The returned score must be a float number.
- Attribute:
- date: the date when this review was posted.
-
date¶
-
score¶ A float value representing score of this review.
- class
review.base.Summary[source]¶ Bases:
objectAbstract class of summary of reviews.
Summary only needs to define differenct and norm methods. difference computes difference between a summary and a review. norm maps a summary to a float value.
Each summary type might be related to a review type. Summary must implements a class method review_class to return the associated review class.
-
difference(r)[source]¶ Compute a difference between this summary and a given review score.
Parameters: instance of Review. (An) – Returns: The difference between of the summary and the given review.
-
score¶ Return a float value representing this summary.
-
review.histogram module¶
Implementations of histogram review and summary classes.
- class
review.histogram.HistoReview(v, quantizer=<built-in function round>, date=None)[source]¶ Bases:
review.base.ReviewVector Review.
-
inner_product(other)[source]¶ Inner product of two vectors.
Parameters: other – a HistogramReview instance. Returns: the inner product between this and the other.
-
score¶ A float value representing score of this review.
-
vector¶ Raw vector.
-
- class
review.histogram.HistoSummary(reviews)[source]¶ Bases:
review.base.SummaryVector summary.
-
difference(r)[source]¶ Compute a difference between this summary and a given review score.
Parameters: instance of Review. (An) – Returns: The difference between of the summary and the given review.
-
score¶ Return a float value representing this summary.
-
review.scalar module¶
Implementations of scalar review and summary classes.
- class
review.scalar.AverageReview(v, date=None)[source]¶ Bases:
review.base.ReviewScalar review.
Parameters: v – a float value representing review score. The review score is a scalar value.
-
score¶ A float value representing score of this review.
-
- class
review.scalar.AverageSummary(scores)[source]¶ Bases:
review.base.SummaryScalar summary.
The summary is an average of given reviews.
-
difference(r)[source]¶ Difference between this summary and a given review.
Parameters: r – a review. Returns: a non-negative float value or 0 representing the difference between this summary and the given value.
-
score¶ Float value representing this summary.
-
v¶ Summary score.
-