Azure AI Language – Extractive Summarisation in Optimizely CMS

In this article, I demonstrate how extractive summarisation, provided by the Azure AI Language platform, can be leveraged to produce a set of summary sentences within the Optimizely CMS, when content is being published.

Extractive summarisation is a feature provided by Azure AI Language which produces a summary by extracting sentences that collectively represent the most important or relevant information within the original content.

There are many ways to use extractive summarisation in Optimizely CMS. It can improve SEO by using the summarisation as meta descriptions for pages. It can also help search engines understand webpage content by using it for title tags. Extractive summarisations can also be used for summaries on social media posts which link to webpages on the Optimizely CMS platform.

This feature can be implemented by downloading the “Patel.AzureAILanguage.Optimizely” NuGet package. You can get this package from the Optimizely NuGet Feed or the NuGet Feed.

After obtaining the NuGet Package and completing the required setup , the user needs to add a boolean property with the [TextAnalyticsAllowed] attribute to the Start Page Content Type to activate this functionality. This is detailed in the following link: TextAnalyticsAllowed Documentation.

Once this property has been added, an IList<string> property, with an [ExtractionSummarisationList] attribute is required. This property will be filled with the extractive summarisations generated from the Azure AI Language API. This can be added to any Optimizely CMS Content type that derives from IContent. Further information can be found in the following documentation: ExtractionSummarisationList Documentation.

The next step is to create one or many string properties with a [ExtractionSummarisation] attribute, suitable for addition to any Optimizely CMS Content type that inherits from IContent. Additional details are available via the following link: ExtractionSummarisation Documentation.

Upon adding these properties, users can then use the extractive summarisation feature in the CMS. Below is a screenshot showing the code used to get the extractive summarisations from the Azure AI Language API.

Response from the API via the Console

Extractive Summarisation operation has completed
Status : succeeded
Extractive Summarize, version: “2023-02-01-preview”

Extracted the following 3 sentence(s):
Sentence: Germans Ermics describes himself as an ‘existential’ designer.
Sentence: Born and raised in Riga, Latvia, Ermics’s first passion was sport.
Sentence: Ermics divides his work into different project types;

As indicated in the API response, the extractive summarisation process has yielded a total of three sentences which are populated in the IList<string> property and then published in the CMS. The resulting list is as follows: