Internet Windows Android

Un sistem de întrebări și răspunsuri care vă permite să decideți. Adnotări în limbaj natural

Sisteme de răspuns la întrebări

Anatoly Nikitin, Pavel Raikov

1. Introducere. 2

1.1 Probleme.. 3

2. Sistem QA Start 4

2.1 Expresii ternare. 5

2.2 S-reguli. 6

2.3 Lexicon. 6

2.6 Adnotări în limbaj natural. 8

2.7 Concluzie. 9

3. Tehnici statistice pentru analiza limbajului natural. 10

3.1 Introducere. 10

3.2 Determinarea părților de vorbire pentru cuvintele din propoziții. unsprezece

3.3 Crearea arborilor de analiză din propoziții. 14

3.4 Crearea propriilor reguli de analizare bazate pe PCFG. Gramaticile Treebank. „Gramaticile Markov” 16

3.5 Analizoare lexicale.. 16

1. Introducere

Datorită dezvoltării rapide a tehnologiei informației și creșterii continue a volumului de informații disponibile pe internetul global, problemele căutării eficiente și accesului la date devin din ce în ce mai relevante. Adesea, o căutare standard folosind cuvinte cheie nu dă rezultatul dorit, din cauza faptului că această abordare nu ține cont de relațiile lingvistice și semantice dintre cuvintele de interogare. Prin urmare, tehnologiile de procesare a limbajului natural (NLP) și sistemele de răspuns la întrebări (QAS) bazate pe acestea se dezvoltă în mod activ.

Un sistem de întrebări-răspuns este un sistem de informații care este un hibrid de sisteme de căutare, de referință și inteligente care utilizează o interfață în limbaj natural. Intrarea unui astfel de sistem este o cerere formulată în limbaj natural, după care este procesată folosind metode NLP și este generat un răspuns în limbaj natural. Ca abordare de bază a sarcinii de a găsi un răspuns la o întrebare, se utilizează de obicei următoarea schemă: în primul rând, sistemul într-un fel sau altul (de exemplu, prin căutarea după cuvinte cheie) selectează documente care conțin informații legate de întrebarea pusă, apoi le filtrează, evidențiind fragmente de text individuale, potențial conținând răspunsul, după care modulul generator sintetizează răspunsul la întrebare din fragmentele selectate.

Ca sursă de informații, sistemul QA folosește fie stocarea locală, fie rețeaua globală, sau ambele în același timp. În ciuda avantajelor evidente ale utilizării Internetului, cum ar fi accesul la resurse informaționale uriașe, în continuă creștere, există o problemă semnificativă asociată cu această abordare - informațiile de pe Internet sunt nestructurate și pentru recuperarea lor corectă este necesară crearea așa-numitelor „wrappers”, adică subrutine care oferă acces unificat la diverse resurse de informații.

Sistemele moderne de asigurare a calității sunt împărțite în generale (domeniu deschis) și specializate (domeniu închis). Sistemele generale, adică sistemele axate pe procesarea întrebărilor arbitrare, au o arhitectură destul de complexă, dar, cu toate acestea, în practică dau rezultate destul de slabe și precizie scăzută a răspunsurilor. Dar, de regulă, pentru astfel de sisteme gradul de acoperire a cunoștințelor este mai important decât acuratețea răspunsurilor. În sistemele specializate care răspund la întrebări legate de un anumit domeniu, dimpotrivă, acuratețea răspunsurilor este adesea un indicator critic (este mai bine să nu răspunzi deloc la întrebare decât să dai un răspuns greșit).

1.1 Probleme

În 2002, un grup de cercetători a scris un plan de cercetare în domeniul sistemelor de întrebări-răspuns. S-a propus să se analizeze următoarele întrebări:

Tipuri de întrebări. Întrebări diferite necesită metode diferite de a găsi răspunsuri. Prin urmare, este necesar să se creeze sau să se îmbunătățească liste metodologice ale tipurilor de întrebări posibile. Prelucrarea întrebărilor. Aceleași informații pot fi solicitate în moduri diferite. Este necesar să se creeze metode eficiente de înțelegere și procesare a semanticii (sensului) unei propoziții. Este important ca programul să recunoască întrebările care sunt echivalente ca semnificație, indiferent de stilul, cuvintele, relațiile sintactice și idiomurile folosite. Aș dori ca sistemul QA să împartă întrebări complexe în mai multe simple și să interpreteze corect frazele sensibile la context, poate clarificându-le cu utilizatorul în timpul dialogului. Întrebări contextuale.Întrebările sunt puse într-un context specific. Contextul poate clarifica o interogare, rezolva ambiguitatea sau poate urmări gândirea utilizatorului printr-o serie de întrebări. Surse de cunoștințe pentru sistemul QA.Înainte de a răspunde la întrebare, ar fi o idee bună să vă întrebați despre bazele de date de text disponibile. Indiferent ce metode de procesare a textului sunt folosite, nu vom găsi răspunsul corect dacă nu se află în bazele de date. Evidențierea răspunsurilor. Executarea corectă a acestei proceduri depinde de complexitatea întrebării, tipul acesteia, contextul, calitatea textelor disponibile, metoda de căutare etc. - un număr mare de factori. Prin urmare, studiul metodelor de procesare a textului trebuie abordat cu mare prudență, iar această problemă merită o atenție deosebită. Formularea răspunsului. Răspunsul ar trebui să fie cât se poate de natural. În unele cazuri, un simplu deversare aceasta din text. De exemplu, dacă este necesar un nume (numele persoanei, numele unui instrument, boala), cantitatea (cursul valutar, lungimea, mărimea) sau data („Când s-a născut Ivan cel Groaznic?”) - un răspuns direct este suficient. Dar uneori trebuie să faci față unor interogări complexe și aici sunt necesari algoritmi speciali îmbina răspunsurile din diferite documente. Răspunsuri la întrebări în timp real. Este necesar să se creeze un sistem care să găsească răspunsuri în depozite în câteva secunde, indiferent de complexitatea și ambiguitatea întrebării, de dimensiunea și vastitatea bazei de documente. Interogări multilingve. Dezvoltarea sistemelor de lucru și căutare în alte limbi (inclusiv traducerea automată). Interactivitate. Adesea, informațiile oferite de un sistem QA ca răspuns sunt incomplete. Este posibil ca sistemul să fi identificat incorect tipul de întrebare sau să fi „înțeles” incorect. În acest caz, utilizatorul poate dori nu numai să-și reformuleze cererea, ci și să „explice” programului folosind dialog. Mecanism de raționament (inferență). Unii utilizatori ar dori să primească un răspuns care să depășească textele disponibile. Pentru a face acest lucru, trebuie să adăugați cunoștințe care sunt comune pentru majoritatea domeniilor la sistemul QA, precum și mijloace pentru a genera automat noi cunoștințe. Profiluri de utilizator ale sistemelor QA. Informațiile despre utilizator, cum ar fi domeniul său de interes, stilul său de vorbire și raționament și faptele implicite, ar putea îmbunătăți semnificativ performanța sistemului.

2. Pornirea sistemului QA

Sistemul Start QA este un exemplu de sistem general de întrebări și răspunsuri care răspunde la întrebări arbitrare formulate în limba engleză. Acesta este dezvoltat la Laboratorul de Inteligență Artificială al MIT sub conducerea lui Boris Katz. Acest sistem a apărut pentru prima dată pe Internet în 1993 și este acum disponibil la http://start. csail. mit. edu. Când caută un răspuns la o întrebare, sistemul folosește atât o bază de cunoștințe locală, cât și o serie de resurse de informații de pe Internet.

Sistemul poate răspunde la diferite tipuri de întrebări, care pot fi împărțite în următoarele categorii:

Întrebări despre definiții (Ce este un fractal?)

Întrebări de fapt (Cine a inventat telegraful?)

Întrebări despre relații (Ce țară este mai mare, Rusia sau SUA?)

Listează interogări (Arată-mi câteva poezii de Alexandru Pușkin)

