This is a Proof of Concept (POC) demonstrating how AI can enhance the safety and efficiency of processing free-text course evaluations by detecting potential threats and categorizing feedback for manual review.
This POC offers two approaches to classify course evaluations:
- Azure Logic App: Orchestrates text classification using Azure Language Services and SharePoint lists. This method is better suited for non-developers.
- Azure Function: Classifies text using Azure Language Services. This approach is ideal for developers who prefer handling input/output directly.
Select the approach that best fits your needs. The Logic App/SharePoint approach is better suited for 'non-developers', whereas the Function App only processes the data and leaves the input/output to you.
Note: Azure Content Safety produced inconsistent results for texts in Swedish, so a translation option has been added. Sentiment analysis is performed on the original text.
- An Azure subscription with permissions to create resources.
- Access to a SharePoint site with permissions to create lists.
- A service account or similar credentials to authenticate the Logic App or Azure Function with the SharePoint site.
- Create the necessary Azure resources as outlined in the prerequisites section.
- Set up SharePoint lists as described in the SharePoint Lists section.
- Deploy resources following the instructions in the Deployment section.
Import the templates to your SharePoint site:
MainListTemplate.csv: Main list template with example data.SettingsTemplate.csv: Settings list template containing default values.
Modify the settings list as needed to match your requirements.
Note: The parameters below are sample values.
-
Create a resource group to deploy the Logic App and related resources:
az group create --name course-eval-ai-rg --location swedencentral -
Deploy using the
main.bicepfile. You can set parameters directly in the file or via the--parametersflag.The parameters needed are:
namePrefix: Prefix for the names of the resources. Default is 'course-eval-ai'.sharepointSiteUrl: URL of the SharePoint site.sharepointListMainName: Name of the main SharePoint list.sharepointListSettingsName: Name of the settings SharePoint list. Default is 'Settings'.
Deployment Commands
-
If parameters are set in the
main.bicepfile:az deployment group create ` --resource-group course-eval-ai-rg ` --template-file main.bicep -
If parameters are not set in the
main.bicepfile:az deployment group create ` --resource-group course-eval-ai-rg ` --template-file main.bicep ` --parameters ` namePrefix=course-eval-ai ` sharepointSiteUrl=https://somesharepoint.com/sites/somesite ` sharepointListMainName=CourseEvaluations ` sharepointListSettingsName=Settings
-
Post-Deployment Steps:
- In the Logic App, go to the
Connectionstab and authenticate the connector with a user that have access to the SharePoint lists. - Enable the Logic App.
- In the Logic App, go to the
Check the Wiki.
For detailed information on setting up and using the Azure Function, refer to the readme.md for the Azure function.