Anafoor (keeleteadus)

Anafoor ehk tagasiviide on asesõna, mis on samaviiteline mõne juba tekstis esinenud sõna või fraasiga. Anafoori eesmärk on vältida sõna või fraasi kordusi ja muuta seeläbi tekst sujuvamaks. Anafooriks võib olla asesõna (ehk pronoomen) või asemäärsõna (ehk proadverb). Kuna esmaviitamisel kasutatakse tüüpiliselt nimisõnafraasi, siis üldjuhul asendab anafoor tekstis just nimisõnafraase.
Sõna anafoor pärineb vanakreeka keelesest sõnast ἀναφορά, mis omakorda tuleneb sõnadest ἀνά, mis tähendab "tagasi""," ja φέρω, mis tähendab "kandma" ehk lihtsustatult peetakse antud sõna all silmas tagasitoomist või kordust.
Anafoori ja katafoori erinevus.
Anafoori vastandiks on katafoor ehk edasiviide, mis on asesõna, mis viitab sellele järgnevale sõnale või fraasile. Seega on katafoori puhul tegemist esmaviitamisega ja anafoori korral kordusviitamisega. Alati siiski katafoori ja anafoori vahel eristust ei tehta ja sellisel juhul nimetatakse kõiki samaviitelisi pronoomeneid anafoorideks.
Näitelaused anafoori ja katafoori erinevusest:
Otsene ja kaudne anafoor.
Eristatakse otsest ja kaudset anafoori:
Otsese anafoori puhul on asendussõna ja viitealuse vaheline seos kas: samasus, sünonüümsus, üldistus või spetsialiseerumine.. Kaudse anafoori alla kuuluvad sellised seosed, kus asendussõna referent on osa mingist tervikust või kuulub mingisse määratud hulka ja viitealus ongi see tervik või määratud hulk. .
Lausesisene ja lauseväline anafoor.
Anafoor võib olla lausesisene või lauseväline. Lausesisese anafoori korral asub anafoori poolt asendatav sõna või fraas anafooriga samas lauses ja lausevälise anafoori puhul väljaspool anafoori sisaldavat lauset.
Näitelaused lausesisesest ja lausevälisest anafoorist:
Üldiselt kehtib reegel, mida rohkem on mingi sõna või fraas tekstis fookuses, seda lühemini saab sellele viidata (nt asesõnadega "see" ja "ta"). Sellest tulenevalt saab lausevälise anafoori korral tavaliselt eeldada, et lause või fraas, mida anafoor asendab, ei asu tekstis anafoorist eriti kaugel - nt üldjuhul ei viida tekstiselguse mõttes neid eraldi lõikudesse.
Ellips.
Ellipsit on käsitletud asenduse eriliigina – nullasendusena. Ellipsid jagunevad kontekstiellipsiks, grammatiliseks ellipsiks ja situatsiooniellipsiks selle järgi, kust leiab elliptilise elemendi tõlgendamiseks vajaliku lähtevormi. Lähtevormi leidmise kontekstiks võib olla lihtlause, liitlause osalause. 
Anafoor eesti keeles.
Pronominaalse viite asendussõnad eesti keeles on personaalpronoomenid ehk isikulised asesõnad (nt "mina, tema"), demonstratiivpronoomenid ehk näitavad asesõnad (nt "see, too"), possessiivpronoomenid ehk omastavad asesõnad (nt "enda, oma") ja pronumeraalid ehk asearvsõnad (nt "mitmes") : Eesti keeles viidatakse sageli 3. isikule ("tema") anafoorselt. Personaalpronoomeni saab eesti keeles anafoores viitamise korral lausest välja jätta: "Naine kõndis tee peal. Äkki näeb…" "Tema" ja "ta" võib eesti keeles viidata nii elusale kui elutule referendile, aga "see" viitab enamasti elutule referendile. "See"-d kasutatakse ka definiitse määratlejana siis, kui referenti on juba mainitud. Definiitset määratlejat "see" kasutatakse, kui referenti on juba varasemas tekstis mainitud (nt "Toas oli üks tüdruk. See vaatas aknast välja") :
Anafoorsed pronoomenid (asesõnad) eri keeltes.
saksa keeles dies, das, es . vene keeles этот, (это, эта), тот, (та, то), он (она, оно) 
Anafooride lahendamine.
Anafooride lahendamine on loomuliku keele töötluses esinev ülesanne, mille eesmärk on leida, millisele sõnale või fraasile viitab anafoor. Anafooride lahendamist peetakse arvutisemantikas keeruliseks ülesandeks, kuna see nõuab nii süntaksi, semantika kui ka teksti ümbritseva konteksti analüüsi. Anafooride lahendamist kasutatakse selliste ülesannete täitmiseks nagu näiteks masintõlge, automaatne sisukokkuvõtte koostamine ja automaatvastamine küsimustele (sh juturobotid). Kuna iga keel on erinev, siis ka sõnadevahelised seosed, sh need, mis seovad anafoore nende poolt viidatud sõnade või fraasidega, on erinevad. Seetõttu on tihti loodud lahendused keele spetsiifilised või nõuavad konfigureerimist üleviimisel ühest keelest teise.
Anafoori automaatset lahendamist jagatakse klassikaliselt kolmeks sammuks:
Esimese sammu puhul peab silmas pidama, et mitte kõik asesõnad ei ole anafoorid. Tegu võib olla katafooriga, asesõnaga, mis teksti jooksul ei täpsustu või deiktilise kõnega, millel puudub seda ümbritsev kontekst.
Näitelaused asesõnadega, mis ei ole anafoorid (tasub märkida, et antud asesõnad võivad muutuda anafoorseteks juhul kui neid sisaldavad laused on osa pikemast tekstist):
Teise sammu juures on sageli otsinguala skoop piiratud diskursuse osaga, mis kirjaliku keele puhul väljendub tavaliselt lõiguna. Juhul kui programm ei erista sisendtekstis lõikusi võidakse määrata ka väärtus n, mis näitab, mitut lauset enne anafoori sisaldavat lauset kaasatakse otsingualasse (otsingualasse kuulub alati ka anafoori sisaldav lause ise). n väärtus võib muutuda vastavalt, sellele, missugusele anafoorile kandidaate otsitakse.
Kolmandas sammus kirjeldatud valiku tegemiseks kandidaatide seast võidakse rakendada erinevaid piirangu ja eelistus reegleid. Siin tuleb selgelt välja, miks ei ole tihti võimalik ühes keeles rakendatud reegleid teise keelde üle kanda: näiteks soopõhistel keeltel (nt inglise) on üheks oluliseks reegliks, et anafoori ja sellele vastava kandidaadi sood ei oleks konfliktsed, kuna kolmanda isiku asesõna "ta" ei erista sugu, siis ei ole seda reeglit võimalik eesti keele peal rakendada.
Ajalugu.
Töö anafooride lahendamise probleemi kallal hakkas 1960. aastatel. Tollal loodud lahendused, mis olid alamosad suurematest süsteemidest, olid reeglipõhised (ingl "rule-based") ja peamiselt töötasid mustrituvastusel ja olid häälestatud valdkonna põhiste teadmistega (ingl "knowledge-rich approach"). Seetõttu olid need efektiivsed, vaid vastavate programmide spetsiifilisetel sisenditel. Selle vastandina hakati arendama lahendusi, mis ei sõltuks analüüsitava teksti sisust või tausta teadmistest (ingl "domain knowledge"), vaid lingvistilistest reeglitest (ingl "knowledge-poor approach") ja tuleksid toime erinevate sisenditega ning oleks seega universaalsemad. 1990. aastatel hakkasid levima korpusepõhised lähenemised, kus kasutatakse anafooride lahendamiseks statistikat ja/või masinõpet. Korpusepõhiste masinõppemudelite populaarsus on kestnud tänapäevani tänu nende heale skaleeruvusele ja toimetulekule oodatust erinevatel sisenditel. Samuti ühendatakse tihti eri lähenemisi ja nii võib näiteks algoritmi eri osadele olla rakendatud nii reeglipõhiseid kui ka masinõppe põhiseid meetodeid. Milliseid metoodikaid kasutada anafoori lahendamise algoritmi koostamisel oleneb palju programmi eesmärgiks ja lõplikust kasutusviisist, seega võib ka tänapäeval spetsiifilistes programmides olla põhjendatud kasutada puhtalt reeglipõhiseid algoritme.