Nucleul sistemului este baza de cunoștințe. Există 2 module: Parser și Generator, care pot, respectiv, să convertească textele în limba engleză într-o formă specială (expresii T), în care sunt stocate în baza de cunoștințe și, dimpotrivă, pot genera texte în limba engleză dintr-un set de T. -expresii.

2.1 Expresii ternare

O expresie ternară (expresie T) este o expresie a formei<объект отношение субъект>. În acest caz, alte expresii T pot acționa ca obiecte/subiecte ale unor expresii T. Adjectivele, pronumele posesive, prepozițiile și alte părți ale propoziției sunt folosite pentru a crea expresii T suplimentare. Atributele rămase ale propoziției (articole, timpuri verbale, adverbe, verbe auxiliare, semne de punctuație etc.) sunt stocate într-o structură specială de Istorie asociată cu expresia T.

De exemplu, o propoziție FacturăuimitHillarycua luiRăspuns" după trecerea prin Parser, acesta va fi convertit în 2 expresii ternare: << FacturăsurprindeHillary>curaspuns>Și < Răspunslegate de-laBill>. Informațiile despre timpul verbului surpriză vor fi stocate în structura Istorie.

Să fie pusă întrebarea sistemului, în baza de cunoștințe din care există 2 expresii T descrise mai sus: Pe cinefăcutFacturăsurprindecua luiRăspuns?" Problema va fi procesată în următoarea ordine:

1. Analizorul de întrebări convertește întrebarea într-un tip de șablon, inversând inversiunea care este utilizată la formularea întrebărilor în limba engleză: Facturăuimitpe cine cua luiRăspuns?".

2. Analizorul traduce propoziția în 2 expresii T: <cine> cu raspuns>Și

3. Șablonul rezultat este verificat cu expresiile T situate în baza de cunoștințe. Potrivire găsită când Pe cine = Hillary

4. Generatorul convertește expresiile T <> cu raspuns>Și într-o propoziție și o returnează ca răspuns.

Căutarea răspunsurilor la întrebări precum „Bill a surprins cu răspunsul său?” se desfășoară într-un mod similar. Numai în acest caz, se va căuta o potrivire exactă cu expresiile din baza de date, și nu o căutare folosind un șablon.

Astfel, expresiile T rețin într-o oarecare măsură informații despre relațiile semantice dintre cuvinte. În 2002, au fost efectuate o serie de experimente pentru a evalua eficiența organizării căutărilor pe baza expresiilor T în comparație cu căutările prin cuvinte cheie. După ce Parser a procesat Enciclopedia cu descrieri ale diferitelor specii de animale, sistemului i s-a pus întrebarea: „Ce mănâncă broaștele?” („Ce mănâncă broaștele?”). Metoda de căutare descrisă mai sus a returnat 6 răspunsuri, dintre care 3 au fost corecte. O căutare bazată pe cuvinte cheie a documentelor sursă a returnat 33 de rezultate, inclusiv aceleași 3 răspunsuri corecte, dar în plus au existat potriviri aleatorii ale cuvintelor broașteȘi mânca(de exemplu, răspunsuri la întrebarea „Cine mănâncă broaște?”). Astfel, căutarea bazată pe expresii T a produs de 10 ori mai puține răspunsuri incorecte.

2.2 S-reguli

Pe lângă expresiile T, Baza de cunoștințe stochează și o listă de reguli S. Acestea sunt regulile pentru convertirea expresiilor T în forme echivalente. Faptul este că aceeași idee în limbajul natural poate fi exprimată în moduri diferite. De exemplu, propoziții „Răspunsul lui Bill a surprins-o pe Hillary”Și „Bill a surprins-o pe Hillary cu răspunsul său” sunt echivalente. Dar expresiile T obținute la trecerea acestor propoziții prin Parser sunt diferite: , Și <cu raspuns>, . Prin urmare, este introdusă regula S Surprinde :

<<n1 surprinde n2> cu n3>, <n3în legătură cu n1> = <n3 surprinde n2>, <n3în legătură cu n1>,

UndeniSubstantive

Folosind astfel de reguli, putem descrie așa-numitele variații lingvistice, adică transformări echivalente ale constructelor lingvistice:

Lexical (sinonime)

Morfologic (cuvinte cu aceeași rădăcină)

Sintactic (inversiuni, voce activă/pasivă, ...)

În plus, regulile S pot descrie implicații logice. De exemplu:

<<A vinde B >la C > = <<C Cumpără B >de la A>

2.3 Lexicon

Multe reguli S se aplică grupurilor de cuvinte. De exemplu, regula S descrisă mai devreme Surprinde se realizează nu numai pentru verbul surprinde, ci și pentru orice verb din așa-numitul grup de verbe emoțional-recționare. Pentru a nu produce reguli S, a fost creat un Lexicon, care stochează toate cuvintele limbii engleze. Fiecare cuvânt este asociat cu o listă de grupuri căreia îi aparține. Acum S-regula Surprinde poate fi făcut și mai abstract:

<<n1v n2> cu n3>, <n3în legătură cu n1> = <n3 vn2>, <n3în legătură cu n1>,

Unde niSubstantive, vemotional-reactie-verbe

2.4 WordNet

Cu exceptia Lexicon , care stochează cuvinte grupate în funcție de diferite caracteristici sintactice și semantice, sistemul Start folosește un alt instrument puternic pentru procesarea semanticii cuvintelor - un dicționar WordNet . Unitatea de bază din acest dicționar este conceptul synset. Synset este un anumit sens, sens. Cuvintele diferite pot avea același sens (sinonime) și, prin urmare, aparțin unui singur sinset și, invers, un cuvânt poate avea mai multe sensuri, adică aparține mai multor synsets. În plus, dicționarul WordNet introduce relații între synsets. De exemplu, între substantive există următoarele relații:

- Hipernime : Yhipernim X, Dacă X- varietate Y(fructe– hipernim piersică)

- Iponime : Yhiponim X, Dacă Y- varietate X(piersică– hiponim fructe)

- Egal la rang : XȘi Y egale ca rang, dacă au un hipernim comun ( piersicăȘi măr– egal la rang)

- Golonii : Yholonim X, Dacă X- Part Y(piersică– holonim oase)

- Meronime : Ymeronim X, Dacă Y– partea X ( pieliță– meronim piersică)

Astfel, dicționarul WordNet descrie relațiile dintre semnificațiile formei general-particular și parțial.

WordNet este utilizat când se caută potriviri în baza de cunoștințe. De exemplu, dacă expresia T este stocată în bază < pasărepoate sazboară> iar dicționarul WordNet definește asta canarhiponim pasăre. Să se pună întrebarea Poate sacanara zbura?. Analizorul transformă această întrebare într-o expresie < canarpoate sazboară>. Dacă nu găsește o potrivire în baza de date, Start va folosi WordNet și va încerca să găsească un răspuns la o întrebare mai generală: Poate sapasărea zbura? La această întrebare se va răspunde Da, din care, având în vedere că canar- varietate pasăre Start va concluziona că canarpoate saa zbura".

2.5 Omnibase

Pentru a găsi răspunsuri la întrebări concrete precum „Când a murit Beethoven?” sau „Care este capitala Angliei?” Start folosește baza Omnibase. Această bază de date utilizează un model diferit de stocare a informațiilor: „obiect-proprietate-valoare”. De exemplu informații „Federico Fellini este directorul La Strada” vor fi salvate în baza de date Omnibase la fel de La Strada – regizor – Federico Fellini . Aici LaStrada- un obiect, director– proprietate, și FedericoFellini– valoarea acestei proprietăți. Cu acest model de date, căutarea informațiilor necesare are loc destul de rapid și eficient.

