Análise de Entidade de Texto ou Documentos usando uma API REST em C#

Você pode facilmente realizar análises de sentimento para seus documentos ou texto de forma programática. É usado para determinar se o texto ou os dados são positivos, negativos ou neutros. Também ajuda você a identificar e extrair opiniões para usar em benefício de suas operações comerciais. Neste artigo, você aprenderá como realizar a análise de sentimento do Texto ou Documentos usando uma API REST em C#.

Os seguintes tópicos são discutidos/cobertos neste artigo:

API REST de análise de sentimento e SDK .NET

Para análise de sentimento de texto ou documentos, usarei a API .NET SDK of GroupDocs.Classification Cloud. Ele permite que você classifique seu texto bruto, bem como documentos em categorias predefinidas. O SDK oferece suporte a vários tipos de taxonomia, como IAB-2, documentos e taxonomia de sentimento. Ele permite que você classifique documentos de formatos de arquivo suportados, como PDF, Word, OpenDocument, RTF e TXT. As informações de classificação mostram a melhor classe com sua pontuação de probabilidade.

Você pode instalar GroupDocs.Classification Cloud em seu projeto do Visual Studio a partir do Gerenciador de Pacotes NuGet. Você pode instalá-lo usando o seguinte comando no console do Gerenciador de Pacotes:

Install-Package GroupDocs.Classification-Cloud

Obtenha seu ID e segredo do cliente no painel antes de começar a seguir as etapas e os exemplos de código disponíveis. Depois de ter seu ID de cliente e segredo, adicione o código conforme mostrado abaixo:

var configuration = new Configuration();
configuration.ClientId = "659fe7da-715b-4744-a0f7-cf469a392b73";
configuration.ClientSecret = "b377c36cfa28fa69960ebac6b6e36421";

Análise de sentimento de documentos usando uma API REST em C#

Siga as etapas mencionadas abaixo para realizar a análise de sentimento de seus documentos na nuvem.

Carregue o Documento

Em primeiro lugar, carregue o arquivo DOCX na nuvem usando o exemplo de código abaixo:

// inicialização da API
var apiInstance = new FileApi(configuration);

// abrir arquivo no IOStream
var fileStream = File.Open("C:\\Files\\Classification\\sample.docx", FileMode.Open);

// criar solicitação de upload de arquivo
var request = new UploadFileRequest("sample.docx", fileStream, "");

// subir arquivo
var response = apiInstance.UploadFile(request);

Como resultado, o arquivo DOCX carregado estará disponível na seção de arquivos do seu painel na nuvem.

Classifique documentos com análise de sentimento usando C#

Você pode facilmente realizar análises de sentimento de seus documentos e classificá-los na nuvem seguindo as etapas abaixo:

  • Crie uma instância da ClassificationApi
  • Crie uma instância do BaseRequest
  • Defina o caminho do arquivo DOCX no modelo FileInfo
  • Defina o FileInfo para o documento BaseRequest
  • Crie um ClassifyRequest com o BaseRequest
  • Defina a taxonomia da análise de sentimento
  • Obtenha resultados chamando o método ClassificationApi.Classify() com o ClassifyRequest

O exemplo de código a seguir mostra como executar a análise de sentimento de um documento usando uma API REST em C#.

// inicialização da API
var apiInstance = new ClassificationApi(configuration);

// criar solicitação básica
BaseRequest baseRequest = new BaseRequest();
baseRequest.Document = new GroupDocs.Classification.Cloud.Sdk.Model.FileInfo()
{
    Name = "sample.docx",
    Folder = ""
};

// criar solicitação de classificação
var request = new ClassifyRequest(baseRequest);

// taxonomia de análise de sentimento
request.Taxonomy = "sentiment3";

// obter resultados de classificação
ClassificationResponse response = apiInstance.Classify(request);

// Mostrar resultados
foreach(var r in response.BestResults)
{
    Console.WriteLine("ClassName :" + r.ClassName);
    Console.WriteLine("ClassProbability :" + r.ClassProbability);
    Console.WriteLine("--------------------------------");
}
ClassName :Positive
ClassProbability :83.35
--------------------------------
ClassName :Neutral
ClassProbability :9.69
--------------------------------
ClassName :Negative
ClassProbability :6.96
--------------------------------

Classificar texto com análise de sentimento usando uma API REST em C#

