{"id":2909,"date":"2021-03-15T05:00:00","date_gmt":"2021-03-15T04:00:00","guid":{"rendered":"https:\/\/ellycode.com\/?p=2909"},"modified":"2021-03-11T11:25:21","modified_gmt":"2021-03-11T10:25:21","slug":"imparare-a-comprendere-il-linguaggio","status":"publish","type":"post","link":"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/","title":{"rendered":"Imparare a comprendere il linguaggio"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Per comprendere quello che viene espresso dall\u2019utente in linguaggio naturale, la semplice analisi sintattica spesso non basta. Sono necessari strumenti che possano analizzare una frase nel complesso ed estrapolarne i concetti chiave, spesso legati al proprio ambito di applicazione. Per questo abbiamo bisogno di strumenti che possano fornire una configurazione iniziale, per poi essere <strong>specializzati e supervisionati nella crescita<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tra i tanti servizi cognitivi messi a disposizione da Microsoft Azure, LUIS \u00e8 sicuramente uno dei pi\u00f9 interessanti, perch\u00e9 rende semplice la creazione di un modello per la comprensione di richieste di un utente, che pu\u00f2 essere sviluppato e migliorato, grazie ad una intuitiva interfaccia web, anche da chi non ha conoscenze di programmazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un\u2019applicazione LUIS ci consente di analizzare una richiesta scritta in linguaggio naturale, denominata <strong>Utterance<\/strong><em>, <\/em>riconoscendo la finalit\u00e0 dell\u2019utente, dette <strong>Intent<\/strong>, accompagnate da eventuali parametri, denominate <strong>Entities<\/strong>. In pratica un modello viene creato stabilendo quali sono gli Intent validi, fornendo degli esempi per ognuno di esso. Esempi che possono contenere una o pi\u00f9 entit\u00e0, scelte tra un set predefinito o create appositamente sulla base del proprio dominio applicativo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-un-esempio-vale-pi-di-mille-parole\">Un esempio vale pi\u00f9 di mille parole<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Supponiamo di avere in gestione la gelateria di famiglia e di voler gestire i clienti attraverso una chat: creiamo insieme un\u2019applicazione LUIS per riconoscere le ordinazioni da asporto.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"471\" data-attachment-id=\"2937\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-8\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8.png?fit=900%2C471&amp;ssl=1\" data-orig-size=\"900,471\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-8\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8.png?fit=300%2C157&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8.png?fit=900%2C471&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8.png?resize=900%2C471&#038;ssl=1\" alt=\"\" class=\"wp-image-2937\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8.png 900w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-8-480x251.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 900px, 100vw\" \/><figcaption>Regalo Helado, di <a href=\"https:\/\/fineartamerica.com\/featured\/regalo-helado-truck-better-call-saul-joseph-oland.html\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Joseph Oland<\/a><\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Per creare una applicazione LUIS \u00e8 necessario un account Azure e una risorsa <em>Language Understanding<\/em>. Se non si ha gi\u00e0 un account, ci si pu\u00f2 registrare gratuitamente ad Azure ed usufruire del credito gratuito. Dopodich\u00e8 \u00e8 possibile creare la risorsa seguendo la <a href=\"https:\/\/docs.microsoft.com\/it-it\/learn\/modules\/create-and-publish-a-luis-model\/3-exercise-create-luis-service\" target=\"_blank\" rel=\"noreferrer noopener\">guida<\/a> di riferimento fornita da Microsoft. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Creata la risorsa, possiamo accedere al pannello di gestione di <a href=\"https:\/\/www.luis.ai\/applications\" target=\"_blank\" rel=\"noreferrer noopener\">LUIS<\/a> per creare la nostra applicazione, semplicemente scegliendo un nome e la <em>culture <\/em>di riferimento.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"597\" height=\"469\" data-attachment-id=\"2914\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine.png?fit=597%2C469&amp;ssl=1\" data-orig-size=\"597,469\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine.png?fit=300%2C236&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine.png?fit=597%2C469&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine.png?resize=597%2C469&#038;ssl=1\" alt=\"\" class=\"wp-image-2914\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine.png 597w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-480x377.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 597px, 100vw\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Dal pannello di configurazione possiamo creare il nostro primo Intent per riconoscere gli ordini da asporto, che chiameremo <em>TakeawayOrder<\/em>. A questo punto <strong>\u00e8 possibile iniziare a digitare degli esempi per istruire LUIS<\/strong>: frasi come <em>\u201c\u00e8 possibile ordinare da asporto?\u201d<\/em>, <em>\u201cVorrei dei gelati da portar via.\u201d<\/em>, <em>\u201cFate da asporto?\u201d<\/em>, sono tutti esempi validi. \u00c9 importante che le frasi di esempio siano varie e scritte in modo naturale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ma una gelateria ha cos\u00ec tanti gusti tra cui poter scegliere! Per farli riconoscere da LUIS, possiamo definire una nuova <strong>Feature<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"893\" height=\"655\" data-attachment-id=\"2916\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1.png?fit=893%2C655&amp;ssl=1\" data-orig-size=\"893,655\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1.png?fit=300%2C220&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1.png?fit=893%2C655&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1.png?resize=893%2C655&#038;ssl=1\" alt=\"\" class=\"wp-image-2916\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1.png 893w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-1-480x352.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 893px, 100vw\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Digitando i gusti nella casella <strong>Values<\/strong>, il riquadro dei suggerimenti si popoler\u00e0 di termini correlati a quelli gi\u00e0 inseriti. Quando abbiamo inserito i gusti disponibili nella nostra gelateria, confermiamo con <strong>Create<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abbiamo i gusti ora, ma un cliente potrebbe voler acquistare pi\u00f9 di un gelato nello stesso ordine. Per gestire correttamente questi casi, LUIS ci permette di creare delle entit\u00e0 di tipo <em>Machine Learned<\/em>, che sono effettivamente delle entit\u00e0 composte da pi\u00f9 sotto-entit\u00e0. Nel nostro caso, abbiamo bisogno di un&#8217;entit\u00e0 composta da due Feature: <em>flavour<\/em> e <em>number.<\/em> Avendo gi\u00e0 creato la prima, possiamo aggiungere la seconda scegliendola tra le entit\u00e0 predefinite disponibili in <strong>Add new prebuilt entity<\/strong>. A questo punto resta solo da creare la nostra entit\u00e0 <em>IceCreamOrder<\/em> composta dalle due sotto-entit\u00e0.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"692\" height=\"239\" data-attachment-id=\"2919\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-2-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2.png?fit=692%2C239&amp;ssl=1\" data-orig-size=\"692,239\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2.png?fit=300%2C104&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2.png?fit=692%2C239&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2.png?resize=692%2C239&#038;ssl=1\" alt=\"\" class=\"wp-image-2919\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2.png 692w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-2-480x166.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 692px, 100vw\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Definita la nostra entit\u00e0, torniamo sull\u2019Intent <em>TakeawayOrder<\/em> per assegnargli la Feature appena creata.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"316\" height=\"188\" data-attachment-id=\"2925\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?fit=316%2C188&amp;ssl=1\" data-orig-size=\"316,188\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-4\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?fit=300%2C178&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?fit=316%2C188&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?resize=316%2C188&#038;ssl=1\" alt=\"\" class=\"wp-image-2925\" srcset=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?w=316&amp;ssl=1 316w, https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-4.png?resize=300%2C178&amp;ssl=1 300w\" sizes=\"auto, (max-width: 316px) 100vw, 316px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Non ci resta che aggiungere delle frasi di esempio con questa Feature, che per\u00f2 non saranno riconosciute automaticamente. \u00c9 necessario infatti catalogarle manualmente per permettere al sistema di riconoscerle in seguito.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"80\" data-attachment-id=\"2922\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-3.png?fit=292%2C80&amp;ssl=1\" data-orig-size=\"292,80\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-3.png?fit=292%2C80&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-3.png?fit=292%2C80&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-3.png?resize=292%2C80&#038;ssl=1\" alt=\"\" class=\"wp-image-2922\"\/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Una volta terminata l\u2019aggiunta delle frasi di input, si procede con training e test<\/strong>. In risposta alla nostra richiesta, verranno restituite anche le feature riconosciute.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"388\" height=\"498\" data-attachment-id=\"2940\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-9\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?fit=388%2C498&amp;ssl=1\" data-orig-size=\"388,498\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-9\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?fit=234%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?fit=388%2C498&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?resize=388%2C498&#038;ssl=1\" alt=\"\" class=\"wp-image-2940\" srcset=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?w=388&amp;ssl=1 388w, https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-9.png?resize=234%2C300&amp;ssl=1 234w\" sizes=\"auto, (max-width: 388px) 100vw, 388px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ricapitolando, la nostra applicazione adesso \u00e8 in grado di riconoscere un Intent per le ordinazioni, con le relative Entity che descrivono la quantit\u00e0 ed il gusto dei gelati. Idealmente ogni frase non riconosciuta verr\u00e0 catalogata con l\u2019intent <em>None<\/em>, ma per garantire il corretto funzionamento del sistema, \u00e8 importante fornire degli esempi anche per questo Intent, accertandosi ancora una volta che siano scritti nel modo pi\u00f9 naturale possibile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pubblicazione\">Pubblicazione<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta testata la nostra applicazione, bisogna renderla disponibile al mondo esterno. La pubblicazione render\u00e0 accessibile ad un certo indirizzo il nostro modello, a cui chiediamo di fare delle predizioni, dette <strong>Predictions<\/strong>, sulle richieste degli utenti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">LUIS permette la pubblicazione contemporanea di due versioni differenti del nostro modello, utilizzando un meccanismo chiamato slot. Di base abbiamo a disposizione due slot chiamati <strong>Production <\/strong>e <strong>Staging<\/strong>, che ci permettono di differenziare l\u2019ambiente di produzione da quello su cui sviluppare nuove funzionalit\u00e0 da testare prima del rilascio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nella scheda <strong>Manage <\/strong>\u00e8 possibile trovare la lista delle versioni dell\u2019applicazione. Per crearne una nuova, baster\u00e0 selezionare una versione e cliccare su <strong>Clone<\/strong>. Cos\u00ec facendo, \u00e8 possibile lasciare intatta la versione di produzione (pubblicata sullo slot <em>Production<\/em>) e lavorare ad una nuova versione da pubblicare in <em>Staging<\/em>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"663\" height=\"258\" data-attachment-id=\"2928\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-5\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5.png?fit=663%2C258&amp;ssl=1\" data-orig-size=\"663,258\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-5\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5.png?fit=300%2C117&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5.png?fit=663%2C258&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5.png?resize=663%2C258&#038;ssl=1\" alt=\"\" class=\"wp-image-2928\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5.png 663w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-5-480x187.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 663px, 100vw\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">LUIS \u00e8 fruibile tramite gli SDK Microsoft o tramite REST API. Con entrambi \u00e8 possibile non solo verificare gli Intent ma anche modificare l\u2019applicazione stessa in una fase detta di <strong>Authoring<\/strong>, con tutti gli strumenti messi a disposizione dal portale web.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vi rimando alla documentazione ufficiale per approfondimenti:<br><a href=\"https:\/\/docs.microsoft.com\/it-it\/azure\/cognitive-services\/luis\/developer-reference-resource#language-based-sdks\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/docs.microsoft.com\/it-it\/azure\/cognitive-services\/luis\/developer-reference-resource#language-based-sdks<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-migliorare-il-modello\">Migliorare il modello<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta pubblicata, l\u2019applicazione sar\u00e0 messa alla prova dagli utenti, che in alcuni casi potrebbero formulare delle richieste che il sistema non \u00e8 in grado di riconoscere. <strong>\u00c9 importante che il corretto funzionamento del sistema sia periodicamente verificato.<\/strong> Con LUIS \u00e8 possibile revisionare le richieste dubbie, quelle cio\u00e8 con una <em>confidence <\/em>bassa, in modo da poterle aggiungere agli esempi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019operazione \u00e8 molto semplice: dalla scheda <strong>Build <\/strong>di LUIS si accede alla voce <strong>Review endpoint utterances<\/strong>, dove \u00e8 possibile confermare le predizioni fatte, o assegnarle ad un altro Intent.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"337\" data-attachment-id=\"2931\" data-permalink=\"https:\/\/ellycode.com\/it\/blog\/imparare-a-comprendere-il-linguaggio\/attachment\/immagine-6\/\" data-orig-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6.png?fit=658%2C337&amp;ssl=1\" data-orig-size=\"658,337\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"immagine-6\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6.png?fit=300%2C154&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6.png?fit=658%2C337&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6.png?resize=658%2C337&#038;ssl=1\" alt=\"\" class=\"wp-image-2931\" srcset=\"https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6.png 658w, https:\/\/ellycode.com\/wp-content\/uploads\/2021\/03\/immagine-6-480x246.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 658px, 100vw\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">La possibilit\u00e0 di verifica da parte di un operatore umano \u00e8 solo uno dei punti elencati dalle linee guida Microsoft per un uso responsabile dell\u2019Intelligenza Artificiale. Questi principi aiutano a capire l\u2019impatto che i propri sistemi hanno sulle persone, e quali insidie si nascondono nello sviluppo degli stessi. Se vi interessa approfondire il discorso, date un&#8217;occhiata all&#8217;<a href=\"https:\/\/ellycode.com\/it\/blog\/unintelligenza-artificiale-piu-etica\/\">articolo<\/a> di Michele.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusioni\">Conclusioni<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dopo aver analizzato le soluzioni di Natural Language Processing nel precedente <a href=\"https:\/\/ellycode.com\/it\/blog\/dal-testo-alla-comprensione-con-lintelligenza-artificiale\/\">articolo<\/a>, abbiamo visto in che modo un prodotto come LUIS possa essere il passo successivo all\u2019analisi del testo, fondamentale per l\u2019interpretazione dei comandi e per decidere cosa fare con le richieste dell\u2019utente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anche Amazon e Google mettono a disposizione delle soluzioni pronte all\u2019uso simili a LUIS, rispettivamente chiamate <em>Lex<\/em> e <em>DialogFlow<\/em>, che sono per\u00f2 pi\u00f9 incentrate sullo sviluppo di chatbot. LUIS, invece, si pone sul mercato come una soluzione pi\u00f9 generica, utilizzabile in qualsiasi contesto sia necessario comprendere gli intenti di un utente e decidere come rispondere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Strumenti del genere sono fondamentali in una soluzione come quella che stiamo sviluppando in Ellycode, perch\u00e9 pongono l\u2019accento proprio sulla possibilit\u00e0 di miglioramento del modello e di adattamento al dominio dell\u2019utente. E<strong> se posso comprendere cosa mi sta chiedendo l\u2019utente sono sulla buona strada per rispondergli correttamente<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come? Continuate a seguirci!<\/p>\n\n\n[et_pb_section global_module=\"1791\"][\/et_pb_section]\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Per comprendere quello che viene espresso dall\u2019utente in linguaggio naturale, la semplice analisi sintattica spesso non basta. Sono necessari strumenti che possano analizzare una frase nel complesso ed estrapolarne i concetti chiave, spesso legati al proprio ambito di applicazione. Per questo abbiamo bisogno di strumenti che possano fornire una configurazione iniziale, per poi essere specializzati [&hellip;]<\/p>\n","protected":false},"author":195423238,"featured_media":2964,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[688637365],"tags":[],"class_list":["post-2909","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/8_1105x656_blog_luiss.png?fit=1105%2C656&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcuDuD-KV","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/2909","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/users\/195423238"}],"replies":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/comments?post=2909"}],"version-history":[{"count":21,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/2909\/revisions"}],"predecessor-version":[{"id":2966,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/2909\/revisions\/2966"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/media\/2964"}],"wp:attachment":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/media?parent=2909"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/categories?post=2909"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/tags?post=2909"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}