Përpunimi i gjuhës natyrore

[parapamje|251x251px|Një [asistent i automatizuar në internet që ofron shërbimin ndaj klientit në një faqe interneti, një shembull i një aplikacioni ku përpunimi i gjuhës natyrore është një komponent kryesor]]
**Përpunimi i gjuhës natyrore** (**NLP**) është një nënfushë ndërdisiplinore e gjuhësisë, shkencave kompjuterike dhe inteligjencës artificiale që ka të bëjë me ndërveprimet midis kompjuterëve dhe gjuhës njerëzore, në veçanti se si të programohen kompjuterët për të përpunuar dhe për të analizuar sasi të mëdha të të dhënave të gjuhës natyrore. Qëllimi është që një kompjuter të jetë i aftë ta "kuptojë" përmbajtjen e dokumenteve, duke përfshirë nuancat kontekstuale të gjuhës brenda tyre. Teknologjia më pas mund t'i nxjerrë me saktësi informacionin dhe njohuritë e përfshira në dokumente, si dhe të kategorizojë dhe të organizojë vetë dokumentet.

Sfidat në përpunimin e gjuhës natyrore shpesh përfshijnë njohjen e të folurit, të kuptuarit e gjuhës natyrore dhe prodhimin e gjuhës natyrore.

## Historia 
Përpunimi i gjuhës natyrore i ka rrënjët në vitet 1950-ta. Tashmë në vitin 1950, Alan Turing botoi një artikull të titulluar "Makineria Kompjuterike dhe Inteligjenca", i cili propozonte atë që tani quhet testi i Turingut si një kriter i inteligjencës, megjithëse në atë kohë nuk artikulohej si një problem i ndarë nga inteligjenca artificiale. Testi i propozuar përfshin një detyrë që përfshin interpretimin dhe gjenerimin e automatizuar të gjuhës natyrore.

### NLP-ja simbolike (1950 - fillimi i viteve 1990) 
Premisa e NLP-së simbolike përmblidhet mirë nga eksperimenti i dhomës kineze i John Searle-t: Duke pasur parasysh një koleksion rregullash (p.sh., një libër frazash kineze, me pyetje dhe përgjigje që përputhen), kompjuteri imiton të kuptuarit e gjuhës natyrore (ose detyra të tjera të NLP-së) duke zbatuar këto rregulla në të dhënat, me të cilat përballet.

