Kako napisati sustav pitanja i odgovora. Stvaranje stabala raščlanjivanja od rečenica

Nove informacijske tehnologije

Predavanje br. 2.2. Osnovne klase sustava prirodnog jezika. Inteligentni sustavi pitanja i odgovora

    Nove informacijske tehnologije (3)

1.1. Glavne klase sustava prirodnog jezika

        Funkcionalne komponente sustava prirodnog jezika

        Usporedne karakteristike glavnih klasa NL sustava

        1. Inteligentni sustavi pitanja i odgovora

          1. Sustavi za traženje informacija

            Komunikacijski sustavi baza podataka

            Ekspertni sustavi

            Sustavi dijaloškog rješavanja problema

            Pametna pohrana i digitalne knjižnice

        2. Sustavi za prepoznavanje govora

          1. Sustavi za prepoznavanje govornih naredbi u izolaciji

            Sustavi za prepoznavanje ključnih riječi u toku neprekidnog govora

            Sustavi kontinuiranog prepoznavanja govora

            Pristup analiza po sintezi

            Sustavi za čitanje s usana

          Povezani sustavi za obradu teksta

          1. Sustavi sažimanja teksta

            Sustavi usporedbe i klasifikacije teksta

            Sustavi klasteriranja teksta

          Sustavi sinteze

          1. Sustavi za sintezu govora

            Sustavi video sinteze temeljeni na tekstu

          Sustavi strojnog prevođenja. Sustavi za razumijevanje govora (teksta).

          1. Sustavi prevođenja fraza

            Sustavi kontekstualnog prevođenja

            Sustavi za razumijevanje govora (teksta).

          Ontologije i tezaurusi

          Govorne i tekstualne baze podataka

          Komponente inteligentnih sustava

        Komparativne karakteristike sustava prirodnog jezika

        Inteligentni sustavi pitanja i odgovora

Trenutačno najpopularniji proizvodi koji spadaju u kategoriju inteligentnih sustava za odgovaranje na pitanja su (57) sustavi za traženje informacija.

2.2.1.1. Sustavi za traženje informacija

Najpoznatiji sustavi za pretraživanje informacija GOOGLE, Yandex, Rambler imaju približno iste mogućnosti i funkcionalnost. Jedina stvar (58) razlika u sustavuGOOGLEod ostatka je prilično tehničke prirode: ovaj sustav je implementiran kao paralelni distribuirani sustav koji koristi veliki broj procesora s interno proizvedenom memorijom. Možda je upravo ta razlika odigrala odlučujuću ulogu u nedvojbenoj nadmoći ovog sustava nad svim ostalima, iako su imali više intelektualne funkcije. (59) Obrada prirodnog jezika u ovom i drugim sustavima za traženje informacija nema veliku ulogu, ali obujam njihove upotrebe u komunikacijskim sustavima čovjek-stroj vrlo je velik.

Riža. 2.2. Tipičan sustav za pretraživanje informacija.

(60) Glavne funkcije sustava za pretraživanje informacija svode se na raščlanjivanje izvora, indeksiranje tekstova izdvojenih iz izvora, obradu korisničkog zahtjeva, usporedbu indeksiranih tekstova baze podataka sa zahtjevom korisnika i stvaranje rezultata. Nedavno se pojavio u sustavu GOOGLE govorni unos, koji vam omogućuje da glasom unesete zahtjev ograničene količine u sustav. Druga funkcija koja se koristi u sustavima za pretraživanje informacija je funkcija predstavljanja strukture modela svijeta sustava, koji je sredstvo za navigaciju kroz resurse sustava.

Dakle, standardni (61) sustav za pretraživanje informacija sadrži sedam glavnih komponenti (vidi sliku 2.2): blok za unos informacija, blok za raščlanjivanje, blok za indeksiranje izvora, blok za obradu zahtjeva korisnika, blok za usporedbu izvornih tekstova s ​​korisnikom zahtjev predstavljen na prirodnom jeziku, blok za ispis rezultata i blok za strukturiranje tematskih područja i navigaciju.

Glavni zadatak implementacije unosa je prikazati izvorni skup tekstova i zahtjev korisnika u obliku pogodnom za računalo. Činjenica je da zbog velike količine informacija koje obrađuju sustavi za pretraživanje informacija (62) tekstovi obrađenih dokumenata obično nisu pohranjeni u sustavu.Pohranjuju se samo njihovi prikazi. Tekstovi se uzimaju iz repozitorija(a) i obrađuju s vremena na vrijeme (obično ciklički).

(63) Takav prikaz teksta mogao bi biti, na primjer, popis ključnih riječi izdvojenih iz teksta (predstavljen vektorskim prostornim ili n-gramatički modeli), ali može postojati i mreža supojavljivanja riječi u tekstualnim fragmentima.

Glavna ideja (64) vektorsko-prostorni model jednostavan: tekst je opisan leksičkim vektorom u euklidskom prostoru, svaka komponenta vektora odgovara nekom objektu sadržanom u tekstu(riječ, izraz, nazivi poduzeća, položaji, imena itd.), koji se naziva termin. Svakome Pojmu korištenom u tekstu dodijeljena je njegova težina (značaj), određena na temelju statističkih podataka o njegovom pojavljivanju u zasebnom tekstu. Vektorska dimenzija je broj pojmova koji se pojavljuju u tekstovima.

(65) U modelu poligrama, tekst je predstavljen kao vektor, gdje su elementi vektora sve kombinacije znakova duljine n iz abecedeM (za ruski jezik M = 33 ). Svaki element vektora povezan je s učestalošću pojavljivanja odgovarajućegn -grama u tekstu. Vektorska dimenzija proizvoljnog teksta je strogo fiksna i iznosi 33 3 = 35937 elemenata. Međutim, kako praksa pokazuje, u stvarnim tekstovima ne implementira se više od 25-30 posto n-grama od ukupnog dopuštenog broja, tj. za ruski jezik nema više od 7000.

(66) Mreža supojavljivanja riječi u tekstualnim fragmentima. Tekst je predstavljen raznim pojmovima u njihovim odnosima. I pojmovi i veze procjenjuju se svojom težinom.

(67) Upit korisnika, prezentiran na prirodnom jeziku, obrađuje se na način sličan obradi informacija prilikom indeksiranja izvornih tekstova, kako bi se pojednostavila usporedba tih tekstova na prirodnom jeziku. U fazi usporedbe, zapravo, implementiraju se strategije pretraživanja

Dakle, uz metode interne reprezentacije teksta, značajnu ulogu u sustavima za pretraživanje informacija ima i metoda klasifikacije (usporedbe) tekstova. (68) Trenutno se u praksi koriste sljedeće vrste klasifikatora::

        (69) Statistički klasifikatori na temelju probabilističkih metoda. Najpoznatija u ovoj skupini je obitelj Bayesovih klasifikatora. Zajednička im je osobina postupak klasifikacije temeljen na Bayesovoj formuli za uvjetnu vjerojatnost.

Klasična metoda klasifikacije teksta daje vrlo jake pretpostavke o neovisnosti uključenih događaja (pojava riječi u dokumentima), ali praksa pokazuje da se naivni Bayesov klasifikator pokazao vrlo učinkovitim.

2. (70) Klasifikatori temeljeni na funkcijama sličnosti. Najkarakterističnije za takve klasifikatore je korištenje leksičkih vektora modela pojma-dokumenta, koji se također koriste u neuronskim klasifikatorima. Kao mjere sličnosti obično uzimaju kosinus kuta između vektora, izračunat kroz skalarni produkt.

U svjetlu gore navedenog (72) u sustavima za traženje informacija koriste se sljedeće strategije.

1. (73) Na temelju ključnih riječi. Ključne riječi obično su snabdjevene karakteristikama težine koje određuju težinu riječi u tekstu. Numerička karakteristika temelji se na učestalosti pojavljivanja riječi u tekstu. Međutim, semantička težina riječi razlikuje se od učestalosti njezina pojavljivanja u tekstu.

