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.
Related Objectives and Key Results (OKRs)¶
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 |