* **Vitet 1950-ta**: Eksperimenti i Georgetown më 1954 përfshinte përkthimin plotësisht automatik të më shumë se gjashtëdhjetë fjalive ruse në anglisht. Autorët pohuan se brenda tri ose pesë viteve, përkthimi me makinë do të ishte një problem i zgjidhur. Megjithatë, përparimi i vërtetë ishte shumë më i ngadalshëm dhe pas raportit të ALPAC më 1966, i cili zbuloi se kërkimi dhjetëvjeçar kishte dështuar të përmbushte pritshmëritë, fondet për përkthimin me makinë u reduktuan në mënyrë dramatike. Pak kërkime të mëtejshme në përkthimin me makinë u kryen në Amerikë (megjithëse disa kërkime vazhduan gjetkë, si në Japoni dhe në Evropë) deri në fund të viteve 1980 kur u zhvilluan sistemet e para statistikore të përkthimit makinerik.
* **Vitet 1960-ta**: Disa sisteme veçanërisht të suksesshme të përpunimit të gjuhës natyrore, të zhvilluara në vitet 1960 ishin SHRDLU, një sistem gjuhësor natyror që punon në "botë blloqesh" të kufizuara me fjalorë të kufizuar dhe ELIZA, një simulim i një psikoterapisti Rogerian, shkruar nga Joseph Weizenbaum midis 1964 dhe 1966. Duke mos përdorur pothuajse asnjë informacion rreth mendimit apo emocionit njerëzor, ELIZA ndonjëherë ofronte një ndërveprim befasues të ngjashëm me njeriun. Kur "pacienti" tejkaloi bazën shumë të vogël të njohurive, ELIZA mund të japë një përgjigje të përgjithshme, për shembull, duke iu përgjigjur "Më dhemb koka" me "Pse thua se të dhemb koka?" .
* **Vitet 1970-ta**: Gjatë viteve 1970, shumë programues filluan të shkruanin "ontologji konceptuale", të cilat strukturuan informacionin e botës reale në të dhëna të kuptueshme nga kompjuteri. Shembuj janë MARGIE (Schank, 1975), SAM (Cullingford, 1978), PAM (Wilensky, 1978), TaleSpin (Meehan, 1976), QUALM (Lehnert, 1977), Politika (Carbonell, 1979) dhe Plot Units (Lehnert 1981). Gjatë kësaj kohe, u shkruan chatbotët e parë (p.sh. PARRY).
* **Vitet 1980-ta**: Vitet 1980 dhe fillimi i viteve 1990 shënojnë kulmin e metodave simbolike në NLP. Fushat e fokusit të kohës përfshinin kërkime mbi analizën e bazuar në rregulla (p.sh., zhvillimi i HPSG si një operacionalizimi llogaritës i gramatikës së përgjithshme), morfologjia (p.sh., morfologjia me dy nivele), semantika (p.sh., algoritmi Lesk), referenca (p.sh., brenda Teorisë së Përqendrimit) dhe fushave të tjera të të kuptuarit të gjuhës natyrore (p.sh., në Teorinë e Strukturës Retorike). Linja të tjera kërkimi u vazhduan, p.sh., zhvillimi i chatbots me Racter dhe Jabberwacky. Një zhvillim i rëndësishëm (që përfundimisht çoi në kthesën statistikore në vitet 1990) ishte rëndësia në rritje e vlerësimit sasior në këtë periudhë.

### NLP-ja statistikore (1990-2010) 
Deri në vitet 1980, shumica e sistemeve të përpunimit të gjuhës natyrore bazoheshin në grupe komplekse rregullash të shkruara me dorë. Megjithatë, duke filluar nga fundi i viteve 1980, pati një revolucion në përpunimin e gjuhës natyrore me futjen e algoritmeve të mësimit makinerik për përpunimin e gjuhës. Kjo ishte për shkak të rritjes së vazhdueshme të fuqisë llogaritëse dhe pakësimit gradual të dominimit të teorive çomskiane të gjuhësisë (p.sh. gramatika transformuese), bazat teorike të së cilës dekurajuan llojin e gjuhësisë së korpusit që qëndron në themel të qasjes së mësimit makinerik për përpunimin e gjuhës.

* **Vitet 1990-ta**: Shumë nga sukseset e hershme të dukshme në metodat statistikore në NLP ndodhën në fushën e përkthimit makinerik, veçanërisht për shkak të punës në IBM Research, siç janë modelet e shtrirjes së IBM-së. Këto sisteme ishin në gjendje të përfitonin nga korpuset tekstuale shumëgjuhëshe ekzistuese që ishin prodhuar nga Parlamenti i Kanadasë dhe Bashkimi Evropian si rezultat i ligjeve që kërkonin përkthimin e të gjitha procedurave qeveritare në të gjitha gjuhët zyrtare të sistemeve përkatëse të qeverisjes. Megjithatë, shumica e sistemeve të tjera vareshin nga korpuset e zhvilluara posaçërisht për detyrat e zbatuara nga këto sisteme, gjë që ishte (dhe shpesh vazhdon të jetë) një kufizim i madh në suksesin e këtyre sistemeve. Si rezultat, një pjesë e madhe e kërkimit është bërë në metodat e të mësuarit në mënyrë më efektive nga sasi të kufizuara të dhënash.
* **Vitet 2000-ta**: Me rritjen e internetit, sasia në rritje e të dhënave gjuhësore të papërpunuara (të pashënuara) janë bërë të disponueshme që nga mesi i viteve 1990. Kështu, kërkimi është fokusuar gjithnjë e më shumë në algoritmet e mësimit të pambikëqyrur dhe gjysmë të mbikëqyrur. Algoritme të tilla mund të mësojnë nga të dhënat që nuk janë shënuar me dorë me përgjigjet e dëshiruara ose duke përdorur një kombinim të të dhënave të shënuara dhe jo të shënuara. Në përgjithësi, kjo detyrë është shumë më e vështirë se mësimi i mbikëqyrur dhe zakonisht prodhon rezultate më pak të sakta për një sasi të caktuar të dhënash hyrëse. Sidoqoftë, ekziston një sasi e madhe e të dhënave pa shënime në dispozicion (duke përfshirë, ndër të tjera, të gjithë përmbajtjen e World Wide Web), të cilat shpesh mund të kompensojnë rezultatet inferiore nëse algoritmi i përdorur ka një kompleksitet mjaft të ulët kohor për të qenë praktik.