2. Vrlo važno (74) Informacije oredoslijed ključnih riječi u fragmentima teksta. Kako bi se povećala učinkovitost pretraživanja u ovom slučaju, umjesto ključnih pojmova koriste se n-grami ključnih pojmova.

3. Pri pretraživanju se također koristi učestalost supojavljivanja ključnih riječi u fragmentima teksta. Interna struktura teksta (75) u smislu ključnih riječi u njihovim odnosima – semantički portret teksta– osnova je za prikaz teksta u sustavima za pretraživanje informacija. Semantički portret teksta omogućuje nam identifikaciju logična struktura teksta (i logičke strukture cjelokupnog tekstualnog korpusa) koji poboljšavaju kvalitetu pretraživanja i ubrzavaju ga.

4. U posljednje vrijeme pri pretragama su počeli koristiti tzv. (76) nejasna usporedba.

Kako bi poboljšao rezultate pretraživanja, korisnik može promijeniti upit. Tome služi povratna informacija. (77) Obrada informacija u sustavu za pretraživanje informacija uključuje strukturiranje informacija u svrhu naknadne navigacije, uključujući njihovo grupiranje.

Ispod (76) Prilikom ispisivanja rezultata morate razumjeti one poveznice na izvorni tekst (tekstove) koje sustav daje korisniku. To bi mogao biti sustav citata, brojeva dokumenata koji pohranjuju analizirane tekstove.

(77) Traženje potrebnih informacija na mreži pomoću tražilice obično se provodi na sljedeći način. Korisnik unosi jedan ili više pojmova za pretraživanje u dijaloški okvir tražilice. Tražilica vraća rezultate pretraživanja koji odgovaraju ovim pojmovima pretraživanja. Na primjer, tražilica može vratiti popis web adresa (URL-ova) koji upućuju na dokumente koji sadrže jednu ili više riječi upita za pretraživanje.

Sustavi pitanja i odgovora

Anatolij Nikitin, Pavel Rajkov

1. Uvod. 2

1.1 Problemi.. 3

2. QA sustav Start 4

2.1 Ternarni izrazi. 5

2.2 S-pravila. 6

2.3 Leksikon. 6

2.6 Bilješke na prirodnom jeziku. 8

2.7 Zaključak. 9

3. Statističke tehnike za analizu prirodnog jezika. 10

3.1 Uvod. 10

3.2 Određivanje dijelova govora riječima u rečenici. jedanaest

3.3 Stvaranje stabala raščlanjivanja iz rečenica. 14

3.4 Stvaranje vlastitih pravila parsiranja na temelju PCFG-a. Gramatike Treebank. “Markovljeve gramatike” 16

3.5 Leksički parseri.. 16

1. Uvod

Zbog brzog razvoja informacijske tehnologije i kontinuiranog porasta količine informacija dostupnih na globalnom internetu, pitanja učinkovitog pretraživanja i pristupa podacima postaju sve aktualnija. Često standardno pretraživanje pomoću ključnih riječi ne daje željeni rezultat, zbog činjenice da ovaj pristup ne uzima u obzir jezične i semantičke odnose između riječi upita. Stoga se sada aktivno razvijaju tehnologije obrade prirodnog jezika (NLP) i sustavi odgovora na pitanja (QAS) temeljeni na njima.

Sustav pitanja i odgovora je Informacijski sistem, koji je hibrid pretraživačkih, referentnih i inteligentnih sustava koji koristi sučelje prirodnog jezika. Ulaz u takav sustav je zahtjev formuliran na prirodnom jeziku, nakon čega se obrađuje NLP metodama i generira odgovor na prirodnom jeziku. Kao osnovni pristup zadatku traženja odgovora na pitanje obično se koristi sljedeća shema: prvo sustav na ovaj ili onaj način (primjerice pretraživanjem po ključnim riječima) odabire dokumente koji sadrže informacije vezane uz postavljeno pitanje, zatim ih filtrira, ističući pojedinačne fragmente teksta koji potencijalno sadrže odgovor, nakon čega modul za generiranje sintetizira odgovor na pitanje iz odabranih fragmenata.

Kao izvor informacija QA sustav koristi ili lokalnu pohranu, ili globalnu mrežu, ili oboje u isto vrijeme. Unatoč očitim prednostima korištenja Interneta, kao što je pristup ogromnim, stalno rastućim informacijskim resursima, postoji značajan problem povezan s ovim pristupom – informacije na Internetu su nestrukturirane i za njihovo ispravno pronalaženje potrebno je kreirati tzv. “omotače”, odnosno potprograme koji omogućuju objedinjeni pristup različitim informacijskim resursima.

Suvremeni QA sustavi dijele se na opće (otvorene domene) i specijalizirane (zatvorene domene). Opći sustavi, odnosno sustavi usmjereni na obradu proizvoljnih pitanja, imaju prilično složenu arhitekturu, ali unatoč tome u praksi daju prilično slabe rezultate i nisku točnost odgovora. No, u pravilu je za takve sustave stupanj pokrivenosti znanja važniji od točnosti odgovora. U specijaliziranim sustavima koji odgovaraju na pitanja koja se odnose na određeno područje, naprotiv, točnost odgovora često je kritičan pokazatelj (bolje je uopće ne odgovoriti na pitanje nego dati pogrešan odgovor).

1.1 Problemi

Godine 2002. grupa istraživača napisala je plan istraživanja u području sustava za odgovore na pitanja. Predloženo je razmatranje sljedećih pitanja:

Vrste pitanja. Različita pitanja zahtijevaju različite metode traženja odgovora. Stoga je potrebno izraditi ili poboljšati metodološke liste vrsta mogućih pitanja. Obrada pitanja. Iste informacije mogu se tražiti na različite načine. Potrebno je stvoriti učinkovite metode za razumijevanje i obradu semantike (značenja) rečenice. Važno je da program prepozna pitanja koja su po značenju ekvivalentna, bez obzira na stil, riječi, sintaktičkom odnosi i idiomi. Želio bih da QA sustav podijeli složena pitanja u nekoliko jednostavnih i ispravno interpretira fraze osjetljive na kontekst, možda ih razjašnjavajući s korisnikom tijekom dijaloga. Kontekstualna pitanja. Pitanja se postavljaju u specifičnom kontekstu. Kontekst može razjasniti upit, razriješiti dvosmislenost ili pratiti korisnikovo razmišljanje kroz niz pitanja. Izvori znanja za QA sustav. Prije odgovora na pitanje bilo bi dobro raspitati se o dostupnim tekstualnim bazama podataka. Bez obzira koje se metode obrade teksta koristile, točan odgovor nećemo pronaći ako ga nema u bazama podataka. Označavanje odgovora. Ispravno izvođenje ovog postupka ovisi o složenosti pitanja, njegovoj vrsti, kontekstu, kvaliteti dostupnih tekstova, načinu pretraživanja itd. - velikom broju čimbenika. Stoga se proučavanju metoda obrade teksta mora pristupiti s velikim oprezom, a ovaj problem zaslužuje posebnu pozornost. Formulacija odgovora. Odgovor bi trebao biti što prirodniji. U nekim slučajevima, jednostavan pražnjenje to iz teksta. Na primjer, ako je potrebno ime (ime osobe, naziv instrumenta, bolest), količina (valutni tečaj, duljina, veličina) ili datum ("Kada je rođen Ivan Grozni?") - dovoljan je izravan odgovor. Ali ponekad se morate nositi sa složenim upitima, a ovdje su potrebni posebni algoritmi spojiti odgovore iz različitih dokumenata. Odgovori na pitanja u stvarnom vremenu. Moramo napraviti sustav koji bi u repozitoriju pronalazio odgovore u nekoliko sekundi, bez obzira na složenost i dvosmislenost pitanja, veličinu i obimnost baze dokumenata. Višejezični upiti. Razvoj sustava za rad i pretraživanje na drugim jezicima (uključujući automatsko prevođenje). Interaktivnost.Često su informacije koje QA sustav nudi kao odgovor nepotpune. Sustav je možda pogrešno identificirao vrstu pitanja ili ju je pogrešno "razumio". U ovom slučaju, korisnik može htjeti ne samo preformulirati svoj zahtjev, već i "objasniti" programu pomoću dijaloga. Mehanizam zaključivanja (zaključivanja). Neki korisnici željeli bi dobiti odgovor koji nadilazi dostupne tekstove. Da biste to učinili, sustavu osiguranja kvalitete morate dodati znanje koje je zajedničko većini područja, kao i sredstva za automatsko ispisivanje novog znanja. Korisnički profili QA sustava. Informacije o korisniku, kao što su njegovo područje interesa, njegov način govora i zaključivanja te zadane činjenice, mogle bi značajno poboljšati performanse sustava.