Pentru a căuta informații Omnibase folosește un număr mare de surse de date externe de pe Internet: Wikipedia, Google, Internet Movie Database etc. În acest caz, datele sunt extrase dintr-o sursă externă prin așa-numitul wrapper - un modul care oferă acces la baza de date externă prin intermediul interogări de tipul „obiect” -proprietate”. Pentru a determina sursa în care sunt stocate informațiile despre un anumit obiect, Omnibase utilizări Catalog de obiecte, în care fiecare obiect este asociat cu o sursă de date. De exemplu, un obiect LaStrada corespunde bazei imdb-film(Baza de date de filme pe Internet). După ce am stabilit baza în care să căutați, Omnibase trimite o solicitare la wrapper-ul acestei baze de date: ( LaStrada, director) și primește un răspuns FredericoFellini.

2.6 Adnotări în limbaj natural

Problema analizei automate a vorbirii naturale este foarte complexă. Prin urmare, dezvoltatorii de sisteme de răspunsuri la întrebări propun rezolvarea acestei probleme din două părți: pe de o parte, îmbunătățirea metodelor de procesare a limbajului natural prin învățarea computerului să „înțeleagă” limbajul, dar, pe de altă parte, încercând să facă textul. mai ușor de înțeles pentru computere. Și anume, se propune compilarea de adnotări pentru resursele informaționale în limbile naturale.

În acest caz, este posibil să se organizeze eficient o căutare nu numai pentru text, ci și pentru diverse informații multimedia: imagini, înregistrări video și audio. În sistemul Start, adnotările sunt utilizate după cum urmează: atunci când adăugați informații la baza de cunoștințe, Parser-ul procesează doar adnotarea acesteia și atașează un link la resursa sursă la expresiile T generate.

Implementarea adnotărilor are loc prin descrierile RDF (Resource Description Framework), care sunt atașate fiecărei resurse. Limbajul RDF se bazează pe formatul XML. Descrierea acestui limbaj este destul de extinsă, așa că ne vom limita doar la un exemplu de descriere RDF a unei anumite baze de date în care sunt stocate informații geografice. Adnotările parametrizate sunt atașate acestei baze " MulțioameniTrăiîn ? s " Și " populatiede ? s " , și șablonul de răspuns: „Populația din ?s este ?o" , Unde ? o denotă accesarea bazei și preluarea unei proprietăți populatie la obiect ? s. Când procesează o astfel de adnotare, analizatorul va salva 2 șabloane de întrebări și un link către șablonul de răspuns. Dacă, la executarea unei cereri de utilizator, Start găsește o potrivire în baza de cunoștințe cu un șablon de întrebare, va contacta resursa externă de la care a fost preluată adnotarea și va fi generat un răspuns adecvat.

În plus, folosind adnotări parametrizate, puteți descrie modelul de căutare pentru un răspuns la o întreagă clasă de întrebări. De exemplu, întrebări precum „Care este țara din Africa cu cea mai mare suprafață?” sau „Ce țară din Europa are cea mai scăzută rată a mortalității infantile?” se încadrează într-un singur șablon: „În ce țară $regiune are cea mai mare $atribut " În plus, adnotarea descrie un algoritm general pentru găsirea răspunsurilor la astfel de întrebări.

Unele întrebări sunt o compunere a mai multor întrebări. De exemplu, pentru a răspunde la întrebarea „Este coasta Canadei mai lungă decât coasta Rusiei?” este necesar, în primul rând, să se calculeze lungimea liniilor de coastă din Canada și Rusia și, în al doilea rând, să se compare valorile obținute și să se genereze un răspuns. Prin urmare, pentru acest tip de întrebare, puteți descrie un plan pentru găsirea unui răspuns, în care vor fi adresate întrebări auxiliare.

2.7 Concluzie

Sistemul Start întrebare-răspuns folosește o abordare diferențiată pentru a găsi răspunsuri în funcție de tipul de întrebare. Acest lucru dă un rezultat relativ bun pentru un număr mare de întrebări generale.

Baza de cunoștințe și expresiile ternare folosite ca bază sunt un model de succes pentru prezentarea informațiilor, care, pe de o parte, păstrează într-o oarecare măsură conexiunile semantice dintre cuvinte și, pe de altă parte, este suficient de simplu pentru implementarea eficientă a căutării. și editarea bazei de date.

Folosind adnotări, puteți organiza accesul programatic la resursele de informații de pe Internet folosind o interfață universală în limbaj natural. Și utilizarea unor structuri suplimentare, cum ar fi Omnibase, face posibilă creșterea eficienței găsirii răspunsurilor la anumite tipuri specifice de întrebări.

În cele din urmă, diferite dicționare și module lingvistice pot, într-o oarecare măsură, să modeleze trăsăturile semantice ale limbajului natural și să gestioneze interogări mai complexe. Sarcina de a compila astfel de dicționare, precum și alte probleme asociate cu dezvoltarea sistemelor de întrebări-răspuns, necesită inevitabil implicarea specialiștilor nu numai în domeniul informaticii, ci și a lingviștilor și filologilor.

3. Tehnici statistice pentru analiza limbajului natural

3.1 Introducere

Să luăm în considerare procesul de analiză a propunerilor. Sarcina noastră va fi să compilam un arbore de analiză pentru fiecare propoziție. Datorită complexității relative a limbii ruse și lipsei literaturii și lucrărilor științifice pe acest subiect, mai jos vor fi luate în considerare exemple din limba engleză. Mai jos este un exemplu de astfel de analiză.

Fig. 1 Analizați arborele pentru expresia „Câinele a mâncat”

În Fig. 1, vârfurile (det, substantiv, np etc.) reprezintă combinații logice de părți ale unei propoziții. De exemplu, np – frază nominală înseamnă că acest nod de arbore este responsabil pentru partea din propoziție care are sensul unui substantiv. Rețineți că pentru orice frază, chiar și pentru una atât de simplă, pot exista mai mulți arbori de analiză, care vor diferi prin faptul că vor da semnificații diferite aceleiași fraze. De exemplu, puteți spune: „Am mâncat carne cu câini”. Dintr-o astfel de propoziție puteți obține 2 arbori de analiză complet diferiți. Într-un caz, se dovedește că am mâncat carne cu câini, iar în celălalt, că am mâncat un fel de carne diluată cu măruntaiele de câine. Cel mai surprinzător lucru este că astfel de exemple „minunate” se găsesc peste tot în literatura engleză, așa că trebuie să te mulțumești cu ele. Pentru a evita astfel de absurdități, ar trebui să utilizați un parser separat, care, în măsura posibilităților sale, va ajuta analizatorul nostru. În această lucrare, vom construi un parser care va lua în considerare conexiunile sintactice atunci când construim un arbore de analiză.

3.2 Determinarea părților de vorbire pentru cuvintele din propoziții

În limba engleză, sarcina acestei părți sună a etichetei Part-Of-Speech și este una dintre numeroasele sarcini secundare ale unei astfel de secțiuni a științei moderne precum NLP (Natural Language Processing). În general, NLP își propune să permită computerelor să înțeleagă texte în limbaj natural. Aceste probleme sunt acum întâlnite pe scară largă și soluțiile lor eficiente sunt la mare căutare. Desigur, ar fi grozav dacă programul, după ce a „citit” un manual de fizică, ar răspunde independent la întrebări precum: „Care este motivul încălzirii semiconductorului într-un astfel de experiment?” Aici o altă dificultate este imediat vizibilă - chiar și după citirea manualului, programul trebuie să înțeleagă în continuare întrebările utilizatorului și, de asemenea, de preferință, să poată genera propriile întrebări (visul unor profesori leneși).

Să revenim la întrebarea pusă deja: „Cum se determină partea de vorbire pentru un cuvânt dintr-o propoziție?”

