	{"id":21376,"date":"2020-11-24T16:12:06","date_gmt":"2020-11-24T16:12:06","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=news&#038;p=21376"},"modified":"2024-09-20T17:45:38","modified_gmt":"2024-09-20T16:45:38","slug":"nlu-benchmark-for-intent-detection-and-named-entity-recognition-in-call-center-conversations","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/br\/blog\/nlu-benchmark-for-intent-detection-and-named-entity-recognition-in-call-center-conversations\/","title":{"rendered":"Benchmarks de NLU para detec\u00e7\u00e3o de inten\u00e7\u00e3o e reconhecimento de entidade nomeada em conversas de call center"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_2 1_2 fusion-flex-column avada-news-bloc-image\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element\" style=\"text-align:left;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"300\" height=\"74\" title=\"M\u00e9dio Blog\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-300x74.png\" alt class=\"lazyload img-responsive wp-image-60582\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%274000%27%20height%3D%27992%27%20viewBox%3D%270%200%204000%20992%27%3E%3Crect%20width%3D%274000%27%20height%3D%27992%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-200x50.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-400x99.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-600x149.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-800x198.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-1200x298.png 1200w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 800px\" \/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-padding-top:10px;--awb-padding-right:10px;--awb-padding-bottom:10px;--awb-padding-left:10px;--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>NOT\u00cdCIAS \/ TECNOLOGIA AI<\/p>\n<\/div><div class=\"fusion-text fusion-text-2\"><p>25 de novembro de 2020<br \/>\nOs consultores de call centers est\u00e3o come\u00e7ando a ver o surgimento da NLU em seu dia a dia, ajudando-os a atender \u00e0s solicita\u00e7\u00f5es dos clientes com mais facilidade. Para que uma ferramenta possa fazer isso, ela deve ser capaz de reconhecer ao mesmo tempo a solicita\u00e7\u00e3o do cliente e suas caracter\u00edsticas, em outras palavras, uma inten\u00e7\u00e3o e entidades nomeadas.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-color:#ffffff;--awb-bg-color-hover:#ffffff;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-3\" style=\"--awb-text-color:#000000;\"><p><em>\u201cOK Google, toque os Rolling Stones no Spotify.\u201d, \u201cAlexa, como est\u00e1 o tempo em Paris hoje?\u201d, \u201cSiri, quem \u00e9 o presidente franc\u00eas?\u201d.\u201d<\/em><\/p>\n<p><span style=\"font-weight: 400;\">Se o senhor j\u00e1 usou assistentes vocais, indiretamente usou alguns processos de compreens\u00e3o de linguagem natural (NLU). A mesma l\u00f3gica se aplica aos assistentes de chatbot ou ao encaminhamento automatizado de t\u00edquetes no atendimento ao cliente. H\u00e1 algum tempo, a NLU faz parte da nossa vida cotidiana e provavelmente n\u00e3o vai parar por a\u00ed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Automatizando a extra\u00e7\u00e3o da inten\u00e7\u00e3o do cliente, por exemplo, a NLU pode nos ajudar a responder \u00e0s solicita\u00e7\u00f5es de nossos clientes com mais rapidez e precis\u00e3o. \u00c9 por isso que toda grande empresa embarcou no desenvolvimento de sua pr\u00f3pria solu\u00e7\u00e3o. No entanto, com todas as bibliotecas e modelos existentes no campo da NLU, todos alegando resultados de \u00faltima gera\u00e7\u00e3o ou f\u00e1ceis de obter, \u00e0s vezes \u00e9 complicado encontrar o caminho. Depois de experimentar v\u00e1rias bibliotecas em nossos projetos de NLU no Artefact, gostar\u00edamos de compartilhar nossos resultados e ajudar os senhores a entender melhor as ferramentas atuais de NLU.<\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\"><span style=\"color: #ff0066;\"><strong>O que \u00e9 NLU?<\/strong><\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\">A compreens\u00e3o de linguagem natural (NLU) \u00e9 definida por\u00a0<a class=\"ck jk\" href=\"https:\/\/www.gartner.com\/en\/information-technology\/glossary\/nlu-natural-language-understanding\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Gartner<\/a>\u00a0como \u201ca compreens\u00e3o por computadores da estrutura e do significado da linguagem humana (<em class=\"jj\">Por exemplo.<\/em>, A NLU \u00e9 um subdom\u00ednio do artificial intelligence que permite a interpreta\u00e7\u00e3o de texto, analisando-o, convertendo-o em linguagem de computador e produzindo uma sa\u00edda de forma compreens\u00edvel para os seres humanos. Em outras palavras, a NLU \u00e9 um subdom\u00ednio da artificial intelligence que permite a interpreta\u00e7\u00e3o do texto, analisando-o, convertendo-o em linguagem de computador e produzindo uma sa\u00edda em uma forma compreens\u00edvel para os seres humanos.<\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\">Se o senhor observar atentamente como os chatbots e os assistentes virtuais funcionam, desde a sua solicita\u00e7\u00e3o at\u00e9 a resposta, a NLU \u00e9 uma camada que extrai sua inten\u00e7\u00e3o principal e qualquer informa\u00e7\u00e3o importante para a m\u00e1quina, para que ela possa responder melhor \u00e0 sua solicita\u00e7\u00e3o. Digamos que o senhor ligue para o atendimento ao cliente de sua marca favorita para saber se a bolsa dos seus sonhos est\u00e1 finalmente dispon\u00edvel em sua cidade: A NLU dir\u00e1 ao assistente que o senhor tem uma solicita\u00e7\u00e3o de disponibilidade de produto e procurar\u00e1 o item espec\u00edfico no produto database para descobrir se ele est\u00e1 dispon\u00edvel no local desejado. Gra\u00e7as \u00e0 NLU, extra\u00edmos uma inten\u00e7\u00e3o, um nome de produto e um local.<\/p>\n<div class=\"in io ip iq aj ir\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy jl\">\n<div class=\"ix s ip iy\">\n<div class=\"jm ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><div style=\"width: 725px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"lazyload ts tt t u v iu aj c\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27715%27%20height%3D%27258%27%20viewBox%3D%270%200%20715%20258%27%3E%3Crect%20width%3D%27715%27%20height%3D%27258%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0I1biKTnMgj7kziLM.png\" alt=\"Image for post\" width=\"715\" height=\"258\" \/><p class=\"wp-caption-text\"><em>(Acima: ilustra\u00e7\u00e3o da inten\u00e7\u00e3o de um cliente e v\u00e1rias entidades que s\u00e3o extra\u00eddas da conversa)<\/em><\/p><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><span style=\"font-weight: 400;\">A linguagem natural est\u00e1 presente no data da maioria das empresas e, com os recentes avan\u00e7os nesse campo, considerando a democratiza\u00e7\u00e3o dos algoritmos de NLU, o acesso a mais capacidade de computa\u00e7\u00e3o e mais data, muitos projetos de NLU foram lan\u00e7ados. Vamos dar uma olhada em um deles.<\/span><\/p>\n<p class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\"><strong><span style=\"color: #ff0066;\">Apresenta\u00e7\u00e3o do projeto<\/span><\/strong><\/p>\n<p><span style=\"font-weight: 400;\">Um projeto t\u00edpico que usa NLU \u00e9, como mencionado anteriormente, ajudar os consultores de call center a responder \u00e0s solicita\u00e7\u00f5es dos clientes com mais facilidade \u00e0 medida que a conversa avan\u00e7a. Isso exigiria que realiz\u00e1ssemos duas tarefas diferentes:<\/span><\/p>\n<ul class=\"\">\n<li id=\"84be\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Entender a inten\u00e7\u00e3o do cliente<\/strong> durante a chamada (ou seja, classifica\u00e7\u00e3o de texto)<\/li>\n<li id=\"75e0\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Capture os elementos importantes<\/strong> que possibilitariam atender \u00e0 solicita\u00e7\u00e3o do cliente (ou seja, reconhecimento de entidade nomeada), por exemplo, n\u00fameros de contrato, tipo de produto, cor do produto etc.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Quando examinamos pela primeira vez as solu\u00e7\u00f5es simples e prontas para uso lan\u00e7adas para essas duas tarefas, encontramos mais de uma d\u00fazia de estruturas, algumas desenvolvidas pelo GAFAM, outras por colaboradores de plataformas de c\u00f3digo aberto. \u00c9 imposs\u00edvel saber qual delas escolher para o nosso caso de uso, como cada uma delas se comporta em um projeto concreto e real data, aqui conversas de \u00e1udio de call center transcritas em texto. Por isso, decidimos compartilhar nosso benchmark de desempenho com algumas dicas, al\u00e9m de pr\u00f3s e contras de cada solu\u00e7\u00e3o que testamos.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\u00c9 importante observar que esse benchmark foi feito com o ingl\u00eas data e texto de fala transcrito e, portanto, n\u00e3o pode ser usado como refer\u00eancia para outros idiomas ou aplicativos que usam diretamente texto escrito, <\/span><\/i><span style=\"font-weight: 400;\">Por exemplo.<\/span><i><span style=\"font-weight: 400;\"> casos de uso de chatbot.<\/span><\/i><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-color:#ffffff;--awb-bg-color-hover:#ffffff;--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4\" style=\"--awb-text-color:#000000;\"><p id=\"4a7e\" class=\"gm gn dn ce go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj ek\"><span style=\"color: #ff0066;\"><strong>Refer\u00eancia<\/strong><\/span><\/p>\n<p><strong>Detec\u00e7\u00e3o de inten\u00e7\u00e3o <\/strong><\/p>\n<p class=\"hk hl dn hm b hn ho gr hp hq hr gv hs ht hu hv hw hx hy hz ia ib ic id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">O objetivo aqui \u00e9 poder detectar o que o cliente deseja, sua inten\u00e7\u00e3o. Dada uma frase, o modelo deve ser capaz de classific\u00e1-la na classe certa, sendo que cada classe corresponde a uma inten\u00e7\u00e3o predefinida. Quando h\u00e1 v\u00e1rias classes, isso \u00e9 chamado de tarefa de classifica\u00e7\u00e3o multiclasse. Por exemplo, uma inten\u00e7\u00e3o pode ser \u201cwantsToPurchaseProduct\u201d ou \u201cisLookingForInformation\u201d. No nosso caso, definimos <\/span><b>5 inten\u00e7\u00f5es diferentes<\/b><span style=\"font-weight: 400;\"> e as seis solu\u00e7\u00f5es seguintes foram usadas para o benchmark:<\/span><\/p>\n<ul class=\"\">\n<li id=\"1ff3\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/fasttext.cc\/docs\/en\/supervised-tutorial.html\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">FastText<\/strong><\/a><strong class=\"hm ju\">:<\/strong>\u00a0biblioteca para aprendizado eficiente de representa\u00e7\u00f5es de palavras e classifica\u00e7\u00e3o de frases criada pelo laborat\u00f3rio de pesquisa de IA do Facebook.<\/li>\n<li id=\"ae4c\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/uber.github.io\/ludwig\/examples\/#natural-language-understanding\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">Ludwig<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">uma caixa de ferramentas que permite treinar e testar modelos de aprendizagem profunda sem a necessidade de escrever c\u00f3digo, usando a linha de comando ou a API program\u00e1tica. O usu\u00e1rio s\u00f3 precisa fornecer um arquivo CSV (ou um pandas DataFrame com a API program\u00e1tica) contendo seu data, uma lista de colunas a serem usadas como entradas e uma lista de colunas a serem usadas como sa\u00eddas, e o Ludwig far\u00e1 o resto.<\/span><\/li>\n<li id=\"876d\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Regress\u00e3o log\u00edstica com\u00a0<\/strong><a class=\"ck jk\" href=\"https:\/\/spacy.io\/usage\/spacy-101\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">pr\u00e9-processamento do spaCy<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">regress\u00e3o log\u00edstica cl\u00e1ssica usando a biblioteca scikit-learn com pr\u00e9-processamento personalizado usando a biblioteca spaCy (tokeniza\u00e7\u00e3o, lematiza\u00e7\u00e3o, remo\u00e7\u00e3o de stopwords).<\/span><\/li>\n<li id=\"e702\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/github.com\/explosion\/spacy-transformers\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">BERT com pipeline de spaCy<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">pipelines de modelo spaCy que envolvem o pacote de transformadores do Hugging Face para acessar facilmente arquiteturas de transformadores de \u00faltima gera\u00e7\u00e3o, como o BERT.<\/span><\/li>\n<li id=\"a632\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/luis\/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">LUIS<\/strong><\/a><strong class=\"hm ju\">:<\/strong> <span style=\"font-weight: 400;\">Servi\u00e7o de API baseado no Microsoft cloud que aplica intelig\u00eancia de aprendizado de m\u00e1quina personalizada ao texto de linguagem natural e de conversa\u00e7\u00e3o de um usu\u00e1rio para prever inten\u00e7\u00f5es e entidades<\/span>.<\/li>\n<li id=\"0dfe\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/github.com\/flairNLP\/flair\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">Flair<\/strong><\/a><strong class=\"hm ju\">:<\/strong>\u00a0<span style=\"font-weight: 400;\">uma estrutura para NLP de \u00faltima gera\u00e7\u00e3o para v\u00e1rias tarefas, como reconhecimento de entidades nomeadas (NER), marca\u00e7\u00e3o de parte da fala (PoS), desambigua\u00e7\u00e3o de sentido e classifica\u00e7\u00e3o.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Todos os modelos a seguir foram treinados e testados nos mesmos conjuntos data: 1.600 enunciados para treinamento e 400 para teste. Os modelos n\u00e3o foram ajustados, portanto, alguns deles poderiam ter desempenhos melhores do que os apresentados a seguir.<\/span><\/p>\n<figure class=\"ih ii ij ik il im cx cy paragraph-image\">\n<div class=\"in io ip iq aj ir\" tabindex=\"0\" role=\"button\">\n<div class=\"cx cy kr\">\n<div class=\"ix s ip iy\">\n<div class=\"ks ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload va vb t u v iu aj c\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png\" data-sizes=\"auto\" data-orig-sizes=\"700px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27862%27%20height%3D%27289%27%20viewBox%3D%270%200%20862%20289%27%3E%3Crect%20width%3D%27862%27%20height%3D%27289%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 552w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 640w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0OjPKI5wNoTgCuUKG.png 700w\" alt=\"Image for post\" width=\"862\" height=\"289\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div><figcaption class=\"jn jo cz cx cy jp jq ce b eu cg fx\" data-selectable-paragraph=\"\">Resultados de desempenho de diferentes modelos para detec\u00e7\u00e3o de inten\u00e7\u00e3o<\/figcaption><\/figure>\n<p id=\"8774\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\" data-selectable-paragraph=\"\"><em class=\"jj\">*Tempo de infer\u00eancia no Macbook Air local (Intel Core i5-8 dual-core de 1,6 GHz Go 1600 MHz DDR3 RAM).<\/em><\/p>\n<ul class=\"\">\n<li id=\"f4ae\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\">Em geral, em termos de desempenho, todas as solu\u00e7\u00f5es alcan\u00e7am resultados bons ou at\u00e9 muito bons (F1-score &gt; 70%).<\/li>\n<li id=\"f9b8\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">Um dos inconvenientes do Ludwig e do LUIS \u00e9 que eles s\u00e3o modelos muito \u201ccaixa preta\u201d, o que os torna mais dif\u00edceis de entender e ajustar.<\/li>\n<li id=\"e785\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">O LUIS \u00e9 a \u00fanica solu\u00e7\u00e3o testada que n\u00e3o \u00e9 de c\u00f3digo aberto e, portanto, \u00e9 muito mais cara. Al\u00e9m disso, o uso de sua API Python pode ser complexo, pois ela foi inicialmente projetada para ser usada por meio de uma interface de bot\u00e3o de clique. No entanto, pode ser uma solu\u00e7\u00e3o a ser preferida se o senhor estiver no contexto de um projeto que pretende entrar em produ\u00e7\u00e3o e cuja infraestrutura \u00e9 constru\u00edda no Azure, por exemplo, pois a integra\u00e7\u00e3o do modelo ser\u00e1 mais f\u00e1cil.<\/li>\n<\/ul>\n<p id=\"7814\" class=\"ka gn dn ce go kb kc kd gs ke kf kg gw kh ki kj ha kk kl km he kn ko kp hi kq ek\"><strong><span style=\"color: #ff0066;\">Extra\u00e7\u00e3o de entidades<\/span><\/strong><\/p>\n<p><span style=\"font-weight: 400;\">O objetivo \u00e9 conseguir localizar palavras espec\u00edficas e classific\u00e1-las corretamente em categorias predefinidas. Na verdade, depois de detectar o que o cliente gostaria de fazer, o senhor pode precisar encontrar mais informa\u00e7\u00f5es na solicita\u00e7\u00e3o dele. Por exemplo, se um cliente quiser comprar algo, o senhor pode querer saber qual \u00e9 o produto, em que cor, ou se um cliente quiser devolver um produto, o senhor pode querer saber em que data ou em que loja a compra foi feita. Em nosso caso, definimos <\/span><b>16 entidades personalizadas<\/b><span style=\"font-weight: 400;\">O senhor pode usar o seguinte: 9 entidades relacionadas ao produto (nome, cor, tipo, material, tamanho, etc.) e entidades adicionais relacionadas \u00e0 geografia e ao tempo. Quanto \u00e0 detec\u00e7\u00e3o de inten\u00e7\u00e3o, v\u00e1rias solu\u00e7\u00f5es foram usadas para fazer um benchmark:<\/span><\/p>\n<ul class=\"\">\n<li id=\"242d\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\"><a class=\"ck jk\" href=\"https:\/\/spacy.io\/usage\/training#ner\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><strong class=\"hm ju\">spaCy<\/strong><\/a><strong class=\"hm ju\">:<\/strong> uma biblioteca de c\u00f3digo aberto para processamento avan\u00e7ado de linguagem natural em Python que oferece diferentes recursos, incluindo reconhecimento de entidades nomeadas.<\/li>\n<li id=\"ae57\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">LUIS:<\/strong>\u00a0<em class=\"jj\">veja acima<\/em><\/li>\n<li id=\"e8d0\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Ludwig:<\/strong><em class=\"jj\">\u00a0veja acima<\/em><\/li>\n<li id=\"efaa\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\"><strong class=\"hm ju\">Flair:<\/strong>\u00a0<em class=\"jj\">veja acima<\/em><\/li>\n<\/ul>\n<p id=\"06f5\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">Todos os modelos a seguir foram treinados e testados nos mesmos conjuntos data: 1.600 enunciados para treinamento e 400 para teste. Os modelos n\u00e3o foram ajustados, portanto, alguns deles poderiam ter desempenhos melhores do que os apresentados a seguir.<\/span><\/p>\n<figure class=\"ih ii ij ik il im cx cy paragraph-image\">\n<div class=\"cx cy kt\">\n<div class=\"ix s ip iy\">\n<div class=\"ku ja s\">\n<div class=\"is it t u v iu aj bm iv iw\"><\/div>\n<p><img decoding=\"async\" class=\"lazyload va vb t u v iu aj c\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png\" data-sizes=\"auto\" data-orig-sizes=\"528px\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27528%27%20height%3D%27158%27%20viewBox%3D%270%200%20528%20158%27%3E%3Crect%20width%3D%27528%27%20height%3D%27158%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png 276w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2024\/09\/0xOx9HfmdoP11xP-r.png 528w\" alt=\"Image for post\" width=\"528\" height=\"158\" \/><\/p>\n<\/div>\n<\/div>\n<\/div><figcaption class=\"jn jo cz cx cy jp jq ce b eu cg fx\" data-selectable-paragraph=\"\">Resultados de desempenho de diferentes modelos para reconhecimento de entidades nomeadas<\/figcaption><\/figure>\n<ul class=\"\">\n<li id=\"47eb\" class=\"hk hl dn hm b hn je gr hp hq jf gv hs ht jg hv hw hx jh hz ia ib ji id ie if jr js jt ek\" data-selectable-paragraph=\"\">Dois modelos t\u00eam um desempenho muito bom no reconhecimento de entidades nomeadas personalizadas, o spaCy e o LUIS. O Ludwig e o Flair precisariam de um ajuste fino para obter melhores resultados, especialmente em termos de recupera\u00e7\u00e3o.<\/li>\n<li id=\"93b5\" class=\"hk hl dn hm b hn jv gr hp hq jw gv hs ht jx hv hw hx jy hz ia ib jz id ie if jr js jt ek\" data-selectable-paragraph=\"\">Uma vantagem do LUIS \u00e9 que o usu\u00e1rio pode aproveitar alguns recursos avan\u00e7ados para o reconhecimento de entidades, como\u00a0<a class=\"ck jk\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/cognitive-services\/luis\/luis-how-to-add-features\" rel=\"noopener nofollow\" target=\"_blank\">descritores<\/a> que fornece dicas de que determinadas palavras e frases fazem parte de um vocabul\u00e1rio de dom\u00ednio de entidade (por exemplo, vocabul\u00e1rio de cores = preto, branco, vermelho, azul, azul-marinho, verde).<\/li>\n<\/ul>\n<p id=\"ebcd\" class=\"gm gn dn ce go gp gq gr gs gt gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj ek\"><span style=\"color: #ff0066;\"><strong class=\"az\">Conclus\u00e3o<\/strong><\/span><\/p>\n<p id=\"02e8\" class=\"hk hl dn hm b hn ho gr hp hq hr gv hs ht hu hv hw hx hy hz ia ib ic id ie if df ek\" data-selectable-paragraph=\"\"><span style=\"font-weight: 400;\">Entre as solu\u00e7\u00f5es testadas em nosso call center dataset, seja para detec\u00e7\u00e3o de inten\u00e7\u00e3o ou reconhecimento de entidades, nenhuma se destaca em termos de desempenho. De acordo com nossa experi\u00eancia, a escolha de uma solu\u00e7\u00e3o em detrimento de outra deve, portanto, basear-se em sua praticidade e de acordo com seu caso de uso espec\u00edfico (o senhor j\u00e1 usa o Azure, prefere ter mais liberdade para ajustar seus modelos...). Como lembrete, usamos as bibliotecas como elas s\u00e3o para produzir esse benchmark, sem ajustar os modelos, portanto, os resultados exibidos devem ser considerados com uma leve retrospectiva e podem variar em um caso de uso diferente ou com mais treinamento data.<\/span><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--link_hover_color: #ff0066;--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:0px;--awb-padding-right:0px;--awb-padding-bottom:0px;--awb-padding-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-image-element\" style=\"text-align:center;--awb-margin-top:0px;--awb-margin-right:0px;--awb-margin-bottom:0px;--awb-margin-left:0px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"1057\" height=\"591\" title=\"data-driven\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%271057%27%20height%3D%27591%27%20viewBox%3D%270%200%201057%20591%27%3E%3Crect%20width%3D%271057%27%20height%3D%27591%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/wp-content\/uploads\/2020\/06\/Global-Newsletter-Data-Digest_LinkedIn_600x315_april.jpg\" alt class=\"lazyload img-responsive wp-image-30246\"\/><\/span><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-5 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center fusion-column-inner-bg-wrapper\" style=\"--awb-inner-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><span class=\"fusion-column-inner-bg hover-type-none\"><a class=\"fusion-column-anchor\" href=\"https:\/\/go.pardot.com\/l\/597421\/2020-05-06\/2k5zzj\" target=\"_blank\" rel=\"noopener\"><span class=\"fusion-column-inner-bg-image\"><\/span><\/a><\/span><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\"><p><b>O senhor tem interesse em digital e data marketing?<\/b><\/p>\n<p>Assine o Data Digest, o boletim informativo do Artefact, para receber conselhos pr\u00e1ticos, insights e opini\u00f5es em sua caixa de entrada todos os meses.<\/p>\n<p><b>O senhor pode me inscrever!<\/b><\/p>\n<\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>25 de novembro de 2020<br \/>\nOs consultores de call centers est\u00e3o come\u00e7ando a ver o surgimento da NLU em seu dia a dia, ajudando-os a atender \u00e0s solicita\u00e7\u00f5es dos clientes com mais facilidade. Para que uma ferramenta possa fazer isso, ela deve ser capaz de reconhecer ao mesmo tempo a solicita\u00e7\u00e3o do cliente e suas caracter\u00edsticas, em outras palavras, uma inten\u00e7\u00e3o e entidades nomeadas.<\/p>","protected":false},"featured_media":21377,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[2995,21930],"blog-language":[2991],"class_list":["post-21376","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-ai-technology","blog-category-finance","blog-language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog\/21376","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/media\/21377"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/media?parent=21376"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog-category?post=21376"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/br\/wp-json\/wp\/v2\/blog-language?post=21376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}