2. QA sustav Start

Sustav Start QA primjer je općeg sustava za odgovaranje na pitanja koji odgovara na proizvoljne upite formulirane u Engleski jezik. Razvija se u Laboratoriju za umjetnu inteligenciju MIT-a pod vodstvom Borisa Katza. Ovaj se sustav prvi put pojavio na internetu 1993. godine i sada je dostupan na http://start. csail. mit. edu. Prilikom traženja odgovora na pitanje, sustav koristi i lokalnu bazu znanja i brojne izvore informacija na Internetu.

Sustav može odgovoriti na različite vrste pitanja, koja se mogu podijeliti u sljedeće kategorije:

Pitanja o definicijama (Što je fraktal?)

Činjenična pitanja (Tko je izumio telegraf?)

Pitanja o odnosima (Koja je država veća, Rusija ili SAD?)

Popis upita (Pokaži mi neke pjesme Aleksandra Puškina)

Srž sustava je Baza znanja. Postoje 2 modula: Parser i Generator, koji mogu, redom, pretvoriti tekstove na engleskom jeziku u poseban oblik (T-izrazi), u kojem su pohranjeni u bazi znanja, i, obrnuto, generirati tekstove na engleskom jeziku iz skupa T -izrazi.

2.1 Ternarni izrazi

Ternarni izraz (T-izraz) je izraz forme<объект отношение субъект>. U ovom slučaju, drugi T-izrazi mogu djelovati kao objekti/subjekti nekih T-izraza. Pridjevi, posvojni zamjenice, prijedlozi i drugi dijelovi rečenice koriste se za stvaranje dodatnih T-izraza. Ostali atributi prijedloga ( članci, glagolska vremena, prilozi, pomoćni glagoli, interpunkcijski znakovi itd.) pohranjuju se u posebnoj strukturi povijesti koja je povezana s T-izrazom.

Na primjer, rečenica RačuniznenađeniHillarysnjegovodgovor" nakon prolaska kroz parser bit će pretvoren u 2 ternarna izraza: << RačuniznenađenjeHillary>sodgovor> I < odgovorpovezano-doBill>. Informacije o vremenu glagola iznenađenja bit će pohranjene u strukturi History.

Neka se sustavu, u čijoj bazi znanja postoje 2 gore opisana T-izraza, postavi pitanje: KomeučinioRačuniznenađenjesnjegovodgovor?" Problem će se obrađivati ​​sljedećim redoslijedom:

1. Question Analyzer pretvara pitanje u vrstu predloška, ​​mijenjajući inverziju koja se koristi pri formuliranju pitanja na engleskom: Računiznenađenikome snjegovodgovor?".

2. Parser prevodi rečenicu u 2 T-izraza: <koga> s odgovorom> I

3. Rezultirajući predložak provjerava se prema T-izrazima koji se nalaze u bazi znanja. Podudaranje pronađeno kada Kome = Hillary

4. Generator pretvara T-izraze <> s odgovorom> I u rečenicu i vraća je kao odgovor.

Potraga za odgovorima na pitanja poput "Je li Bill iznenadio svojim odgovorom?" provodi se na sličan način. Samo u tom slučaju će se tražiti točno podudaranje s izrazima u bazi podataka, a ne pretraživanje pomoću predloška.

Dakle, T-izrazi do određene mjere zadržavaju informacije o semantičkim odnosima između riječi. Godine 2002. proveden je niz eksperimenata za procjenu učinkovitosti organiziranja pretraživanja na temelju T-izraza u usporedbi s pretraživanjem ključnih riječi. Nakon što je Parser obradio Enciklopediju s opisima raznih životinjskih vrsta, sustavu je postavljeno pitanje: “Što jedu žabe?” ("Što jedu žabe?"). Gore opisana metoda pretraživanja vratila je 6 odgovora, od kojih su 3 točna. Pretraživanje izvornih dokumenata temeljeno na ključnim riječima vratilo je 33 rezultata, uključujući ista 3 točna odgovora, ali osim toga bilo je nasumičnih podudaranja riječi žabe I jesti(na primjer, odgovori na pitanje "Tko jede žabe?"). Tako je pretraga temeljena na T-izrazima dala 10 puta manje netočnih odgovora.

2.2 S-pravila

Uz T-izraze, Baza znanja također pohranjuje popis S-pravila. Ovo su pravila za pretvaranje T-izraza u ekvivalentne oblike. Činjenica je da se ista ideja u prirodnom jeziku može izraziti na različite načine. Na primjer, rečenice “Billov odgovor iznenadio je Hillary” I “Bill je iznenadio Hillary svojim odgovorom” su ekvivalentni. Ali T-izrazi dobiveni prolaskom ovih rečenica kroz Parser su različiti: , I <s odgovorom>, . Stoga se uvodi S-pravilo Iznenađenje :

<<n1 iznenađenje n2> sa n3>, <n3 povezan sa n1> = <n3 iznenađenje n2>, <n3 povezan sa n1>,

GdjeniImenice

Uz pomoć takvih pravila moguće je opisati jezične tzv varijacije, odnosno ekvivalentne transformacije jezičnih konstrukcija:

Leksički (sinonimi)

Morfološki (riječi istog korijena)

Sintaktika (inverzije, aktiv/pasiv, ...)

Osim toga, S-pravila mogu opisati logičke implikacije. Na primjer:

<<A prodavati B >za C > = <<C kupiti B >od A>

2.3 Leksikon

Mnoga S-pravila primjenjuju se na skupine riječi. Na primjer, ranije opisano S-pravilo Iznenađenje vrši se ne samo za glagol iznenađenja, već i za bilo koji glagol iz tzv. skupine emocionalno-povratnih glagola. Kako se ne bi proizvodila S-pravila, napravljen je leksikon koji pohranjuje sve riječi engleskog jezika. Svaka riječ povezana je s popisom skupina kojima pripada. Sada S-pravilo Iznenađenje može biti još apstraktniji:

<<n1 v n2> sa n3>, <n3 povezan sa n1> = <n3 vn2>, <n3 povezan sa n1>,

Gdje niImenice, vemocionalno-reakcijski-glagoli

2.4 WordNet

Osim Leksikon , koji pohranjuje riječi grupirane prema raznim sintaktičkim i semantičkim karakteristikama, sustav Start koristi još jedan moćan alat za obradu semantike riječi - rječnik WordNet . Osnovna jedinica u ovom rječniku je pojam sinset. Sinset je određeno značenje, značenje. Različite riječi mogu imati isto značenje (sinonimi), te stoga pripadati jednom sinsetu, i obrnuto, jedna riječ može imati više značenja, odnosno pripadati više sinsetova. Osim toga, WordNet rječnik uvodi odnose između sinsetova. Na primjer, među imenicama postoje sljedeći odnosi:

- Hipernimi : Yhipernim x, Ako x- raznolikost Y(voće– hipernim breskva)

- Hiponimi : Yhiponim x, Ako Y- raznolikost x(breskva– hiponim voće)

- Jednaki po rangu : x I Y jednaki u rangu, ako imaju zajednički hipernim ( breskva I jabuka– jednaki u rangu)

- Golonimi : Yholonim x, Ako x- Dio Y(breskva– holonim kosti)