### NLP nervore (tani) 
Në vitet 2010-ta, metodat e mësimit të përfaqësimit dhe të mësimit të makinerive të stilit të rrjeteve nervore të thella u përhapën në përpunimin e gjuhës natyrore. Ky popullaritet ishte pjesërisht për shkak të një morie rezultatesh që tregojnë se teknika të tilla mund të arrijnë rezultate të nivelit të lartë në shumë detyra të gjuhës natyrore, p.sh. në modelimin e gjuhës dhe analizimin. Kjo është gjithnjë e më e rëndësishme në mjekësi dhe kujdes shëndetësor, ku NLP ndihmon në analizimin e shënimeve dhe teksteve në të dhënat elektronike shëndetësore, të cilat përndryshe do të ishin të paarritshme për studim kur kërkon të përmirësojë kujdesin.

## Metodat: rregullat, statistikat, rrjetet nervore 
Në ditët e hershme, shumë sisteme të përpunimit të gjuhës u krijuan me metoda simbolike, dmth., kodimi me dorë i një sërë rregullash, së bashku me një kërkim fjalori: të tilla si duke shkruar gramatika ose duke hartuar rregulla heuristike për stemimin.

Sistemet më të fundit të bazuara në algoritmet e mësimit makinerik kanë shumë përparësi ndaj rregullave të prodhuara me dorë:

* Procedurat e të mësuarit të përdorura gjatë mësimit makinerik fokusohen automatikisht në rastet më të zakonshme, ndërsa kur shkruani rregulla me dorë shpesh nuk është aspak e qartë se ku duhet të drejtohet përpjekja.
* Procedurat automatike të të mësuarit mund të përdorin algoritme të konkluzioneve statistikore për të prodhuar modele që janë të qëndrueshme për të dhëna të panjohura (p.sh. përmbajnë fjalë ose struktura që nuk janë parë më parë) dhe për të dhëna të gabuara (p.sh. me fjalë të shkruara gabim ose fjalë të hequra aksidentalisht). Në përgjithësi, trajtimi me hijeshi i këtyre të dhënave me rregulla të shkruara me dorë, ose, në përgjithësi, krijimi i sistemeve të rregullave të shkruara me dorë që marrin vendime të buta, është jashtëzakonisht i vështirë, i prirur ndaj gabimeve dhe kërkon kohë.
* Sistemet e bazuara në mësimin automatik të rregullave mund të bëhen më të sakta thjesht duke ofruar më shumë të dhëna hyrëse. Megjithatë, sistemet e bazuara në rregulla të shkruara me dorë mund të bëhen më të sakta vetëm duke rritur kompleksitetin e rregullave, që është një detyrë shumë më e vështirë. Në veçanti, ka një kufi për kompleksitetin e sistemeve të bazuara në rregulla të shkruara me dorë, përtej të cilave sistemet bëhen gjithnjë e më të pamenaxhueshme. Megjithatë, krijimi i më shumë të dhënave për të futur në sistemet e mësimit të makinerive kërkon thjesht një rritje korresponduese në numrin e orëve të punës së punës, përgjithësisht pa rritje të konsiderueshme në kompleksitetin e procesit të shënimit.
Megjithë popullaritetin e mësimit të makinerive në kërkimin NLP, metodat simbolike ende (2020) përdoren zakonisht:

