-
Notifications
You must be signed in to change notification settings - Fork 0
/
artigo.tex
626 lines (563 loc) · 49.2 KB
/
artigo.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
\documentclass{article}
\usepackage{arxiv}
\usepackage[utf8]{inputenc} % allow utf-8 input
\usepackage[T1]{fontenc} % use 8-bit T1 fonts
\usepackage{hyperref} % hyperlinks
\usepackage{url} % simple URL typesetting
\usepackage{booktabs} % professional-quality tables
\usepackage{amsfonts} % blackboard math symbols
\usepackage{nicefrac} % compact symbols for 1/2, etc.
\usepackage{microtype} % microtypograph
\usepackage{lipsum}
\usepackage[brazil]{babel} % Suporte a pt-br
\usepackage{float} % Pacote para gerenciamento de flutuantes, como imagens e tabelas
\usepackage{makecell} % Biblioteca para quebrar linhas em células de tabelas
\usepackage{graphicx} % Biblioteca para o gerenciamento de imagens
\usepackage{csquotes} % Para a formatação de citações
\usepackage[most]{tcolorbox}
\usepackage{appendix}
\usepackage{footnote}
\usepackage{biblatex} % Gerenciador de referências
\addbibresource{referencias.bib}
\graphicspath{{./imagens/}} % O path onde as imagens estão
\makesavenoteenv{tabular}
\makesavenoteenv{table}
\definecolor{darkblue}{rgb}{0.0, 0.0, 0.55}
\newtcolorbox{myquote}[2][]{
grow to right by=-10mm,
grow to left by=-10mm,
boxrule=0pt,
breakable,
enhanced jigsaw,
borderline west={1pt}{0pt}{darkblue},
opacityback=0,
#1,
}
\title{Comparativo entre os principais provedores de Aprendizado de Máquina como um Serviço}
\author{
Luiz Felipe da Conceição Souza \\
Departamento de Computação\\
Universidade Federal de Sergipe - Campus São Cristóvão\\
São Cristóvão, Sergipe \\
\texttt{luizfcs@dcomp.ufs.br} \\
\And
Hendrik Teixeira Macedo \\
Departamento de Computação\\
Universidade Federal de Sergipe - Campus São Cristóvão\\
São Cristóvão, Sergipe \\
\texttt{hendrik@dcomp.ufs.br} \\
}
\begin{document}
\maketitle
\begin{abstract}
% \lipsum[1]
Aprendizado de Máquina como Serviço (MLaaS) são serviços ofertados via computação em nuvem para que desenvolvedores possam utilizar os benefícios do Aprendizado de Máquina em suas aplicações, sem conhecimento específico nessa área. Com o objetivo de guiar tais desenvolvedores na escolha de um provedor de MLaaS, tabelamos neste estudo os preços dos principais provedores: Google Cloud, Amazon AWS, IBM Watson e Microsoft Azure. Com isso, notamos também que alguns provedores permitem o treinamento de modelos em alguns serviços específicos, enquanto outros apenas oferecem as funcionalidades já prontas.
\end{abstract}
% keywords can be removed
\keywords{Processamento de Linguagem Natural \and Processamento de Imagem \and Computação em nuvem \and Cloud \and NLP \and PLN, \and Desenvolvimento de Software \and Inteligência Artificial \and Comparação \and Aprendizado de Máquina como Serviço \and MLaaS}
\section{Introdução}
% Na introdução, precisamos ter:
% * Objetivo geral e específicos
% * Resultados esperados
% * Limitações do trabalho
% * Metodologia utilizada
% * Justificativa
% * fechando com uma explicação das demais seções do trabalho
Com o crescimento da área de Aprendizado de Máquina (do inglês, \textit{Machine Learning}, ML)\cite{alpaydin2014introduction}, muitos desenvolvedores que querem desenvolver aplicações utilizando tais tecnologias são barrados por sua complexidade técnica \cite{ribeiro2015}. Dessa forma, com o uso da Computação em Nuvem, grandes empresas têm utilizado sua infraestrutura para oferecer ML como um Serviço (\textit{Machine Learning as a Service, MLaaS}) de forma que o desenvolvedor possa utilizar em suas aplicações, sem precisar dedicar horas de qualificação técnica em algoritmos de Reconhecimento de Padrões e ML. No entanto, em vista dos vários serviços oferecidos por diversas empresas, o desenvolvedor comum pode sentir-se indeciso e confuso ao escolher quais ferramentas melhor se adéquam à sua necessidade, seja para desenvolvimento em uma empresa, ou para algum projeto pessoal.
Sendo assim, esse estudo foi realizado com o objetivo de documentar e comparar os serviços de Processamento de Linguagem Natural (do inglês, Natural Language Processing, NLP) e Processamento de Imagem (PI) disponíveis pelas empresas selecionadas, de modo a servir de referência e facilitar o processo de escolha de um programador leigo. Para isso, foram visitados os sites das empresas Google, Amazon, IBM, Microsoft e Facebook em busca de ferramentas relacionadas a PI e NLP. A partir disso, tabelamos quais dessas tarefas estão disponíveis por cada empresa e comparamos seus preços. Ao longo do levantamento, foi observado que o Facebook possui um modelo de negócios distinto do das outras empresas, em relação à disponibilização das ferramentas observadas. Seus softwares ficam disponíveis como bibliotecas e APIs de código aberto, no GitHub, ao contrário das demais empresas que as oferecem como serviços. Dessa forma, removemos as ferramentas do Facebook deste levantamento.
Este trabalho está estruturado da seguinte forma: Na seção 2, descrevemos o método utilizado para este estudo. Na seção 3, são apresentados alguns trabalhos relacionados. Introduzimos os conceitos das ferramentas oferecidas como serviço na seção 4. Os comparativos de preços e a disponibilidade das ferramentas analisadas são apresentados na seção 5. Por fim, a conclusão é feita na seção 6. Os endereços URL das ferramentas apresentadas neste estudo são listados em um apêndice no final do artigo.
\section{Método}
Em virtude de encontrar e analisar serviços de NLP e PI, foram selecionadas 5 empresas que prestam serviços em nuvem relacionados a ML, sendo essas: Google, Amazon, IBM, Facebook e Microsoft. A partir dessa seleção, foram listadas ferramentas relacionadas às áreas de interesse, através de buscas nos sites das empresas analisadas. Em seguida, organizamos os dados em tabelas, indicando quais empresas forneciam ou não serviços com as respectivas tarefas e comparativos entre os custos de cada plataforma. Escolhemos exibir os preços em dólar, seu valor bruto, pois o valor em reais pode estar sujeito a taxas de transações internacionais e à cotação, influenciando no preço final. Durante o estudo, notamos que algumas plataformas oferecem serviços de treinamento de modelos de ML. Essa funcionalidade também foi levada em consideração em uma seção à parte. O estudo foi feito no primeiro semestre de 2019, os preços foram atualizados no mês de julho do mesmo ano.
% Falar sobre aprendizado de máquina como serviço
% Computação em nuvem
% Processamento de linguagem natural
% Processamento inteligente de imagens
\section{Trabalhos relacionados}
\subsection{Complexidade vs. performance: análise empírica de Aprendizado de Máquina como Serviço}
Visando a pesquisa em redes, \cite{yao2017} compara os provedores de MLaaS, levando em consideração sua performance e complexidade quando há controle por parte do usuário. Os autores fazem essa análise em 6 plataformas: Amazon ML (Amazon), Automatic Business Modeler (ABM), BigML, Google Prediction API (Google), Microsoft Azure ML Studio (Microsoft) e PredictionIO, e buscam entender sob quais circunstâncias o desempenho dos MLaaS é superior ao desempenho de um modelo de ML desenvolvido independentemente. Os autores concluem que os MLaaS, quando corretamente utilizados, possuem desempenho melhor que os modelos independentes.
\subsection{Comparativo de várias plataformas de computação em nuvem}
Os autores \cite{peng2009comparison} comparam as plataformas de computação em nuvem \textit{Abicloud}, \textit{Eucalyptus}, \textit{Nimbus} e \textit{OpenNebula}. O estudo leva em conta para a comparação o caráter do serviço, se é privado, público ou híbrido, sua escalabilidade, sua forma - se é de Infraestrutura como serviço, plataforma como Serviço (IaaS) ou Software como Serviço (SaaS) -, dentre outros aspectos. Os autores buscam que seu trabalho sirva como referência para guiar a escolha de algum dos serviços em nuvem, visto que cada um possui suas próprias vantagens e desvantagens.
\subsection{Comparação de plataformas de computação em nuvem providas pela Amazon e Google}
Um outro estudo focado nos serviços em nuvem da Amazon e Google é feito por \cite{hyseni2017comparison}. Nesse trabalho, os autores comparam todos os serviços oferecidos em nuvem pelas empresas, incluindo IaaS, Plataforma como Serviço (PaaS) e SaaS, seus preços e instâncias de máquina virtual. Os autores concluem que a Amazon oferece mais serviços que a Google. No entanto, os preços desta são mais baixos, ficando de acordo com as necessidades do consumidor se a escolha será pautada em mais serviços ou em preços mais baixos.
\subsection{Modelos e esquemas de preço dos provedores de IaaS: Um estudo de comparação}
Um estudo de comparação é feito por \cite{murthy2012pricing} entre os esquemas e modelos de preços dos provedores de IaaS. Os autores classificam as relações entre custo / benefício em modelos matemáticos. Também comparam os serviços em várias categorias: por espaço de armazenamento, para recursos computacionais (CPU, RAM e espaço em disco). Os autores concluem chamando a atenção para o fato de que há outros fatores determinantes ao escolher um provedor de IaaS, além do preço.
Ao contrário de \cite{peng2009comparison}, \cite{hyseni2017comparison} e \cite{murthy2012pricing}, voltaremos a atenção, neste presente estudo, aos provedores de SaaS. Mais especificamente, assim como \cite{yao2017} aos provedores de MLaaS, levando em conta alguns dos provedores mais populares da Google, Amazon, IBM e Microsoft.
\section{Ferramentas}
Nesta seção listaremos as tarefas oferecidas pelos serviços analisados e descreveremos cada uma delas, além de exibir ilustrações e exemplos para alguns casos. Foram encontradas um total de 24 tarefas, sendo 11 delas relacionadas a NLP e 13 a PI. Descrevemos essas tarefas nas subseções 4.1 e 4.2, respectivamente.
\subsection{Ferramentas de Processamento de Linguagem Natural}
Nesta subseção, serão descritas as funcionalidades das 11 tarefas de NLP encontradas no levantamento. Por linguagem natural, entende-se linguagens utilizadas para comunicação entre seres humanos, tais como Português, Iorubá, Francês, etc. Sendo assim, NLP é definido como quaisquer manipulações computacionais sobre textos em linguagem natural \cite{nltk}. Para ilustrar algumas tarefas, utilizamos a demonstração da IBM Cloud sobre o texto:
\begin{myquote}
"It was cold today and i still feel tired. One more sleepless night, it's the fifith this week. It's raining in the roof. Outside the window, the Aracaju streets are empty, the world is empty. My head hurts, my heart still hurts. I don't know what i was thinking when i said 'i love you'. I miss you. I miss you so much."
\end{myquote}
\textbf{Análise de sentimento}: Identifica o sentimento retratado em um bloco de texto, sendo esses sentimentos positivos, negativos, algo intermediário entre os dois ou neutro. A figura 1 exibe o resultado da análise de sentimentos pelo IBM Cloud; nela podemos ver que a ferramenta detectou no texto 44\% de alegria, 10\% de raiva, 6\% de desgosto, 70\% de tristeza e 73\% de medo. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/nlp_sentimentos.jpg}
\caption{Análise de sentimentos usando IBM Cloud}
\label{fig:my_label}
\end{figure}{}
\textbf{Análise sintática}: Classifica palavras em classes gramaticais, como substantivos, adjetivos e verbos. Na figura 2, podemos ver como a ferramenta da IBM Cloud classificou sintaticamente as três primeiras palavras da frase \textit{"It was cold today and i still feel tired"}. \textit{It} foi classificado como sujeito, \textit{was} como ação (verbo) e \textit{cold} como objeto. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/nlp_analise_sintatica.jpg}
\caption{Exemplo de análise sintática utilizando IBM Cloud}
\label{fig:sintatica}
\end{figure}{}
\textbf{Análise de entidades}: Identifica entidades em um texto, como pessoas, locais e produtos. É possível verificar, na figura 3, como a ferramenta da IBM Cloud identificou "Aracaju" como uma entidade do tipo localização com 95\% de confiabilidade. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/nlp_entidade.jpg}
\caption{Exemplo de análise de entidades utilizando IBM Cloud}
\label{fig:nlp_entidades}
\end{figure}{}
\textbf{Classificação de Conteúdo}: Identifica entidades em um texto e as classifica, a partir de classificações pré-definidas, como pessoas, empresas, lugares, cidades, etc. O texto supracitado foi classificado nas categorias "arte e entretenimento / shows e eventos", "arte e entretenimento / shows e eventos / concurso de beleza" e "família / bebês e crianças / roupas de bebê", com 61\%, 60\% e 56\% de confiabilidade, respectivamente, como mostrado na figura 4. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/nlp_classificacao.jpg}
\caption{Classificação de conteúdo utilizando IBM Cloud}
\label{fig:nlp_classificacao}
\end{figure}{}
\textbf{Extração de palavras-chave}: Identifica e extrai palavras relevantes em um texto. Na figura 5, podemos ver como \textit{cold today}, \textit{sleepless night}, \textit{head hurts}, dentre outras, foram classificadas, respectivamente, com 84\%, 84\% e 77\% de relevância no texto. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/nlp_extracao_keywords.jpg}
\caption{Extração de palavras-chave utilizando IBM Cloud}
\label{fig:nlp_keywords}
\end{figure}{}
\textbf{Detecção de idioma}: Identifica o idioma predominante em um texto. É geralmente utilizado em conjunto com serviços de tradução. Na figura 6, podemos ver um exemplo de detecção de idioma no Google Tradutor. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/deteccao_idioma.png}
\caption{Detecção de idioma no Google Tradutor}
\label{fig:deteccao_idioma}
\end{figure}{}
\textbf{Text-to-speech}: Ferramentas de sintetização de áudio a partir de textos. \\
\textbf{Speech-to-text}: Ferramentas de transcrição de áudio. \\
\textbf{Chatbot}: Serviços que oferecem uma plataforma, como \textit{chats}, para tarefas de NLP. A partir de tal plataforma, é possível criar aplicações em que o cliente interage com um \textit{bot} através de linguagem natural e obtém respostas, como em um serviço de bate-papo online. O Google Assistant, presente nativamente em dispositivos Android, a partir da versão 6.0 ou superior do sistema operacional é um exemplo de \textit{chatbot}, como ilustrado na figura 7.\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/chatbot.jpg}
\caption{O Google Assistant é um exemplo de chatbot}
\label{fig:chatbot}
\end{figure}{}
\textbf{Tradutor}: Ferramentas de tradução, transposição entre idiomas. Com elas é possível obter texto em uma outra linguagem através de uma entrada de texto em qualquer outra linguagem. Na figura 8, utilizamos a ferramenta \textit{Open Source} TextBlob para realizar a tradução da frase "Fechado no barulho do próprio silêncio. Visitas não são permitidas. Volte mais tarde." \cite{mediumluiz} para o inglês. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.45]{imagens/tradutor.jpg}
\caption{Exemplo do recurso de tradutor, utilizando TextBlob}
\label{fig:tradutor}
\end{figure}
\textbf{Moderador de conteúdo}: Ferramentas que permitem a identificação e censura de palavrões e palavras de baixo calão. \\
\textbf{Reconhecimento do locutor}: Softwares capazes de identificar pessoas através de uma amostra de voz do usuário, o qual precisa ser cadastrado anteriormente. \\
\subsection{Ferramentas de PI}
Nesta subseção, são descritas as 13 tarefas de PI encontradas no levantamento. \\
\textbf{Detecção de categorias em imagens}: Ferramentas para classificar imagens de acordo com categorias pré-definidas, como "praia", "biblioteca", "academia de ginástica", "supermercado", etc. Na figura 9, podemos ver diversas imagens classificadas como aviões, automóveis, pássaros, gatos, etc.\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/classificacao_imagens.png}
\caption{Exemplo de Classificação de Imagens}
\label{fig:classificação_imagens}
\end{figure}{}
\textbf{Pesquisa por imagens semelhantes}: Tais ferramentas irão buscar por imagens que se assemelham à uma imagem dada como parâmetro. Essas semelhanças podem ser esquemas de cores e objetos presentes na imagem, bem como entidades detectadas. Na figura 10, podemos ver uma pesquisa de imagens semelhantes do Google Imagens. É possível notar semelhanças como predominância de cores e de entidades, como o tipo de cabelo.\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.4]{imagens/imagens_semelhantes.png}
\caption{Exemplo de Classificação de Imagens}
\label{fig:imagens_semelhantes}
\end{figure}{}
\textbf{Detecção de pontos de referência}: Softwares capazes de reconhecer pontos populares, como Torre Eiffel, Cristo Redentor e outros pontos turísticos ou relevantes como referência. A figura 11 exemplifica essa tarefa no serviço de demonstração da Google Cloud. Nela, o serviço reconhece a Torre Eiffel em Paris, França, com 71\% de confiabilidade e a localiza através do serviço de mapeamento, dando a latitude o longitude do ponto de referência detectado. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/Paris2.jpg}
\caption{Detecção de pontos de referência da Google Cloud}
\label{fig:ponto_turistico}
\end{figure}{}
\textbf{Reconhecimento óptico de caracteres}: Softwares capazes de identificar caracteres em uma imagem. A partir dessas ferramentas é possível, por exemplo, transcrever textos através de uma fotografia. Exemplificamos essa tarefa na figura 12. É possível notar como, a partir da fotografia de uma página, o \textit{software} de Reconhecimento Óptico de Caracteres (do inglês: Optical Character Recognition, OCR) transcreveu o texto, tonando possível copiá-lo, por exemplo. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.15]{imagens/ocr.png}
\caption{Exemplo de Reconhecimento óptico de caracteres}
\label{fig:ocr}
\end{figure}{}
\textbf{Reconhecimento de manuscritos}: Caso particular do reconhecimento óptico de caracteres. Tais ferramentas podem reconhecer, em imagens, textos escritos à mão.Na figura 13, obersava-se como o \textit{software} conseguiu reconhecer a frase \textit{begates from} a partir de um texto manuscrito.\\
% https://towardsdatascience.com/build-a-handwritten-text-recognition-system-using-tensorflow-2326a3487cd5
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/handwritten.png}
\caption{Exemplo de reconhecimento de manuscritos}
\label{fig:manuscrito}
\end{figure}{}
\textbf{Localizador de objetos}: Identifica a posição dos objetos, seus limites retangulares e quantos objetos do mesmo tipo existem na imagem. Na figura 14, são detectadas uma pessoa, com 97,27\% de confiabilidade, um sofá, com 66,02\% de confiabilidade e um cachorro, com 73,05\% de confiabilidade. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/deteccao_objetos.png}
\caption{Exemplo da tarefa de detecção de objetos} % https://www.pyimagesearch.com/2019/05/13/object-detection-and-image-classification-with-google-coral-usb-accelerator/
\label{fig:detecção_obetos}
\end{figure}
\textbf{Detecção facial}: Capacidade de detectar a presença de rostos humanos em imagens, sem necessariamente reconhecer tal rosto. Na figura 15, podemos ver um exemplo de detecção facial com a extração de alguns elementos, como o tipo de cabelo, gênero do rosto e idade aproximada.\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.29]{imagens/caracteristicas_watson_visual_recog.png}
\caption{Exemplo de detecção facial e extração de atributos da IBM Cloud}
\label{fig:detecção_facial}
\end{figure}{}
\textbf{Moderação de conteúdo}: Softwares para detecção de conteúdo impróprio em imagens, tais como nudez e violência. \\
\textbf{Pesquisa por produtos}: Identifica produtos em uma imagem e busca por produtos semelhantes. Na figura 16, utilizamos o Google Lens, disponível para dispositivos Android 6.0 ou superior e dispositivos iOS. Na figura, vemos como a ferramenta busca camisetas com estampas semelhantes à passada como argumento. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/produtos_semelhantes.png}
\caption{O Google Lens, para smartphones, possui o recurso de busca por produtos semelhantes}
\label{fig:produtos_semelhantes}
\end{figure}{}
\textbf{Detecção de atributos}: Identifica atributos como cores dominantes em uma imagem e da sugestões de corte. Na figura 17, utilizamos a API Vision do Google Cloud para destacar a propriedade de cores dominantes na imagem passada como argumento. Como resultado, o serviço apontou 19\% de predominancia dos valores RGB(75, 43, 51)\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.3]{imagens/propriedades.png}
\caption{Exemplo de detecção de atributos da API Vision do Google Cloud}
\label{fig:atributos}
\end{figure}{}
\textbf{Reconhecimento facial}: Softwares para reconhecimento de indivíduos em imagens através do seu rosto. Na ilustração da figura 18, damos como entrada uma foto e recebemos como saída a afirmação de que a figura contém o ex-vice-presidente dos Estados Unidos da América, Joe Biden. \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{imagens/reconhecimento_facial.jpg}
% https://github.com/ageitgey/face_recognition
\caption{Reconhecimento facial}
\label{fig:reconhecimento_facial}
\end{figure}{}
\textbf{Análise de sentimentos}: Softwares que reconhecem determinados sentimentos, tais quais felicidade, raiva e tristeza através de expressões faciais. A figura 19 ilustra o funcionamento de softwares de análise de sentimentos. A partir da foto de um rosto, é possível extrair informações como sorriso e felicidade.\\
\begin{figure}[H]
\centering
\includegraphics[scale=0.19]{imagens/analise_facial.jpg}
\caption{Ilustração de análise de sentimentos em imagem da Amazon AWS}
\label{fig:imagem_sentimentos}
\end{figure}{}
\textbf{Descrição da imagem}: Retorna informações sobre o conteúdo de uma imagem. Esta tarefa pode ser utilizada para gerar legendas para imagens, de forma que \textit{softwares} de sintetização de voz para deficientes visuais possam narrar o que há na imagem a partir do texto narrado. Na figura 20, podemos ver na chave \textit{text} a legenda \textit{"a group of people posing for the camera"} ("um grupo de pessoas fazendo pose para a câmera", em tradução livre). \\
\begin{figure}[H]
\centering
\includegraphics[scale=0.25]{imagens/caption.png}
\caption{Descrição de imagem da Microsoft Azure}
\label{fig:captionalize}
\end{figure}{}
\section{Comparativos}
Exibiremos, subsequentemente, tabelas com comparativos entre as ferramentas de cada uma das empresas analisadas. Começamos, na subseção 5.1, comparando a disponibilidade em cada plataforma e em seguida, na subseção 5.2, seus custos.
\subsection{Disponibilidade de ferramentas}
As tabelas subsequentes ilustram em quais serviços cada tarefa está disponível. Na tabela \ref{tab:table1} é exibida a disponibilidade das tarefas de NLP por plataforma e na tabela \ref{tab:table2}, as de PI. De acordo com a tabela \ref{tab:table1}, é possível notar que algumas das tarefas encontradas são coincidentes entre as plataformas. Um diferencial sobre o serviço de \textit{text-to-speech} da Amazon AWS, o Amazon Polly, é a possibilidade de criar avatares com animações sincronizadas com a fala e destaque de palavras, como em um karaokê. Já o Amazon Textract, a ferramenta de OCR reconhece também o conteúdo de tabelas e formulários. Seu serviço de \textit{speech-to-text}, o Amazon Transcribe, adiciona pontuação ao texto transcrito, marcações de tempo em relação ao áudio original, personalização de vocabulário, transcrição de \textit{streaming} e reconhecimento de locutores. Por fim, o Amazon Comprehend, permite o treinamento de modelos de ML através do AutoML\footnote{O serviço AutoML é discutido na subseção 5.2.3}.
De forma semelhante ao serviço da Amazon, a IBM Cloud oferece um serviço de \textit{speech-to-text} em tempo real, capaz de identificar diferentes locutores e customizar o modelo para maior acurácia. Para o serviço de \textit{text-to-speech}, o principal diferencial do IBM Cloud é a customização das tonalidades de voz e a sintetização para diferentes idiomas. Para o serviço de tradução, também é possível customizar as traduções para terminologias específicas. O serviço de classificação de linguagem da IBM oferece APIs compatíveis com diversas linguagens de programação e um modelo que pode ser treinado pelo usuário para classificações personalizadas. O serviço de \textit{speech-to-text} da Microsoft também possibilita a identificação dos locutores e a transcrição em tempo real a partir de diversas fontes, como telefones, vídeos e gravações.
\begin{table}[!!ht]
\caption{Ferramentas de NLP}
\centering
\begin{tabular}{lllll}
\toprule
\cmidrule(r){1-5}
Ferramenta & Google Cloud & Amazon AWS & IBM Cloud & Microsoft Azure \\
\midrule
Análise de Entidades & X & X & X & X \\
Análise de Sentimentos & X & X & X & X \\
Análise Sintática & X & X & X & \\
Classificação de Conteúdo & X & & X & \\
Extração de palavras-chave & & X & X & X \\
Text-to-Speech & X & X & X &\\
Speech-to-Text & X & X & X & X \\
Chatbot & X & X & & X \\
Tradutor & X & X & X & X \\
Moderador de Conteúdo & & & & X \\
Reconhecimento do Locutor & X & & & \\
\bottomrule
\end{tabular}
\label{tab:table1}
\end{table}
\begin{table}[!!ht]
\caption{Ferramentas de PI}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
Ferramenta & Google Cloud & Amazon AWS & IBM Cloud & Microsoft Azure \\
\midrule
Detecção de categorias em imagens & X & X & X & X \\
Pesquisa por imagens semelhantes & X & & & \\
Detecção de pontos de referência & X & & & X \\
OCR & X & X & & X \\
Reconhecimento de manuscritos & X & & & X \\
Detecção facial & X & X & X & X \\
Moderação de conteúdo & X & X & & X \\
Pesquisa por produtos & X & & & \\
Detecção de atributos & X & & X & X \\
Reconhecimento facial & X & X & X & X \\
Análise de sentimentos & X & X & & \\
Descrição da imagem & & & X & X \\
\bottomrule
\end{tabular}
\label{tab:table2}
\end{table}
\subsection{Comparativo de preços}
Nesta seção, comparamos os preços das ferramentas analisadas entre as empresas que oferecem tais serviços. Na subseção 4.2.1, são comparados os preços entre as ferramentas de NLP e na subseção 4.2.2, as ferramentas de PI.
\subsubsection{Ferramentas de NLP}
Nas tabelas subsequentes, são exibidos os comparativos de preços por ferramenta, quando há coincidência de disponibilidade. Em primeiro caso, comparamos os serviços de NLP. Análise de sentimentos, reconhecimento de entidades, análise sintática, text-to-speech, speech-to-text e extração de palavras-chave. Na tabela \ref{tab:table3}, comparamos a disponibilidade gratuita desses serviços e na tabela \ref{tab:table4}, comparamos seus custos.
\begin{table}[!!ht]
\caption{Disponibilidade gratuita dos serviços básicos de NLP}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Análise de sentimentos & \makecell{Até 5k unidades} & \makecell{5M de caracteres mensais \\ durante 12 meses} & \makecell{30k de caracteres \\ por mês} & \makecell{5k transações\\ por mês} \\
Reconhecimento de entidades & \makecell{Até 5k unidades} & \makecell{Integrado} & \makecell{Integrado} & \makecell{Integrado} \\
Análise sintática & \makecell{Até 5k unidades} & \makecell{Integrado} & \makecell{Integrado} & \makecell{N/A} \\
Extração de palavras-chave & \makecell{N/A} & \makecell{Integrado} & \makecell{Integrado} & \makecell{Integrado} \\
\bottomrule
\end{tabular}
\label{tab:table3}
\end{table}
\begin{table}[!!ht]
\caption{Comparativo dos serviços de NLP, na faixa 10 milhões a 50 milhões de unidades}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Análise de sentimentos & \makecell{US\$ 0,50} & \makecell{US\$ 0,00005} & \makecell{US\$ 0,001} & \makecell{US\$ 0,25} \\
Reconhecimento de entidades & \makecell{ US\$ 0,50} & \makecell{US\$ 0,00005} & \makecell{US\$ 0,001} & \makecell{US\$ 0,25} \\
Análise sintática & \makecell{US\$ 0,25} & \makecell{US\$ 0,0000025} & \makecell{US\$ 0,001} & \makecell{N/A} \\
Text-to-speech & \makecell{US\$ 4 / 1M \\ de caracteres} & \makecell{US\$ 4 / 1M \\ de caracteres} & \makecell{US\$ 0,02 / \\ 1M de caracteres} & \makecell{US\$ 4 / 1M \\ de caracteres} \\
Speech-to-text & \makecell{US\$ 0,006} & \makecell{US\$ 0,006} & \makecell{US\$ 0,01} & \makecell{US\$ 0,04} \\
Extração de palavras-chave & \makecell{N/A} & \makecell{US\$ 0,00005} & \makecell{US\$ 0,001} & \makecell{US\$ 0,25} \\
\bottomrule
\end{tabular}
\label{tab:table4}
\end{table}
Na Google Cloud, o serviço de Classificação de Conteúdo é cobrado pela chamada de API por unidade. Uma unidade é considerada, levando em conta tags HTML, XML, espaços, etc. Os valores no Google Cloud são cobrados de acordo com a quantidade de chamadas da API por mês. No caso do IBM Cloud, o usuário é cobrado separadamente por chamada da API, por classificador e por evento de treinamento. Ambos oferecem um mínimo grátis mensal, detalhado na tabela \ref{tab:table5}.
\begin{table}[!!ht]
\caption{Comparativo entre a taxa de serviços grátis de Classificação de Conteúdo do Google Cloud e do IBM Cloud}
\centering
\begin{tabular}{lll}
\cmidrule(r){1-3}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{IBM Cloud} \\
\midrule
Classificador & até 30.000 unidades por mês & 1 classificador grátis por mês \\
Chamadas de API & \makecell{N/A} & 1000 chamadas por mês \\
Eventos de treinamento & \makecell{N/A} & 4 eventos por mês \\
\bottomrule
\end{tabular}
\label{tab:table5}
\end{table}
\begin{table}[!!ht]
\caption{Comparativo do serviço de Classificação de Conteúdo entre Google Cloud e IBM Cloud}
\centering
\begin{tabular}{lll}
\cmidrule(r){1-3}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{IBM Cloud} \\
\midrule
Classificação de Conteúdo & US\$ 0,10 / mês, para mais de 5M de unidades & US\$0.0035 / chamada de API \\
\bottomrule
\end{tabular}
\label{tab:table6}
\end{table}
Serviços de tradução foram encontrados em todas as plataformas. A Google Cloud oferece dois serviços de tradução: uma API com um modelo de ML pré-treinado e a AutoML Translation, que permite o treino de um modelo de ML para serviços de tradução. A IBM Cloud oferece quatro tipos de planos para seu serviço de tradução: \textit{Lite}, \textit{Standard}, \textit{Advanced} e \textit{Premium}. Para fins de comparação, levaremos em conta o plano lite. A Microsoft Azure, ao contrário dos anteriores, oferece serviço de tradução apenas para fala em dois \textit{containers}: um grátis, que permite apenas uma solicitação e o \textit{container} padrão, que permite até 20 solicitações simultaneamente. Todos os serviços, exceto Google Cloud, contam com detecção automática do idioma integrada.
\begin{table}[!!ht]
\caption{Disponibilidade gratuita dos serviços de Tradutor}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Tradução de textos & \makecell{Até 5k caracteres} & \makecell{2M de caracteres mensais \\ durante 12 meses} & \makecell{1M de caracteres \\ por mês} & \makecell{2M de caracteres \\ por mês} \\
\bottomrule
\end{tabular}
\label{tab:table7}
\end{table}
\begin{table}[!!ht]
\caption{Comparativo do serviço de Tradutor entre Google Cloud, Amazon AWS, IBM Cloud e Microsoft Azure (por 1M de caracteres mensais}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Tradução de textos & \makecell{US\$ 20} & \makecell{US\$ 15} & \makecell{Gratuito\footnote{Acima dos primeiros 250k caracteres, é cobrada uma taxa de US\$ 0,02 por 1k de caracteres.}} & \makecell{US\$ 9,89} \\
AutoML & \makecell{US\$ 76 por \\ hora de treinamento} & \makecell{N/A} & \makecell{N/A} & \makecell{N/A} \\
Detecção de idiomas & \makecell{US\$ 20} & \makecell{N/A} & US\$ 0,25 & \makecell{Integrado com tradução\\de textos} \\
Tradução de fala & \makecell{N/A} & \makecell{N/A} & \makecell{N/A} & \makecell{5 horas gratuitas mensais \\ de áudio (contêiner grátis)} \footnote{ou US\$ 2,43 / hora de áudio (contêiner padrão)} \\
AutoML (predição) & Gratuito (até 5M caracteres) \footnote{ou US\$ 80 por milhão de caractere} & \makecell{N/A }& \makecell{N/A} & \makecell{N/A} \\
\bottomrule
\end{tabular}
\label{tab:table8}
\end{table}
Todas as empresas analisadas oferecem o serviço de \textit{speech-to-text}. Na tabela \ref{tab:table9}, são comparados os planos gratuitos. Uma ressalva quanto ao serviço gratuito da Microsoft Azure é que este oferece 4 recursos: Padrão, fala personalizada, hospedagem do ponto de extremidade da fala personalizada e áudio multicanal de transcrição de conversas. Exceto pela hospedagem, que oferece apenas um modelo gratuito por mês, são disponibilizados 5 horas de áudio por mês para cada recurso. Na tabela \ref{tab:table10}, são exibidos os preços dos serviços de \textit{speech-to-text} pagos da Microsoft Azure.
A Google Cloud oferece o serviço de \textit{speech-to-text} em quatro formatos. Primeiramente, temos o modelo padrão, sem \textit{smartphone} e vídeo aprimorados com dois recursos: reconhecimento de fala sem geração de registro de dados e com geração de registro. Já no modelo \textit{Premium}, são oferecidos os mesmos recursos com smartphone e vídeo aprimorados. Para construção da tabela consideramos o modelo \textit{Premium} com geração de registro de dados.
\begin{table}[!!ht]
\caption{Comparativo do serviço de Speech-to-text gratuitos}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
Serviço & Google Cloud & Amazon AWS & IBM Cloud & Microsoft Azure \\
\midrule
Speech-to-text & até 60 minutos & até 60 minutos / mês durante 12 messes & 500 minutos / mês & 300 minutos / mês \\
\bottomrule
\end{tabular}
\label{tab:table9}
\end{table}
Um detalhe sobre os serviços de \textit{speech-to-text}, é que a Amazon AWS o usuário é cobrado em US\$ 0,0004 por segundo mais o acréscimo mínimo de US\$ 0,006 pelos 15 primeiros segundos. O IBM Cloud possui também o plano \textit{Premium}, o qual não tem os preços acessíveis no \textit{site}. Para esse plano, os preços devem ser combinados com a empresa.
\begin{table}[!!ht]
\caption{Preços dos demais serviços de speech-to-text da Microsoft Azure (por hora)}
\centering
\begin{tabular}{ll}
\cmidrule(r){1-2}
Serviço & Preço \\
\midrule
Fala personalizada & US\$ 1,39\\ % R\$ 5,201
Hospedagem do ponto de extremidade da fala personalizada & US\$ 39,59 \\ % R\$ 148,6
Áudio multicanal de transcrição de conversas & N/A \\
\bottomrule
\end{tabular}
\label{tab:table10}
\end{table}
Todas as empresas analisadas oferecem serviços para a construção de \textit{chatbots}. Na Google Cloud, temos o DialogFlow que utiliza ML para customizar os tipos de entidade que podem ser reconhecidas pelo \textit{chatbot} a partir de um conjunto de dados inicial, fornecido pelo usuário desenvolvedor. O DialogFlow também faz uso das APIs de \textit{text-to-speech} e \textit{speech-to-text} para criar \textit{bots} que se comunicam por voz com o usuário final. Através do serviço de \textit{Analytics} da Google, o \textit{chatbot} pode ser otimizado para atender os interesses da sua organização. Além disso, o \textit{bot} conta também com análise de sentimentos, para melhor atender ao usuário final.
O serviço da Amazon, o AWS Lex, utiliza a mesma tecnologia utilizada na Alexa para construir \textit{bots} com análise de sentimentos, compreensão de fala e escrita. O AWS Lex também oferece fácil integração com outros serviços da Amazon AWS, como lógica de negócios, banco de dados, segurança, desenvolvimento de aplicativos móveis. etc. O Watson Assistant, da IBM, possui o recurso de direcionar o usuário para plataformas como Slack e Facebook Messenger, além de direcionar o usuário para um atendente humano quando necessário. Através do sistema de digressões, o \textit{chatbot} feito a partir do IBM Watson pode ir de um tópico a outro em uma conversa e retornar ao primeiro tópico posteriormente. O \textit{chatbot} também pede para o usuário ser mais claro quando é feito um pedido ambíguo ou incompreensível, evitando respostas erradas.
Por fim, o serviço de \textit{bot} da Microsoft Azure também permite integração com canais de comunicação, como Slack e Facebook Messenger. Como os serviços anteriores, também possui suporte, tanto para a interação por texto, quanto por fala. Além disso, também é possível interagir através de imagens em anexo; o Azure utilizará seus próprios serviços de PI para interagir com imagens em anexo enviadas pelo usuário final. Nas tabelas \ref{tab:table11} e \ref{tab:table12}, fazemos comparativos entre os serviços gratuitos e pagos, respectivamente.
O plano padrão da Google Cloud, citado na tabela \ref{tab:table9}, compreende os recursos de texto e entrada e saída de áudio.
\begin{table}[!!ht]
\caption{Disponibilidade gratuita dos serviços de chatbot}
\centering
\begin{tabular}{llll}
\cmidrule(r){1-4}
\makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Plano padrão gratuito
& \makecell{10k solicitações de texto e \\ 5k solicitações de fala\footnote{Durante o período gratuito de 12 meses}}
& 30 dias gratuitos
& \makecell{Mensagens ilimitadas em canais Standard\\ e 1k de mensagens por mês em Canais Premium\footnote{Canais Premium são os serviços da Microsoft, como o Skype e canais populares, como o Facebook Messenger. Canais Premium são a aplicação personalizada do usuário desenvolvedor}} \\
\bottomrule
\end{tabular}
\label{tab:table11}
\end{table}
\begin{table}[!!ht]
\caption{Preços dos serviços de chatbot (por solicitação)}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Texto & \makecell{US\$ 0,002} & \makecell{US\$ 0,00075} & \makecell{US\$0.0025 \\ por mensagem} & \makecell{US\$ 0,0005} \\
Entrada de áudio & \makecell{US\$ 0.0065 por \\ 15 segundos de áudio } & \makecell{US\$0,0065 por \\ 15 segundos de áudio} & \makecell{N/A} & \makecell{Integrado}\\
Saída de áudio & \makecell{US\$ 4 por 1M de \\ caracteres (Vozes padrão)} & \makecell{Integrado} & \makecell{N/A} & \makecell{Integrado} \\
Análise de sentimentos & \makecell{US\$ 0,25 para cada \\ 1k de solicitações, entre 5M e \\ 20M de solicitações} & \makecell{Integrado} & \makecell{N/A} & \makecell{Integrado}\\
\bottomrule
\end{tabular}
\label{tab:table12}
\end{table}
\subsubsection{Processamento de Imagem}
Para o serviço de PI, a Amazon oferece a API Rekognition que, além de analisar imagens, permite também a análise de vídeos. Além disso, o serviço conta com aprimoramento contínuo através de algoritmos de ML. De forma semelhante, a IBM Cloud também permite treinar modelos para criar classificadores. A Google Cloud oferece uma API REST para as tarefas de PI, a API Cloud Vision, que utiliza modelos pré treinados e o Auto ML (Beta) para treinar modelos de ML. Além disso, há também a Cloud Video Intelligence, para extrair metadados de vídeos. Os planos gratuitos de PI são comparados na tabela \ref{tab:table13} e os planos pagos, na faixa de 5M de unidades, na tabela \ref{tab:table14}.
\begin{table}[!!ht]
\caption{Disponibilidade gratuita dos serviços}
\centering
\begin{tabular}{llll}
\cmidrule(r){1-4}
Google Cloud & Amazon AWS & IBM Cloud & Microsoft Azure \\
\midrule
1k de unidades & 5k de unidades durante 12 meses & 250MB de memória Cloud Foundry & 5k de transações por mês \\
\bottomrule
\end{tabular}
\label{tab:table13}
\end{table}
\begin{table}[!!ht]
\caption{Comparativo dos serviços de PI (até 5M de caracteres mensais)}
\centering
\begin{tabular}{lllll}
\cmidrule(r){1-5}
\makecell{Serviço} & \makecell{Google Cloud} & \makecell{Amazon AWS} & \makecell{IBM Cloud} & \makecell{Microsoft Azure} \\
\midrule
Detecção de categorias em imagens & \makecell{US\$ 1,50} & \makecell{US\$ 0,8} & \makecell{US\$ 0,0011} & \makecell{US\$ 0,79} \\ %R\$0,00431
Detecção de pontos de referência & \makecell{US\$ 1,50} & \makecell{N/A} & \makecell{N/A} & \makecell{US\$ 0,64} \\
OCR & \makecell{US\$ 1,50} & \makecell{US\$ 0,0006 / página} & \makecell{N/A} & \makecell{US\$ 0,64 por cada\\1k de transações} \\ % R\$ 2,415
Reconhecimento de manuscritos & \makecell{US\$ 1,50} & \makecell{N/A} & \makecell{N/A} & \makecell{US\$ 2,47 por cada\\1k de transações} \\ % R\$ 9,287
Localizador de objetos & \makecell{US\$ 2,25} & \makecell{N/A} & \makecell{N/A} & \makecell{US\$ 0,79} \\
Detecção facial & \makecell{US\$ 1,50} & \makecell{Integrado com \\ reconhecimento facial} & \makecell{US\$ 0,0023} & \makecell{US\$ 0,59 por cada\\1k de transações} \\ % R\$ 0,008639 & R\$ 2,229
Moderação de conteúdo & \makecell{US\$ 1,50} \footnote{gratuito se comprado junto com Detecção de categorias}& \makecell{US\$ 0,8} & \makecell{N/A} & \makecell{US\$ 0,59 por cada\\1k de transações} \\
Detecção de atributos & \makecell{US\$ 1,50} & \makecell{N/A} & \makecell{Integrado} & \makecell{US\$ 0,79} \\
Reconhecimento facial & \makecell{US\$ 1,50} & \makecell{US\$ 0,8} & \makecell{ US\$ 0,0011} & \makecell{US\$ 0,59 por cada\\1k de transações} \\ % R\$ 0,004039
Análise de sentimentos & \makecell{US\$ 1,50} & \makecell{US\$ 0,8} & \makecell{N/A} & \makecell{N/A} \\
Descrição da imagem & \makecell{N/A} & \makecell{N/A} & \makecell{N/A} & \makecell{US\$ 2,47} \\
\bottomrule
\end{tabular}
\label{tab:table14}
\end{table}
\subsubsection{Treinamento de modelos de aprendizado de máquina}
Traremos destaque, nesta subseção, para os serviços que permitem o treinamento de modelos de ML, integrados ou não.
Iniciando pela Google Cloud, temos o serviço de PI, o Auto ML Vision (Beta). A partir dele, é possível treinar classificadores e marcar pessoas com ou sem rótulos predefinidos. Esse serviço é gratuito para até 1k de imagens previstas por mês e para uma hora de treinamento. Para a análise de vídeos, há a API \textit{Video Intelligence}, que possui uma interface gráfica e uma API REST, e permite classificar vídeos a partir de rótulos personalizados e detecta mudanças no cenário de um vídeo. Para as tarefas de NLP, a Google Cloud disponibiliza a AutoML Natural Language (Beta) e a AutoML Translation (Beta). O primeiro permite a criação e a classificação de entidades, sentimentos e outros modelos personalizados. Já o segundo permite o treinamento de modelos de ML para obter traduções mais fiéis e adaptadas a determinados contextos. Para a Amazon AWS, não foram encontrados serviços de treinamento para modelos de ML voltados a programadores sem conhecimento técnico. Na Amazon AWS, o único serviço que oferece personalização por modelos de ML, é o Amazon Comprehend.\footnote{Supracitado na subseção 5.1}
O serviço de tradução da IBM Cloud oferece um serviço de customização, baseado em ML. Para tal serviço, é cobrada uma taxa de US\$ 0,10 para cada 1k de caracteres. O serviço de classificação de linguagem natural da IBM também possibilita o treinamento de modelos, para os quais são oferecidos 4 treinamentos gratuitos por mês. Na Microsoft Azure, é possível treinar modelos para transcrição personalizada em seu serviço de \textit{speech-to-text}.
\section{Conclusão}
Neste trabalho, foram tabelados os preços dos serviços de MLaaS oferecidos pela Google Cloud, IBM Watson, Amazon AWS e Microsoft Azure. Assim, desenvolvedores sem conhecimento técnico em algoritmos de ML podem utilizar este trabalho como referência para auxiliar na escolha de um desses provedores de serviço. Apesar das diversas empresas e dos diversos serviços oferecidos por elas, focamos em MLaaS e em 4 das principais empresas que oferecem soluções de Computação em Nuvem, durante a pesquisa, descobrimos que o Facebook oferta suas soluções em repositórios de código aberto e, portanto, seus serviços não foram considerados.
Alguns provedores de MLaaS oferecem planos para o treinamentos dos modelos de ML, enquanto que outros oferecem apenas a opção de utilizar modelos já prontos. É possível realizar o treinamento na Google Cloud, tanto para Visão Computacional, quanto para NLP e Análise de Vídeos. A Amazon AWS oferece treinamento apenas para tarefas de compreensão de linguagem natural. A IBM Watson oferece treinamento para customização de tradução e classificação de linguagem natural. Já a Microsoft Azure oferece treinamento para o serviço de transcrição \textit{speech-to-text}.
Como trabalhos futuros, podem-se ser feitas outras pesquisas considerando outros serviços ofertados, ou sobre a adoção de tais serviços pelos desenvolvedores. Uma outra proposta interessante a ser adotada, seria verificar a viabilidade de ter um time voltado ao desenvolvimento de soluções em ML em uma empresa em oposição a contratar provedores de MLaaS.
\printbibliography
\newpage
\appendixpage
Neste apêndice, estão documentados os links dos serviços de nuvem apresentados neste estudo.
\begin{table}[!!ht]
\caption{Serviços da Google Cloud}
\centering
\begin{tabular}{ll}
\cmidrule(r){1-2}
\makecell{Serviço} & \makecell{Link} \\
\midrule
Cloud Natural Language & https://cloud.google.com/natural-language/ \\
Cloud Speech-to-text & https://cloud.google.com/speech-to-text/ \\
Cloud Text-to-speech & https://cloud.google.com/text-to-speech/ \\
DialogFlow & https://cloud.google.com/dialogflow/ \\
\bottomrule
\end{tabular}
\label{tab:links_google}
\end{table}{}
\begin{table}[!!ht]
\caption{Serviços da Amazon AWS}
\centering
\begin{tabular}{ll}
\cmidrule(r){1-2}
\makecell{Serviço} & \makecell{Link} \\
\midrule
Amazon Comprehend & https://aws.amazon.com/pt/comprehend/ \\
AWS Lex & https://aws.amazon.com/pt/lex/ \\
Amazon Polly & https://aws.amazon.com/pt/polly/ \\
Amazon Rekognition & https://aws.amazon.com/pt/rekognition/ \\
Amazon Textract & https://aws.amazon.com/pt/textract/ \\
Amazon Transcribe & https://aws.amazon.com/pt/transcribe/ \\
\bottomrule
\end{tabular}
\label{tab:links_amazon}
\end{table}{}
\begin{table}[!!ht]
\caption{Serviços da IBM Cloud}
\centering
\begin{tabular}{ll}
\cmidrule(r){1-2}
\makecell{Serviço} & \makecell{Link} \\
\midrule
Natural Language & https://www.ibm.com/cloud/watson-natural-language-understanding \\
Natural Language Classifier & https://www.ibm.com/cloud/watson-natural-language-classifier \\
Language Translator & https://www.ibm.com/cloud/watson-language-translator \\
Text-to-speech & https://www.ibm.com/cloud/watson-text-to-speech \\
Speech-to-text & https://www.ibm.com/cloud/watson-speech-to-text \\
Assistant & https://www.ibm.com/cloud/watson-assistant/ \\
Tone Analyser & https://www.ibm.com/cloud/watson-tone-analyzer \\
Visual Recognition & https://www.ibm.com/cloud/watson-visual-recognition \\
\bottomrule
\end{tabular}
\label{tab:links_ibm}
\end{table}
\begin{table}[!!ht]
\caption{Serviços da Microsoft Azure}
\centering
\begin{tabular}{ll}
\cmidrule(r){1-2}
\makecell{Serviço} & \makecell{Link} \\
\midrule
Serviços de fala & https://azure.microsoft.com/pt-br/services/cognitive-services/speech-services/ \\
Reconhecimento do locutor & https://azure.microsoft.com/pt-br/services/cognitive-services/speaker-recognition/ \\
Moderador de conteúdo & https://azure.microsoft.com/pt-br/services/cognitive-services/content-moderator/ \\
Bot service & https://azure.microsoft.com/pt-br/services/bot-service/ \\
Visão computacional & https://azure.microsoft.com/pt-br/services/cognitive-services/computer-vision/ \\
Video Indexer & https://azure.microsoft.com/pt-br/services/media-services/video-indexer/ \\
\bottomrule
\end{tabular}
\label{tab:links_microsoft}
\end{table}
\end{document}