- Meronimi : Ymeronim x, Ako Y– dio X ( guliti– meronim breskva)

Dakle, rječnik WordNet opisuje odnose između značenja oblika opće-poseban i dio.

WordNet se koristi pri traženju podudaranja u bazi znanja. Na primjer, ako je T-izraz pohranjen u bazi < pticalimenkaletjeti> a WordNet rječnik to definira kanarinachiponim ptica. Neka se postavi pitanje Limenkakanarinacletjeti?. Parser pretvara ovo pitanje u izraz < kanarinaclimenkaletjeti>. Ako ne pronađe podudaranje u bazi podataka, Start će koristiti WordNet i pokušati pronaći odgovor na općenitije pitanje: Limenkapticaletjeti? Na ovo će pitanje biti odgovoreno Da, iz koje, s obzirom na to kanarinac- raznolikost ptica Start će to zaključiti kanarinaclimenkaletjeti".

2.5 Omnibase

Da biste pronašli odgovore na činjenična pitanja poput "Kada je Beethoven umro?" ili "Koji je glavni grad Engleske?" Start koristi bazu Omnibase. Ova baza podataka koristi drugačiji model pohrane informacija: “objekt-property-value”. Na primjer informacija “Federico Fellini je direktor La Strade” bit će pohranjeni u bazi podataka Omnibase kao La Strada – redatelj – Federico Fellini . Ovdje LaStrada- objekt, direktor– vlasništvo, i FedericoFellini– vrijednost ove nekretnine. S ovim modelom podataka traženje potrebnih informacija događa se prilično brzo i učinkovito.

Za traženje informacija Omnibase koristi velik broj vanjskih izvora podataka s interneta: Wikipedia, Google, Internet Movie Database itd. U ovom slučaju podaci se ekstrahiraju iz vanjskog izvora putem tzv. omotača – modula koji omogućuje pristup vanjskoj bazi putem upiti tipa “objekt” - svojstvo". Da biste odredili izvor u kojem su pohranjene informacije o određenom objektu, Omnibase koristi Katalog objekata, u kojem je svaki objekt povezan s izvorom podataka. Na primjer, objekt LaStrada odgovara bazi imdb-film(Internet Movie Database). Odredivši bazu u kojoj će se tražiti, Omnibasešalje zahtjev ovojnici ove baze podataka: ( LaStrada, direktor) i prima odgovor FredericoFellini.

2.6 Bilješke na prirodnom jeziku

Problem strojne analize prirodnog govora vrlo je složen. Stoga, programeri sustava za odgovaranje na pitanja predlažu rješavanje ovog problema s dvije strane: s jedne strane, poboljšanje metoda obrade prirodnog jezika podučavanjem računala da "razumije" jezik, ali, s druge strane, pokušajem da tekst bude razumljiviji računalima. Naime, predlaže se sastavljanje anotacija na prirodnim jezicima za informacijske resurse.

U ovom slučaju moguće je učinkovito organizirati pretragu ne samo teksta, već i raznih multimedijskih informacija: slika, video i audio zapisa. U sustavu Start, zabilješke se koriste na sljedeći način: prilikom dodavanja informacija u bazu znanja, Parser obrađuje samo svoju zabilješku, a generiranim T-izrazima prilaže vezu na izvorni resurs.

Implementacija primjedbi odvija se kroz RDF (Resource Description Framework) opise koji su priloženi svakom izvoru. RDF jezik se temelji na XML formatu. Opis ovog jezika je prilično opsežan, pa ćemo se ograničiti samo na primjer RDF opisa određene baze podataka u kojoj su pohranjeni geografski podaci. Parametrirane napomene priložene su ovoj bazi " Punonaroduživou ? s " I " populacijaod ? s " , i obrazac odgovora: „Stanovništvo u ?s je ?o" , Gdje ? o označava pristup bazi i dohvaćanje svojstva populacija na objektu ? s. Prilikom obrade takve napomene, Parser će spremiti 2 predloška pitanja i poveznicu na predložak odgovora. Ako, prilikom izvršavanja korisničkog zahtjeva, Start pronađe podudaranje u bazi znanja s predloškom pitanja, kontaktirat će vanjski izvor iz kojeg je komentar preuzet i generirati će se odgovarajući odgovor.

Osim toga, koristeći parametrizirane komentare, možete opisati obrazac pretraživanja za odgovor na cijelu klasu pitanja. Na primjer, pitanja poput "Koja je država u Africi s najvećom površinom?" ili "Koja zemlja u Europi ima najnižu stopu smrtnosti dojenčadi?" spadaju pod jedan predložak: “U kojoj zemlji $regija ima najveću $atribut " Nadalje, komentar opisuje opći algoritam za pronalaženje odgovora na takva pitanja.

Neka su pitanja sastavljena od nekoliko pitanja. Na primjer, za odgovor na pitanje "Je li obala Kanade duža od obale Rusije?" potrebno je, prvo, izračunati duljinu obalnih linija Kanade i Rusije, i drugo, usporediti dobivene vrijednosti i generirati odgovor. Stoga za ovakvu vrstu pitanja možete opisati plan traženja odgovora u kojem će se postavljati pomoćna pitanja.

2.7 Zaključak

Sustav pitanja i odgovora Start koristi diferenciran pristup traženju odgovora ovisno o vrsti pitanja. Ovo daje relativno dobar rezultat za velik broj općih pitanja.

Baza znanja i ternarni izrazi korišteni kao osnova uspješan su model za prezentiranje informacija, koji s jedne strane u određenoj mjeri čuva semantičke veze između riječi, a s druge strane dovoljno je jednostavan za učinkovitu provedbu pretraživanja. i uređivanje baze podataka.

Pomoću komentara možete organizirati programski pristup internetskim informacijskim resursima koristeći univerzalno sučelje prirodnog jezika. A korištenje dodatnih struktura, kao što je Omnibase, omogućuje povećanje učinkovitosti pronalaženja odgovora na neke specifične vrste pitanja.

Konačno, različiti rječnici i lingvistički moduli mogu u određenoj mjeri modelirati semantičke značajke prirodnog jezika i obraditi složenije upite. Zadaća sastavljanja takvih rječnika, kao i drugi problemi povezani s razvojem upitno-odgovornih sustava, neizbježno zahtijevaju angažman stručnjaka ne samo iz područja računalnih znanosti, već i lingvista i filologa.

3. Statističke tehnike za analizu prirodnog jezika

3.1 Uvod

Razmotrimo postupak analize prijedloga. Naš će zadatak biti sastaviti stablo raščlanjivanja za svaku rečenicu. Zbog relativne složenosti ruski jezik i nedostatak literature za njega i znanstveni radovi na ovu temu razmatrat će se daljnji primjeri iz engleskog jezika. Ispod je primjer takve analize.

Slika 1 Stablo analize za frazu "Pas je pojeo"

Na slici 1, vrhovi (det, imenica, np, itd.) predstavljaju logičke kombinacije dijelova rečenice. Na primjer, np – imenički izraz znači da je ovaj čvor stabla odgovoran za dio rečenice koji ima značenje imenice. Imajte na umu da za bilo koju frazu, čak i tako jednostavnu, može postojati nekoliko stabala raščlambe, koja će se razlikovati po tome što će dati različita značenja istoj frazi. Na primjer, možete reći: "Jeo sam meso sa psima." Iz takve rečenice možete dobiti 2 potpuno različita stabla raščlanjivanja. U jednom slučaju ispada da sam jeo meso sa psima, a u drugom da sam jeo nekakvo meso razrijeđeno psećim iznutricama. Najnevjerojatnije je to što se ovakvi “divni” primjeri nalaze posvuda u engleska književnost, pa ćete se morati zadovoljiti s njima. Da biste izbjegli takve apsurde, trebali biste koristiti poseban parser, koji će, koliko god može, pomoći našem parseru. U ovom ćemo radu izgraditi parser koji će sam uzeti u obzir sintaktičke veze prilikom konstruiranja stabla parsiranja.

