Interfícies d'usuari de llenguatge natural

De la Viquipèdia, l'enciclopèdia lliure

Interfícies d'Usuari de Llenguatge Natural són un tipus d'interfície d'usuari que permeten la comunicació entre humans i màquines, en la qual els fenòmens lingüístics, com els verbs, frases i clàusules, actuen com a controls de la interfície d'usuari per crear, seleccionar i modificar dades en les aplicacions de software.

En el disseny de la interfície de llenguatge natural les interfícies són cercades per la seva velocitat i facilitat d'ús, però a més hi ha factors com la comprensió, que afegeixen una dificultat significativa, ja que podem trobar entrades ambigües al sistema. [1]

Les interfícies de llenguatge natural componen una àrea activa d'estudi en el camp del processament del llenguatge natural i la lingüística computacional. Una intuïtiva interfície de llenguatge natural en general és un dels grans objectius actius de la Web Semàntic.

És important tenir en compte que les interfícies de text són "naturals" en diversos graus, i que molts llenguatges de programació formal (no natural) incorporen idiomes de llenguatge natural humà. De la mateixa manera, un motor tradicional de cerca de paraules clau podria ser descrit com una interfície d'usuari de la llengua natural "superficial".

Descripció[modifica]

Un motor de cerca de llenguatge natural, en teoria, hauria de trobar respostes a preguntes específiques de l'usuari (en lloc de cercar per les paraules clau contingudes a la pregunta). Per exemple, quan es realitza una pregunta com ara "Que Estat dels EUA, té l'impost de renda més alt?", els motors de cerca convencionals ignoren el problema i realitzen una recerca amb les paraules clau "estat, renda i impost ". la recerca en llenguatge natural, també intenta utilitzar el processament del llenguatge natural per comprendre la naturalesa de la pregunta, i després cerca i retorna un subconjunt web que conté la resposta a la pregunta. Si funciona, els resultats haurien de tenir una rellevància més gran que els resultats d'un motor de cerca per paraula clau. Des d'un punt de vista comercial, la publicitat a la pàgina de resultats també podria ser més rellevant, i podria tenir un potencial d'ingressos més alt que el dels motors de cerca per paraula clau.

Història[modifica]

