Corso di Laurea in Scienze della Comunicazione
Facoltà di Lettere e Filosofia
LIBER
Progettazione di un programma per la
ricerca bibliotecaria ispirato ai sistemi di
chatbot sviluppati in linguaggio AIML
Tesi di Laurea di Davide Andriolo
Cos’è una chatbot?
chat + bot
to chat: “chiacchierare”
bot: suffisso di robot
Esempio 1: Alice
no, you are only repeating program
Esempio 1: Alice
Esempio 2: Giulietta
parlami della 156
Esempio 2: Giulietta
Come funzionano le chatbot?
AIML
Artificial Intelligence Marked Language
Alcuni esempi di codice:
<category>
<pattern>I AM CALLED *</pattern>
<template>
<set name="name">
<formal><star/></formal>
</set>
, good to know you.
</template>
</category>
Alcuni esempi di codice:
<category>
<pattern>CHI FU ALAN TURING</pattern>
<template>
<srai>CHI E' ALAN TURING</srai>
</template>
</category>
<category>
<pattern>_ FELINI</pattern>
<template>
Alcuni felini sono belli.. Per esempio certi tipi di
<settopic>gattini</settopic>.
</template>
</category>
Altre funzioni utili:
<a href="http://URLpaginaweb">
<javascript>
<if>
<random>
Potenzialità dell’AIML:
- risultati soddisfacenti a costi molto bassi
- buon funzionamento in dominio limitato
- modificabilità
IL PROGETTO:
LIBER
bibliotecario virtuale capace di ricevere input in linguaggio naturale
(funzione di mediazione fra l’utente e il database del sistema)
Requisiti:
Capacità di aiutare l’utente nella ricerca espandendo una query che
non ha portato a risultati:
If (“number-search”=0) then
<category>
<pattern> fantasmi </pattern>
<template> <srai> fantasma <srai> </template>
</category>
Capacità di far fronte ad eventuali errori ortografici negli input degli
utenti:
<category>
<pattern> abbazzia </pattern>
<template> <srai> abbazia <srai> </template>
</category>
Requisiti:
Capacità di fornire agli utenti informazioni sull’organizzazione della
biblioteca (tempi di prestito, eventuali penali, etc.)
Capacità di comprendere le frasi più comuni utilizzate dagli utenti per
la ricerca (necessità di uno studio sul campo che identifichi tali frasi)
Alcuni esempi di frasi per la ricerca:
Per titolo: <Vorrei sapere la collocazione di *>
Per autore: <Sto cercando un libro, l’autore è *>
Per argomento: <Avete libri che parlano di *?>
In AIML:
<category>
<pattern>
Avete libri che parlano di *?
</pattern>
<template>
<display target="target1">
http://search.biblioteca.unis.it/bin/search?topic=<star/>
</display>
Questi sono i libri di
<set it> <settopic> * </settopic> </set it>, quale cercavi?
</template>
</category>
Testing:
Modalità: Mago di Oz (Houde e Hill 1997)
Fase 1 (28 utenti):
Libera, ha permesso di scoprire alcune falle e di aggiungere
nuovi requisiti al sistema
Fase 2 (5 utenti):
Scenario Based, ha permesso di osservare l’interazione degli
utenti con una versione più definita di LIBER
Prima fase di Testing:
Libri sulla guerra o scritti da Guerra?
VORREI UN LIBRO DI GUERRA
Ricerche incrociate:
Mi dia “Titolo” di “Autore”
Stavo cercando un libro di “Autore” del “anno”
Mi servirebbe qualcosa su “Argomento” scritta fra il
“anno1” e il “anno2”
Richieste problematiche:
<Un mio amico ha preso in prestito un libro martedì, ma
non ricordo il titolo, si può ricavare in qualche modo?>
<Mi consiglia qualcosa da leggere sotto l’ombrellone?>
Analisi risultati Test 1:
Un’interazione interamente in linguaggio
naturale crea problemi in termini di visibilità
(Norman 1988), portando alcuni utenti a
formulare richieste eccessive per il sistema.
È necessaria una nuova fase di progettazione
che tenti di ovviare a tale inconveniente.
Seconda fase di Testing:
Scenario:
Sei uno studente universitario e hai saputo della
possibilità di ricevere libri in prestito dalla biblioteca della
tua facoltà. Decidi di andarci per cercare un libro di Eco
di cui ti ha parlato un amico, ma hai dimenticato il titolo.
In compenso, ricordi che il protagonista della storia era
un bugiardo che viveva (o almeno raccontava) storie
incredibili. Ti trovi di fronte al computer per effettuare la
tua ricerca.
AVETE LIBRI DI ECO?
QUAL È QUELLO CHE PARLA
DI UN BUGIARDO?
Ecco la descrizione del libro.
Il suo codice di collocazione è:
SBS 64573
Analisi risultati Test 2:
2
utenti ignorano LIBER e procedono con una
classica ricerca per campi
2
utenti si soffermano a chiacchierare con
LIBER e lo utilizzano almeno in parte per la
loro ricerca
1
utente utilizza LIBER come funzione di Help
Conclusioni (1/2):
LIBER aiuta gli utenti meno esperti e non costituisce un
limite per quelli abituati alla classica ricerca per
database, che possono ignorarlo
La soluzione in modalità mista (linguaggio naturale e
manipolazione diretta) riesce a veicolare maggiormente
diverse tipologie d’utenti verso l’obiettivo finale
Il rapporto asimmetrico che si viene a creare con la
macchina (Winograd e Flores 1986) limita la creatività
del linguaggio degli utenti, ma ciò aiuta LIBER a
funzionare meglio
Conclusioni (2/2):
Vi sono casi in cui il linguaggio naturale può far
apparire un sistema informatico meno arduo,
favorendone l’uso da parte di persone che
respingerebbero un approccio formale più
esplicito
(Winograd e Flores 1986)
Il compito della ricerca bibliotecaria può rientrare
in questi casi, e può essere ben supportato da
un sistema come LIBER
Scarica

category - davide andriolo