3.2 Određivanje dijelova govora riječima u rečenici

Na engleskom, zadatak ovog dijela zvuči kao Part-Of-Speech tagging i jedan je od mnogih podzadataka takvog dijela moderne znanosti kao što je NLP (Obrada prirodnog jezika). Općenito, NLP ima za cilj omogućiti računalu da razumije tekstove na prirodnom jeziku. Ovi problemi su danas naširoko prisutni i njihova učinkovita rješenja su u velikoj potražnji. Bilo bi, naravno, sjajno kada bi program, nakon što je "pročitao" udžbenik fizike, samostalno odgovorio na pitanja poput: "Što je razlog zagrijavanja poluvodiča u tom i tom eksperimentu?" Ovdje je odmah vidljiva još jedna poteškoća - čak i nakon čitanja udžbenika, program i dalje mora razumjeti pitanja korisnika, a također, po mogućnosti, moći generirati vlastita pitanja (san nekih lijenih učitelja).

Vratimo se na već postavljeno pitanje: “Kako odrediti Dio govora za riječ u rečenici?"

Antonimi" href="/text/category/antonimi/" rel="bookmark">antonimi itd. Budući da gledamo na statistički pristup, za svaku riječ ćemo uzeti u obzir vjerojatnost da će biti imenica, pridjev itd. .d. Takvu tablicu vjerojatnosti možemo konstruirati na temelju testnih tekstova koji su već ručno analizirani. Na slici 2, oni dijelovi govora koji su određeni ovim pristupom za riječi označeni su masnim slovima. Jedan od mogućih problemi su odmah vidljivi - čak i "can" je u većini slučajeva modalni glagol, ali ponekad može biti i imenica. Ispostavilo se da će ova metoda uvijek smatrati "can" modalnim glagolom. Unatoč svojoj jednostavnosti i očitim nedostacima , ova metoda pokazuje dobre rezultate i u prosjeku prepoznaje 90% riječi točnih. Formalizirajući dobivene rezultate, napisat ćemo proizvod koji treba maksimizirati tijekom ovog algoritma:

Ovdje se uvode sljedeće oznake:

    t – oznaka (det, imenica, …) w – riječ u tekstu (can, will...) p(t | w) – vjerojatnost da oznaka t odgovara riječi w

Uzimajući u obzir nedostatke prethodnog modela, kreiran je novi koji uzima u obzir činjenicu da, primjerice, prema statistici, iza pridjeva stoji drugi pridjev ili imenica. Vrijedi napomenuti da se ova, kao i sve ostale statistike, dobivaju iz nekog primjera, a slučaj kada nema početne statistike nećemo razmatrati. Na temelju ovog prijedloga izvedena je sljedeća formula:

    p(w | t) – vjerojatnost da riječ w odgovara oznaci t p(t1 | t2) – vjerojatnost da t1 dolazi nakon t2

Kao što se može vidjeti iz predložene formule, pokušavamo odabrati oznake tako da riječ odgovara oznaci, a oznaka odgovara prethodnoj oznaci. Ova metoda pokazuje bolje rezultate od prethodne, što je sasvim prirodno, na primjer, prepoznaje "can" kao imenicu, a ne kao modalni glagol.

Konstruirani model za izračunavanje vjerojatnosti da će skup oznaka odgovarati rečenici, kako se pokazalo, može se interpretirati kao “Skriveni Markovljev model”.

Dobivamo nešto poput konačnog stroja. Sada ćemo opisati kako ga dobiti. Vrhovi su dijelovi govora. Par (riječ, vjerojatnost) na vrhu pokazuje vjerojatnost da će riječ dodijeljena određenom dijelu govora biti upravo to, na primjer, za vrh "det" i riječ "a" to će biti vjerojatnost da će nasumično uzeti članak iz testnog teksta bit će "a". Prijelazi pokazuju koliko je vjerojatno da će jedan dio govora slijediti drugi. Na primjer, vjerojatnost da će se pojaviti 2 članka u nizu, pod uvjetom da se naiđe na članak, bit će jednaka 0,0016.

Naš će zadatak biti pronaći put u takvom modelu kako bi umnožak brojeva na bridovima i na vrhovima bio maksimalan. Rješenje za takav problem postoji, ali se na njemu nećemo zadržavati, budući da je ovo pitanje izvan okvira ovog rada. Recimo samo da postoje algoritmi koji rješavaju ovaj problem u vremenu koje je linearno u broju vrhova. Dodajmo da smo prema postojećoj klasifikaciji dobili “kanonski statistički označivač”.

Razmotrimo sada drugi pristup definiranju oznaka. To se zove transformacijska shema. Ona leži u činjenici da se pri radu na testnim rečenicama prvo primjenjuje trivijalni algoritam, a zatim sustav razmatra sva pravila obrasca: “Promijeni oznaku riječi X u oznaku Y ako je oznaka prethodne riječi Z .” Ukupan broj takvih pravila bit će broj oznaka u kocki, što je relativno malo. Stoga na svakom koraku nastojimo primijeniti takvo pravilo, a ako se nakon toga poveća broj točno identificiranih dijelova govora, tada će pravilo postati kandidat za titulu najboljeg pravila na prvom koraku. Zatim se odabire najbolje pravilo i dodaje na popis "dobrih" pravila. To radimo nekoliko puta. Dobivamo N pravila koja "dobro" poboljšavaju vjerojatnost sustava oznaka za rečenice iz testnog sustava. Dalje, pri raščlanjivanju same proizvoljne rečenice, nakon primjene trivijalnog algoritma, koristimo već pripremljena pravila. Za ovaj algoritam može se primijetiti jedna od njegovih glavnih prednosti - brzina. Jednaka je 11.000 riječi/s, dok algoritam koji koristi HMM ima 1.200 riječi/s.

Zaključno, želio bih dodati da smo do sada pretpostavljali prisutnost voluminozne početne baze. Ako toga nema, tada HMM trening ne dovodi do značajnih poboljšanja (učinkovitost je 90%). Dok TS (transformacijska shema) omogućuje postizanje 97%. Podsjetimo, učinkovitost se mjeri kao broj točno identificiranih oznaka na testnim tekstovima.

3.3 Stvaranje stabala raščlanjivanja iz rečenica

Slika 4. Analiza rečenice "Neznanac je jeo krafnu vilicom."

Zadatak ovog odjeljka bit će konstruirati stabla analize slična onima prikazanima na sl. 4. Odmah napomenimo da postoji bogat kolekcija već izrađena stabla za odgovarajuće prijedloge iz početne baze podataka. Možete saznati više o ovom sustavu ako posjetite web stranicu. Odmah raspravimo pitanje provjere parsera. Jednostavno im unosimo rečenice kao ulaz i provjeravamo podudaranja rezultirajućih stabala. To se može učiniti na više načina, ali u ovom radu koristit ćemo se jednim od već predloženih u. U prostoru stabla uvodimo dvije metrike: preciznost i memoriju. Točnost će se definirati kao broj točno identificiranih neterminalnih vrhova podijeljen njihovim ukupnim brojem. Memorija će biti jednaka broju točno pronađenih vrhova, podijeljenom s brojem ne-terminala iste rečenice u bazi podataka. Navedeno je da ako primijenite najjednostavniji pristup izgradnji stabla, odmah ćete dobiti 75% učinkovitosti za obje metrike. Međutim, moderni parseri mogu doseći 87-88% učinkovitosti (u daljnjem tekstu, osim ako nije posebno navedeno, učinkovitost će se odnositi na obje metrike).

Podijelimo naš zadatak u 3 glavne faze:

    Pronalaženje pravila za primjenu Dodjeljivanje vjerojatnosti pravilima Pronalaženje najvjerojatnijeg pravila

Jedan od najjednostavnijih mehanizama za rješavanje ovog problema je “Probabilistic Context-Free Grammars” (PCFG). Pogledajmo primjer gramatike koja će olakšati razumijevanje ovog koncepta:

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

