Skip to content

Service Specification

Executive Summary

The Snippets service takes in the content of a review and identifies a set of sub-strings from that text which, when shared on social media, would have the highest impact to the growth of the business. The goal is to take potentially long-form review content and condense it into short, shareable, impactful, and ideally positive reflections on the company, which the company can use to promote themselves on channels which require short-form content.

  • Objective: Enrich our data to power opportunities for our clients to accelerate customer driven growth.
    • Our review text content becomes enriched by giving it a secondary form that is more shareable; the intention of sharing is to support customer driven growth.
  • Objective: Increase new customer acquisition for our clients.
    • Though not a direct referral, the intent of a social share is to drive new customer acquisition. Enhancing social shares thus increases customer acquisition.

Value to the Growth Platform

Social Sharing is a key feature of the growth platform. It allows users to share reviews on social media channels, using an image (if available in the review) and the text of the review. In many cases, the text of the review is too long to fit into a shareable post, so the Snippets service plays the important role of capturing shorter sub-strings from that text that still convey a strong overall message.

Put simply, Social Sharing would not function without Snippet extraction.

Service Level Agreements (SLAs)

Throughput

  • Median requests per second: 0.5
  • 95th percentile requests per second: 2.9
  • Variability in Daily Request Distribution: High
  • Variability in Weekly Request Distribution: Low
  • Times of year with abnormal expected traffic: None
  • Request 200 status: 99.0%

Latency

  • Median: 4.1 seconds
  • 95th percentile: 53.0s
  • 99th percentile: 63.5s
  • Worst Case Latency: 119s

Schema

- Instance
    - ID: review_id
      Description: Entity ID of the Review from which the content was extracted. Unique only within a namespace.
      Data Type: str
      Runtime Restrictions:
        - A number with 16 digits.
    - ID: namespace
      Description: The namespace of the Review from which the content was extracted. Always represents a Company.
      Data Type: str
      Runtime Restrictions:
        - The prefix "company_".
        - Followed by a 16 digit number.
    - ID: content
      Description: The text content of a Review.
- Parameters
    - ID: min_span_length
      Description: The minimum number of words that can be included in a "span", which is a sub-string candidate to be a Snippet.
      Runtime Restrictions: None.
    - ID: max_span_length
      Description: The maximum number of words that can be included in a "span", which is a sub-string candidate to be a Snippet.
      Runtime Restrictions: None.
    - ID: max_snippets
      Description: The maximum number of snippets that can be returned for the Review.
      Runtime Restrictions:
        - Greater than 0.
- Prediction
    - ID: snippets
      Description: A list of snippets from the given Review that best represent the Review, along with their confidence scores from the model.
      Data Type: struct
      Fields:
        - ID: content
          Description: Text content of a single Snippet.
          Runtime Restrictions: None.
        - ID: score
          Description: Model confidence score for the content.
          Runtime Restrictions:
            - Between 0 and 1.

Feedback Mechanisms

The most important feedback for snippets is its usage by clients. Client usage is recorded by observing the following aspects of social sharing:

  • When a social share is created, which snippet of the candidate snippets was selected?
  • What channel was the social share made on?
  • Did the client edit the text of the snippet? If so, what was the edited version?
  • How many people interacted with the resulting social share?

This information not only tells the next machine learning engineer developing the service which snippets are considered "more shareable" by our clients, but also which snippets were most engaging for their customers. Considering both the needs of the client and the customer is ideal for any machine learning service.