Você pode executar a análise de sentimento do texto bruto e classificá-lo programaticamente na nuvem seguindo as etapas abaixo.

  • Crie uma instância da ClassificationApi
  • Crie uma instância do BaseRequest
  • Forneça um texto bruto para a descrição de BaseRequest
  • Crie um ClassifyRequest com o BaseRequest
  • Defina a taxonomia da análise de sentimento
  • Obtenha resultados chamando o método ClassificationApi.Classify() com ClassifyRequest

O exemplo de código a seguir mostra como executar a análise de sentimento de um texto usando uma API REST em C#.

// inicialização da API
var apiInstance = new ClassificationApi(configuration);

// criar solicitação básica
BaseRequest baseRequest = new BaseRequest();
baseRequest.Description = "We support some of the most popular file formats in business, "
    + "including Microsoft Word documents, Excel spreadsheets, PowerPoint presentations, "
    + "Outlook emails and archives, Visio diagrams, Project files, and Adobe Acrobat PDF documents..";

// criar solicitação de classificação
var request = new ClassifyRequest(baseRequest);
request.Taxonomy = "sentiment3";

// obter resultados de classificação
var response = apiInstance.Classify(request);

// Mostrar resultados
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName : " + r.ClassName);
    Console.WriteLine("ClassProbability : " + r.ClassProbability);
    Console.WriteLine("--------------------------------");
}
ClassName : Positive
ClassProbability : 69.41
--------------------------------
ClassName : Neutral
ClassProbability : 22.08
--------------------------------
ClassName : Negative
ClassProbability : 8.51
--------------------------------

Análise de sentimento de várias sentenças em C#

Você pode classificar várias frases dadas em um lote de texto e executar a análise de sentimento de forma programática na nuvem seguindo as etapas abaixo:

  • Crie uma instância da ClassificationApi
  • Crie uma instância do BatchRequest
  • Forneça várias frases em um lote de texto para o BatchRequest
  • Defina a taxonomia da análise de sentimento
  • Crie um ClassifyBatchRequest com o BatchRequest e a taxonomia
  • Obtenha resultados chamando o método ClassificationApi.ClassifyBatch() com ClassifyBatchRequest

O exemplo de código a seguir mostra como classificar um lote de texto com a análise de sentimento usando uma API REST em C#.

// inicialização da API
var apiInstance = new ClassificationApi(configuration);

// criar solicitação de texto em lote
var batchRequest = new BatchRequest
{
    Batch = new List<string> { { "Now that is out of the way, this thing is a beast. It is fast and runs cool." },
        { "Experience is simply the name we give our mistakes" },
        { "When I used compressed air a cloud of dust bellowed out from the card (small scuffs and scratches)." },
        { "This is Pathetic." },
        { "Excellent work done!" }
    }
};

// criar pedido de classificação em lote
var request = new ClassifyBatchRequest(batchRequest, taxonomy: "sentiment");

// obter resultados de classificação
var response = apiInstance.ClassifyBatch(request);

// Mostrar resultados
for (int x=0; x<response.Results.Count; x++)
{
    var res = response.Results[x];
    Console.WriteLine("Text : " + batchRequest.Batch[x]);
    Console.WriteLine("ClassName : " + res.BestClassName);
    Console.WriteLine("ClassProbability : " + res.BestClassProbability);
    Console.WriteLine("--------------------------------");
}
Text : Now that is out of the way, this thing is a beast. It is fast and runs cool.
ClassName : Positive
ClassProbability : 85.27
--------------------------------
Text : Experience is simply the name we give our mistakes
ClassName : Negative
ClassProbability : 72.56
--------------------------------
Text : When I used compressed air a cloud of dust bellowed out from the card (small scuffs and scratches).
ClassName : Negative
ClassProbability : 70.84
--------------------------------
Text : This is Pathetic.
ClassName : Negative
ClassProbability : 88.48
--------------------------------
Text : Excellent work done!
ClassName : Positive
ClassProbability : 90.41
--------------------------------

Experimente on-line

Experimente a seguinte ferramenta de classificação online gratuita, desenvolvida usando a API acima. https://products.groupdocs.app/classificação[/](https:/ /products.groupdocs.app/splitter/pdf)

Conclusão

Neste artigo, você aprendeu como classificar documentos com análise de sentimento usando uma API REST. Você também aprendeu como realizar análise de sentimento no lote de texto em C#. Além disso, você aprendeu como carregar programaticamente o arquivo DOCX na nuvem. Você pode aprender mais sobre GroupDocs.Classification Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade, sinta-se à vontade para nos contatar no fórum.

Veja também