Ovdje su zapisana pravila za parsiranje odgovarajućih vrhova, a za svako pravilo postoji vjerojatnost njegove primjene. Dakle, možemo izračunati vjerojatnost da stablo "π" odgovara svojoj rečenici "s":

margin-top:0cm" type="disc"> s – početna rečenica π – stablo koje smo dobili c – prolazi kroz unutarnje vrhove stabla r(c) – vjerojatnost korištenja r za c

Nećemo dati točne algoritme, samo ćemo reći da će iteracija kroz sva stabla raščlanjivanja duljine N pomoću PCFG-a oduzeti N kubnog vremena. Nažalost, može se primijetiti da PCFG-ovi sami po sebi ne proizvode "dobre" statističke parsere, zbog čega nisu naširoko korišteni.

3.4 Stvaranje vlastitih pravila parsiranja na temelju PCFG-a. Gramatike Treebank. “Markovljeve gramatike”

Razmotrimo glavne zadatke koje je potrebno riješiti kako bismo raščlanili prijedlog:

Izrada vlastite gramatike u obliku PCFG (bilo bi poželjno da naš prijedlog ima barem jedan zaključak u ovoj gramatici). Parser koji bi primijenio zadana pravila na rečenicu i dobio neka ili sva moguća stabla raščlanjivanja. Sposobnost pronalaženja optimalnih stabala za jednadžbu (1).

Pregled posljednja 2 problema dat je u prethodnom dijelu, pa stanite sada

na prvoj točki. Prvo ćemo ponuditi jednostavno rješenje za to. Recimo da već imamo gotovu zbirku stabala parse. Zatim, obrađujući svako od ovih stabala, jednostavno ćemo napraviti pravilo iz svakog neterminalnog vrha, na temelju toga kako je prošireno u određenom stablu. Nakon toga, ako takvo pravilo već postoji, povećavamo njegov statistički parametar za 1, a ako ne postoji, dodajemo novo pravilo u našu gramatiku s tim parametrom jednakim 1. Nakon obrade svih test stabala, mi ćemo provesti normalizaciju tako da je vjerojatnost primjene svakog pravila ≤ 1. Učinkovitost takvih modela je 75%. Takvi se modeli nazivaju "gramatike banke stabala".

Razgovarajmo sada malo o pristupu koji vam omogućuje izmišljanje novih pravila u hodu. Da bismo to učinili, na temelju testnih stabala izgradit ćemo statistiku za sljedeću vrijednost – p(t1 | f, t2). To znači vjerojatnost da će se oznaka “t1” pojaviti nakon oznake “t2” prilikom proširenja obrasca “f”. Na primjer, p(adj | np, det) znači vjerojatnost da će iza pridjeva doći član, pod uvjetom da proširimo “imenički izraz” (slobodni prijevod np) i naiđemo na član. Na temelju toga, za vjerojatnost ispravne primjene bilo kojeg pravila na neki vrh, možemo stvoriti formulu:

3.5 Leksički parseri

Glavna ideja ovog dijela bit će promijeniti strukturu stabla kako bi se poboljšala učinkovitost našeg modela. Sada nećemo samo graditi stablo raščlanjivanja, kao što je gore predstavljeno, nego ćemo svakom vrhu dodatno dodijeliti riječ koja će ga najbolje karakterizirati kao leksičku jedinicu. Za vrh "c" takvu liniju označavamo kao glavu (c). Glava(c) definirat će se kao primjena određene funkcije na djecu "c" i pravilo po kojem je "c" "otvoreno". Općenito, ispada da kada konstruiramo ovu glavu, uzimamo u obzir da se neke riječi često pojavljuju jedna s drugom, stoga, imajući takve statistike, možemo poboljšati vjerojatnost raščlanjivanja istinitosti za neke rečenice. Na primjer, u rečenici “robnotrgovinski deficit u kolovozu” nalaze se 4 imenice u nizu, stoga, ako upotrijebimo prethodne modele, dobit ćemo vrlo malu vjerojatnost točne analize ove rečenice. Ali činjenica da je "deficit" glavni dio ovog "np" i da smo u testnim tekstovima naišli na izraze koji su istovremeno sadržavali "deficit" i druge riječi pomoći će nam da pravilno sastavimo stablo raščlanjivanja. Formalizirajmo sada gore navedeno pomoću formule:

    p(r | h) je vjerojatnost da će se pravilo r primijeniti na čvor s danim h. p(h | m, t) – vjerojatnost da je takav h dijete vrha s glavom = m i oznakom t.

Predstavimo tablicu iz koje bi trebao postati jasniji oblik gore navedene formule.

h(c) = "deficit"

Ovdje se aktivno koristi koncept uvjetne vjerojatnosti. Samo što je vjerojatnost da je riječ na vrhu stabla "c" "kolovoz" veća ako pretpostavimo da je glava(c) = "deficit". Zapravo, želimo naše slučajeve učiniti specifičnijima tako da vrlo rijetka pravila poput "pravilo = np → det vlastita imenica imenica imenica" mogu imati prilično dobru vjerojatnost, a zatim možemo obraditi vrlo složene tekstove. U ovom slučaju nije nam bitno što se pravilo koje želimo primijeniti možda ne nalazi u početnoj zbirci pravila.

3.6 Zaključak

Statistički pristup omogućuje rješavanje mnogih problema NLP-a i jedno je od prilično novih područja matematičke lingvistike koje se brzo razvijaju. U ovom radu razmatrani su samo osnovni pojmovi i termini, što čitatelju ostavlja slobodu izbora pri čitanju konkretnih studija na ovu temu. Nažalost, za čitatelje koji govore ruski, vrijedi napomenuti da je broj studija i radova na ovu temu u Rusiji mali i sav materijal je morao biti preuzet iz engleskih izvora. Možda ste upravo vi ta osoba koja može promijeniti situaciju i preuzeti inicijative 2 ruska projekta. Jedan od njih je nekomercijalan i razvija se na PM-PU Državnog sveučilišta u Sankt Peterburgu. Drugi je komercijalni proizvod RCO-a, zainteresirani mogu pročitati znanstvene radove ove tvrtke na njihovoj web stranici. Svi primjeri i slike korišteni u ovom članku preuzeti su iz.

4. Poveznice

MUZIČKI KLJUČ. http://clef-qa. itd. it/WordNet. http://wordnet. Princeton. edu/Pen treebank. http://www. cis. upenn. edu/~treebank/Početak. http://start. csail. mit. edu/TREC. http://trec. nist. gov/ Eugene Charniak, “Statističke tehnike za raščlanjivanje prirodnog jezika” Gary C. Borchardt, “Kauzalna rekonstrukcija” Boris Katz, Beth Levin “Iskorištavanje leksičkih pravilnosti u dizajniranju sustava prirodnog jezika” SEMLP. http:///RCO. http://www. *****/

Ubrzo nakon pojave obrade popisa u računalnoj znanosti, napisan je BASEBALL program (da ilustrira kako se nove metode mogu primijeniti na sustave odgovora na pitanja) (Green, Wolfe, Chomsky i Loughrey, 1961.; Greene, 1963.). Ovaj je program osmišljen kako bi odgovarao na pitanja o utakmicama američke bejzbol lige iz 1959. - otuda i njegovo ime. Iako je društvena vrijednost ove primjene programa upitna, ona pruža dobar aparat za testiranje principa programiranja koji su u međuvremenu našli široku primjenu. Poruke programu sastavljene su na jednostavnom podskupu engleskog jezika, na kojem se praktički nećemo zadržavati. Puno je zanimljivija struktura podataka koja se ovdje koristi.

Podaci BASEBALL programa organizirani su u hijerarhijski sustav. Ova struktura podataka može se ekvivalentno predstaviti kao stablo. Najviša razina bila je GODINA (korišteni su samo podaci za 1959., ali program je davao opcije za nekoliko godina), a zatim MJESEC i MJESTO. Nakon što su određeni GODINA, MJESEC i MJESTO, navedeni su redom broj utakmice, dan i rezultat (bodovi koje je tim osvojio).

