PTI.Analyzers
1.1.2
See the version list below for details.
dotnet add package PTI.Analyzers --version 1.1.2
NuGet\Install-Package PTI.Analyzers -Version 1.1.2
<PackageReference Include="PTI.Analyzers" Version="1.1.2" />
paket add PTI.Analyzers --version 1.1.2
#r "nuget: PTI.Analyzers, 1.1.2"
// Install PTI.Analyzers as a Cake Addin #addin nuget:?package=PTI.Analyzers&version=1.1.2 // Install PTI.Analyzers as a Cake Tool #tool nuget:?package=PTI.Analyzers&version=1.1.2
PTIAnalyzers
This package allows you to get some insights on sentiment and personality based on a given text. Package requires you to have credentials for Azure Text Analytics and IBM Personality Insights
Pre- Requirements
In order to be able to use the package, you need to have the following
- Azure Text Analytics.
- You can learn how to configure one here: https://docs.microsoft.com/en-us/azure/cognitive-services/cognitive-services-apis-create-account
- Get the access key and endpoint url https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/how-tos/text-analytics-how-to-access-key
- IBM Personality Insights
- You can learn how to create an account here: https://cloud.ibm.com/docs/services/personality-insights?topic=personality-insights-gettingStarted#gettingStarted
- Get the username and password https://cloud.ibm.com/docs/services/watson?topic=watson-creating-credentials#creating-credentials
Analyze a given text
Install the package https://www.nuget.org/packages/PTI.Analyzers/
Create a new instance of TextAnalyzer and pass it the configured parameters.
If you want to intercept the http responses received, configure the event handler for OnHttpResponseReceivedEventHandler
Create a new instance of DataAnalyzer
Invoke "AnalyzeTextAndGenerateExcelFileAsync". It will return a byte[] corresponding to the generated XLSX file.
Do whatever you need to do with the generated bytes, such as save it to disk.
TextAnalyzer textAnalyzer = new TextAnalyzer(new MSTextAnalyticsConfiguration(Configuration.MSTextAnalyticsKey, Configuration.MSTextAnalyticsEndpoint), new IBMWatsonClientConfiguration(Configuration.IBMPersonalityInsightsUsername, Configuration.IBMPersonalityInsightsPassword)); textAnalyzer.OnHttpResponseReceivedEventHandler += TextAnalyzer_OnHttpResponseReceivedEventHandler; DataAnalyzer dataAnalyzer = new DataAnalyzer( textAnalyzer); var excelFileBytes = dataAnalyzer.AnalyzeTextAndGenerateExcelFileAsync(fileContents).Result; File.WriteAllBytes(@"C:\Temp\GeneratedExcelFile.xlsx", excelFileBytes);
Analyze a list of photos and generates temp files and byte[] with the modified image including the faces rectangles
Requires having credentials for Azure Face API and Computer Vision
Check Face API here https://docs.microsoft.com/en-us/azure/cognitive-services/face/overview
Check Computer Vision here https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/home
PhotoAnalyzer photoAnalyzer = new PhotoAnalyzer(new MSFaceApiConfiguration( FACEKEY, FACEENDPOINT), new MSComputerVisionApiConfiguration(VISIONKEY, VISIONENDPOINT)); DataAnalyzer dataAnalyzer = new DataAnalyzer( photoAnalyzer); List<PhotoInformation> lstPhotos = new List<PhotoInformation>(); string testFile = @"C:\TestFilesDirectory\testFile.jpg"; lstPhotos.Add(new PhotoInformation() { Filename = testFile, PhotoStream = File.OpenRead(testFile) }); await dataAnalyzer.AnalyzePhotoStream(lstPhotos, Color.Blue, 10, @"C:\Temp\GeneratedFiles"); foreach (var singlePhoto in lstPhotos) { var filenameWithoutPath = System.IO.Path.GetFileName(singlePhoto.Filename); var newFileFullPath = $@"C:\Temp\ModifiedPhoto{filenameWithoutPath}"; File.WriteAllBytes(newFileFullPath, singlePhoto.ModifiedPhotoBytes); }
Analyze an excel file and retrieve a modified copy including per row sentiment, personality information and sentiment over time chart
TextAnalyzer textAnalyzer =
new TextAnalyzer(new MSTextAnalyticsConfiguration("REPLACE WITH KEY",
"REPLACE WITH ENDPOINT"),
new IBMWatsonClientConfiguration("REPLACE WITH USERNAME",
"REPLACE WITH PASSWORD"));
AnalyzeAndDownloadExcelFileParameters parameters =
new AnalyzeAndDownloadExcelFileParameters()
{
ColumnNameForSentimentResults = "Sentiment",
ColumnToAnalyze = "Description",
ColumnWithDate = "ItemDate",
ColumnWithUniqueId = "UniqueId",
WorkSheetName = "Sheet1"
};
using (var fileStream =
File.OpenRead(@"REPLACE WITH LOCATION OF .XLSX FILE"))
{
using (MemoryStream memStream = new MemoryStream())
{
fileStream.CopyTo(memStream);
byte[] fileContents = memStream.ToArray();
DataAnalyzer dataAnalyzer = new DataAnalyzer(textAnalyzer);
var outputFileContents = dataAnalyzer.AnalyzeAndModifyExcelFile(parameters,
fileContents, memStream).Result;
File.WriteAllBytes(@"REPLACE WITH FULL PATH FOR RESULTING .XLSX FILE", outputFileContents);
}
}
Analyze User Tweets
LinqToTwitter.SingleUserAuthorizer singleUserAuthorizer =
new LinqToTwitter.SingleUserAuthorizer()
{
CredentialStore = new LinqToTwitter.SingleUserInMemoryCredentialStore()
{
ConsumerKey = "REPLACE WITH YOUR TWITTER APP CONSUMER KEY",
ConsumerSecret = "REPLACE WITH YOUR TWITTER APP CONSUMER SECRET",
AccessToken = "REPLACE WITH YOUR TWITTER APP ACCESS TOKEN",
AccessTokenSecret = "REPLACE WITH YOUR TWITTER APP ACCESS TOKEN",
ScreenName = "REPLACE WITH YOUR username"
}
};
TextAnalyzer textAnalyzer =
new TextAnalyzer(MSTextAnalyticsConfiguration,
IBMWatsonClientConfiguration);
DataAnalyzer dataAnalyzer = new DataAnalyzer(singleUserAuthorizer, textAnalyzer);
var result = await dataAnalyzer.AnalyzeUserTweetsAndGenerateExcelFileAsync("REPLACE WITH USER HANDLE TO ANALYZE");
File.WriteAllBytes(@"REPLACE WITH THE DESIRED .XLSX FILE FULL PATH", result);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.2 is compatible. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 2.2
- EPPlus (>= 4.5.3.1)
- linqtotwitter (>= 5.0.0)
- PTI.CognitiveServices (>= 1.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.3-beta | 438 | 10/16/2019 |
1.1.2 | 800 | 4/22/2019 |
1.1.2-beta | 505 | 4/21/2019 |
1.1.2-alpha | 440 | 4/18/2019 |
1.1.1-alpha | 451 | 4/17/2019 |
1.1.0-alpha | 447 | 4/17/2019 |
1.0.1 | 638 | 4/17/2019 |