* kur sasia e të dhënave të trajnimit është e pamjaftueshme për të aplikuar me sukses metodat e mësimit të makinerive, p.sh., për përkthimin makinerik të gjuhëve me burime të ulëta siç ofrohet nga sistemi Apertium,
* për parapërpunim në tubacionet NLP, p.sh., tokenizimi, ose
* për paspërpunimin dhe transformimin e prodhimit të tubacioneve NLP, p.sh., për nxjerrjen e njohurive nga analizat sintaksore.

### Metodat statistikore 
Që nga i ashtuquajturi "revolucion statistikor" në fund të viteve 1980 dhe mesi i viteve 1990, shumë kërkime për përpunimin e gjuhës natyrore janë mbështetur shumë në mësimin e makinerive. Në vend të kësaj, paradigma e mësimit të makinës kërkon përdorimin e konkluzioneve statistikore për të mësuar automatikisht rregulla të tilla përmes analizës së *korpuseve* të mëdha (është një grup dokumentesh, ndoshta me shënime njerëzore ose kompjuterike) të shembujve tipikë të botës reale.

Shumë klasa të ndryshme të algoritmeve të mësimit makinerik janë aplikuar në detyrat e përpunimit të gjuhës natyrore. Këto algoritme marrin si hyrje një grup të madh "karakteristikash" që gjenerohen nga të dhënat hyrëse. Megjithatë, gjithnjë e më shumë, kërkimi është fokusuar në modelet statistikore, të cilat marrin vendime të buta, probabiliste bazuar në bashkëngjitjen e peshave me vlerë reale për çdo veçori hyrëse (ngulitje me vlerë komplekse, dhe rrjetet nervore në përgjithësi janë propozuar gjithashtu, për p.sh. të folurit). Modele të tilla kanë avantazhin se mund të shprehin sigurinë relative të shumë përgjigjeve të ndryshme të mundshme dhe jo vetëm të njërës, duke prodhuar rezultate më të besueshme kur një model i tillë përfshihet si një komponent i një sistemi më të madh.

Disa nga algoritmet më të hershme të mësimit të makinerive të përdorura, të tilla si pemët e vendimeve, prodhuan sisteme me rregulla të vështira if-then të ngjashme me rregullat ekzistuese të shkruara me dorë. Megjithatë, etiketimi i pjesëve të ligjëratës prezantoi përdorimin e modeleve të fshehura Markov në përpunimin e gjuhës natyrore, dhe gjithnjë e më shumë, kërkimi është fokusuar në modelet statistikore, të cilat marrin vendime të buta, probabiliste bazuar në bashkëngjitjen e peshave me vlerë reale për veçoritë që përbëjnë hyrjen në të dhëna. Modelet e gjuhës së memories, mbi të cilat mbështeten tani shumë sisteme të njohjes së të folurit janë shembuj të modeleve të tilla statistikore. Modele të tilla janë përgjithësisht më të fuqishme kur jepen të dhëna të panjohura, veçanërisht hyrje që përmban gabime (siç është shumë e zakonshme për të dhënat e botës reale) dhe prodhojnë rezultate më të besueshme kur integrohen në një sistem më të madh që përfshin nëndetyra të shumta.

Që nga kthesa nervore, metodat statistikore në kërkimin NLP janë zëvendësuar kryesisht nga rrjetet nervore. Megjithatë, ato vazhdojnë të jenë të rëndësishme për kontekstet, në të cilat kërkohet interpretueshmëria dhe transparenca statistikore.

