Qualquer empresa moderna se preocupa com sua reputação. Frases: “Sua opinião é muito importante para nós” ou “Avalie sua compra”, “Você recomendaria nossa empresa?” literalmente nos assombrando a cada passo nos sites de lojas, clínicas e até serviços públicos. As agências governamentais e outras empresas se interessaram em avaliar seu trabalho e também estão prestando atenção nisso. As instalações médicas não renovarão contratos com especialistas que prevalecem negativamente há muito tempo. Os provedores de serviços estão tentando monitorar constantemente a reação dos consumidores a bens e serviços, a fim de tornar seus serviços mais acessíveis, de qualidade e, portanto, competitivos. A opinião ajuda outros consumidores a ter uma idéia da instituição, instituição, produto ou serviço antes da compra e, assim, evita erros nas compras. As grandes empresas, sem falhas, contêm em suas estruturas de equipe para combater a saída de clientes, departamentos de relações públicas, em que o fator principal é a resposta oportuna às solicitações dos consumidores. Como construir o trabalho de tais estruturas sem aumentar os custos e aumentar a velocidade de resposta? Como exemplo, consideremos o uso do aprendizado de máquina para a análise operacional de um grande número de respostas dos respondentes.
Multilinguismo
Para começar, considere um exemplo que demonstra os recursos da abordagem moderna de UX / UI para o desenvolvimento da interface do usuário. Suponha que você seja o proprietário de uma empresa multinacional de serviços em todo o mundo.

Após cada compra, você solicita que seus clientes deixem comentários sobre o seu produto. Tecnicamente, seu software atual é organizado de forma que, independentemente do idioma que os usuários deixem, eles caem indiscriminadamente no "porão" do produto. Surge o problema de como determinar em qual idioma uma revisão é deixada, qual é a sua tonalidade e, na melhor das hipóteses, traduzi-la para vários idiomas e demonstrar uma tradução adequada de todas as revisões para o usuário atual em seu idioma nativo, independentemente do idioma original.
Se você entrar em contato com o desenvolvedor agora, provavelmente será oferecida uma opção na qual a tarefa de escolher o idioma será confiada ao usuário. Provavelmente será assim

O usuário será solicitado a selecionar um idioma em uma lista longa e, às vezes, os idiomas serão listados sem tradução, o que, por sua vez, confunde o usuário. Parece algo assim

Com base no fato de que a maioria dos usuários fala duas línguas, apenas duas linhas serão compreensíveis para elas; essas, de fato, a escolha se transforma em "tortura".
Outra abordagem não menos comum que eles podem oferecer é a definição de uma região por endereço IP e, como resultado, o idioma comum mais provável. As condições da globalização moderna não são a melhor abordagem, para indicar suas deficiências, basta observar a importância do software moderno em relação à região da sua localização, apenas os residentes de Moscou tiveram sorte nesse aspecto, provavelmente sua região é sempre determinada corretamente.
Aprendizado de máquina
Uma das maneiras elegantes de resolver esses problemas pode ser o aprendizado de máquina. Atualmente, isso nem precisa ser profundamente proficiente em matemática. Por exemplo, basta usar o Serviço Cognitivo do MS Azure

que pela frase inserida permitirá determinar vários indicadores do texto digitado, incluindo idioma, frases-chave e sua tonalidade. Para o caso em consideração, isso simplifica a interface a seguir.

Você não precisa mais solicitar o idioma de entrada e a classificação do usuário - esses fatos ocorrem automaticamente. Depois disso, a tarefa de distribuir chamadas para filiais regionais, bem como monitorar a saída de clientes, é bastante simplificada

Uma parte significativa do esforço é transferida do usuário e funcionários para uma máquina que não se cansa, trabalha rapidamente e é muito menos equivocada em aspectos mecânicos.

Serviço cognitivo
Primeiro de tudo, você precisa se conectar ao Serviço Cognitivo do MS Azure e obter acesso a uma API que analisa o texto fornecido e retorna suas características. Esse processo não é complicado e será discutido em mais detalhes em um artigo separado

Há duas maneiras de acessar a API usando uma solicitação HTTP e um cliente. Em particular, para .net, você precisa conectar o pacote

chamar a API ainda mais
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://northeurope.api.cognitive.microsoft.com/text/analytics/v2.0/languages"); httpWebRequest.Method = "POST"; httpWebRequest.Headers.Add("Content-Type:application/json"); httpWebRequest.Headers.Add("Ocp-Apim-Subscription-Key:61..."); var documents = new Documents(); documents.Add(new Document(Description)); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = JsonConvert.SerializeObject(documents); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); }
e analise a resposta recebida
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); String response; using (var streamReader = new StreamReader(httpResponse.GetResponseStream(), Encoding.UTF8)) { response = streamReader.ReadToEnd(); } var result = JsonConvert.DeserializeObject<DocumentsResult>(response); var doc = result.documents[0].detectedLanguages[0];
Se escrevermos os dados recebidos no banco de dados, obteremos o seguinte

(Um exemplo é adicionado após um comentário do usuário em um artigo)

Análise de Resultados
Analisaremos os resultados e, para isso, criaremos vários relatórios usando o pacote de software FastReport, que possui uma versão de código aberto em sua entrega.
youtu.be/Tyu7v24zer0Ative a classificação por tonalidade (1 positivo, 0 negativo), obtemos críticas positivas agrupadas na parte superior e críticas negativas agrupadas na parte inferior.
youtu.be/HbuXMuDZFmoSe necessário, você pode agrupar revisões por idioma e enviar relatórios relevantes para unidades regionais
youtu.be/YF8RG3g5FRsConclusão
Novas tecnologias não apenas melhoram significativamente a interface do usuário, mas também otimizam o trabalho dos funcionários, reduzem os custos de desenvolvimento. Recuse modificações dispendiosas no software existente. As perspectivas de aprendizado de máquina em um futuro próximo melhorarão significativamente a qualidade do software e a satisfação do usuário. O uso de soluções de relatório facilmente implementadas permitirá que mais usuários acessem dados sem programação pesada.
Referências
github.com/ufocombat/Languages-openazure.microsoft.com/en-us/services/cognitive-services/text-analyticswww.fast-report.com/enyoutu.be/Tyu7v24zer0youtu.be/HbuXMuDZFmoyoutu.be/YF8RG3g5FRs