Antonime" href="/text/category/antonimi/" rel="bookmark">antonime etc. Deoarece avem în vedere o abordare statistică, pentru fiecare cuvânt vom lua în considerare probabilitatea ca acesta să fie un substantiv, adjectiv etc. d. Putem construi un astfel de tabel de probabilități pe baza textelor de testare care au fost deja analizate manual, acele părți de vorbire care sunt determinate pentru cuvintele folosind această abordare sunt imediat vizibile în majoritatea cazurilor este un verb modal, dar uneori poate fi și un substantiv. Se dovedește că această metodă va considera întotdeauna „poate” ca un verb modal În ciuda simplității și a dezavantajelor sale evidente, această metodă dă rezultate bune , recunoaște că 90% din cuvinte sunt corecte. Formalizând rezultatele obținute, vom scrie produsul care trebuie maximizat în timpul acestui algoritm:

Următoarele notații sunt introduse aici:

    t – etichetă (det, substantiv, …) w – cuvânt din text (poate, va...) p(t | w) – probabilitatea ca eticheta t să corespundă cuvântului w

Ținând cont de neajunsurile modelului anterior, a fost creat unul nou care ține cont de faptul că, de exemplu, conform statisticilor, după un adjectiv există un alt adjectiv sau substantiv. Este demn de remarcat faptul că aceasta, la fel ca toate celelalte statistici, este obținută dintr-un exemplu, iar cazul în care nu există statistici inițiale nu va fi luat în considerare. Pe baza acestei propuneri s-a obținut următoarea formulă:

    p(w | t) – probabilitatea ca cuvântul w să se potrivească cu eticheta t p(t1 | t2) – probabilitatea ca t1 să vină după t2

După cum se poate vedea din formula propusă, încercăm să selectăm etichete astfel încât cuvântul să se potrivească cu eticheta, iar eticheta să se potrivească cu eticheta anterioară. Această metodă arată rezultate mai bune decât cea anterioară, ceea ce este destul de natural, de exemplu, recunoaște „poate” ca substantiv și nu ca verb modal.

Modelul construit pentru calcularea probabilității ca un set de etichete să corespundă unei propoziții, după cum se dovedește, poate fi interpretat ca un „Model Markov ascuns”.

Obținem ceva ca o mașină cu stări finite. Acum vom descrie cum să-l obținem. Vârfurile sunt părți de vorbire. Perechea (cuvânt, probabilitate) de la vârf arată probabilitatea ca cuvântul atribuit unei anumite părți de vorbire să fie exact aceasta, de exemplu, pentru vârful „det” și cuvântul „a” aceasta va fi probabilitatea ca un articolul luat la întâmplare din textul de testare va fi „a”. Tranzițiile arată cât de probabil este ca o parte a discursului să fie urmată de alta. De exemplu, probabilitatea ca 2 articole să apară pe rând, cu condiția ca un articol să fie întâlnit, va fi egală cu 0,0016.

Sarcina noastră va fi să găsim o cale într-un astfel de model, astfel încât produsul numerelor de pe margini și de la vârfuri să fie maxim. Există o soluție la o astfel de problemă, dar nu ne vom opri asupra ei, deoarece această problemă depășește scopul acestei lucrări. Să spunem doar că există algoritmi care rezolvă această problemă într-un timp care este liniar în numărul de vârfuri. Să adăugăm că conform clasificării existente am obținut un „tagger statistic canonic”.

Să luăm acum în considerare o altă abordare a definirii etichetelor. Se numește schemă de transformare. Constă în faptul că, atunci când se lucrează la propoziții de testare, se aplică mai întâi un algoritm banal, iar apoi sistemul ia în considerare toate regulile formei: „Schimbați eticheta unui cuvânt X în eticheta Y dacă eticheta cuvântului anterior este Z. .” Numărul total de astfel de reguli va fi numărul de etichete dintr-un cub, care este relativ mic. Prin urmare, la fiecare pas încercăm să aplicăm o astfel de regulă, iar dacă după aceasta numărul părților de vorbire identificate corect crește, atunci regula va deveni candidat la titlul celei mai bune reguli la primul pas. Apoi, cea mai bună regulă este selectată și adăugată la lista de reguli „bune”. Facem asta de mai multe ori. Obținem N reguli care „bine” îmbunătățesc probabilitatea sistemului de etichete pentru propozițiile din sistemul de testare. Apoi, atunci când analizăm o propoziție arbitrară în sine, după aplicarea unui algoritm banal, folosim reguli deja pregătite. Pentru acest algoritm, se poate remarca unul dintre principalele sale avantaje – viteza. Este egal cu 11.000 de cuvinte/sec, în timp ce algoritmul care utilizează HMM are 1.200 de cuvinte/sec.

În concluzie, aș dori să adaug că până acum am presupus prezența unei baze inițiale voluminoase. Dacă nu există așa ceva, atunci antrenamentul HMM nu duce la îmbunătățiri semnificative (eficacitatea este de 90%). În timp ce TS (schema transformațională) vă permite să ajungeți la 97%. Să vă reamintim că eficiența se măsoară ca număr de etichete identificate corect pe textele de testare.

3.3 Crearea arborilor de analiză din propoziții

Fig. 4 Analiza propoziției „Străinul a mâncat gogoașă cu furculița”.

Sarcina acestei secțiuni va fi de a construi arbori de analiză similari cu cei prezentati în Fig. 4. Să observăm imediat că pe Internet există o colecție bogată de arbori deja creați pentru propunerile corespunzătoare din baza de date inițială. Puteți afla mai multe despre acest sistem vizitând site-ul web. Să discutăm imediat problema verificării parserilor. Pur și simplu le hrănim propoziții din ca intrare și verificăm arborii rezultați pentru potriviri. Acest lucru se poate face în mai multe moduri, dar în această lucrare vom folosi unul dintre cele deja propuse în. În spațiul arborescent, introducem două metrici: precizie și memorie. Precizia va fi definită ca numărul de vârfuri non-terminale identificate corect împărțit la numărul lor total. Memoria va fi egală cu numărul de vârfuri găsite corect, împărțit la numărul de non-terminale ale aceleiași propoziții din baza de date. Se afirmă că dacă aplicați cea mai simplă abordare pentru construirea unui arbore, veți obține imediat o eficiență de 75% pentru ambele metrici. Cu toate acestea, analizatorii moderni pot atinge o eficiență de 87-88% (în continuare, dacă nu este specificat în mod specific, eficiența va fi menționată de ambele metrici).

Să ne împărțim sarcina în 3 etape principale:

    Găsirea regulilor de aplicat Atribuirea probabilităților regulilor Găsirea celei mai probabile reguli

Unul dintre cele mai simple mecanisme de rezolvare a acestei probleme este „Gramaticile probabilistice fără context” (PCFG). Să ne uităm la un exemplu de gramatică care va face mai ușor de înțeles acest concept:

    sp → np vp (1,0) vp → verb np (0,8) vp → verb np np (0,2) np → det substantiv (0,5) np → substantiv (0,3) np → det substantiv substantiv (0,15) np → np np (0,05)

Aici sunt scrise reguli pentru analiza vârfurilor corespunzătoare, iar pentru fiecare regulă există o probabilitate de aplicare a acesteia. Astfel, putem calcula probabilitatea ca arborele „π” să se potrivească propoziției sale „s”:

margin-top:0cm" type="disc"> s – propoziția inițială π – arborele pe care l-am obținut c – trece prin vârfurile interne ale arborelui r(c) – probabilitatea de a folosi r pentru c

Nu vom oferi algoritmi exacti, vom spune doar că iterarea tuturor arborilor de analiză de lungime N folosind PCFG va dura N timp cub. Din păcate, se poate observa că PCFG-urile în sine nu produc analizoare statistice „bune”, motiv pentru care nu sunt utilizate pe scară largă.

3.4 Crearea propriilor reguli de analizare bazate pe PCFG. Gramaticile Treebank. „Gramaticile Markov”

Să luăm în considerare principalele sarcini care trebuie rezolvate pentru a analiza propunerea:

Construirea propriei gramatici sub forma PCFG (ar fi de dorit ca propunerea noastră să aibă cel puțin o concluzie în această gramatică). Un parser care ar aplica regulile date unei propoziții și ar obține unii sau toți arborii de analiză posibili. Abilitatea de a găsi arbori optimi pentru ecuația (1).