Općenito, format strukture podataka bio je:

Jasno je da ovaj oblik strukture podataka nije jedinstven za bejzbol, a rutine obrade podataka u programu BASEBALL napisane su s namjerom rada s bilo kojom hijerarhijskom strukturom podataka, bez obzira na tumačenje različitih razina i grana.

Rad BASEBALL programa može se razumjeti razmatranjem dva koncepta: put podataka i popis specifikacija.

Podatkovni put je niz grana koje se moraju slijediti da bi se dobile informacije o određenoj igri.

Na primjer, definira i usput uspostavlja neke informacije o ovoj igri. Svaka igra ima jedan put podataka povezan s njom, a njegovi unosi definiraju, kao što je prikazano u primjeru, karakteristike igre. Za generiranje svih mogućih putova podataka, možete koristiti bilo koji jednostavan algoritam pretraživanja stabla, budući da je stablo podataka očito konačno.

Popis specifikacija je popis atributa koje put podataka mora imati da bi bio valjan odgovor na pitanje. Na primjer, popis specifikacija pitanja

Gdje (na kojim mjestima) je Redsox tim igrao u srpnju? (1) volja

Recimo da je jezični procesor generirao popis specifikacija za pitanje. Hijerarhijski procesor podataka uzima popis specifikacija i sustavno generira sve putove podataka koji mu odgovaraju. Putanja odgovara popisu specifikacija ako