Al llarg de la història dels llenguatges naturals han anat evolucionant, de forma paral·lela al desenvolupament i l'evolució de l'espècie humana. En els últims anys, les aplicacions dissenyades han intentat promoure la comunicació entre humans i màquines, per la qual cosa s'han inclòs tècniques de reconeixement de veu. Avui dia, el camp del reconeixement de llenguatge natural està treballant per millorar els resultats, superant les diferents dificultats que es comenten més endavant , abans, però, cal dir que els primers contactes amb la interfície d'usuari de llenguatge natural daten dels anys seixanta i setanta de la mà del prototip NI:[2]

  • Lunar, una interfície de llenguatge natural en connexió a una base de dades amb anàlisis químiques de les roques lunars d'Apol·lo-11 per William A. Woods.
  • Chat-80, transforma preguntes en anglès a expressions Prolog, les quals van ser avaluades en relació amb la base de dades Prolog. El codi del chat-80 va ser àmpliament difós, i va formar la base de moltes altres interfícies experimentals Nl.
  • Janus, és també un dels pocs sistemes de suport a les qüestions temporals.
  • Intellect de Trinzic (format per la fusió d'AICorp i Aion).
  • Bbn's Parlance construït sobre l'experiència del desenvolupament dels sistemes Rus i Irus.
  • IBM Languageaccess.
  • Q&A de Symantec.
  • Datatalker de Natural Language Inc.
  • Loqui de Bim.
  • English Wizard de Linguistic Technology Corporation.

Processament i reconeixement del Llenguatge Natural[modifica]

Dificultats del reconeixement[modifica]

Els sistemes de reconeixement es poden dividir en dos tipus principals: d'una banda, sistemes de reconeixement de patrons entrenats, aquest compara els patrons amb altres patrons ja coneguts i classificats per determinar la similitud i per tant el reconeixement, i, d'altra banda, tenim els Sistemes fonètics que utilitzen el coneixement del cos humà (la producció de la parla i l'audició) per comparar les característiques del llenguatge (fonètica, com ara sons de les vocals). Els sistemes més moderns se centren en l'enfocament de reconeixement de patrons, ja que combina molt bé amb les tècniques de computació actual i tendeix a tenir una major precisió.

La variació inter-locutor a nivell segmental: oscil·lograma de la paraula "Hola" pronunciada per un parlant femení.
La variació inter-locutor a nivell segmental: oscil·lograma de la paraula "Hola" pronunciada per un parlant masculí.

Tot i això existeixen una sèrie de factors[3] que dificulten aquests processos, ja que influeixen en el tractat del senyal i per tant en el reconeixement. Alguns d'ells són els següents:

  • La variació fonètica interlocutor i intralocutor: la variació interlocutor fa que quan s'està emetent una seqüència concreta de paraules, amb el mateix estil de parla i sense diferències geogràfiques o socials, existeixin variacions en el llenguatge. La variació intralocutor, estudia què canvia en cada persona quan parla espontàniament o quan llegeix.
  • Els estils de parla: entre tots els parlants hi ha un ampli repertori d'estils que poden modificar la intel·ligibilitat de la paraula. "L'estil depèn del grau d'atenció del parlant cap a les característiques de la seva pròpia producció lingüística" (William Labov).
  • Les "disfluències" en la parla espontània: en aquest apartat podem trobar un ampli conjunt de variacions que canvien la fluïdesa de la lingüística. Entre elles trobem les pauses, repeticions, paraules truncades, allargaments vocàlics, interrupcions, frases inacabades i, fins i tot, variacions en la velocitat.
  • Les característiques de l'entorn: finalment, tenim el factor extern al locutor, i no per això menys important, pel fet que les variacions ambientals de l'entorn poden entorpir significativament el processament del senyal. En aquest cas ens trobem amb sorolls que poden distorsionar o emmascarar, i canvis de so ambient que poden modificar el senyal de manera transitòria.

Tractament del senyal[modifica]

La implementació d'un sistema de reconeixement de llenguatge natural[4] comporta el tractament del senyal acústic, passant per diferents blocs que ajudaran a extreure les característiques necessàries per implementar el sistema. Aquest tractament es pot resumir amb els següents apartats:

1. El primer pas és la captura del senyal de veu. S'utilitza un micròfon que a través d'un convertidor CAD (Convertidor Analògic / Digital) transforma el senyal acústic en un senyal elèctric, en el qual es fa l'extracció de paràmetres. En aquest pas hi ha una dificultat afegida, provocada per la no linealitat i pèrdua de freqüències introduït pel sistema micròfon / convertidor.

Diagrama de blocs d'un sistema de reconeixement de llenguatge natural

2. La següent etapa és la segmentació i l'etiquetatge, en què el sistema intenta trobar les regions estables en les quals les característiques són constants. Una de les tècniques més utilitzades és la utilització de solapament entre l'enfinestrat, per evitar deixar part de senyal sense analitzar. En aquest nivell, a més, se solen aplicar filtres de normalització i preèmfasi, amb els quals es prepara el senyal per ser processada.

3. En tercer lloc es realitza el càlcul de paràmetres, el que proporciona una representació espectral de les característiques del senyal de veu que podem utilitzar per entrenar el sistema de reconeixement (HMM, Xarxes neuronals, entre d'altres). Els mètodes més comuns en aquesta etapa són l'anàlisi de banc de filtres i LPC. Per al càlcul de coeficients que caracteritzen el senyal se segueix un patró de blocs estandarditzat per la ETSI.

Tipus de reconeixement de veu[modifica]

Els sistemes de reconeixement de veu es poden separar en diverses classes, categoritzats per la descripció dels diferents tipus d'expressions que tenen la capacitat de reconèixer. Aquestes classes es basen en el fet que una de les dificultats del ASR és la capacitat de determinar quan un locutor comença i acaba de parlar. A continuació es nomenen els tipus més distingits:

  • Reconeixedors de paraules aïllades, en general requereixen un enunciat delimitat (la manca d'un senyal d'àudio) a una banda, i a l'altra de la finestra de mostra. Això no vol dir que accepta només una sola paraula, però sí que requereix una expressió única alhora. Sovint, aquests sistemes tenen estats de "Escoltar / No-Escoltar", en els quals es requereix que el locutor guardi un temps d'espera entre paraules (en general fa el processament durant les pauses).
  • Reconeixement continu, són els més difícils de crear perquè han d'utilitzar mètodes especials per determinar els límits d'emissió. Els reconeixedors de veu contínua permeten als usuaris parlar gairebé de manera natural, mentre que l'ordinador determina el contingut en temps real.
  • Parla espontània, hi ha una varietat de definicions del que la parla espontània és en realitat. En un nivell bàsic, es pot considerar com el discurs que s'emet és natural i no assajat. Un sistema de ASR amb la capacitat de reconèixer la parla espontània ha de ser capaç de manejar una varietat de característiques de llenguatge natural.
  • Veu de verificació / identificació, alguns sistemes de reconeixement automàtic de la parla tenen la capacitat d'identificar els usuaris específics. Aquest tipus de reconeixement es basa principalment en característiques concretes extretes del subjecte a verificar o identificar. Característiques com l'amplitud del senyal, la freqüència i els coeficients cepstrals de l'escala Mel.

Objectius[modifica]

La interfície de llenguatge natural en el passat va donar lloc als usuaris que volien antropomorfitzar els seus equips, o almenys atribuir més intel·ligència que la que garanteixen. Això condueix a expectatives poc realistes de les capacitats del sistema per part de l'usuari. Aquestes expectatives fan difícil aprendre les restriccions del sistema, i si ells els atribueixen un excés de capacitat, això donarà lloc a la decepció quan el sistema no funcioni com s'espera.

Existeix un document de 1995 titulat Natural Language Interfícies to Databases - An Introduction, en el qual es descriuen alguns dels reptes més significatius:

  • Modificador d'unió

La pregunta "Llista tots els empleats de l'empresa amb un permís de conduir" és ambigua a menys que sàpiga que les companyies no poden tenir llicències de conduir.

  • Conjunció i disjunció

"Llista tots els sol·licitants que viuen a Califòrnia i Arizona." És ambigu a menys que se sàpiga que una persona no pot viure en dos llocs al mateix temps.

Resol el que un usuari vol dir per 'ell', 'ella' o 'això', en una consulta autoreferencial.

Altres objectius a tenir en compte de forma més general són la velocitat i eficiència del sistema de la interfície, com en qualsevol altre algorisme aquests dos punts són els que determinen que unes tècniques siguin millors que altres i, per tant, que tinguin més èxit en el mercat.

Finalment, respecte a les tècniques utilitzades, el principal problema a resoldre és el de crear un algorisme general que pugui reconèixer tots els tipus de veus, sense diferenciar entre nacionalitat, sexe o edat. Ja que poden existir diferències significatives entre les característiques extretes a diversos locutors que pronuncien la mateixa paraula o frase.

Utilitats i Aplicacions[modifica]

La interfície de llenguatge natural i el seu reconeixement amb resultats satisfactoris, fan que aquesta tecnologia pugui ser utilitzada per a diferents usos i aplicacions. Alguns dels principals usos són:

  • Dictat, aquest és l'ús més comú per als sistemes de ASR en l'actualitat. Això inclou transcripcions mèdiques, dictats legals i comercials, així com processament de textos en general.
  • Aplicacions de comandament i control, aquests sistemes estan dissenyats per realitzar funcions i accions, un exemple seria la telefonia.
  • Medicina i discapacitat, moltes persones tenen dificultats per escriure, a causa de limitacions físiques, la distròfia muscular, entre d'altres situacions. Per exemple, les persones amb problemes auditius poden utilitzar un sistema connectat al seu telèfon per convertir el discurs de la persona que truca en text.
  • Aplicacions integrades, alguns telèfons mòbils més moderns inclouen reconeixement de veu que permeten expressions com "Call Home". Això podria significar un factor important en el futur de les interfícies del reconeixement de llenguatge natural.

A continuació s'anomenen i defineixen algunes de les aplicacions que utilitzen el reconeixement de llenguatge natural, i, per tant, tenen integrades les utilitats esmentades anteriorment.

Ubiquity[modifica]

Ubiquity, és una extensió per a Mozilla Firefox, compost per una col·lecció de llenguatge natural derivat, de fàcil i ràpids comandaments que actuen com mashups de serveis web, permetent als usuaris obtenir informació i relacionar-la amb l'actual o altres pàgines web.

Wolfram Alpha[modifica]

Wolfram Alpha, és un servei en línia que respon a les consultes directament mitjançant un càlcul de la resposta a partir de dades estructurades, en lloc de proporcionar una llista de documents o pàgines web que podrien contenir la resposta com un motor de cerca.[5] Va ser anunciat el març de 2009 per Stephen Wolfram, i va ser llançat al públic el 15 de maig de 2009.[6]

SIRI[modifica]

Siri, és una aplicació d'assistent personal per a iPhone OS.[7] L'aplicació utilitza el processament del llenguatge natural per respondre a les preguntes i fer recomanacions. L'aplicació per l'iPhone és el primer producte publicat pels seus creadors, que se centra en aplicacions d'intel·ligència artificial. El grup de màrqueting de la companyia assegura que Siri s'adapta a les preferències individuals de l'usuari a través del temps i personalitza els resultats, per completar tasques com fer una reserva per un sopar.[8]

Altres[modifica]

  • Anboto- Group-Anboto ofereix servei web al client i tecnologia de comerç electrònic basat en la semàntica i el Processament del Llenguatge Natural. L'oferta principal d'Anboto és l'agent de vendes virtual i xat intel·ligent.
  • Q-go- La tecnologia de Q-go ofereix respostes rellevants als usuaris, en resposta a les consultes en el lloc web d'Internet de l'empresa o la intranet corporativa, formulada en frases naturals o l'entrada de paraules clau per igual. Q-go va ser adquirida per RightNow Technologies el 2011.
  • Ask.com- La idea original darrere d'Ask Jeeves (Ask.com), és permetre als usuaris obtenir respostes a les preguntes formulades en el llenguatge quotidià, natural, així com la recerca de paraules clau tradicionals. El Ask.com actual segueix donant suport a això, amb suport afegit per a les matemàtiques, diccionari, i les preguntes de la conversió.
  • C-phrase[Enllaç no actiu]- C-frase és un llenguatge natural que es basa en la relació de base de dades. C-Frase corre sota Linux, es connecta amb bases de dades PostgreSQL a través d'ODBC i és compatible amb les consultes de selecció, així com actualitzacions. Actualment, només hi ha suport per Anglès. C-Frase es troba allotjada en el lloc Google Code.
Captura de pantalla de la interfície clàssica de GNOME DO.
  • GNOME Do - Permet la ràpida recerca d'artefactes diversos de l'ambient GNOME (aplicacions, contactes Evolution i Pidgin, marcadors de Firefox, els artistes i els àlbums de Rhythmbox, i així successivament) i executa les accions bàsiques sobre ells (execució, obertura, correu electrònic, xatejar, jugar, etc.).[9]
  • Braine Project - Brain és un programari en mode usuari de llenguatge natural que està actualment en fase de desenvolupament. Està sent desenvolupat per un sol programador anomenat Akash Shastri. L'objectiu principal d'aquest projecte és fer que un equip pugui entendre el llenguatge humà perquè l'usuari pugui controlar un ordinador sense l'ús de comandes.
  • Haki - Haki és un motor de cerca d'Internet. L'empresa ha inventat una infraestructura nova, alternativa a la indexació que utilitza l'algorisme SemanticRank, una solució que barreja les disciplines de la semàntica ontològica, la lògica difusa, la lingüística computacional, i les matemàtiques.
  • Lexxe - Lexxe és un cercador d'Internet que utilitza el processament del llenguatge natural per a consultes (cerques semàntiques). Les cerques poden fer-se amb preguntes com ara "Quina edat té la Wikipedia?", Així com amb paraules clau i frases. Quan es tracta de fets, Lexxe és molt eficaç, encara que necessita millorar molt en l'anàlisi del llenguatge natural quan es tracta de fets.
  • Pikimal - Pikimal usa llenguatge natural vinculat a les preferències de l'usuari per fer recomanacions de cerca per plantilla.
  • Powerset - L'11 de maig de 2008, la companyia va presentar una eina per a la recerca d'un subconjunt fix de Wikipedia usant frases de conversa en lloc de paraules clau.[10] L'1 de juliol de 2008, va ser comprat per Microsoft.[11]
  • START (Projecte del MIT) - START, és un web basat en un sistema de respostes. A diferència dels sistemes de recuperació d'informació, com ara els motors de cerca, START té com a objectiu facilitar als usuaris "la informació correcta", en lloc de limitar-se a proporcionar una llista de hits. En l'actualitat, el sistema pot respondre milions de preguntes angleses sobre llocs, pel·lícules, persones i definicions del diccionari.
  • Swingly Arxivat 2005-02-08 a Wayback Machine. - Swingly és un motor de resposta dissenyat per trobar respostes exactes a preguntes sobre fets. Només cal fer una pregunta en anglès i Swingly podrà trobar la resposta (o respostes) que està buscant (d'acord amb el lloc on es troba).
  • Yebol - Yebol és una "decisió" vertical de motor de cerca, que havien desenvolupat amb una base de coneixement per crear una plataforma de recerca semàntica. La intel·ligència artificial humana de Yebol automàticament utilitza l'associació, classificació i agrupament d'algoritmes per analitzar les paraules claus relacionades o pàgines web. Yebol integra el processament del llenguatge natural, sistemes d'enginyeria oberts i complexos de "metasynthetic", i els algoritmes de la màquina amb el coneixement humà de cada consulta per establir un directori web que en realitat "aprèn" l'ús d'algoritmes de correlació, l'agrupament i la classificació per generar automàticament la consulta, que es manté i es regenera.[12]
  • Inbenta - El motor de cerca Inbenta és multilingüe, escalable, lingüístic i de semàntica basada en el camp empresarial. Es basa en els últims desenvolupaments de la Teoria "Significat-Text" i proporciona experiències intuïtives de recerca en llenguatge natural.
  • Mnemoo - Mnemoo és un motor de resposta que va tenir com a objectiu respondre directament les preguntes plantejades en el text (llenguatge natural), el qual s'aconsegueix utilitzant una base de dades dels fets i un motor d'inferència (conclusió).

Vegeu també[modifica]

Referències[modifica]

  1. Hill, I. (1983). "Natural language versus computer language." In M. Sime and M. Coombs (Eds.) Designing for Human-Computer Communication. Academic Press., p. 1.
  2. Hill,Natural Language Interfaces to Databases – An Introduction, I. Androutsopoulos, G.D. Ritchie, P. Thanisch, Department of Artificial Intelligence, University of Edinburgh.
  3. [enllaç sense format] http://liceu.uab.cat/~joaquim/speech_technology/tecnol_parla/recognition/speech_recognition/reconocimiento.html#reconocimiento_tratamiento_senal
  4. [enllaç sense format] http://www.tldp.org/HOWTO/Speech-Recognition-HOWTO/
  5. Johnson, Bobbie «British search engine 'could rival Google'». The Guardian, 09-03-2009 [Consulta: 9 març 2009].
  6. «So Much for A Quiet Launch». Wolfram Alpha Blog, 08-05-2009. [Consulta: 20 octubre 2009].
  7. SIRI Article
  8. Siri webpage
  9. Ubuntu 10.04 Add/Remove Applications description for GNOME Do
  10. Helft, Miguel «Powerset Debuts With Search of Wikipedia». The New York Times, 12-05-2008.
  11. Johnson, Mark. «Microsoft to Acquire Powerset». Powerset Blog, 01-07-2008. Arxivat de l'original el 25 de febrer 2009. [Consulta: 4 desembre 2011].
  12. Humphries, Matthew. "Yebol.com steps into the search market" Arxivat 2012-03-15 a Wayback Machine. Geek.com. 31 July 2009.

Enllaços externs[modifica]