O prezentare generală a ultimelor 2 probleme a fost dată în partea anterioară, așa că să ne oprim acum

asupra primului punct. În primul rând, vom oferi o soluție simplă. Să presupunem că avem deja o colecție gata făcută de arbori analizați. Apoi, procesând fiecare dintre acești arbori, vom face pur și simplu o regulă din fiecare vârf non-terminal, pe baza modului în care este extins într-un anumit arbore. După aceasta, dacă o astfel de regulă există deja, atunci îi creștem parametrul statistic cu 1, iar dacă nu există, atunci adăugăm o nouă regulă la gramatica noastră cu acest parametru egal cu 1. După procesarea tuturor arborilor de testare, vom normalizați astfel încât probabilitatea aplicării fiecărei reguli să fie ≤ 1. Eficiența unor astfel de modele este de 75%. Astfel de modele se numesc „gramatici Treebank”.

Acum să vorbim puțin despre abordarea care vă permite să inventați noi reguli din mers. Pentru a face acest lucru, pe baza arborilor de testare, vom construi statistici pentru următoarea valoare – p(t1 | f, t2). Înseamnă probabilitatea ca eticheta „t1” să apară după eticheta „t2” la extinderea formei „f”. De exemplu, p(adj | np, det) înseamnă probabilitatea ca adjectivul să fie urmat de un articol, cu condiția să extindem „sintagma nominală” (traducere liberă a lui np) și să întâlnim articolul. Pe baza acestui fapt, pentru probabilitatea aplicării corecte a oricărei reguli la un vârf, putem crea o formulă:

3.5 Analizoare lexicale

Ideea principală a acestei părți va fi schimbarea structurii arborelui pentru a îmbunătăți eficiența modelului nostru. Acum nu vom construi doar un arbore de analiză, așa cum a fost prezentat mai sus, ci vom atribui suplimentar un cuvânt fiecărui vârf care îl va caracteriza cel mai bine ca unitate lexicală. Pentru vârful „c” notăm o astfel de linie ca head(c). Capul (c) va fi definit ca aplicarea unei anumite funcții copiilor lui „c” și regula prin care „c” a fost „deschis”. În general, se dovedește că atunci când construim acest cap, luăm în considerare faptul că unele cuvinte apar frecvent între ele, prin urmare, având astfel de statistici, putem îmbunătăți probabilitatea de a analiza veridicitatea pentru unele propoziții. De exemplu, în propoziția „deficitul comercial de mărfuri din august” există 4 substantive la rând, prin urmare, dacă folosim modelele anterioare, vom obține o probabilitate foarte mică de a analiza corect această propoziție. Dar faptul că „deficitul” este partea principală a acestui „np” și că în textele de testare am întâlnit expresii care conțineau simultan „deficit” și alte cuvinte ne va ajuta să alcătuim corect un arbore de analiză. Acum să formalizăm cele de mai sus folosind formula:

    p(r | h) este probabilitatea ca regula r să fie aplicată pentru un nod cu un h dat. p(h | m, t) – probabilitatea ca astfel de h să fie un copil al unui vârf cu cap = m și eticheta t.

Să prezentăm un tabel din care să devină mai clară forma formulei prezentate mai sus.

h(c) = „deficit”

Conceptul de probabilitate condiționată este utilizat în mod activ aici. Doar că probabilitatea ca cuvântul din vârful arborelui „c” să fie „august” se dovedește a fi mai mare dacă presupunem că head(c) = „deficit”. De fapt, dorim să ne precizăm cazurile astfel încât reguli foarte rare precum „regula = np → det nume propriu substantiv substantiv substantiv” să aibă o probabilitate destul de bună, iar apoi să putem procesa texte foarte complexe. În acest caz, nu contează pentru noi că regula pe care am dori să o aplicăm ar putea să nu se regăsească în colecția inițială de reguli.

3.6 Concluzie

Abordarea statistică permite rezolvarea multor probleme NLP și este una dintre domeniile destul de noi și în dezvoltare rapidă din lingvistica matematică. În această lucrare au fost luate în considerare doar concepte și termeni de bază, ceea ce lasă cititorului libertatea de alegere atunci când citește studii specifice pe această temă. Din păcate pentru cititorii vorbitori de limbă rusă, este de remarcat faptul că numărul de studii și lucrări pe această temă în Rusia este mic și tot materialul a trebuit să fie preluat din surse engleze. Poate că ești chiar persoana care poate schimba situația și poate prelua inițiativele a 2 proiecte rusești. Una dintre ele este necomercială și este în curs de dezvoltare la PM-PU a Universității de Stat din Sankt Petersburg. Celălalt este un produs comercial de la RCO cei interesați pot citi lucrările științifice ale acestei companii pe site-ul lor. Toate exemplele și imaginile folosite în acest articol au fost preluate din.

4. Legături

CHEIE. http://clef-qa. itc. it/WordNet. http://wordnet. princeton. edu/Pen treebank. http://www. cis. upenn. edu/~treebank/Start. http://start. csail. mit. edu/TREC. http://trec. nist. gov/ Eugene Charniak, „Tehnici statistice pentru analiza limbajului natural” Gary C. Borchardt, „Reconstrucție cauzală” Boris Katz, Beth Levin „Exploiting Lexical Regularities in Designing Natural Language Systems” SEMLP. http:///RCO. http://www. *****/

La scurt timp după apariția procesării listelor în informatică, a fost scris programul BASEBALL (pentru a ilustra modul în care noile metode ar putea fi aplicate sistemelor de întrebări-răspuns) (Green, Wolfe, Chomsky și Loughrey, 1961; Greene, 1963). Acest program a fost conceput pentru a răspunde la întrebări despre meciurile din 1959 din Liga Americană de Baseball - de unde și numele. Deși valoarea socială a acestei aplicații a programului este îndoielnică, ea oferă un aparat bun pentru testarea principiilor de programare care de atunci și-au găsit o utilizare largă. Mesajele pentru program au fost compilate într-un subset simplu al limbii engleze, despre care practic nu ne vom opri. Mult mai interesantă este structura de date folosită aici.

Datele programului BASEBALL au fost organizate într-un sistem ierarhic. Această structură de date ar putea fi reprezentată în mod echivalent ca un arbore. Cel mai înalt nivel a fost AN (au fost folosite doar datele pentru 1959, dar programul a oferit opțiuni pentru câțiva ani), urmat în ordine de LUNA și LOCUL. După ce au fost determinate ANUL, LUNA și LOCUL, numărul jocului, ziua și scorul (punctele câștigate de echipă) au fost indicate secvenţial.

În termeni generali, formatul structurii de date a fost:

În mod clar, această formă de structură a datelor nu este unică pentru baseball, iar rutinele de procesare a datelor din programul BASEBALL au fost scrise cu intenția de a lucra cu orice structură de date ierarhică, indiferent de interpretarea diferitelor niveluri și ramuri.

Funcționarea programului BASEBALL poate fi înțeleasă luând în considerare două concepte: calea datelor și lista de specificații.

O cale de date este o secvență de ramuri care trebuie urmată pentru a obține informații despre un anumit joc.

De exemplu, definește și pe parcurs stabilește câteva informații despre acest joc. Fiecare joc are asociată o singură cale de date, iar intrările sale definesc, așa cum se arată în exemplu, caracteristicile jocului. Pentru a genera toate căile de date posibile, puteți utiliza orice algoritm simplu de căutare în arbore, deoarece arborele de date este evident finit.

O listă de specificații este o listă de atribute pe care o cale de date trebuie să le aibă pentru a fi un răspuns valid la o întrebare. De exemplu, o listă de specificații ale întrebării

Unde (în ce locuri) a jucat echipa Redsox în iulie? (1) va

Să presupunem că procesorul de limbă a generat o listă de specificații pentru o întrebare. Un procesor de date ierarhic ia o listă de specificații și generează sistematic toate căile de date care se potrivesc cu aceasta. Calea se potrivește cu lista de specificații dacă

