Query in linguaggio naturale per il dominio della dieta mediterranea
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Query in linguaggio naturale per il dominio della dieta mediterranea Luca Anselma, Dario Ferrero, Alessandro Mazzei Dipartimento di Informatica, Università di Torino, Italy {anselma,mazzei}@di.unito.it, dario.ferrero@edu.unito.it Abstract da anni per permettere una più fluida interazione uomo-macchina. La natura della comunicazione English. This paper presents an ongoing umana presenta molti aspetti difficili da formaliz- work for allowing users to ask questions zare tramite regole precise: ambiguità nell’uso di in natural language to a database mana- parole ed espressioni, differenze culturali ed idio- gement system on the domain of recipes. matiche, l’affidamento ad informazioni implicite The system translates questions from Ita- date dal contesto. Questo è vero anche in spe- lian language to SQL exploiting an inter- cifici domini, come quello che lega le persone al lingua represented by a logical formalism cibo (Jurafsky, 2014). A questo scopo da diversi such as relational calculus. There are two anni sono state argomento di ricerca le Interfacce specific features of this project: first, the al Linguaggio Naturale (NLIs), sistemi in grado use of relational calculus as semantic re- di interpretare, modellare ed eseguire un’interro- presentation for interlingua translation; se- gazione formulata in Linguaggio Naturale su un cond, the role played by pragmatic infor- qualche tipo di base di conoscenza (basi di dati, mation, that is the Mediterranean diet do- ontologie, ecc.). Le applicazioni sono dunque tra main implicitly encoded in the database le più svariate, dalle semplici barre di ricerca di un schema. sito web, ai più recenti Voice Assistant ed altri ser- vizi anche web-based (Balloccu et al., 2021). L’u- Italiano. Questo articolo presenta un pro- so del linguaggio naturale ha vantaggi e svantaggi getto in corso sulla per permettere a de- se paragonato a linguaggi formali come le query gli utenti di porre domande a un data- scritte in uno dei linguaggi di interrogazione dei base management system nell’ambito del database. Uno dei vantaggi è la familiarità dell’u- dominio delle ricette. Il sistema tradu- tente con il linguaggio naturale. Uno svantaggio ce le domande da italiano a SQL sfrut- consiste nell’estrema espressività del linguaggio tando una rappresentazione logica inter- umano, che rende impossibile una copertura totale lingua che consiste nel calcolo relaziona- del lessico e quindi delle possibili interpretazioni le. Ci sono due specifiche caratteristi- del significato. che di questo progetto: l’uso del calco- lo relazionale come rappresentazione se- In questo lavoro presentiamo una NLI per inter- mantica della traduzione interlingua e il rogare una base di dati nel dominio della dieta me- ruolo giocato dall’informazione pragmati- diterranea. Una domanda su tale dominio espressa ca, che consiste nell’uso del dominio della in lingua italiana verrà analizzata mediante l’uso dieta mediterranea che è stato codificata di una grammatica feature-based context-free, rap- nello schema del database. presentata mediante il calcolo relazionale su tuple, e infine trasformata in SQL mediante un processo ricorsivo basato sulla pragmatica del dominio ap- 1 Introduzione plicativo. Un elemento distintivo di questo proget- L’accesso a grandi moli di dati da parte di perso- to, rispetto ai classici esempi di conversione basati ne comuni è una delle molteplici sfide affrontata sulla logica del primo ordine (Warren and Perei- ra, 1982), è l’uso esplicito del calcolo relazionale Copyright © 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 per rappresentare il significato della frase. Inoltre, International (CC BY 4.0). un ruolo importante è giocato dalla pragmatica del
dominio, che lega il linguaggio usato nelle doman- bilità è sia la debolezza che il maggior punto di de alla formalizzazione delle ricette, e che risulta forza di Querix, in quanto garantisce la più com- codificata nello schema del database. pleta portabilità sui domini di qualsiasi ontologia utilizzata. 2 Alcuni lavori recenti LN→SQL basati Gli approcci basati su Grammatiche si appog- sulla sintassi giano largamente sulle regole di produzione: a dif- ferenza dei sistemi descritti in precedenza, in que- In questa sezione consideriamo alcuni lavori sul sti approcci è possibile stabilire a priori quali tipi tema della traduzione da linguaggio naturale a di domande sia interpretabile e quali no. Da que- SQL che fanno uso della sintassi, seguendo lo sta capacità segue quindi la possibilità di imple- schema proposto in (Affolter et al., 2019). Una mentare un interfacciamento più interattivo, dove rassegna più estesa si può trovare in (Amer-Yahia la validità di una domanda in input può essere de- et al., 2021). terminata durante la stessa fase di inserimento e Negli approcci basati sul Parsing si derivano guidata da parte di feedback visivi. In TR Disco- gran parte delle informazioni ricavabili a partire ver, ad esempio, la prima fase di traduzione del- dalla struttura della frase in input. Tramite que- la query consiste nel suo parsing su una Feature- sto approccio è possibile riconoscere dipendenze Based Context-Free Grammar (FCFG) dove rego- complesse tra i singoli elementi sintattici, spes- le lessicali, generate dai nomi degli attributi della so introdotte da particolari espressioni o da pre- base di dati, e regole grammaticali, le quali defini- posizioni: si attribuisce quindi un valore seman- scono la composizione delle informazioni estratte, tico alla struttura logica della domanda analizza- permettono di ottenere composizionalmente come ta. Querix, ad esempio, fornisce un’interfaccia rappresentazione intermedia una formula nella Lo- per l’interrogazione di ontologie tramite la gene- gica del Primo Ordine (FOL) (Song et al., 2015). razione di una query SPARQL (Kaufmann et al., Generare questo primo tipo di formulazione por- 2006). Questo risultato è ottenuto tramite tre com- ta una notevole flessibilità permettendo una tradu- ponenti: query analyzer, matching center e query zione finale sia in SQL che in SPARQL. Nella se- generator. Il query analyzer parte dalla doman- conda fase è effettuata un’ulteriore fase di analisi, da in Linguaggio Naturale e, tramite componen- questa volta sulla formula logica, tramite un FOL ti esterne quali lo Stanford Parser e il database parser e un’apposita grammatica. Un importante lessicale WordNet, restituisce uno scheletro del- punto di forza di TR Discover consiste nel modulo la query dato dalla sequenza delle categorie sin- di auto-suggestion: il fatto che la grammatica de- tattiche proprie delle parole in input (Nome, Ver- finisca precisamente il tipo di domande valide può bo, Preposizione, Congiunzione, ecc.). Tramite il essere sfruttato dal sistema per suggerire all’uten- matching center si cercano inizialmente dei pat- te possibili domande. A partire quindi dalle parole tern Soggetto-Proprietà-Oggetto all’interno delle di un input parziale, i suggerimenti sono generati categorie estratte dalla frase (la sua struttura assu- dalle strutture grammaticali derivabili e ordinati a me quindi più importanza rispetto ai sistemi basati seconda della “popolarità” delle entità riconosciu- su keyword). Si cercano poi possibili match tra te. Il sistema, tuttavia, presenta chiare limitazioni le parole in input e le risorse dell’ontologia (en- di espressività, non essendo in grado di analizzare trambi accresciuti dei rispettivi sinonimi di Word- query richiedenti quantificazioni e permettendo le Net), ed infine si cerca di ottenere corrispondenze negazioni solo traducendo in SPARQL. tra i risultati di queste due fasi intermedie. I mat- ching delle triple cosı̀ ottenute permettono al que- 3 Dominio applicativo: il progetto ry generator di costruire una o più query SPAR- MAdiMan QL, ad ognuna delle quali è assegnato un ranking. L’ambiguità data dai molteplici risultati è risolta Nel dominio della dieta alimentare il progetto MA- mostrando all’utente una finestra di dialogo che DiMAN (Multimedia Application for Diet MANa- permette di selezionare la query più pertinente. gement) si pone come obiettivo quello di fornire L’efficacia del sistema dipende in gran parte dal- un intermediario semi-automatizzato (un “dietista la qualità del vocabolario dato dall’ontologia su virtuale”) tra l’utente e la gestione della sua ali- cui è usato, limitando potenzialmente il range di mentazione: a partire da informazioni quali dati domande esprimibili. Questa assenza di adatta- biologici individuali, una definizione della dieta
da seguire (basata su quantità di macronutrienti) # Frase 1 Quali sono le ricette senza fritture? e un aggiornamento costante sullo storico dei pa- Quali sono le ricette con meno di 2 sti, il sistema cloud-based è in grado di propor- 500 kcal? re diversi servizi volti alla pianificazione dei pasti Quali sono i piatti con più di 40g di 3 proteine? futuri, alla persuasione dell’utente verso una sana 4 Quali sono i piatti con meno carboidrati? alimentazione e all’interazione efficace con queste Quali sono le preparazioni delle ricette 5 informazioni (Anselma et al., 2018; Anselma and primaverili? Quanta acqua ho consumato il giorno Mazzei, 2020; Mazzei et al., 2015; Anselma and 6 @data? Mazzei, 2015). Quante calorie ho assunto ogni giorno dal 7 @date1 al @date2? 3.1 La base di dati: Gedeone Quali sono le ricette di pesce in ordine di 8 difficoltà? Nel considerare il dominio di interesse è neces- Quali sono le ricette facili col minor 9 sario pensare ai dati stessi su cui andiamo a la- tempo di preparazione? Quali sono le ricette con cottura in forno vorare. Gedeone1 è un portale di Coop Italia de- 10 o a vapore? dicato a promuovere un sano stile di vita e dieta Quali sono gli ingredienti per @people 11 proponendo consigli, articoli e soprattutto ricette. persone della ricetta @recipe? 12 Quali sono i piatti con pochi carboidrati? Al fine del progetto MADiMAN, le informazioni presenti su questo sito sono state manipolate e tra- Tabella 1: Le 12 domande nel dominio delle ri- sposte in una base di dati con DBMS PostgreSQL, cette di Gedeone ideate per la sperimentazione. Il rendendo disponibili un gran quantitativo di ricet- simbolo @ indica delle variabili nella domanda. te (circa 500), passi preparativi, ingredienti, valori nutrizionali e vari metadati. Un’ulteriore componente dello schema analiz- istruzioni ed ingredienti. Secondo, per permet- zato include dati e tabelle su utenti e la loro dieta, tere il testing di un prototipo, ognuna di queste lo storico dei pasti e delle pesate. domande è stata scritta affinché verificasse l’abi- Per gli obiettivi di questo lavoro è stato deciso di lità del sistema nel riconoscere e derivare all’in- considerare la parte del database relativa alle ricet- terno della struttura sintattica particolari costrutti, te trascurando la parte relativa alla pianificazione strutture ed operazioni appartenenti alla query fi- dei pasti considerando il punto di vista di un uten- nale. Prendendo spunto da (Affolter et al., 2019), te non esperto del funzionamento della memoriz- ogni domanda è stata categorizzata attraverso va- zazione dei dati, ancor meno di come questi siano rie label, principalmente corrispondenti agli ope- strutturati internamente. ratori SQL Join, Filtraggio su attributo (nella clau- sola WHERE), Negazione, Ordinamento esplicito, 4 Architettura del prototipo LN→SQL Raggruppamento, Aggregazione, Sottoquery. A ogni domanda definita nel corpus è stata as- Primariamente è stato costruito un corpus di 12 sociata una corrispondente query SQL, la cui cor- domande in Linguaggio Naturale2 (Tabella 1). Gli rettezza è stata verificata sul database. Mentre si scopi di questo piccolo corpus sono principalmen- è cercato il più possibile di semplificare il formato te due. Primo, nel progettare un sistema che si della traduzione finale di ogni domanda in input, interfacci con una persona tramite un unico pas- la necessità a fini sperimentali di definire domande so in un caso d’uso ipotetico (inserimento testua- sempre più complesse ha portato ad ottenere alcu- le), è stato necessario pensare a delle domande ne query con strutture articolate, il che ha talvolta plausibili che un utente medio potrebbe porre tra- reso arduo il processo di traduzione. mite applicativo. È stato ipotizzato a questo fi- Il processo di traduzione di ogni domanda del ne che le informazioni più desiderabili derivino corpus è sequenziale e si divide in una fase pre- dalla possibilità di consultare il ricettario, ponen- liminare di preanalisi, e in due fasi principali do domande implicitamente relative alla propria concatenate fra di loro. dieta personale (per esempio, sapere l’apporto ca- lorico di un certo piatto) cosı̀ come richiedendo Nella preanalisi la domanda in italiano è suddivisa in token. Oltre a ciò sono riconosciuti 1 http://www.gedeone-e-coop.it ed estratti possibili valori di attributi relativi 2 Il corpus completo è disponibile online: http://ww w.di.unito.it/˜mazzei/papers/clic2021/Qn alla base di dati considerata ed è attuata dove Acorpus.pdf necessario una sostituzione con sinonimi. Par-
PP[PT=?pt, RL=?rl, LF=?fl, ORD=?ord] -> FCFG. In questo cambio di direzione è stato ri- P[PT=?pt] NP[RL=?rl, LF=?fl, ORD=?ord] scontrato che una rappresentazione intermedia più vicina all’obbiettivo della traduzione in SQL pote- NN[ORD=] -> ’ordine’ va essere data da una query in calcolo relazionale. Il Calcolo Relazionale su Tuple con dichiarazio- Figura 1: Un frammento della FCFG usata per rap- ne di Range è un linguaggio formale che permette presentare la semantica di una domanda in Calcolo di esprimere in modo dichiarativo una interroga- Relazionale. zione su una base di dati relazionale. In questo formalismo una query comprende tre componenti: tendo dalla terza frase della Tabella 1, ovvero Target List (TL), Range List (RL) e Logic Formula Quali sono i piatti con più di 40g di proteine?, (LF) (Codd, 1972) (cf. Fig. 1). Per ognuna di que- la preanalisi, dopo aver eseguito tokenizazione e ste riportiamo una breve descrizione, seguita dal sostituzione dei sinonimi, restituisce: [quali, metodo scelto per poterla ottenere e rappresenta- sono, i, ricetta, con, più, di, re a partire dalla domanda in italiano e tramite la 40, grammi, di, proteineg]. grammatica basata su feature. La prima fase prende in input i token ottenuti in Target List: specifica quali attributi compaio- preanalisi e restituisce un albero sintattico anno- no nel risultato. Poiché il riconoscimento degli tato, ottenuto tramite il parsing dei token su una attributi necessari dipende sia da quali vengano FCFG. È ottenuta, come rappresentazione inter- esplicitati nella domanda, sia dalle tabelle coin- media, un’espressione nel Calcolo Relazionale su volte, questa componente è quasi completamente Tuple. determinata nella seconda fase (a posteriori della Infine, nella seconda fase, le informazioni pre- parsing sintattico). Tramite le regole lessicali del- senti nell’albero sintattico sono estratte tramite di- la grammatica sono riconosciuti gli eventuali at- verse visite, durante ognuna delle quali è costruita tributi di tabelle, i cui simboli terminali sono an- una clausola della corrispondente query in SQL. notati dalla loro rappresentazione nella feature LF, Nel seguito dettagliamo il funzionamento delle specificandone il tipo tramite la feature booleana due fasi principali e poi analizziamo le prestazioni +ATTR. Gli elementi restanti della Target List sa- del sistema. ranno in seguito derivati tramite una mappatura 4.1 Prima fase: dal Linguaggio Naturale al tabella-attributi. Calcolo Relazionale Range List: specifica le variabili libere nella In questo lavoro abbiamo usato delle grammatiche Formula Logica, cioè le tabelle su cui variano le libere da contesto con feature3 (FCFG) utilizzan- variabili della LF per generare il risultato. Si- do la libreria Python NLTK (Bird, 2006). Simil- milarmente agli attributi, anche le tabelle posso- mente a (Warren and Pereira, 1982; Song et al., no essere riconosciute esplicitamente (ed annotate 2015), abbiamo inizialmente usato una rappresen- con una feature +TABLE), oppure derivate da at- tazione intermedia di tipo logico per rappresentare tributi riscontrati, ma non appartenenti a nessuna il significato della domanda. L’obbiettivo era ap- tabella trovata fino a quel momento. In entram- punto quello di realizzarne una traduzione il più bi i casi la loro semantica è raccolta nella feature possibile fedele a una formula della FoL, la quale RL di una produzione terminale e, come per gli esprimesse precisamente il significato della query attributi, i diversi elementi saranno raccolti nel- finale nel dominio (tabelle coinvolte, espressioni la fase successiva attraversando l’albero sintattico per la clausola WHERE, valori di attributi, ecc.). annotato. Dopo le prime sperimentazioni si è riscontrato Logic Formula: specifica una formula che il che questa forma intermedia, per quanto intuitiva risultato deve soddisfare. A differenza delle pre- e formale, non permetteva una facile traduzione fi- cedenti, la LF (feature LF) è composta ricorsiva- nale nella seconda fase. Inoltre, fare affidamento mente e i suoi predicati possono essere introdotti esclusivamente su una singola formula composta non solo nelle regole lessicali, ma anche nelle pro- limitava i potenziali vantaggi dati dall’uso delle duzioni non terminali tramite il riconoscimento di 3 particolari strutture sintattiche. La composizione La grammatica realizzata è disponibile online: http: //www.di.unito.it/˜mazzei/papers/clic202 della formula a partire da feature di nodi diversi è 1/calcolo relazionale.fcfg effettuata tramite le astrazioni del lambda-calcolo:
definendo predicati parziali in un nodo è possibile di SQL viene visitato l’albero sintattico e, grazie applicarli a formule ed argomenti provenienti da- anche alle informazioni dal dominio, viene gene- gli altri nodi della stessa produzione in una sem- rata la clausola componendo ivalori nelle feature. plificazione chiamata Beta-riduzione. Questa av- In particolare: viene automaticamente durante il parsing sintat- SELECT: La lista di attributi da restituire corri- tico tramite NLTK, ed il risultato, se presente, è sponde alla Target List del Calcolo Relazionale. È visibile nella radice dell’albero sintattico. possibile riconoscere due tipi di attributi apparte- A differenza di SQL, il Calcolo Relazionale, per nenti a questa. (i) Ogni tabella introdotta, esplici- propria natura, non esprime esplicitamente un or- tamente o meno (riconosciuta a partire dalla featu- dinamento sull’insieme di tuple risultante (corri- re +TABLE oppure derivata da un suo attributo), spondente al costrutto ORDER BY di SQL). Per comprende uno o più attributi di default, oltre a compensare questo aspetto si è deciso di utilizza- quelli di chiave primaria. Questo tipo di mappatu- re una feature aggiuntiva ORD, definita in modo ra è un esempio di informazione pragmatica pro- simile alla feature LF ma utilizzata esclusivamen- veniente dal dominio e codificata nella tabella. (ii) te per mantenere tramite predicati le informazioni Per quanto riguarda invece gli attributi non presen- di un eventuale ordinamento esplicito (riconosciu- ti in alcuna tabella, questi possono semplicemente to a livello lessicale da espressioni come “in ordine essere riconosciuti da una regola lessicale (tramite di”, “con meno/più X”, ecc.) In generale il proces- la feature +ATTR) ed aggiunti in coda all’elenco. so di traduzione della prima fase è completamente automatizzato: il parser utilizzato è generato tra- FROM: Un’assunzione importante è stata fat- mite una funzione della libreria NLTK e necessita ta nella gestione dei join, ovvero che le tabelle solamente della definizione di una grammatica. Il avessero sempre delle chiavi esterne definite espli- parsing dei token in input restituisce dunque un citamente. Ciò semplifica notevolmente la tradu- albero sintattico annotato con feature. zione, in quanto è sufficiente conoscere le tabelle Partendo dalla preanalisi della frase Quali so- coinvolte per poter generare l’intera clausola com- no i piatti con più di 40g di proteine?, si ottie- prensiva delle condizioni di join. L’algoritmo di ne l’analisi sintattica in Fig. 2(a), e la corrispon- generazione riconosce i vincoli di chiave esterna dente rappresentazione in calcolo relazionale in tramite due cicli, che compongono la clausola ri- Fig. 2(b). sultante con gli attributi necessari. Da notare che sia i vincoli relazionali, sia gli alias delle tabelle 4.2 Seconda fase: dal Calcolo Relazionale a sono definiti tramite dizionari. SQL WHERE: Questa clausola è l’unica costruita La costruzione dell’interrogazione SQL utilizza a partire dalle informazioni provenienti dalla LF. l’albero sintattico e la corrispondente formula del I predicati di questa sono indicati in un forma- calcolo relazionale ottenute entrambe nella fase lismo più simile a quello della FOL rispetto al precedente, insieme a ulteriori dati provenienti dal Calcolo Relazionale, al fine di aderire alla sintas- dominio di interesse, e che sono implicitamente si delle formule di NLTK. Per ognuno dei pre- codificate nel database di riferimento. Mentre con dicati si effettua una traduzione corrispondente la prima fase si è potuto modellare la conoscenza rappresentazione in SQL. derivata dalla domanda iniziale, molto di ciò che ci ORDER BY: Come la clausola WHERE, la serve sapere non è direttamente derivabile da una costruzione di questa clausola è determinata dal domanda in italiano. Inoltre, poiché l’obbiettivo di valore della feature ORD nella radice dell’albero questo progetto rimane la creazione di un sistema sintattico. Per i fini della nostra implementazio- che operi su un dominio definito, è necessario che ne è stato deciso di adottare, nel caso in cui la le informazioni più importanti riguardanti questo feature ORD risulti vuota, un ordinamento di de- siano definite ed accessibili nel sistema: queste in- fault sull’attributo di chiave primaria della tabella formazioni sono fondamentali per stabilire i lega- principale coinvolta. mi tra ciò che è stato chiesto e i nomi effettivi di tabelle e attributi. Considerando ancora la terza frase della Tabel- Il processo di traduzione finale segue un algorit- la 1, il risultato della seconda fase di traduzione è mo generale comune: per ogni clausola principale in Fig. 2-(c).
(S[FL=, ORD=?ord] (VP[] (PI[NUM=’pl’, QRT=’qual’] Quali) (IV[NUM=’pl’] sono)) (NP[FL=?fl] (DET[NUM=’pl’] i) (NN[RL=, +TABLE] ricetta)) (PP[FL=, ORD=?ord, PT=’with’, RL=?rl] (P[PT=’with’] con) (NP[FL=] (ADV[FL=] più) (PP[FL=, ORD=?ord, PT=’of’, RL=?rl] (P[PT=’of’] di) (NP[FL=] (CARD[FL=] 40) (NN[] grammi))) (PP[FL=, PT=’of’, RL=] (P[PT=’of’] di) (NN[+ATTR, FL=, RL=] proteineg))))) (a) {TL=ric.id, ric.descrizione, ric.nome , ric.proteineg | RL=ric(ricetta) | LF=maggiore(ric(ricetta),proteineg,40)} (b) SELECT ric.id, ric.nome, ric.descrizione, ric.proteineg FROM Ricetta ric WHERE ric.proteineg>40 ORDER BY ric.id ASC; (c) Figura 2: Il risultato della prima fase di analisi (a-b) e della seconda fase di analisi (c) sulla frase Quali sono i piatti con più di 40g di proteine?. 5 Valutazione preliminare boidrati?”: la difficoltà nell’includere una sotto- query (con annessa Window Function di SQL) ha Nella sperimentazione preliminare è stato possibi- portato a interpretare “pochi carboidrati” non co- le implementare la traduzione solamente di 7 do- me valori appartenenti al primo quartile sulla di- mande rispetto alle 12 inizialmente definite nel stribuzione totale, ma come quantità al di sotto di corpus4 . Seguono i limiti incontrati per alcune una soglia di default. delle interrogazioni non realizzate. La domanda 6, Quanta acqua ho consumato il 6 Conclusioni giorno @data, è stata tralasciata poiché richiede- rebbe una gestione delle informazioni riguardanti In questo lavoro sono stati presentati i primi risul- un utente che abbia effettuato l’accesso al sistema. tati di un progetto ancora in corso per interpretare Non è stato possibile realizzare la domanda 10, una domanda in linguaggio naturale come un’in- “Quali sono le ricette con cottura in forno o a va- terrogazione SQL nel dominio della dieta medi- pore” per la natura dell’operazione richiesta (un terranea. Le due caratteristiche principali di que- OR esclusivo), la quale richiedeva una sotto-query. sto progetto sono state l’uso del calcolo relazio- Al momento non è implementato un meccani- nale su tuple per rappresentare il significato della smo che rilevi la presenza di sotto-interrogazioni frase (Sezione 4.1) e l’uso delle specificità del do- a partire dalla struttura della frase. minio per trasformare poi tale rappresentazione in Nella domanda 11, “Quali sono gli ingredienti SQL (Sezione 4.2). per @people persone della ricetta @recipe?”, la In futuro intendiamo completare le interroga- difficoltà incontrata è stata la gestione dei valori zioni contenute nel corpus proposto per poi inte- NULL ottenibili in certi attributi. grare il prototipo in un agente conversazionale sul La domanda 12, “Quali sono i piatti con po- dominio della gestione di una dieta salutare. Con- chi carboidrati?”, è stata realizzata nella versione siderando la presenza di indeterminatezza nel lin- semplificata “Quali sono i piatti con meno car- guaggio naturale, potrebbe essere interessante da- 4 re supporto per estensioni del modello relaziona- Un elenco completo dell’output è disponibile a http: //www.di.unito.it/˜mazzei/papers/clic202 le che trattano indeterminatezza (Anselma et al., 1/OutputPrototipo.pdf 2016).
References Dan Jurafsky. 2014. The language of food: A linguist reads the menu. WW Norton & Company. Katrin Affolter, Kurt Stockinger, and Abraham Bern- stein. 2019. A comparative survey of recent na- Esther Kaufmann, Abraham Bernstein, and Renato tural language interfaces for databases. The VLDB Zumstein. 2006. Querix: A natural language inter- Journal, 28(5):793–819. face to query ontologies based on clarification dia- logs. In 5th international semantic web conference Sihem Amer-Yahia, Georgia Koutrika, Frederic Ba- (ISWC 2006), pages 980–981. stian, Theofilos Belmpas, Martin Braschler, Ursin Brunner, Diego Calvanese, Maximilian Fabricius, Alessandro Mazzei, Luca Anselma, Franco De Mi- Orest Gkini, Catherine Kosten, Davide Lanti, Anto- chieli, Andrea Bolioli, Matteo Casu, Jelle Gerbran- nis Litke, Hendrik Lücke-Tieke, Francesco Alessan- dy, and Ivan Lunardi. 2015. Mobile computing dro Massucci, Tarcisio Mendes de Farias, Alessan- and artificial intelligence for diet management. In dro Mosca, Francesco Multari, Nikolaos Papadakis, International Conference on Image Analysis and Dimitris Papadopoulos, Yogendra Patil, Aurélien Processing, pages 342–349. Springer. Personnaz, Guillem Rull, Ana Claudia Sima, Elle- ry Smith, Dimitrios Skoutas, Srividya Subramanian, Dezhao Song, Frank Schilder, Charese Smiley, Chris Guohui Xiao, and Kurt Stockinger. 2021. INODE: Brew, Tom Zielund, Hiroko Bretz, Robert Martin, building an end-to-end data exploration system in Chris Dale, John Duprey, Tim Miller, et al. 2015. Tr practice [extended vision]. CoRR, abs/2104.04194. discover: A natural language interface for querying and analyzing interlinked datasets. In International Luca Anselma and Alessandro Mazzei. 2015. Towards Semantic Web Conference, pages 21–37. Springer. diet management with automatic reasoning and per- suasive natural language generation. In Portuguese David H.D. Warren and Fernando C.N. Pereira. 1982. Conference on Artificial Intelligence, pages 79–90. An efficient easily adaptable system for interpre- Springer. ting natural language queries. American Journal of Computational Linguistics, 8(3-4):110–122. Luca Anselma and Alessandro Mazzei. 2020. Buil- ding a persuasive virtual dietitian. Informatics, 7(3):27. Luca Anselma, Luca Piovesan, and Paolo Terenzia- ni. 2016. A 1nf temporal relational model and algebra coping with valid-time temporal indetermi- nacy. Journal of Intelligent Information Systems, 47(3):345–374. Luca Anselma, Alessandro Mazzei, and Andrea Pirone. 2018. Automatic reasoning evaluation in diet mana- gement based on an italian cookbook. In Procee- dings of the Joint Workshop on Multimedia for Coo- king and Eating Activities and Multimedia Assisted Dietary Management, pages 59–62. Simone Balloccu, Ehud Reiter, Matteo G. Collu, Fe- derico Sanna, Manuela Sanguinetti, and Maurizio Atzori. 2021. Unaddressed challenges in persuasive dieting chatbots. In Judith Masthoff, Eelco Herder, Nava Tintarev, and Marko Tkalcic, editors, Adjunct Publication of the 29th ACM Conference on User Modeling, Adaptation and Personalization, UMAP 2021, Utrecht, The Netherlands, June 21-25, 2021, pages 392–395. ACM. Steven Bird. 2006. NLTK: the natural language tool- kit. In Nicoletta Calzolari, Claire Cardie, and Pier- re Isabelle, editors, ACL 2006, 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computatio- nal Linguistics, Proceedings of the Conference, Syd- ney, Australia, 17-21 July 2006. The Association for Computer Linguistics. E. F. Codd. 1972. Relational completeness of data base sublanguages. Research Report / RJ / IBM / San Jose, California, RJ987.
Puoi anche leggere