### Rrjetet nervore 
Një pengesë kryesore e metodave statistikore është se ato kërkojnë inxhinieri të hollësishme të veçorive. Që nga viti 2015, fusha ka braktisur kryesisht metodat statistikore dhe është zhvendosur në rrjetet nervore për mësimin e makinerive. Teknikat e njohura përfshijnë përdorimin e ngulitjes së fjalëve për të kapur vetitë semantike të fjalëve dhe një rritje në të mësuarit nga fundi në fund të një detyre të nivelit më të lartë (p.sh., përgjigjja e pyetjeve) në vend që të mbështetet në një linjë detyrash të veçanta të ndërmjetme (p.sh. etiketimi i pjesës së të folurit dhe analizimi i varësisë). Në disa fusha, ky ndryshim ka sjellë ndryshime thelbësore në mënyrën se si janë dizajnuar sistemet NLP, të tilla që qasjet e bazuara në rrjete të thella nervore mund të shihen si një paradigmë e re e dallueshme nga përpunimi statistikor i gjuhës natyrore. Për shembull, termi *përkthim i makinës nervore* (NMT) thekson faktin se qasjet e bazuara në mësimin e thellë për përkthimin e makinës mësojnë drejtpërdrejt transformimet nga sekuenca në sekuencë, duke evituar nevojën për hapa të ndërmjetëm, siç janë rreshtimi i fjalëve dhe modelimi i gjuhës që u përdor në statistikat . përkthimi me makinë (SMT).

## Detyrat e zakonshme të NLP-së 
Më poshtë është një listë e disa prej detyrave më të hulumtuara në përpunimin e gjuhës natyrore. Disa nga këto detyra kanë aplikacione të drejtpërdrejta në botën reale, ndërsa të tjerat më shpesh shërbejnë si nën-detyra që përdoren për të ndihmuar në zgjidhjen e detyrave më të mëdha.

Megjithëse detyrat e përpunimit të gjuhës natyrore janë të ndërthurura ngushtë, ato mund të ndahen në kategori për lehtësi. Një ndarje e trashë është dhënë më poshtë.

### Përpunimi i tekstit dhe i të folurit 
* Njohja optike e karaktereve (OCR)
* Njohja e të folurit
* Segmentimi i të folurit
* Tekst në të folur
* Segmentimi i fjalëve (Tokenizimi)

### Analiza morfologjike 
* Lematizimi
* Segmentimi morfologjik
* Etiketimi i pjesëve të ligjëratës
* Stemimi

### Analiza sintaksore 
* Induksioni gramatikor
* Thyerja e fjalisë
* Parsing

### Semantika leksikore (e fjalëve individuale në kontekst) 
* Semantika leksikore
* Semantika e shpërndarjes
* Njohja e entitetit të emërtuar (NER)
* Analiza e sentimentit
* Nxjerrja e terminologjisë
* Shfaqja e kuptimit të fjalës (WSD)
* Lidhja e entitetit

### Semantika relacionale (semantika e fjalive individuale) 
* Nxjerrja e marrëdhënies
* Parimi semantik
* Etiketimi semantik i roleve

### Diskursi (semantika përtej fjalive individuale) 
* Rezolucioni i referencës
* Analiza e diskursit
* Njohja e lidhjeve tekstuale
* Segmentimi dhe njohja e temës
* Nxjerrja e argumenteve

## Shiko edhe 
* Gjuhësia kompjuterike
* Mësimi i thellë i strukturuar

## Referime 
## Leximi më tej 
* 
* Steven Bird, Ewan Klein, and Edward Loper (2009). *Natural Language Processing with Python*. O'Reilly Media. .
* Daniel Jurafsky and James H. Martin (2008). *Speech and Language Processing*, 2nd edition. Pearson Prentice Hall. .
* Mohamed Zakaria Kurdi (2016). *Natural Language Processing and Computational Linguistics: speech, morphology, and syntax*, Volume 1. ISTE-Wiley. .
* Mohamed Zakaria Kurdi (2017). *Natural Language Processing and Computational Linguistics: semantics, discourse, and applications*, Volume 2. ISTE-Wiley. .
* Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze (2008). *Introduction to Information Retrieval*. Cambridge University Press. . Official html and pdf versions available without charge.
* Christopher D. Manning and Hinrich Schütze (1999). *Foundations of Statistical Natural Language Processing*. The MIT Press. .
* David M. W. Powers and Christopher C. R. Turk (1989). *Machine Learning of Natural Language*. Springer-Verlag. .

## Lidhje të jashtme