(a) perechea atribut-valoare (de exemplu, conținută atât în ​​lista de specificații, cât și pe cale, sau

(b) perechea caracteristică-valoare din lista de specificații are o valoare (de exemplu, în acest caz, valoarea corespunzătoare din calea datelor este înregistrată cât mai posibil (în exemplul (1), lista de valori ar fi Răspuns).

Dacă o pereche caracteristică-valoare dintr-o listă de specificații are o valoare, aceasta este în concordanță cu valoarea oricărei caracteristici de pe calea datelor. Tipul de aprobare nu este înregistrat.

După cum sa menționat deja, procesul de generare a căilor de date și de potrivire a acestora cu o listă de specificații nu conține nimic specific temei de baseball. Perechile atribut-valoare derivate pot fi, de asemenea, consistente, dar în acest caz sunt specifice aplicației. De exemplu, luați în considerare întrebarea:

Câte meciuri au câștigat echipele pe terenurile lor de acasă în iulie? (2)

Pentru a răspunde, programul trebuie să găsească toate căile de date care definesc jocurile pentru care valoarea se potrivește cu valoarea și al căror nume se potrivește cu valoarea și are cel mai bun scor. Este clar că subrutina care întocmește lista corespunzătoare de specificații se bazează pe cunoașterea jocului de baseball.

Când sunt găsite căi de date care satisfac listele de specificații, acestea sunt combinate într-o listă principală. El este reprezentat și ca un copac. De exemplu, căile care răspund la întrebarea (1) pot fi rezumate după cum urmează:

Răspunsul la întrebare este compilat prin revizuirea listei principale. În cazul (1), răspunsul se obține prin simpla enumerare a valorilor PLACE în lista principală.

Orez. 14.1. (vezi scanarea) Etapele răspunsului la întrebări în programul BASEBALL.

Răspunsul la o întrebare ceva mai complexă

Câte locuri au jucat Redsox în iulie? (3)

poate fi obținut prin recalcularea valorilor din lista principală.

O diagramă a acestei proceduri de răspuns la întrebări este prezentată în Fig. 14.1. Analizor de subseturi de limbaj natural

percepe o întrebare în limbaj natural, recunoaște tipul de întrebare adresată și produce o listă de specificații. Această parte a programului BASEBALL este în mod necesar legată de domeniul de aplicare în două privințe. Evident, ea trebuie să aibă acces la lexicul acestui joc. Mai puțin evident, ar trebui să conțină rutine care transformă expresii în limbaj natural, cum ar fi „cât” sau „în ce” în liste adecvate de specificații. Astfel, deși Green și colab. nu au restricționat utilizatorul să pună întrebări „indexate”, așa cum se face în biblioteci, au predeterminat tipurile de întrebări pe care sistemul le putea primi.

În pasul (B), programul generează lista de date principale din lista de specificații. După cum sa menționat deja, secțiuni mari din B sunt independente de aplicații, deși rutinele individuale pot necesita caracteristici de testare derivate. În ultimul pas, răspunsul este derivat din lista principală (blocuri și, din nou, programatorul trebuie să anticipeze tipul de întrebări adresate și să introducă în sistem o rutină de generare a listei principale adecvate pentru fiecare tip de întrebare.

După cum se poate observa din blocurile din fig. 14.1, programul BASEBALL nu se limitează la întrebări la care se poate răspunde prin parcurgerea datelor o singură dată. Să luăm în considerare întrebarea:

Câte echipe au jucat pe 8 locuri în iulie? (4)

Lista inițială a specificațiilor este următoarea:

La întrebarea definită de această listă de specificații nu se poate răspunde imediat. În schimb, procesorul trebuie să exploreze

și nu se poate răspunde imediat, așa că este necesară o întrebare auxiliară:

De asemenea, nu se poate răspunde imediat, așa că este reținut și este generată o întrebare

Se poate răspunde folosind un procesor de întrebări care oferă o listă principală

Specificarea înseamnă vizualizarea tuturor listelor din formular Numărând numele locurilor, puteți obține răspunsul la acesta și puteți obține răspunsul la

Dezvoltarea programului BASEBALL nu a depășit sfera proiectului inițial - soarta obișnuită a sistemelor de inteligență artificială. De fapt, ideea structurii ierarhice a datelor pare să fi dispărut din programarea care poate fi citită de mașină. Acest lucru este oarecum surprinzător, deoarece structurile ierarhice permit gestionarea eficientă a datelor, mai ales dacă cantități mari de informații trebuie păstrate parțial în memoria primară și parțial în dispozitive de memorie relativ lente și ieftine (pentru detalii, vezi Sussengut, 1963). În plus, structurile ierarhice pot fi implementate prin tehnici de management al datelor care sunt compatibile cu sistemele mai tradiționale de procesare a informațiilor (Hunt și Kildall, 1971; Lefkowitz, 1969). Fără îndoială, atunci când veți folosi programe de „înțelegere”, trebuie să ridicați la un moment dat problemele practice inevitabile legate de costuri și compatibilitatea sistemului. Poate că în viitor ar merita să revenim la principiile implementate în acest program destul de vechi.

Noile tehnologii informaționale

Curs nr. 2.2. Clase de bază ale sistemelor de limbaj natural. Sisteme inteligente de întrebări și răspunsuri

    Noi tehnologii informaționale (3)

1.1. Clasele principale de sisteme de limbaj natural

        Componentele funcționale ale sistemelor de limbaj natural

        Caracteristici comparative ale principalelor clase de sisteme NL

        1. Sisteme inteligente de întrebări și răspunsuri

          1. Sisteme de recuperare a informațiilor

            Sisteme de comunicare cu baze de date

            Sistem expert

            Sisteme de rezolvare a problemelor de dialog

            Stocare inteligentă și biblioteci digitale

        2. Sisteme de recunoaștere a vorbirii

          1. Sisteme pentru recunoașterea comenzilor vorbite în mod izolat

            Sisteme de recunoaștere a cuvintelor cheie într-un flux de vorbire continuă

            Sisteme de recunoaștere continuă a vorbirii

            Abordare analiză prin sinteză

            Sisteme de citire a buzelor

          Sisteme de procesare a textului conectate

          1. Sisteme de rezumare a textului

            Sisteme de comparare și clasificare a textelor

            Sisteme de grupare a textului

          Sisteme de sinteză

          1. Sisteme de sinteză a vorbirii

            Sisteme de sinteză video bazate pe text

          Sisteme de traducere automată. Sisteme de înțelegere a vorbirii (textului).

          1. Sisteme de traducere a frazelor

            Sisteme de traducere contextuală

            Sisteme de înțelegere a vorbirii (textului).

          Ontologii și tezauri

          Baze de date de vorbire și text

          Componentele sistemelor inteligente

        Caracteristicile comparative ale sistemelor de limbaj natural

        Sisteme inteligente de întrebări și răspunsuri

În prezent, cel mai popular produs care se încadrează în categoria sistemelor inteligente de răspuns la întrebări sunt (57) sisteme de regăsire a informațiilor.

2.2.1.1. Sisteme de recuperare a informațiilor

Cele mai cunoscute sisteme de recuperare a informațiilor GOOGLE, Yandex, Rambler au aproximativ aceleași capacități și funcționalități. Singurul lucru (58) diferenta de sistemGOOGLEdin restul este mai degrabă de natură tehnică: acest sistem este implementat ca un sistem distribuit paralel folosind un număr mare de procesoare cu memorie produsă intern. Poate că această diferență a jucat un rol decisiv în superioritatea neîndoielnică a acestui sistem față de toate celelalte, deși aveau mai multe funcții intelectuale. (59) Procesarea limbajului natural în acest și în alte sisteme de recuperare a informațiilor nu joacă un rol foarte important, dar volumul utilizării lor în sistemele de comunicare om-mașină este foarte mare.

Orez. 2.2. Un sistem tipic de regăsire a informațiilor.

(60) Principalele funcții ale unui sistem de regăsire a informațiilor se reduc la analizarea surselor, indexarea textelor extrase din surse, procesarea unei cereri de utilizator, compararea textelor bazei de date indexate cu o solicitare a utilizatorului și producerea de rezultate. A apărut recent în sistemul GOOGLE intrarea vorbirii, care vă permite să introduceți o solicitare cu volum limitat în sistem prin voce. O altă funcție utilizată în sistemele de regăsire a informațiilor este funcția de reprezentare a structurii modelului lumii sistemului, care este un mijloc de navigare prin resursele sistemului.

Astfel, un sistem standard (61) de regăsire a informațiilor conține șapte componente principale (vezi Fig. 2.2): un bloc de introducere a informațiilor, un bloc de analiză, un bloc de indexare sursă, un bloc de procesare a cererii utilizatorului, un bloc de comparare a textelor sursă cu un utilizator. cerere prezentată în limbaj natural, un bloc pentru afișarea rezultatelor și un bloc pentru structurarea domeniilor tematice și a navigației.

Sarcina principală a implementării intrării este de a prezenta setul original de texte și cererea utilizatorului într-o formă convenabilă pentru computer. Cert este că, datorită volumului mare de informații procesate de sistemele de recuperare a informațiilor (62) textele documentelor prelucrate nu sunt de obicei stocate în sistem.Sunt stocate doar reprezentările lor. Textele sunt preluate din depozit(e) și procesate din când în când (de obicei ciclic).

(63) O astfel de reprezentare a textului ar putea fi, de exemplu, o listă de cuvinte cheie extrase din text (reprezentată prin vector-spațial, sau n-modele gramaticale), dar poate exista și o rețea de co-apariție a cuvintelor în fragmente de text.

Ideea principala (64) modelul vector-spațial simplu: textul este descris de un vector lexicalîn spațiul euclidian, fiecare componenta vectoriala corespunde unui obiect continut in text(cuvânt, frază, nume de companii, funcții, nume etc.), care se numește termen. Pentru fiecare Termenului utilizat în text i se atribuie ponderea (semnificația), determinată pe baza informațiilor statistice despre apariția sa într-un text separat. Dimensiunea vectorială este numărul de termeni care apar în texte.

(65) În modelul poligramă, textul este reprezentat ca un vector, unde elementele vectorului sunt toate combinații de caractere de lungime n din alfabetM (pentru limba rusă M = 33 ). Fiecare element al vectorului este asociat cu frecvența de apariție a corespondentuluin -grame în text. Dimensiunea vectorială pentru textul arbitrar este strict fixă ​​și se ridică la 33 3 = 35937 elemente. Cu toate acestea, după cum arată practica, în textele reale nu sunt implementate mai mult de 25-30 la sută din n-grame din numărul total admis, adică. pentru limba rusă nu sunt mai mult de 7000.

(66) Rețea de co-apariție a cuvintelor în fragmente de text. Textul este reprezentat de o varietate de concepte în relațiile lor. Atât conceptele, cât și conexiunile sunt evaluate după greutatea lor.

(67) Interogarea utilizatorului, prezentată în limbaj natural, este prelucrată într-o manieră similară cu prelucrarea informațiilor la indexarea textelor sursă, pentru a simplifica compararea acestor texte în limba naturală. În faza de comparație, de fapt, sunt implementate strategii de căutare

Astfel, pe lângă metodele de reprezentare internă a textului, metoda de clasificare (comparare) a textelor joacă un rol semnificativ în sistemele de regăsire a informațiilor. (68) În prezent, următoarele tipuri de clasificatoare sunt utilizate în practică::

        (69) Clasificatori statistici bazate pe metode probabilistice. Cel mai faimos din acest grup este familia clasificatorilor bayesieni. Caracteristica lor comună este procedura de clasificare bazată pe formula lui Bayes pentru probabilitatea condiționată.

Metoda clasică de clasificare a textelor face presupuneri foarte puternice cu privire la independența evenimentelor implicate (apariția cuvintelor în documente), dar practica arată că clasificatorul naiv Bayes se dovedește a fi foarte eficient.

2. (70) Clasificatori bazați pe funcții de similaritate. Cea mai caracteristică a acestor clasificatoare este utilizarea vectorilor lexicali ai modelului termen-document, care sunt utilizați și în clasificatorii neuronali. La fel de măsurile de similaritate iau de obicei cosinusul unghiului dintre vectori, calculat prin produsul scalar.

Având în vedere cele de mai sus (72) în sistemele de regăsire a informaţiei sunt utilizate următoarele strategii.

1. (73) Pe baza cuvintelor cheie. Cuvintele cheie sunt de obicei furnizate cu caracteristici de greutate care determină ponderea cuvântului în text. Caracteristica numerică se bazează pe frecvența de apariție a cuvintelor în text. Cu toate acestea, ponderea semantică a unui cuvânt diferă de frecvența apariției acestuia în text.

2. Foarte important (74) Informatii despreordinea cuvintelor cheie în fragmente de text. Pentru a crește eficiența căutării în acest caz, în locul conceptelor cheie sunt utilizate n-grame de concepte cheie.

3. La căutare se folosește și frecvența de co-apariție a cuvintelor cheie în fragmente de text. Structura internă a textului (75) în ceea ce privește cuvintele cheie în relațiile lor – un portret semantic al textului– stă la baza reprezentării textului în sistemele de regăsire a informațiilor. Portretul semantic al textului ne permite să identificăm structura logica text (și structura logică a întregului corpus de text), care îmbunătățesc calitatea căutării și o accelerează.

4. Recent, la căutare, au început să folosească așa-numitul (76) comparație neclară.

Pentru a îmbunătăți rezultatele căutării, utilizatorul poate modifica interogarea. Pentru asta este feedback-ul. (77) Procesarea informațiilor într-un sistem de regăsire a informațiilor include structurarea informațiilor în scopul navigării ulterioare, inclusiv gruparea acestora.

Sub (76) La afișarea rezultatelor, trebuie să înțelegeți acele linkuri către textul sursă (texte) pe care sistemul le oferă utilizatorului. Acesta ar putea fi un sistem de citări, numere de documente care stochează textele analizate.

(77) Căutarea informațiilor necesare în rețea folosind un motor de căutare se efectuează de obicei după cum urmează. Utilizatorul introduce unul sau mai mulți termeni de căutare în caseta de dialog a motorului de căutare. Motorul de căutare returnează rezultate de căutare care corespund acestor termeni de căutare. De exemplu, un motor de căutare poate returna o listă de adrese web (URL-uri) care indică documente care conțin unul sau mai multe cuvinte de căutare.

Sisteme de răspuns la întrebări

Sistem de întrebări și răspunsuri(English Question-answering system) este un tip special de sisteme informatice, care sunt un hibrid de sisteme de căutare, de referință și inteligente (deseori sunt considerate ca motoare de căutare inteligente). Un sistem QA trebuie să poată accepta întrebări în limbaj natural, adică este un sistem cu o interfață în limbaj natural. Informațiile sunt furnizate pe baza documentelor de pe Internet sau din stocarea locală. Evoluțiile moderne ale sistemelor de asigurare a calității fac posibilă procesarea multor variante de cereri de fapte, liste, definiții, întrebări precum Cum, De ce, ipotetice, complexe și interlingve.

  • Foarte specializat Sistemele QA funcționează în domenii specifice (de exemplu, medicină sau întreținere auto). Construirea unor astfel de sisteme este o sarcină relativ ușoară.
  • Sunt comune Sistemele QA funcționează cu informații din toate domeniile de cunoaștere, făcând astfel posibilă căutarea în domenii conexe.

Arhitectură

Primele sisteme de asigurare a calității au fost dezvoltate în anii 1960 și au fost shell-uri în limbaj natural pentru sisteme expert axate pe domenii specifice. Sistemele moderne sunt concepute pentru a căuta răspunsuri la întrebăriîn documentele furnizate folosind tehnologii de procesare a limbajului natural (NLP).

Sistemele moderne QA includ de obicei un modul special - clasificator de întrebări, care determină tipul întrebării și, în consecință, răspunsul așteptat. După această analiză, sistemul aplică treptat metode NLP din ce în ce mai complexe și mai subtile documentelor furnizate, eliminând informațiile inutile. Cea mai aspră metodă este căutare în documente- presupune utilizarea unui sistem de regăsire a informațiilor pentru a selecta părți din text care pot conține un răspuns. Apoi filtru evidențiază expresii care sunt similare cu răspunsul așteptat (de exemplu, pentru întrebarea „Cine...”, filtrul va returna fragmente de text care conțin numele persoanelor). Și în sfârșit, modulul evidențierea răspunsurilor va găsi răspunsul corect printre aceste fraze.

Schema de lucru

Performanța unui sistem de răspunsuri la întrebări depinde de calitatea bazei de text - dacă nu există răspunsuri la întrebări în acesta, sistemul QA nu va putea găsi nimic. Cu cât baza este mai mare, cu atât mai bine, dar numai dacă este conţine informatie necesara. Arhivele mari (cum ar fi Internetul) conțin o mulțime de informații redundante. Acest lucru duce la două puncte pozitive:

  1. Deoarece informațiile sunt prezentate în diferite forme, sistemul QA va găsi rapid răspunsul potrivit. Nu trebuie să recurgeți la tehnici complexe de procesare a textului.
  2. Informațiile corecte se repetă mai des, astfel încât erorile din documente sunt eliminate.

Căutare de suprafață

Cea mai comună metodă de căutare este prin cuvinte cheie. Expresiile găsite în acest fel sunt filtrate în funcție de tipul de întrebare și apoi clasificate în funcție de caracteristicile sintactice, cum ar fi ordinea cuvintelor.

Cautare Avansata

Probleme

În 2002, un grup de cercetători a scris un plan de cercetare în domeniul sistemelor de întrebări-răspuns. S-a propus să se analizeze următoarele întrebări.

Tipuri de întrebări Diferite întrebări necesită metode diferite de găsire a răspunsurilor. Prin urmare, este necesar să se creeze sau să se îmbunătățească liste metodologice ale tipurilor de întrebări posibile. Prelucrarea întrebărilor Aceeași informații pot fi solicitate în moduri diferite. Este necesar să se creeze metode eficiente de înțelegere și procesare a semanticii (sensului) unei propoziții. Este important ca programul să recunoască întrebările care sunt echivalente ca semnificație, indiferent de stilul, cuvintele, relațiile sintactice și idiomurile folosite. Aș dori ca sistemul QA să împartă întrebări complexe în mai multe simple și să interpreteze corect frazele sensibile la context, poate clarificându-le cu utilizatorul în timpul dialogului. Întrebări contextuale Întrebările sunt adresate într-un context specific. Contextul poate clarifica o interogare, rezolva ambiguitatea sau poate urmări gândirea utilizatorului printr-o serie de întrebări. Surse de cunoștințe pentru un sistem QA Înainte de a răspunde la întrebare, ar fi bine să vă întrebați despre bazele de date text disponibile. Indiferent ce metode de procesare a textului sunt folosite, nu vom găsi răspunsul corect dacă nu se află în bazele de date. Selectarea răspunsurilor Executarea corectă a acestei proceduri depinde de complexitatea întrebării, tipul acesteia, contextul, calitatea textelor disponibile, metoda de căutare etc. - un număr mare de factori. Prin urmare, studiul metodelor de procesare a textului trebuie abordat cu mare prudență, iar această problemă merită o atenție deosebită. Formularea răspunsului Răspunsul trebuie să fie cât se poate de natural. În unele cazuri, un simplu deversare aceasta din text. De exemplu, dacă este necesar un nume (numele persoanei, numele unui instrument, boala), cantitatea (cursul valutar, lungimea, mărimea) sau data („Când s-a născut Ivan cel Groaznic?”) - un răspuns direct este suficient. Dar uneori trebuie să faci față unor interogări complexe și aici sunt necesari algoritmi speciali îmbina răspunsurile din diferite documente. Răspunsul la întrebări în timp real Este necesar să se creeze un sistem care să găsească răspunsuri în depozite în câteva secunde, indiferent de complexitatea și ambiguitatea întrebării, de dimensiunea și vastitatea bazei de documente. Interogări multilingve Dezvoltare de sisteme de lucru și căutare în alte limbi (inclusiv traducere automată). Interactivitate Adesea, informațiile oferite de un sistem QA ca răspuns sunt incomplete. Este posibil ca sistemul să fi identificat incorect tipul de întrebare sau să fi „înțeles” incorect. În acest caz, utilizatorul poate dori nu numai să-și reformuleze cererea, ci și să „explice” programului folosind dialog. Mecanism de raționament (inferență) Unii utilizatori ar dori să primească un răspuns care să depășească textele disponibile. Pentru a face acest lucru, trebuie să adăugați cunoștințe comune pentru majoritatea domeniilor sistemului QA (vezi ontologii generale în informatică), precum și mijloace pentru deducerea automată a noilor cunoștințe. Profilurile de utilizator ale sistemelor QA Informațiile despre utilizator, cum ar fi domeniul său de interes, modul său de vorbire și de raționament și faptele implicite, ar putea crește semnificativ performanța sistemului.

Legături

  • Dialogus este un motor de căutare care selectează automat răspunsurile la întrebările utilizatorilor.
  • [email protected]: Căutare umană pentru răspunsuri la orice întrebări.

Fundația Wikimedia. 2010.

Vedeți ce sunt „sisteme de răspuns la întrebări” în alte dicționare:

    Acest articol este despre sisteme informatice automate. Pentru informații despre tipul de rețele sociale, consultați sistemul de întrebări și răspunsuri (serviciu web). Sistem de răspuns la întrebări (sistem QA; din engleză QA English Question answering... ... Wikipedia

    Un sistem informatic inteligent (IIS) este unul dintre tipurile de sisteme informatice automatizate, uneori, un IIS este numit sistem bazat pe cunoaștere. IIS este un complex de software, lingvistic și logico-matematic... ... Wikipedia

    Acest articol nu are link-uri către surse de informații. Informațiile trebuie să fie verificabile, altfel pot fi puse sub semnul întrebării și șterse. Poți... Wikipedia

    URL... Wikipedia

    - (din engleza Virtual virtual, Digital digital, Assistant assistant, prescurtat ca VDA) serviciu web și/sau aplicație pentru smartphone-uri și PC-uri, care joacă de fapt rolul de secretar personal pentru utilizator. Rezolvă problemele de planificare a programului,... ... Wikipedia

    Reprezentarea cunoașterii este o problemă care apare în știința cognitivă (știința gândirii), în informatică și în cercetarea inteligenței artificiale. În știința cognitivă, este legată de modul în care oamenii stochează și procesează informațiile. În informatică cu selecție... Wikipedia

    Reprezentarea cunoașterii este o problemă care apare în știința cognitivă (știința gândirii), în informatică și în inteligența artificială. În știința cognitivă, este legată de modul în care oamenii stochează și procesează informațiile. În informatică, scopul principal este selectarea unei reprezentări... Wikipedia

    Este destinat ca utilizatorul să obțină cele mai exacte (relevante) informații despre un subiect de interes pentru el (și limitat de baza de date de articole). De obicei, un articol este selectat în funcție de ierarhia subiectelor de ajutor. Sistemele de ajutor sunt adesea combinate cu... ... Wikipedia

    - (Natural Language Processing, NLP) direcția generală de inteligență artificială și lingvistică matematică. Studiază problemele analizei computerizate și sintezei limbajului natural. Când este aplicată inteligenței artificiale, analiza înseamnă... Wikipedia

    Wolfram|Alpha Pagina principală a site-ului ... Wikipedia