Utilizando ML.NET em aplicações Xamarin.Forms

Olá, hoje eu irei demonstrar como você pode utilizar o framework de Machine Learning ML.NET em suas aplicações Xamarin.Forms de uma maneira bem simples.

Este post é feito em parceria com Microsoft MVP Gabriel Schade, onde no post ML .NET: Classificador de Sentimentos ele explica o que é o ML.NET e como treinar um modelo de classificação de comentários.  Para este exemplo é de suma importância primeiro ler o post do Gabriel para que você entenda como criar e treinar o seu modelo.

Atualmente, o ML.NET 1.0 não é suportado na arquitetura de processador ARM, afetando aplicativos Xamarin (iOS, Android) e dispositivos IoT baseados em ARM, embora você sempre possa executar os modelos ML no “lado do servidor”  –  Microsoft Blog

Neste exemplo iremos executar o nosso modelo no servidor e consumir em nossas aplicações mobile.

Irei assumir que você acabou de criar um projeto Xamarin.Forms em branco.

O servidor irá retornar um JSON, então para desserialização do mesmo iremos utilizar o Plugin NewtonSoft.Json.

ADICIONANDO O NUGET PACKAGE

Instale o plugin em seu projeto compartilhado.

Screen Shot 2019-05-30 at 13.16.32

 

PredictionResult

Screen Shot 2019-05-30 at 13.28.10

Crie uma classe chamada PredictionResult, que será o objeto retornado pela api contendo as propriedades: Predicition, Probability e Score.

Emoji

Para este exemplo foi utilizado dois emojis, um para quando o comentário é considerado satisfatório e outro para quando o comentário é insatisfatório.

Satisfatório
happy

Insatisfatório
sad

Android

Em seu projeto .Android, adicione as imagens na pasta drawable que se encontra dentro de Resources.
Screen Shot 2019-05-30 at 13.39.54

iOS

Em seu projeto .iOS, adicione as imagens na Resources.

Screen Shot 2019-05-30 at 13.42.39

 

XAML

No arquivo xaml, crie os seguintes componentes:

  • Entry – Para o usuário informar um comentário.
  • Button – Para chamar o método GetResult que irá realizar a chamada para api.
  • Image – Para demonstrar o emoji.
  • Label – Para demonstrar o que foi retornado da api.

 

C#

Crie o método “GetResult” que será responsável de realizar a chamada ao método commentary da API concatenando o texto desejado.

Observação: Para este exemplo estou utilizando a API localmente, por isso que o endereço é um endereço de IP.

Após o retorno da API, será demonstrado o emoji de acordo com o a propriedade Predicition. Sendo true para satisfatório e false para insatisfatório.

 

Resultado

ezgif.com-video-to-gif.gif

 

Esse e todos os exemplos deste blog encontram-se disponíveis no GitHub.

icongithub

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s