Skip to content

Service Specification

Executive Summary

The Topics Service provides a mechanism to score reviews based on how relevant the content of those reviews are to a predefined topic. Such a topic might be "Affordable", or "Great Service". These topic scores can then be used in the aggregate to understand areas of strength and weakness for a particular company.

For example, take the following review content: * "Great experience! The staff was friendly and the food was delicious, albeit a little expensive. I would definitely recommend this restaurant to a friend."

This review would be scored highly for the "Great Service" topic, but would be scored low for the "Affordable" topic.

Custom topic lists and query phrases can be provided to the service, and the service will return scores for only those topics. If no custom topic list is provided, the service will return scores for all default topics, which can be found in the appendix.

N/A

Value to the Growth Platform

Understanding the content of reviews enables us to better understand the reviews and users that interact with our growth platform. This information can be used to foster a better user experience, and to better understand the needs of our users.

Service Level Agreements (SLAs)

Throughput

Median: 6 requests/second
99th Percentile: 11 requests/second

Latency

Median: 1 second
99th Percentile: 2 seconds

Schema

- Instance:
    - ID: content
      Description: Content of Review
      Data Type: string
      Runtime Restrictions:
        - None
    - ID: review_id
      Description: Global ID of Review Item
      Data Type:
      Runtime Restrictions:
        - None
    - ID: namespace
      Description: Namespace of Review Item
      Data Type: string
      Runtime Restrictions:
        - None
    - ID: rating
      Description: Star Rating of Review Item
      Data Type: float
      Runtime Restrictions:
        - None

- Parameters:
    - ID: max_sentences
      Description: Maximum number of sentences used in batching.
      Data Type: int
      Runtime Restrictions:
        - None
    - ID: refine_topic_list
      Description: Topics to consider. If left empty, default topics will be used.
      Data Type: list[string]
      Runtime Restrictions:
        - None
    - ID: entailment_input
      Description: Key-Value mapping of topics to query phrases. If left empty, default query phrases will be used.
      Data Type: dict[str, str]
      Runtime Restrictions:
        - None
    - ID: text_separator
      Description: Custom prefix to add after [SEP] token. If left empty, default prefix will be used.
      Data Type: str
      Runtime Restrictions:
        - None

- Prediction:
    - ID: topics
      Description: List of topic scores.
      Data Type: list[dict[str, float]]. (Key-value pair of topic and score)
      Runtime Restrictions:
        - None

Feedback Mechanisms

We do not currently have an established feedback mechanism for this service.

Appendix

Topic Name Query Phrase
service_reliable The service is consistently reliable
service_professional The service was provided in a professional manner
people_lots_of_experience They were very experienced
service_great_results I was very happy with the service provided
service_fast The service was provided fast
service_affordable The service was worth more than it cost
people_quick_response They were quick to respond to requests
people_organized These people were very organized
people_on_time They arrived on time
people_knowledgeable The staff answered questions and gave advice
people_great These people were great to work with
people_friendly These people were friendly
people_communicative They communicated very well
people_careful They were very careful
company_recommend I would definitely recommend this company
company_low_effort The company was easy to work with
company_guarantee_honoured The company honours its guarantees
company_easy_to_contact The company was easy to contact
service_not_reliable The service is not consistently reliable
service_not_professional The service was not provided in a professional manner
people_limited_experience They had limited experience
service_slow The service took longer than expected
service_poor_results I was not happy with the service provided
service_expensive The service cost more than it was worth
people_uncommunicative They did not communicate well
people_slow_response They were slow to respond to requests
people_poor These people were difficult to work with
people_not_knowledgeable The staff could not answer questions or give advice
people_not_friendly These people were not friendly
people_late They arrived late
people_disorganized These people were not organized
people_careless They were careless
company_not_recommend I would not recommend this company
company_high_effort The company was hard to work with
company_hard_to_contact The company was hard to contact
company_guarantee_not_honoured The company did not honour its guarantee