(a) par značajka-vrijednost (na primjer, sadržan je i na popisu specifikacija i na putu, ili

(b) par značajka-vrijednost na popisu specifikacija ima vrijednost (na primjer, u ovom slučaju odgovarajuća vrijednost u putu podataka registrirana je kao moguća (u primjeru (1), popis vrijednosti bi bio odgovor).

Ako par značajka-vrijednost na popisu specifikacija ima vrijednost, ona je u skladu s vrijednošću bilo koje značajke na putu podataka. Vrsta odobrenja nije registrirana.

Kao što je već spomenuto, proces generiranja putova podataka i njihovo usklađivanje s popisom specifikacija ne sadrži ništa specifično za bejzbolsku temu. Izvedeni parovi atribut-vrijednost također mogu biti dosljedni, ali u ovom slučaju oni su specifični za aplikaciju. Na primjer, razmotrite pitanje:

Koliko su utakmica momčadi pobijedile na svojim domaćim terenima u srpnju? (2)

Da bi odgovorio na njega, program mora pronaći sve putove podataka koji definiraju igre za koje vrijednost odgovara vrijednosti i čije ime odgovara vrijednosti i ima najbolji rezultat. Jasno je da se potprogram koji sastavlja odgovarajući popis specifikacija oslanja na poznavanje bejzbolske igre.

Kada se pronađu putovi podataka koji zadovoljavaju popise specifikacija, oni se kombiniraju u glavni popis. On je također predstavljen kao drvo. Na primjer, putovi koji odgovaraju na pitanje (1) mogu se sažeti na sljedeći način:

Odgovor na pitanje sastavlja se pregledom glavnog popisa. U slučaju (1), odgovor se dobiva jednostavnim ispisivanjem vrijednosti PLACE u glavnoj listi.

Riža. 14.1. (vidi sken) Faze odgovaranja na pitanja u BASEBALL programu.

Odgovor na malo složenije pitanje

Na koliko su mjesta Redsox igrali u srpnju? (3)

može se dobiti ponovnim izračunavanjem vrijednosti u glavnom popisu.

Dijagram ovog postupka za odgovaranje na pitanja prikazan je na sl. 14.1. Analizator podskupa prirodnog jezika

percipira pitanje na prirodnom jeziku, prepoznaje vrstu postavljenog pitanja i izrađuje popis specifikacija. Ovaj dio BASEBALL programa nužno je povezan s područjem primjene u dva aspekta. Očito, ona mora imati pristup leksikonu ove igre. Manje očito, trebao bi sadržavati rutine koje pretvaraju izraze prirodnog jezika kao što su "koliko" ili "u čemu" u odgovarajuće popise specifikacija. Stoga, iako Green i dr. nisu ograničili korisnika u postavljanju "indeksiranih" pitanja, kao što se to radi u knjižnicama, oni su unaprijed odredili vrste pitanja koje sustav može primati.

U koraku (B), program generira glavni popis podataka iz popisa specifikacija. Kao što je već navedeno, veliki dijelovi B neovisni su o aplikacijama, iako će pojedinačne rutine možda trebati izvedene testne značajke. U posljednjem koraku, odgovor se izvodi iz glavnog popisa (blokovi i Ovdje ponovno programer mora predvidjeti vrstu pitanja koja se postavljaju i unijeti u sustav odgovarajuću rutinu generiranja glavnog popisa za svaku vrstu pitanja.

Kao što se može vidjeti iz blokova na Sl. 14.1, BASEBALL program nije ograničen na pitanja na koja se može odgovoriti prolaskom kroz podatke samo jednom. Razmotrimo pitanje:

Koliko je momčadi igralo na 8 mjesta u srpnju? (4)

Početni popis specifikacija je sljedeći:

Na pitanje definirano ovim popisom specifikacija ne može se odmah odgovoriti. Umjesto toga, procesor mora istraživati

i ne može se odmah odgovoriti, pa je potrebno pomoćno pitanje:

Također se ne može odmah odgovoriti, pa se pamti i generira pitanje

Može se odgovoriti pomoću procesora pitanja koji daje glavni popis

Specifikacija znači pregled svih popisa obrasca. Brojanjem imena mjesta možete dobiti odgovor na njega. Možete ga pretvoriti u popis i dobiti odgovor na. Ovo odmah slijedi odgovor na

Razvoj BASEBALL programa nije izašao iz okvira inicijalnog projekta – uobičajene sudbine sustava umjetne inteligencije. Zapravo, čini se da je ideja o hijerarhijskoj strukturi podataka nestala iz strojno čitljivog programiranja. Ovo je donekle iznenađujuće, budući da hijerarhijske strukture omogućuju učinkovito upravljanje podacima, posebno ako se velike količine informacija moraju čuvati dijelom u primarnoj memoriji, a dijelom u relativno sporim, jeftinim memorijskim uređajima (za detalje, vidi Sussenguth, 1963). Osim toga, hijerarhijske strukture mogu se implementirati tehnikama upravljanja podacima koje su kompatibilne s tradicionalnijim sustavima obrade informacija (Hunt i Kildall, 1971.; Lefkowitz, 1969.). Bez sumnje, kada namjeravate koristiti programe za "razumijevanje", morate u nekoj fazi pokrenuti neizbježna praktična pitanja troškova i kompatibilnosti sustava. Možda bi se u budućnosti isplatilo vratiti načelima implementiranim u ovaj prilično stari program.

Sustavi pitanja i odgovora

Sustav pitanja i odgovora(engl. Question-answering system) je posebna vrsta informacijskih sustava, koji su hibrid pretraživačkih, referentnih i inteligentnih sustava (često ih se smatra inteligentne tražilice). QA sustav mora moći prihvatiti pitanja na prirodnom jeziku, odnosno to je sustav sa sučeljem na prirodnom jeziku. Informacije se daju na temelju dokumenata s interneta ili iz lokalne pohrane. Suvremeni razvoj sustava osiguranja kvalitete omogućuje obradu mnogih varijanti zahtjeva za činjenicama, popisima, definicijama, pitanjima poput Kako, Zašto, hipotetskim, složenim i međujezičnim.

  • Visoko specijalizirana Sustavi osiguranja kvalitete rade u određenim područjima (na primjer, medicina ili održavanje automobila). Izgradnja takvih sustava je relativno lak zadatak.
  • Su česti QA sustavi rade s informacijama iz svih područja znanja, čime je moguće pretraživanje u srodnim područjima.

Arhitektura

Prvi QA sustavi razvijeni su 1960-ih i bili su prirodne jezične ljuske za ekspertne sustave usmjerene na određena područja. Moderni sustavi dizajnirani su za pretraživanje odgovori na pitanja u dokumentima dostavljenim korištenjem tehnologija obrade prirodnog jezika (NLP).

Moderni QA sustavi obično uključuju poseban modul - klasifikator pitanja, koji određuje vrstu pitanja i, sukladno tome, očekivani odgovor. Nakon ove analize, sustav postupno primjenjuje sve složenije i suptilnije NLP metode na pružene dokumente, odbacujući nepotrebne informacije. Najgrublja metoda je tražiti u dokumentima- uključuje korištenje sustava za pretraživanje informacija za odabir dijelova teksta koji potencijalno sadrže odgovor. Zatim filtar ističe fraze koje su slične očekivanom odgovoru (na primjer, za pitanje "Tko ..." filtar će vratiti dijelove teksta koji sadrže imena ljudi). I na kraju, modul isticanje odgovora naći će točan odgovor među ovim frazama.

Shema rada

Performanse sustava za odgovore na pitanja ovise o kvaliteti tekstualne baze - ako u njoj nema odgovora na pitanja, QA sustav neće moći ništa pronaći. Što je baza veća, to bolje, ali samo ako je sadrži potrebne informacije. Velika spremišta (kao što je Internet) sadrže mnogo suvišnih informacija. To dovodi do dvije pozitivne točke:

  1. Budući da se informacije prezentiraju u različitim oblicima, QA sustav će brzo pronaći odgovarajući odgovor. Ne morate pribjegavati složenim tehnikama obrade teksta.
  2. Točni podaci se češće ponavljaju, pa se greške u dokumentima eliminiraju.

Pretraga površine

Najčešća metoda pretraživanja je po ključnim riječima. Izrazi pronađeni na ovaj način filtriraju se prema vrsti pitanja, a zatim rangiraju na temelju sintaktičkih značajki, poput reda riječi.

Napredno pretraživanje

Problemi

Godine 2002. grupa istraživača napisala je plan istraživanja u području sustava za odgovore na pitanja. Predloženo je razmatranje sljedećih pitanja.

Vrste pitanja Različita pitanja zahtijevaju različite metode traženja odgovora. Stoga je potrebno izraditi ili poboljšati metodološke liste vrsta mogućih pitanja. Obrada pitanja Iste informacije mogu se tražiti na različite načine. Potrebno je stvoriti učinkovite metode za razumijevanje i obradu semantike (značenja) rečenice. Važno je da program prepozna pitanja koja su ekvivalentna po značenju, bez obzira na stil, riječi, sintaktičke odnose i idiome koji se koriste. Želio bih da QA sustav podijeli složena pitanja u nekoliko jednostavnih i ispravno interpretira fraze osjetljive na kontekst, možda ih razjašnjavajući s korisnikom tijekom dijaloga. Kontekstualna pitanja Pitanja se postavljaju u specifičnom kontekstu. Kontekst može razjasniti upit, razriješiti dvosmislenost ili pratiti korisnikovo razmišljanje kroz niz pitanja. Izvori znanja za QA sustav Prije odgovora na pitanje, bilo bi lijepo raspitati se o dostupnim tekstualnim bazama podataka. Bez obzira koje se metode obrade teksta koristile, točan odgovor nećemo pronaći ako ga nema u bazama podataka. Odabir odgovora Ispravno provođenje ovog postupka ovisi o složenosti pitanja, njegovoj vrsti, kontekstu, kvaliteti dostupnih tekstova, načinu pretraživanja itd. – ogromnom broju čimbenika. Stoga se proučavanju metoda obrade teksta mora pristupiti s velikim oprezom, a ovaj problem zaslužuje posebnu pozornost. Formulacija odgovora Odgovor treba biti što prirodniji. U nekim slučajevima, jednostavan pražnjenje to iz teksta. Na primjer, ako je potrebno ime (ime osobe, naziv instrumenta, bolest), količina (valutni tečaj, duljina, veličina) ili datum ("Kada je rođen Ivan Grozni?") - dovoljan je izravan odgovor. Ali ponekad se morate nositi sa složenim upitima, a ovdje su potrebni posebni algoritmi spojiti odgovore iz različitih dokumenata. Odgovaranje na pitanja u realnom vremenu Potrebno je kreirati sustav koji bi pronalazio odgovore u repozitoriju u nekoliko sekundi, bez obzira na složenost i dvosmislenost pitanja, veličinu i obimnost baze dokumenata. Višejezični upiti Razvoj sustava za rad i pretraživanje na drugim jezicima (uključujući automatsko prevođenje). Interaktivnost Često su informacije koje QA sustav nudi kao odgovor nepotpune. Sustav je možda pogrešno identificirao vrstu pitanja ili ju je pogrešno "razumio". U ovom slučaju, korisnik može htjeti ne samo preformulirati svoj zahtjev, već i "objasniti" programu pomoću dijaloga. Mehanizam rezoniranja (zaključivanja) Neki bi korisnici htjeli dobiti odgovor koji nadilazi dostupne tekstove. Da biste to učinili, trebate dodati znanje koje je zajedničko većini područja u sustav osiguranja kvalitete (vidi Opće ontologije u računalnim znanostima), kao i sredstva za automatsko zaključivanje novog znanja. Korisnički profili QA sustava Informacije o korisniku, kao što su njegovo područje interesa, njegov način govora i razmišljanja te zadane činjenice, mogu značajno povećati performanse sustava.

Linkovi

  • Dialogus je tražilica koja automatski odabire odgovore na pitanja korisnika.
  • [email protected]: ljudska potraga za odgovorima na sva pitanja.

Zaklada Wikimedia. 2010.

Pogledajte što su "sustavi pitanja i odgovora" u drugim rječnicima:

    Ovaj članak govori o automatskim informacijskim sustavima. Za informacije o vrsti društvenih mreža pogledajte sustav pitanja i odgovora (web servis). Sustav za odgovaranje na pitanja (QA sustav; od engleskog QA engleski Question answering... ... Wikipedia

    Inteligentni informacijski sustav (IIS) jedna je od vrsta automatiziranih informacijskih sustava; ponekad se IIS naziva sustavom temeljenim na znanju. IIS je kompleks softvera, lingvističke i logičko-matematičke... ... Wikipedije

    U ovom članku nedostaju poveznice na izvore informacija. Podaci moraju biti provjerljivi, inače mogu biti dovedeni u pitanje i izbrisani. Možete... Wikipedia

    URL... Wikipedia

    - (od engleskog Virtual virtual, Digital digital, Assistant assistant, skraćeno VDA) web servis i/ili aplikacija za pametne telefone i osobna računala, koja zapravo ima ulogu osobne tajnice korisnika. Rješava probleme s rasporedom,... ... Wikipedia

    Reprezentacija znanja problem je koji se javlja u kognitivnoj znanosti (znanosti o razmišljanju), informatici i istraživanju umjetne inteligencije. U kognitivnoj znanosti, to je povezano s načinom na koji ljudi pohranjuju i obrađuju informacije. U informatici s izborom ... Wikipedia

    Reprezentacija znanja problem je koji se javlja u kognitivnoj znanosti (znanosti o mišljenju), u informatici i umjetnoj inteligenciji. U kognitivnoj znanosti, to je povezano s načinom na koji ljudi pohranjuju i obrađuju informacije. U informatici je glavni cilj odabrati reprezentaciju... Wikipedia

    Namijenjen je da korisnik dobije što točniju (relevantnu) informaciju o temi koja ga zanima (i ograničena bazom članaka). Obično se članak odabire prema hijerarhiji tema pomoći. Sustavi pomoći često se kombiniraju s... ... Wikipedijom

    - (Natural Language Processing, NLP) opći smjer umjetne inteligencije i matematičke lingvistike. Proučava probleme računalne analize i sinteze prirodnog jezika. Kada se primijeni na umjetnu inteligenciju, analiza znači... Wikipedia

    Wolfram|Alpha Glavna stranica stranice ... Wikipedia