Pemrosesan Bahasa Alami - Panduan Cepat

Bahasa adalah metode komunikasi yang dengannya kita dapat berbicara, membaca, dan menulis. Misalnya, kami berpikir, kami membuat keputusan, rencana dan lebih banyak lagi dalam bahasa alami; tepatnya, dengan kata-kata. Namun, pertanyaan besar yang menghadang kita di era AI ini adalah apakah kita dapat berkomunikasi dengan cara yang sama dengan komputer. Dengan kata lain, dapatkah manusia berkomunikasi dengan komputer dalam bahasa aslinya? Merupakan tantangan bagi kami untuk mengembangkan aplikasi NLP karena komputer membutuhkan data terstruktur, tetapi ucapan manusia tidak terstruktur dan seringkali bersifat ambigu.

Dalam pengertian ini, dapat dikatakan bahwa Natural Language Processing (NLP) adalah sub-bidang Ilmu Komputer khususnya Artificial Intelligence (AI) yang berkepentingan untuk memungkinkan komputer memahami dan memproses bahasa manusia. Secara teknis, tugas utama NLP adalah memprogram komputer untuk menganalisis dan memproses data bahasa alami dalam jumlah besar.

Sejarah NLP

Kami telah membagi sejarah NLP menjadi empat fase. Fase memiliki perhatian dan gaya yang berbeda.

Fase Pertama (Fase Terjemahan Mesin) - Akhir 1940-an hingga akhir 1960-an

Pekerjaan yang dilakukan dalam fase ini difokuskan terutama pada terjemahan mesin (MT). Fase ini merupakan periode antusiasme dan optimisme.

Sekarang mari kita lihat semua yang dimiliki fase pertama di dalamnya -

  • Penelitian tentang NLP dimulai pada awal 1950-an setelah investigasi Booth & Richens dan memorandum Weaver tentang terjemahan mesin pada tahun 1949.

  • 1954 adalah tahun ketika percobaan terbatas pada terjemahan otomatis dari bahasa Rusia ke bahasa Inggris didemonstrasikan dalam percobaan Georgetown-IBM.

  • Pada tahun yang sama, penerbitan jurnal MT (Machine Translation) dimulai.

  • Konferensi internasional pertama tentang Terjemahan Mesin (MT) diadakan pada tahun 1952 dan yang kedua diadakan pada tahun 1956.

  • Pada tahun 1961, karya yang dipresentasikan dalam Teddington International Conference on Machine Translation of Languages ​​and Applied Language analysis adalah titik puncak dari fase ini.

Fase Kedua (Fase yang Dipengaruhi AI) - Akhir 1960-an hingga akhir 1970-an

Dalam fase ini, pekerjaan yang dilakukan sebagian besar terkait dengan pengetahuan dunia dan perannya dalam konstruksi dan manipulasi representasi makna. Itu sebabnya, fase ini disebut juga fase rasa AI.

Fase itu ada di dalamnya, sebagai berikut -

  • Pada awal 1961, pekerjaan dimulai pada masalah menangani dan membangun data atau basis pengetahuan. Pekerjaan ini dipengaruhi oleh AI.

  • Pada tahun yang sama juga dikembangkan sistem tanya jawab BASEBALL. Masukan ke sistem ini dibatasi dan pemrosesan bahasa yang terlibat sederhana.

  • Sistem yang jauh lebih maju dijelaskan dalam Minsky (1968). Sistem ini, jika dibandingkan dengan sistem penjawab pertanyaan BASEBALL, diakui dan disediakan untuk kebutuhan inferensi pada basis pengetahuan dalam menafsirkan dan menanggapi masukan bahasa.

Fase Ketiga (Fase Grammatico-logis) - Akhir 1970-an hingga akhir 1980-an

Fase ini dapat digambarkan sebagai fase tata bahasa-logis. Karena kegagalan pembangunan sistem praktis pada fase terakhir, para peneliti beralih ke penggunaan logika untuk representasi pengetahuan dan penalaran dalam AI.

Fase ketiga memiliki yang berikut di dalamnya -

  • Pendekatan gramatika-logis, menjelang akhir dekade, membantu kami dengan pemroses kalimat tujuan umum yang kuat seperti Mesin Bahasa Inti SRI dan Teori Representasi Wacana, yang menawarkan sarana untuk menangani wacana yang lebih luas.

  • Dalam fase ini kami mendapatkan beberapa sumber daya & alat praktis seperti parser, misalnya Alvey Natural Language Tools bersama dengan sistem yang lebih operasional dan komersial, misalnya untuk kueri database.

  • Karya tentang leksikon pada tahun 1980-an juga menunjukkan arah pendekatan gramatika-logis.

Fase Keempat (Fase Leksikal & Corpus) - Tahun 1990-an

Kami dapat menggambarkan ini sebagai fase leksikal & korpus. Fase memiliki pendekatan leksikalisasi tata bahasa yang muncul pada akhir 1980-an dan menjadi pengaruh yang meningkat. Ada revolusi dalam pemrosesan bahasa alami dalam dekade ini dengan pengenalan algoritme pembelajaran mesin untuk pemrosesan bahasa.

Studi Bahasa Manusia

Bahasa adalah komponen penting bagi kehidupan manusia dan juga aspek paling mendasar dari perilaku kita. Kita dapat mengalaminya terutama dalam dua bentuk - tertulis dan lisan. Dalam bentuk tertulis, itu adalah cara untuk meneruskan pengetahuan kita dari satu generasi ke generasi berikutnya. Dalam bentuk lisan, itu adalah media utama bagi manusia untuk berkoordinasi satu sama lain dalam perilaku sehari-hari mereka. Bahasa dipelajari dalam berbagai disiplin ilmu. Setiap disiplin ilmu dilengkapi dengan masalah dan solusi untuk mengatasinya.

Pertimbangkan tabel berikut untuk memahami ini -

Disiplin Masalah Alat

Ahli bahasa

Bagaimana frase dan kalimat dapat dibentuk dengan kata-kata?

Apa yang membatasi kemungkinan arti sebuah kalimat?

Intuisi tentang kemapanan dan makna.

Model matematika struktur. Misalnya semantik teori model, teori bahasa formal.

Psikolinguis

Bagaimana manusia dapat mengidentifikasi struktur kalimat?

Bagaimana arti kata-kata dapat diidentifikasi?

Kapan pemahaman terjadi?

Teknik eksperimental terutama untuk mengukur kinerja manusia.

Analisis statistik pengamatan.

Filsuf

Bagaimana kata dan kalimat mendapatkan maknanya?

Bagaimana objek diidentifikasi oleh kata-kata?

Apa artinya

Argumentasi bahasa alami dengan menggunakan intuisi.

Model matematika seperti logika dan teori model.

Ahli Bahasa Komputasi

Bagaimana kita bisa mengidentifikasi struktur kalimat

Bagaimana pengetahuan dan penalaran dapat dimodelkan?

Bagaimana kita bisa menggunakan bahasa untuk menyelesaikan tugas tertentu?

Algoritma

Struktur data

Model formal representasi dan penalaran.

Teknik AI seperti metode pencarian & representasi.

Ambiguitas dan Ketidakpastian dalam Bahasa

Ambiguitas, umumnya digunakan dalam pemrosesan bahasa alami, dapat disebut sebagai kemampuan untuk dipahami dengan lebih dari satu cara. Secara sederhana, kita dapat mengatakan bahwa ambiguitas adalah kemampuan untuk dipahami dengan lebih dari satu cara. Bahasa alami sangat ambigu. NLP memiliki jenis ambiguitas berikut -

Ambiguitas Leksikal

Ambiguitas dari satu kata disebut ambiguitas leksikal. Misalnya memperlakukan katasilver sebagai kata benda, kata sifat, atau kata kerja.

Ambiguitas Sintaksis

Jenis ambiguitas ini terjadi ketika kalimat diuraikan dengan cara yang berbeda. Misalnya kalimat “Pria melihat gadis dengan teleskop”. Tidaklah jelas apakah pria itu melihat gadis itu membawa teleskop atau dia melihatnya melalui teleskopnya.

Ambiguitas Semantik

Jenis ambiguitas ini terjadi ketika arti kata-kata itu sendiri dapat disalahartikan. Dengan kata lain, ambiguitas semantik terjadi ketika sebuah kalimat mengandung kata atau frase yang ambigu. Sebagai contoh, kalimat “Mobil menabrak tiang saat sedang melaju” memiliki ambiguitas semantik karena interpretasinya dapat berupa “Mobil, saat bergerak, menabrak tiang” dan “Mobil menabrak tiang saat tiang itu bergerak”.

Ambiguitas Anaforis

Jenis ambiguitas ini muncul karena penggunaan entitas anaphora dalam wacana. Misalnya, kuda berlari ke atas bukit. Itu sangat curam. Segera lelah. Di sini, referensi anaforis dari "itu" dalam dua situasi menyebabkan ambiguitas.

Ambiguitas pragmatis

Jenis ambiguitas seperti itu mengacu pada situasi di mana konteks frasa memberinya banyak interpretasi. Dengan kata sederhana, kita dapat mengatakan bahwa ambiguitas pragmatis muncul ketika pernyataannya tidak spesifik. Misalnya, kalimat “Aku juga menyukaimu” dapat memiliki banyak interpretasi seperti aku menyukaimu (sama seperti kamu seperti aku), aku menyukaimu (seperti orang lain dosis).

Tahapan NLP

Diagram berikut menunjukkan tahapan atau langkah logis dalam pemrosesan bahasa alami -

Pengolahan Morfologi

Ini adalah fase pertama NLP. Tujuan dari fase ini adalah untuk memecah potongan input bahasa menjadi kumpulan token yang sesuai dengan paragraf, kalimat, dan kata. Misalnya, kata suka“uneasy” dapat dipecah menjadi dua token sub-kata sebagai “un-easy”.

Analisis Sintaks

Ini adalah fase kedua dari NLP. Tujuan dari fase ini ada dua: untuk memeriksa apakah sebuah kalimat terbentuk dengan baik atau tidak dan untuk memecahnya menjadi struktur yang menunjukkan hubungan sintaksis antara kata-kata yang berbeda. Misalnya kalimat like“The school goes to the boy” akan ditolak oleh syntax analyzer atau parser.

Analisis Semantik

Ini adalah fase ketiga dari NLP. Tujuan dari fase ini adalah untuk menggambar makna yang tepat, atau Anda dapat mengucapkan makna kamus dari teks. Teks tersebut diperiksa kebermaknaannya. Misalnya, penganalisis semantik akan menolak kalimat seperti "Es krim panas".

Analisis Pragmatis

Ini adalah fase keempat dari NLP. Analisis pragmatis hanya menyesuaikan objek / peristiwa aktual, yang ada dalam konteks tertentu dengan referensi objek yang diperoleh selama fase terakhir (analisis semantik). Misalnya, kalimat "Taruh pisang di keranjang di rak" dapat memiliki dua interpretasi semantik dan penganalisis pragmatis akan memilih di antara dua kemungkinan ini.

Pada bab ini, kita akan belajar tentang sumber daya linguistik dalam Natural Language Processing.

Corpus

Korpus adalah sekumpulan teks besar dan terstruktur yang dapat dibaca mesin yang telah diproduksi dalam pengaturan komunikatif alami. Jamaknya adalah corpora. Mereka dapat diturunkan dengan berbagai cara seperti teks yang aslinya elektronik, transkrip bahasa lisan dan pengenalan karakter optik, dll.

Elemen Desain Corpus

Bahasa tidak terbatas tetapi ukuran korpus harus terbatas. Agar korpus berukuran terbatas, kita perlu mengambil sampel dan secara proporsional menyertakan berbagai jenis teks untuk memastikan desain korpus yang baik.

Sekarang mari kita belajar tentang beberapa elemen penting untuk desain corpus -

Keterwakilan Corpus

Keterwakilan adalah ciri khas dari desain korpus. Definisi berikut dari dua peneliti hebat - Leech dan Biber, akan membantu kita memahami keterwakilan korpus -

  • According to Leech (1991), “Korpus dianggap mewakili ragam bahasa yang semestinya diwakili jika temuan berdasarkan isinya dapat digeneralisasikan ke ragam bahasa tersebut”.

  • According to Biber (1993), “Keterwakilan mengacu pada sejauh mana sampel mencakup berbagai variabilitas dalam suatu populasi”.

Dengan cara ini, kita dapat menyimpulkan bahwa keterwakilan korpus ditentukan oleh dua faktor berikut:

  • Balance - Kisaran genre termasuk dalam korpus

  • Sampling - Bagaimana potongan untuk setiap genre dipilih.

Corpus Balance

Elemen lain yang sangat penting dari desain korpus adalah keseimbangan korpus - rentang genre yang termasuk dalam korpus. Kita telah mempelajari bahwa keterwakilan korpus umum bergantung pada seberapa seimbang korpus tersebut. Korpus yang seimbang mencakup berbagai kategori teks, yang seharusnya mewakili bahasa tersebut. Kami tidak memiliki ukuran ilmiah yang dapat diandalkan untuk keseimbangan tetapi estimasi dan intuisi terbaik bekerja dalam masalah ini. Dengan kata lain, kita dapat mengatakan bahwa saldo yang diterima ditentukan oleh tujuan penggunaannya saja.

Contoh

Elemen penting lainnya dari desain korpus adalah pengambilan sampel. Keterwakilan dan keseimbangan korpus sangat erat kaitannya dengan pengambilan sampel. Itulah mengapa kita dapat mengatakan bahwa pengambilan sampel tidak dapat dihindari dalam pembentukan korpus.

  • Berdasarkan Biber(1993), “Beberapa pertimbangan pertama dalam membangun korpus berkaitan dengan desain keseluruhan: misalnya, jenis teks yang dimasukkan, jumlah teks, pemilihan teks tertentu, pemilihan sampel teks dari dalam teks, dan panjang teks sampel. Masing-masing melibatkan pengambilan sampel, baik disadari atau tidak. "

Saat mendapatkan sampel yang representatif, kita perlu mempertimbangkan hal-hal berikut -

  • Sampling unit- Ini mengacu pada unit yang membutuhkan sampel. Misalnya, untuk teks tertulis, unit sampling dapat berupa surat kabar, jurnal, atau buku.

  • Sampling frame - Daftar al unit sampling disebut kerangka sampling.

  • Population- Ini dapat disebut sebagai perakitan semua unit pengambilan sampel. Ini didefinisikan dalam istilah produksi bahasa, penerimaan bahasa atau bahasa sebagai produk.

Ukuran Corpus

Elemen penting lainnya dari desain korpus adalah ukurannya. Berapa besar korpusnya? Tidak ada jawaban khusus untuk pertanyaan ini. Ukuran korpus tergantung pada tujuan yang dimaksudkan serta pada beberapa pertimbangan praktis sebagai berikut -

  • Jenis pertanyaan yang diantisipasi dari pengguna.

  • Metodologi yang digunakan oleh pengguna untuk mempelajari data.

  • Ketersediaan sumber data.

Dengan kemajuan teknologi, ukuran korpus juga meningkat. Tabel perbandingan berikut akan membantu Anda memahami cara kerja ukuran korpus -

Tahun Nama Corpus Ukuran (dalam kata-kata)
1960-an - 70-an Coklat dan LOB 1 Juta kata
1980-an Korpora Birmingham 20 Juta kata
1990-an Korpus Nasional Inggris 100 Juta kata
Awal 21 st abad Bank of English corpus 650 Juta kata

Pada bagian selanjutnya, kita akan melihat beberapa contoh korpus.

TreeBank Corpus

Ini dapat didefinisikan sebagai korpus teks yang diurai secara linguistik yang menganotasi struktur kalimat sintaksis atau semantik. Geoffrey Leech menciptakan istilah 'treebank', yang menyatakan bahwa cara paling umum untuk merepresentasikan analisis tata bahasa adalah dengan menggunakan struktur pohon. Umumnya, Treebanks dibuat di bagian atas korpus, yang telah diberi anotasi dengan tag part-of-speech.

Jenis-jenis TreeBank Corpus

Treebank semantik dan sintaksis adalah dua jenis Treebank yang paling umum dalam linguistik. Sekarang mari kita pelajari lebih lanjut tentang jenis ini -

Treebanks Semantik

Treebank ini menggunakan representasi formal dari struktur semantik kalimat. Mereka bervariasi dalam kedalaman representasi semantik mereka. Perintah Robot Treebank, Geoquery, Groningen Meaning Bank, RoboCup Corpus adalah beberapa contoh dari Semantic Treebanks.

Treebanks Sintaks

Berlawanan dengan Treebank semantik, masukan ke sistem Treebank Sintaksis adalah ekspresi bahasa formal yang diperoleh dari konversi data Treebank yang diurai. Keluaran dari sistem tersebut adalah representasi makna berbasis logika predikat. Berbagai Treebank sintaksis dalam berbagai bahasa telah dibuat sejauh ini. Sebagai contoh,Penn Arabic Treebank, Columbia Arabic Treebank adalah Treebanks sintaksis yang dibuat dalam bahasa Arab. Sininca Treebank sintaksis dibuat dalam bahasa Cina. Lucy, Susane dan BLLIP WSJ korpus sintaksis dibuat dalam bahasa Inggris.

Aplikasi TreeBank Corpus

Berikut adalah beberapa aplikasi TreeBanks -

Dalam Linguistik Komputasi

Jika kita berbicara tentang Linguistik Komputasi maka penggunaan terbaik TreeBanks adalah untuk merekayasa sistem pemrosesan bahasa alami yang canggih seperti tagger part-of-speech, parser, penganalisis semantik, dan sistem terjemahan mesin.

Dalam Corpus Linguistics

Dalam kasus linguistik Corpus, penggunaan terbaik Treebanks adalah untuk mempelajari fenomena sintaksis.

Dalam Linguistik Teoritis dan Psikolinguistik

Penggunaan terbaik Treebanks dalam teori dan psikolinguistik adalah bukti interaksi.

PropBank Corpus

PropBank lebih khusus disebut “Bank Proposisi” adalah korpus, yang dianotasi dengan proposisi verbal dan argumennya. Korpus adalah sumber daya berorientasi kata kerja; anotasi di sini lebih dekat hubungannya dengan tingkat sintaksis. Martha Palmer et al., Departemen Linguistik, University of Colorado Boulder mengembangkannya. Kita dapat menggunakan istilah PropBank sebagai kata benda umum yang mengacu pada korpus mana pun yang telah dijelaskan dengan proposisi dan argumennya.

Dalam Natural Language Processing (NLP), proyek PropBank telah memainkan peran yang sangat signifikan. Ini membantu dalam pelabelan peran semantik.

VerbNet (VN)

VerbNet (VN) adalah sumber leksikal yang tidak bergantung pada domain hierarki dan terbesar yang ada dalam bahasa Inggris yang menggabungkan informasi semantik dan sintaksis tentang isinya. VN adalah leksikon kata kerja dengan cakupan luas yang memiliki pemetaan ke sumber leksikal lain seperti WordNet, Xtag, dan FrameNet. Ini diatur ke dalam kelas kata kerja yang memperluas kelas Levin dengan perbaikan dan penambahan subkelas untuk mencapai koherensi sintaksis dan semantik di antara anggota kelas.

Setiap kelas VerbNet (VN) berisi -

Satu set deskripsi sintaksis atau bingkai sintaksis

Untuk menggambarkan realisasi permukaan yang mungkin dari struktur argumen untuk konstruksi seperti transitif, intransitif, frase preposisi, resultatif, dan sekumpulan besar pergantian diatesis.

Seperangkat deskripsi semantik seperti animasi, manusia, organisasi

Untuk membatasi, jenis peran tematik yang diizinkan oleh argumen, dan pembatasan lebih lanjut dapat diberlakukan. Ini akan membantu dalam menunjukkan sifat sintaksis dari konstituen yang mungkin terkait dengan peran tematik.

WordNet

WordNet, dibuat oleh Princeton adalah database leksikal untuk bahasa Inggris. Ini adalah bagian dari korpus NLTK. Di WordNet, kata benda, kata kerja, kata sifat, dan kata keterangan dikelompokkan ke dalam kumpulan sinonim kognitif yang disebutSynsets. Semua synset dihubungkan dengan bantuan hubungan konseptual-semantik dan leksikal. Strukturnya membuatnya sangat berguna untuk pemrosesan bahasa alami (NLP).

Dalam sistem informasi, WordNet digunakan untuk berbagai tujuan seperti disambiguasi arti kata, pencarian informasi, klasifikasi teks otomatis, dan terjemahan mesin. Salah satu kegunaan WordNet yang paling penting adalah untuk mengetahui kesamaan antar kata. Untuk tugas ini, berbagai algoritma telah diimplementasikan di berbagai paket seperti Kesamaan di Perl, NLTK dengan Python dan ADW di Java.

Dalam bab ini, kita akan memahami analisis tingkat dunia dalam Pemrosesan Bahasa Alami.

Ekspresi Reguler

Ekspresi reguler (RE) adalah bahasa untuk menentukan string pencarian teks. RE membantu kita mencocokkan atau menemukan string atau kumpulan string lain, menggunakan sintaks khusus yang disimpan dalam pola. Ekspresi reguler digunakan untuk mencari teks di UNIX dan MS WORD dengan cara yang identik. Kami memiliki berbagai mesin pencari yang menggunakan sejumlah fitur RE.

Properti Ekspresi Reguler

Berikut ini adalah beberapa sifat penting RE -

  • Ahli matematika Amerika Stephen Cole Kleene memformalkan bahasa Ekspresi Reguler.

  • RE adalah rumus dalam bahasa khusus, yang dapat digunakan untuk menentukan kelas string sederhana, rangkaian simbol. Dengan kata lain, kita dapat mengatakan bahwa RE adalah notasi aljabar untuk mengkarakterisasi sekumpulan string.

  • Ekspresi reguler membutuhkan dua hal, satu adalah pola yang ingin kita cari dan yang lainnya adalah kumpulan teks yang perlu kita cari.

Secara matematis, Ekspresi Reguler dapat didefinisikan sebagai berikut -

  • ε adalah Ekspresi Reguler, yang menunjukkan bahwa bahasa tersebut memiliki string kosong.

  • φ adalah Ekspresi Reguler yang menunjukkan bahwa ini adalah bahasa kosong.

  • Jika X dan Y adalah Ekspresi Reguler, lalu

    • X, Y

    • X.Y(Concatenation of XY)

    • X+Y (Union of X and Y)

    • X*, Y* (Kleen Closure of X and Y)

juga ekspresi reguler.

  • Jika sebuah string diturunkan dari aturan di atas maka itu juga akan menjadi ekspresi reguler.

Contoh Ekspresi Reguler

Tabel berikut menunjukkan beberapa contoh Ekspresi Reguler -

Ekspresi Reguler Set Reguler
(0 + 10 *) {0, 1, 10, 100, 1000, 10000,…}
(0 * 10 *) {1, 01, 10, 010, 0010,…}
(0 + ε) (1 + ε) {ε, 0, 1, 01}
(a + b) * Ini akan menjadi himpunan string a dan b dengan panjang berapa pun yang juga termasuk string nol yaitu {ε, a, b, aa, ab, bb, ba, aaa …….}
(a + b) * abb Itu akan menjadi set string a dan b yang diakhiri dengan string abb yaitu {abb, aabb, babb, aaabb, ababb, ………… ..}
(11) * Ini akan ditetapkan terdiri dari bilangan genap 1 yang juga menyertakan string kosong yaitu {ε, 11, 1111, 111111, ……….}
(aa) * (bb) * b Ini akan menjadi himpunan string yang terdiri dari bilangan genap a diikuti dengan bilangan ganjil yaitu {b, aab, aabbb, aabbbbb, aaaab, aaaabbb, ………… ..}
(aa + ab + ba + bb) * Ini akan menjadi string a dan b dengan panjang genap yang dapat diperoleh dengan menggabungkan kombinasi string aa, ab, ba dan bb termasuk null yaitu {aa, ab, ba, bb, aaab, aaba, …………. .}

Set Reguler & Properti Mereka

Ini dapat didefinisikan sebagai himpunan yang mewakili nilai ekspresi reguler dan terdiri dari properti tertentu.

Properti set reguler

  • Jika kita melakukan penyatuan dua set reguler maka set yang dihasilkan juga akan menjadi regula.

  • Jika kita melakukan perpotongan dua himpunan beraturan maka himpunan yang dihasilkan juga akan beraturan.

  • Jika kita melakukan komplemen pada set reguler, maka set yang dihasilkan juga akan biasa.

  • Jika kita melakukan perbedaan dua set biasa, maka set yang dihasilkan juga akan biasa.

  • Jika kita melakukan pembalikan himpunan biasa, maka himpunan yang dihasilkan juga akan beraturan.

  • Jika kita mengambil closure dari set biasa, maka set yang dihasilkan juga akan jadi regular.

  • Jika kita melakukan penggabungan dua set reguler, maka set yang dihasilkan juga akan menjadi reguler.

Automata Negara Hingga

Istilah automata, yang berasal dari kata Yunani "αὐτόματα" yang berarti "bertindak sendiri", adalah bentuk jamak dari otomat yang dapat didefinisikan sebagai perangkat komputasi gerak sendiri abstrak yang mengikuti urutan operasi yang telah ditentukan secara otomatis.

Sebuah robot yang memiliki jumlah negara yang terbatas disebut Finite Automaton (FA) atau Finite State automata (FSA).

Secara matematis, sebuah robot dapat diwakili oleh 5-tupel (Q, Σ, δ, q0, F), di mana -

  • Q adalah himpunan keadaan yang terbatas.

  • Σ adalah seperangkat simbol yang terbatas, disebut alfabet robot.

  • δ adalah fungsi transisi

  • q0 adalah status awal dari mana input diproses (q0 ∈ Q).

  • F adalah himpunan keadaan akhir dari Q (F ⊆ Q).

Hubungan antara Finite Automata, Tata Bahasa Reguler dan Ekspresi Reguler

Poin berikut akan memberi kita pandangan yang jelas tentang hubungan antara automata hingga, tata bahasa reguler dan ekspresi reguler -

  • Seperti yang kita ketahui bahwa automata keadaan hingga adalah fondasi teoritis dari pekerjaan komputasi dan ekspresi reguler adalah salah satu cara untuk menggambarkannya.

  • Kita dapat mengatakan bahwa ekspresi reguler apa pun dapat diterapkan sebagai FSA dan FSA apa pun dapat dijelaskan dengan ekspresi reguler.

  • Di sisi lain, ekspresi reguler adalah cara untuk mencirikan jenis bahasa yang disebut bahasa reguler. Oleh karena itu, kami dapat mengatakan bahwa bahasa reguler dapat dijelaskan dengan bantuan FSA dan ekspresi reguler.

  • Tata bahasa reguler, tata bahasa formal yang dapat berupa reguler kanan atau reguler kiri, adalah cara lain untuk menandai bahasa reguler.

Diagram berikut menunjukkan bahwa automata hingga, ekspresi reguler, dan tata bahasa reguler adalah cara yang setara untuk mendeskripsikan bahasa reguler.

Jenis Otomatisasi Keadaan Hingga (FSA)

Otomatisasi keadaan hingga terdiri dari dua jenis. Mari kita lihat apa saja tipenya.

Otomatisasi Hingga Deterministik (DFA)

Ini dapat didefinisikan sebagai jenis otomatisasi terbatas dimana, untuk setiap simbol masukan kita dapat menentukan keadaan mesin akan bergerak. Ini memiliki jumlah status yang terbatas, itulah sebabnya mesin disebut Deterministic Finite Automaton (DFA).

Secara matematis, DFA dapat diwakili oleh 5-tupel (Q, Σ, δ, q0, F), di mana -

  • Q adalah himpunan keadaan yang terbatas.

  • Σ adalah seperangkat simbol yang terbatas, disebut alfabet robot.

  • δ adalah fungsi transisi dimana δ: Q × Σ → Q.

  • q0 adalah status awal dari mana input diproses (q0 ∈ Q).

  • F adalah himpunan keadaan akhir dari Q (F ⊆ Q).

Sedangkan secara grafis, DFA dapat diwakili oleh diagraph yang disebut diagram keadaan dimana -

  • Negara bagian diwakili oleh vertices.

  • Transisi ditunjukkan dengan label arcs.

  • Keadaan awal diwakili oleh empty incoming arc.

  • Keadaan akhir diwakili oleh double circle.

Contoh DFA

Misalkan DFA menjadi

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • Fungsi transisi δ ditunjukkan pada tabel sebagai berikut -

Kondisi saat ini Status Berikutnya untuk Input 0 Status Berikutnya untuk Input 1
SEBUAH Sebuah B
B b SEBUAH
C c C

Representasi grafis dari DFA ini adalah sebagai berikut -

Otomatisasi Hingga Non-deterministik (NDFA)

Ini dapat didefinisikan sebagai jenis otomatisasi terbatas di mana untuk setiap simbol input kita tidak dapat menentukan status ke mana mesin akan bergerak, yaitu mesin dapat berpindah ke kombinasi status apa pun. Ini memiliki jumlah status yang terbatas, itulah sebabnya mesin ini disebut Non-deterministic Finite Automation (NDFA).

Secara matematis, NDFA dapat direpresentasikan dengan 5-tuple (Q, Σ, δ, q0, F), dimana -

  • Q adalah himpunan keadaan yang terbatas.

  • Σ adalah seperangkat simbol yang terbatas, disebut alfabet robot.

  • δ: -adalah fungsi transisi di mana δ: Q × Σ → 2 Q .

  • q0: -adalah status awal dari mana input diproses (q0 ∈ Q).

  • F: -adalah himpunan keadaan akhir / keadaan Q (F ⊆ Q).

Sedangkan secara grafis (sama seperti DFA), NDFA dapat diwakili oleh diagraph yang disebut state diagrams dimana -

  • Negara bagian diwakili oleh vertices.

  • Transisi ditunjukkan dengan label arcs.

  • Keadaan awal diwakili oleh empty incoming arc.

  • Keadaan akhir diwakili oleh ganda circle.

Contoh NDFA

Misalkan NDFA menjadi

  • Q = {a, b, c},

  • Σ = {0, 1},

  • q 0 = {a},

  • F = {c},

  • Fungsi transisi δ ditunjukkan pada tabel sebagai berikut -

Kondisi saat ini Status Berikutnya untuk Input 0 Status Berikutnya untuk Input 1
SEBUAH a, b B
B C a, c
C b, c C

Representasi grafis NDFA ini adalah sebagai berikut -

Penguraian Morfologis

Istilah penguraian morfologis berkaitan dengan penguraian morfem. Kita dapat mendefinisikan penguraian morfologis sebagai masalah mengenali bahwa sebuah kata dipecah menjadi unit-unit bermakna yang lebih kecil yang disebut morfem yang menghasilkan semacam struktur linguistik untuknya. Misalnya, kita bisa membagi kata rubah menjadi dua, rubah dan -es . Kita dapat melihat bahwa kata rubah , terdiri dari dua morfem, satu adalah rubah dan lainnya adalah -es .

Dalam arti lain, kita dapat mengatakan bahwa morfologi adalah studi tentang -

  • Pembentukan kata-kata.

  • Asal kata.

  • Bentuk tata bahasa dari kata-kata.

  • Penggunaan prefiks dan sufiks dalam pembentukan kata.

  • Bagaimana part-of-speech (PoS) suatu bahasa terbentuk.

Jenis Morfem

Morfem, unit pembawa makna terkecil, dapat dibagi menjadi dua jenis -

  • Stems

  • Susunan kata

Batang

Ini adalah unit makna inti dari sebuah kata. Kita juga bisa mengatakan bahwa itu adalah akar kata. Misalnya, dalam kata rubah, batangnya adalah rubah.

  • Affixes- Seperti namanya, kata tersebut menambahkan beberapa arti tambahan dan fungsi tata bahasa pada kata. Misalnya, pada kata foxes, imbuhannya adalah - es.

Selanjutnya, imbuhan juga dapat dibagi menjadi empat jenis berikut -

    • Prefixes- Seperti namanya, awalan mendahului batang. Misalnya, pada kata unbuckle, un adalah awalannya.

    • Suffixes- Seperti namanya, akhiran mengikuti batang. Misalnya, dalam kata kucing, -s adalah sufiks.

    • Infixes- Sesuai namanya, infiks disisipkan di dalam batang. Misalnya, kata cupful, bisa dijadikan jamak sebagai cupful dengan menggunakan -s sebagai infiks.

    • Circumfixes- Mereka mendahului dan mengikuti batangnya. Ada sangat sedikit contoh pengunaan dalam bahasa Inggris. Contoh yang sangat umum adalah 'A-ing' di mana kita dapat menggunakan -A sebelum dan -ing mengikuti batang.

Susunan kata

Urutan kata akan ditentukan dengan penguraian morfologis. Sekarang mari kita lihat persyaratan untuk membangun parser morfologi -

Kamus

Persyaratan pertama untuk membangun pengurai morfologi adalah leksikon, yang mencakup daftar batang dan imbuhan beserta informasi dasar tentangnya. Misalnya, informasi seperti apakah stemnya adalah nomina stem atau verba stem, dll.

Morfotaktik

Ini pada dasarnya adalah model pemesanan morfem. Dalam pengertian lain, model menjelaskan kelas morfem mana yang dapat mengikuti kelas morfem lain di dalam sebuah kata. Misalnya, fakta morfotaksisnya adalah bahwa morfem jamak bahasa Inggris selalu mengikuti kata benda, bukan sebelumnya.

Aturan ortografi

Aturan ejaan ini digunakan untuk memodelkan perubahan yang terjadi dalam sebuah kata. Misalnya, aturan untuk mengubah y menjadi ie dalam kata seperti city + s = cities bukan citys.

Analisis sintaksis atau parsing atau analisis sintaks adalah tahap ketiga dari NLP. Tujuan dari fase ini adalah untuk menggambar makna yang tepat, atau Anda dapat mengucapkan makna kamus dari teks. Analisis sintaksis memeriksa teks untuk kemaknaan yang dibandingkan dengan aturan tata bahasa formal. Misalnya, kalimat seperti "es krim panas" akan ditolak oleh penganalisis semantik.

Dalam pengertian ini, analisis atau penguraian sintaksis dapat didefinisikan sebagai proses menganalisis string simbol dalam bahasa alami yang sesuai dengan aturan tata bahasa formal. Asal kata‘parsing’ berasal dari kata Latin ‘pars’ yang berarti ‘part’.

Konsep Parser

Ini digunakan untuk mengimplementasikan tugas parsing. Ini dapat didefinisikan sebagai komponen perangkat lunak yang dirancang untuk mengambil data masukan (teks) dan memberikan representasi struktural dari masukan setelah memeriksa sintaks yang benar sesuai tata bahasa formal. Itu juga membangun struktur data umumnya dalam bentuk pohon parse atau pohon sintaks abstrak atau struktur hierarki lainnya.

Peran utama parse meliputi -

  • Untuk melaporkan kesalahan sintaks.

  • Untuk memulihkan dari kesalahan yang biasa terjadi sehingga pemrosesan sisa program dapat dilanjutkan.

  • Untuk membuat pohon parse.

  • Untuk membuat tabel simbol.

  • Untuk menghasilkan representasi menengah (IR).

Jenis Parsing

Derivation membagi parsing menjadi dua jenis berikut -

  • Parsing Top-down

  • Parsing Bottom-up

Parsing Top-down

Dalam penguraian semacam ini, pengurai mulai membangun pohon parse dari simbol awal dan kemudian mencoba mengubah simbol awal menjadi input. Bentuk parsing topdown yang paling umum menggunakan prosedur rekursif untuk memproses input. Kerugian utama dari penguraian keturunan rekursif adalah penguraian mundur.

Parsing Bottom-up

Dalam penguraian jenis ini, pengurai dimulai dengan simbol input dan mencoba untuk membangun pohon pengurai hingga simbol awal.

Konsep Derivasi

Untuk mendapatkan string input, kita membutuhkan urutan aturan produksi. Derivasi adalah seperangkat aturan produksi. Selama penguraian, kita perlu memutuskan non-terminal, yang akan diganti bersama dengan memutuskan aturan produksi dengan bantuan yang non-terminal akan diganti.

Jenis Derivasi

Pada bagian ini, kita akan belajar tentang dua jenis turunan, yang dapat digunakan untuk memutuskan non-terminal mana yang akan diganti dengan aturan produksi -

Penurunan paling kiri

Dalam derivasi paling kiri, bentuk sentensial dari suatu input dipindai dan diganti dari kiri ke kanan. Bentuk sentensial dalam hal ini disebut bentuk sentensial kiri.

Penurunan Paling Kanan

Dalam derivasi paling kiri, bentuk sentensial dari suatu input dipindai dan diganti dari kanan ke kiri. Bentuk sentensial dalam hal ini disebut bentuk sentensial-kanan.

Konsep Parse Tree

Ini dapat didefinisikan sebagai penggambaran grafis dari suatu derivasi. Simbol awal penurunan berfungsi sebagai akar dari pohon parse. Di setiap pohon parse, simpul daun adalah terminal dan simpul interior adalah non-terminal. Properti parse tree adalah in-order traversal akan menghasilkan string input asli.

Konsep Tata Bahasa

Tata bahasa sangat penting dan penting untuk menggambarkan struktur sintaksis program yang terbentuk dengan baik. Dalam pengertian sastra, mereka menunjukkan aturan sintaksis untuk percakapan dalam bahasa alami. Linguistik telah berusaha untuk mendefinisikan tata bahasa sejak dimulainya bahasa alami seperti Inggris, Hindi, dll.

Teori bahasa formal juga dapat diterapkan di bidang Ilmu Komputer terutama dalam bahasa pemrograman dan struktur data. Misalnya, dalam bahasa 'C', aturan tata bahasa yang tepat menyatakan bagaimana fungsi dibuat dari daftar dan pernyataan.

Model matematika tata bahasa diberikan oleh Noam Chomsky pada tahun 1956, yang efektif untuk menulis bahasa komputer.

Secara matematis, tata bahasa G dapat secara formal ditulis sebagai 4-tupel (N, T, S, P) di mana -

  • N atau VN = kumpulan simbol non-terminal, yaitu variabel.

  • T atau = set simbol terminal.

  • S = Simbol start dimana S ∈ N

  • Pmenunjukkan aturan Produksi untuk Terminal serta Non-terminal. Ini memiliki bentuk α → β, di mana α dan β adalah string pada V N ∪ ∑ dan setidaknya satu simbol α dimiliki oleh V N

Struktur Frasa atau Tata Bahasa Konstituensi

Tata bahasa struktur frasa yang diperkenalkan oleh Noam Chomsky didasarkan pada relasi konstituensi. Itulah mengapa disebut juga tata bahasa konstituensi. Ini berlawanan dengan tata bahasa ketergantungan.

Contoh

Sebelum memberikan contoh tata bahasa daerah pemilihan, perlu diketahui pokok-pokok bahasan tentang tata bahasa daerah pemilihan dan hubungan daerah pemilihan.

  • Semua kerangka terkait melihat struktur kalimat dalam kaitannya dengan hubungan konstituensi.

  • Relasi konstituensi diturunkan dari pembagian subjek-predikat bahasa Latin serta tata bahasa Yunani.

  • Struktur klausa dasar dipahami dalam istilah noun phrase NP dan verb phrase VP.

Kita bisa menulis kalimatnya “This tree is illustrating the constituency relation” sebagai berikut -

Ketergantungan Tata Bahasa

Ini berlawanan dengan tata bahasa konstituensi dan berdasarkan pada hubungan ketergantungan. Itu diperkenalkan oleh Lucien Tesniere. Tata bahasa ketergantungan (Dependency grammar / DG) berlawanan dengan tata bahasa daerah pemilihan karena tidak memiliki simpul frase.

Contoh

Sebelum memberikan contoh tata bahasa Dependensi, kita perlu mengetahui poin-poin mendasar tentang Tata bahasa Dependensi dan relasi Dependensi.

  • Dalam DG, unit linguistik, yaitu kata-kata dihubungkan satu sama lain melalui tautan langsung.

  • Kata kerja menjadi pusat dari struktur klausa.

  • Setiap unit sintaksis lainnya terhubung ke kata kerja dalam kaitannya dengan tautan terarah. Unit sintaksis ini disebutdependencies.

Kita bisa menulis kalimatnya “This tree is illustrating the dependency relation” sebagai berikut;

Pohon parse yang menggunakan tata bahasa Konstituensi disebut pohon parse berbasis konstituensi; dan pohon parse yang menggunakan tata bahasa dependensi disebut pohon parse berbasis dependensi.

Tata Bahasa Bebas Konteks

Tata bahasa bebas konteks, juga disebut CFG, adalah notasi untuk mendeskripsikan bahasa dan superset dari tata bahasa Reguler. Hal tersebut dapat dilihat pada diagram berikut -

Definisi CFG

CFG terdiri dari seperangkat aturan tata bahasa yang terbatas dengan empat komponen berikut -

Set Non-terminal

Ini dilambangkan dengan V. Non-terminal adalah variabel sintaksis yang menunjukkan himpunan string, yang selanjutnya membantu mendefinisikan bahasa, yang dihasilkan oleh tata bahasa.

Set Terminal

Ini juga disebut token dan didefinisikan oleh Σ. String dibentuk dengan simbol dasar terminal.

Set Produksi

Ini dilambangkan dengan P. Himpunan mendefinisikan bagaimana terminal dan non-terminal dapat digabungkan. Setiap produksi (P) terdiri dari non-terminal, panah, dan terminal (urutan terminal). Non-terminal disebut sisi kiri produksi dan terminal disebut sisi kanan produksi.

Mulai Simbol

Produksi dimulai dari simbol awal. Ini dilambangkan dengan simbol S. Simbol non-terminal selalu ditunjuk sebagai simbol awal.

Tujuan dari analisis semantik adalah untuk menggambarkan arti yang tepat, atau Anda dapat mengatakan arti kamus dari teks. Pekerjaan penganalisis semantik adalah memeriksa makna teks.

Kita sudah mengetahui bahwa analisis leksikal juga berkaitan dengan pengertian dari kata-kata, lalu bagaimana analisis semantik berbeda dengan analisis leksikal? Analisis leksikal didasarkan pada token yang lebih kecil tetapi di sisi lain, analisis semantik berfokus pada potongan yang lebih besar. Itulah mengapa analisis semantik dapat dibagi menjadi dua bagian berikut -

Mempelajari arti kata individu

Ini adalah bagian pertama dari analisis semantik di mana studi tentang arti kata-kata dilakukan. Bagian ini disebut semantik leksikal.

Mempelajari kombinasi kata-kata individu

Pada bagian kedua, setiap kata akan digabungkan untuk memberikan makna dalam kalimat.

Tugas terpenting dari analisis semantik adalah mendapatkan makna kalimat yang tepat. Misalnya menganalisis kalimat“Ram is great.”Dalam kalimat ini, pembicara berbicara tentang Lord Ram atau tentang seseorang yang bernama Ram. Itulah mengapa tugas penganalisis semantik untuk mendapatkan arti yang tepat dari kalimat itu penting.

Elemen Analisis Semantik

Berikut adalah beberapa elemen penting dari analisis semantik -

Hyponymy

Ini dapat didefinisikan sebagai hubungan antara istilah umum dan contoh dari istilah umum itu. Di sini istilah generik disebut hypernym dan contoh-contohnya disebut hiponim. Misalnya, kata color adalah hypernym dan warna biru, kuning, dll. Adalah hiponim.

Kehomoniman

Ini dapat didefinisikan sebagai kata-kata yang memiliki ejaan yang sama atau bentuk yang sama tetapi memiliki arti yang berbeda dan tidak berhubungan. Misalnya, kata “Bat” adalah kata homonymy karena kelelawar bisa menjadi alat untuk memukul bola atau kelelawar juga merupakan mamalia terbang nokturnal.

Hal berarti banyak

Polisemi adalah kata Yunani, yang berarti "banyak tanda". Ini adalah kata atau frase dengan arti yang berbeda tetapi berhubungan. Dengan kata lain, kita dapat mengatakan bahwa polisemi memiliki ejaan yang sama tetapi memiliki arti yang berbeda dan terkait. Misalnya, kata "bank" adalah kata polisemi yang memiliki arti sebagai berikut -

  • Lembaga keuangan.

  • Bangunan tempat lembaga semacam itu berada.

  • Sinonim dari "mengandalkan".

Perbedaan antara Polisemi dan Homonimi

Kata polysemy dan homonymy memiliki sintaks atau ejaan yang sama. Perbedaan utama di antara mereka adalah bahwa dalam polisemi, arti kata-kata itu terkait tetapi dalam homonimi, arti kata-kata itu tidak terkait. Misalnya, jika kita berbicara tentang kata yang sama “Bank”, kita dapat menulis artinya 'lembaga keuangan' atau 'tepi sungai'. Dalam hal itu akan menjadi contoh homonim karena maknanya tidak berhubungan satu sama lain.

Kesinoniman

Ini adalah hubungan antara dua item leksikal yang memiliki bentuk berbeda tetapi mengungkapkan makna yang sama atau dekat. Contohnya adalah 'penulis / penulis', 'nasib / takdir'.

Antonimi

Ini adalah hubungan antara dua item leksikal yang memiliki kesimetrian antara komponen semantik relatif terhadap sumbu. Ruang lingkup antonimi adalah sebagai berikut -

  • Application of property or not - Contohnya adalah 'hidup / mati', 'kepastian / ketidaksertaan'

  • Application of scalable property - Contohnya adalah 'kaya / miskin', 'panas / dingin'

  • Application of a usage - Contohnya adalah 'ayah / anak', 'bulan / matahari'.

Representasi Arti

Analisis semantik menciptakan representasi makna kalimat. Namun sebelum masuk ke konsep dan pendekatan terkait representasi makna, kita perlu memahami blok bangunan sistem semantik.

Blok Bangunan Sistem Semantik

Dalam representasi kata atau representasi dari arti kata-kata, blok bangunan berikut memainkan peran penting -

  • Entities- Ini mewakili individu seperti orang tertentu, lokasi dll. Misalnya, Haryana. India, Ram semuanya adalah entitas.

  • Concepts - Ini mewakili kategori umum individu seperti orang, kota, dll.

  • Relations- Ini mewakili hubungan antara entitas dan konsep. Misalnya, Ram adalah seseorang.

  • Predicates- Ini mewakili struktur kata kerja. Misalnya, peran semantik dan tata bahasa kasus adalah contoh predikat.

Sekarang, kita dapat memahami bahwa representasi makna menunjukkan bagaimana menyusun blok bangunan sistem semantik. Dengan kata lain, ini menunjukkan bagaimana menggabungkan entitas, konsep, relasi, dan predikat untuk menggambarkan suatu situasi. Ini juga memungkinkan penalaran tentang dunia semantik.

Pendekatan untuk Representasi Arti

Analisis semantik menggunakan pendekatan berikut untuk representasi makna -

  • Logika predikat urutan pertama (FOPL)

  • Jaring Semantik

  • Frames

  • Ketergantungan konseptual (CD)

  • Arsitektur berbasis aturan

  • Tata Bahasa Kasus

  • Grafik Konseptual

Kebutuhan Representasi Arti

Pertanyaan yang muncul di sini adalah mengapa kita membutuhkan representasi makna? Berikut ini adalah alasan yang sama -

Menghubungkan unsur linguistik dengan unsur non-linguistik

Alasan pertama adalah bahwa dengan bantuan representasi makna, keterkaitan unsur-unsur linguistik dengan unsur-unsur non-linguistik dapat dilakukan.

Mewakili keragaman pada tingkat leksikal

Dengan bantuan representasi makna, bentuk-bentuk kanonik yang tidak ambigu dapat direpresentasikan di tingkat leksikal.

Bisa digunakan untuk penalaran

Representasi makna dapat digunakan sebagai alasan untuk memverifikasi apa yang benar di dunia serta untuk menyimpulkan pengetahuan dari representasi semantik.

Semantik Leksikal

Bagian pertama dari analisis semantik, mempelajari arti dari setiap kata disebut semantik leksikal. Ini termasuk kata, sub-kata, imbuhan (sub-unit), kata majemuk dan frase juga. Semua kata, sub-kata, dll. Secara kolektif disebut item leksikal. Dengan kata lain, kita dapat mengatakan bahwa semantik leksikal adalah hubungan antara item leksikal, makna kalimat dan sintaks kalimat.

Berikut adalah langkah-langkah yang terlibat dalam semantik leksikal -

  • Klasifikasi item leksikal seperti kata, sub-kata, imbuhan, dll dilakukan dalam semantik leksikal.

  • Penguraian item leksikal seperti kata, sub-kata, imbuhan, dll. Dilakukan dalam semantik leksikal.

  • Perbedaan serta persamaan antara berbagai struktur semantik leksikal juga dianalisis.

Kami memahami bahwa kata-kata memiliki arti yang berbeda berdasarkan konteks penggunaannya dalam kalimat. Jika kita berbicara tentang bahasa manusia, maka bahasa itu juga ambigu karena banyak kata dapat diartikan dengan berbagai cara tergantung pada konteks kemunculannya.

Disambiguasi arti kata, dalam pemrosesan bahasa alami (NLP), dapat diartikan sebagai kemampuan untuk menentukan arti kata mana yang diaktifkan dengan penggunaan kata dalam konteks tertentu. Ambiguitas leksikal, sintaksis atau semantik, adalah salah satu masalah pertama yang dihadapi setiap sistem NLP. Pemberi tag Part-of-speech (POS) dengan tingkat akurasi tinggi dapat menyelesaikan ambiguitas sintaksis Word. Di sisi lain, masalah dalam menyelesaikan ambiguitas semantik disebut WSD (word sense disambiguation). Menyelesaikan ambiguitas semantik lebih sulit daripada menyelesaikan ambiguitas sintaksis.

Misalnya, perhatikan dua contoh arti berbeda yang ada untuk kata tersebut “bass” -

  • Saya bisa mendengar suara bass.

  • Dia suka makan bass panggang.

Terjadinya kata bassdengan jelas menunjukkan arti yang berbeda. Dalam kalimat pertama, artinyafrequency dan kedua, artinya fish. Oleh karena itu, jika disambigasikan oleh WSD maka makna yang benar untuk kalimat di atas dapat diberikan sebagai berikut -

  • Saya bisa mendengar suara bass / frekuensi.

  • Dia suka makan bass / ikan bakar.

Evaluasi WSD

Evaluasi WSD membutuhkan dua masukan berikut -

Sebuah kamus

Masukan pertama untuk evaluasi WSD adalah kamus, yang digunakan untuk menentukan indra yang akan disambigasikan.

Uji Corpus

Input lain yang dibutuhkan oleh WSD adalah korpus tes beranotasi tinggi yang memiliki target atau indra yang benar. Korpora uji dapat terdiri dari dua jenis & minsu;

  • Lexical sample - Corpora jenis ini digunakan dalam sistem, di mana diperlukan untuk menghilangkan sedikit contoh kata.

  • All-words - Corpora semacam ini digunakan dalam sistem, yang diharapkan dapat menghilangkan ambiguitas semua kata dalam sebuah running text.

Pendekatan dan Metode untuk Word Sense Disambiguation (WSD)

Pendekatan dan metode untuk WSD diklasifikasikan menurut sumber pengetahuan yang digunakan dalam disambiguasi kata.

Sekarang mari kita lihat empat metode konvensional untuk WSD -

Metode Berbasis Kamus atau Pengetahuan

Seperti namanya, untuk disambiguasi, metode ini terutama mengandalkan kamus, harta karun, dan basis pengetahuan leksikal. Mereka tidak menggunakan bukti corpora untuk disambiguasi. Metode Lesk adalah metode berbasis kamus mani yang diperkenalkan oleh Michael Lesk pada tahun 1986. Definisi Lesk, yang mendasari algoritma Lesk“measure overlap between sense definitions for all words in context”. Namun, pada tahun 2000, Kilgarriff dan Rosensweig memberikan definisi Lesk yang disederhanakan sebagai“measure overlap between sense definitions of word and current context”, yang selanjutnya berarti mengidentifikasi arti yang benar untuk satu kata pada satu waktu. Di sini konteks saat ini adalah sekumpulan kata-kata di sekitar kalimat atau paragraf.

Metode yang Diawasi

Untuk menghilangkan keraguan, metode pembelajaran mesin menggunakan corpora beranotasi pengertian untuk dilatih. Metode-metode ini mengasumsikan bahwa konteks dapat memberikan cukup bukti dengan sendirinya untuk menghilangkan pengertiannya. Dalam metode ini, kata pengetahuan dan nalar dianggap tidak perlu. Konteks direpresentasikan sebagai sekumpulan "fitur" dari kata-kata. Ini termasuk informasi tentang kata-kata di sekitarnya juga. Mendukung mesin vektor dan pembelajaran berbasis memori adalah pendekatan pembelajaran terawasi yang paling berhasil untuk WSD. Metode ini mengandalkan sejumlah besar korpora yang diberi tag indra secara manual, yang pembuatannya sangat mahal.

Metode Semi-supervisi

Karena kurangnya korpus pelatihan, sebagian besar algoritma disambiguasi arti kata menggunakan metode pembelajaran semi-supervised. Itu karena metode semi-supervised menggunakan data berlabel maupun tidak berlabel. Metode ini memerlukan teks beranotasi dalam jumlah sangat kecil dan teks polos tanpa anotasi dalam jumlah besar. Teknik yang digunakan metode semisupervised adalah bootstrap dari data seed.

Metode Tanpa Pengawasan

Metode ini mengasumsikan bahwa indra yang serupa terjadi dalam konteks yang serupa. Itulah mengapa indra dapat diinduksi dari teks dengan mengelompokkan kemunculan kata dengan menggunakan beberapa ukuran kesamaan konteks. Tugas ini disebut induksi atau diskriminasi pengertian kata. Metode tanpa pengawasan memiliki potensi besar untuk mengatasi kemacetan akuisisi pengetahuan karena tidak bergantung pada upaya manual.

Aplikasi Word Sense Disambiguation (WSD)

Word sense disambiguation (WSD) diterapkan di hampir setiap aplikasi teknologi bahasa.

Sekarang mari kita lihat cakupan WSD -

Mesin penerjemah

Terjemahan mesin atau MT adalah aplikasi WSD yang paling jelas. Di MT, pilihan leksikal untuk kata-kata yang memiliki terjemahan berbeda untuk pengertian yang berbeda, dilakukan oleh WSD. Indra di MT direpresentasikan sebagai kata-kata dalam bahasa target. Sebagian besar sistem terjemahan mesin tidak menggunakan modul WSD eksplisit.

Pengambilan Informasi (IR)

Pengambilan informasi (IR) dapat didefinisikan sebagai program perangkat lunak yang berhubungan dengan organisasi, penyimpanan, pengambilan dan evaluasi informasi dari repositori dokumen terutama informasi tekstual. Sistem pada dasarnya membantu pengguna dalam menemukan informasi yang mereka butuhkan tetapi tidak secara eksplisit mengembalikan jawaban dari pertanyaan. WSD digunakan untuk menyelesaikan ambiguitas kueri yang diberikan ke sistem IR. Seperti halnya MT, sistem IR saat ini tidak secara eksplisit menggunakan modul WSD dan mereka mengandalkan konsep bahwa pengguna akan mengetikkan konteks yang cukup dalam kueri untuk hanya mengambil dokumen yang relevan.

Penambangan Teks dan Ekstraksi Informasi (IE)

Di sebagian besar aplikasi, WSD diperlukan untuk melakukan analisis teks yang akurat. Misalnya, WSD membantu sistem pengumpulan cerdas untuk menandai kata-kata yang benar. Misalnya, sistem intelijen medis mungkin perlu menandai "obat-obatan terlarang" daripada "obat-obatan medis"

Leksikografi

WSD dan leksikografi dapat bekerja sama dalam satu lingkaran karena leksikografi modern berbasis korpus. Dengan leksikografi, WSD memberikan pengelompokan pengertian empiris yang kasar serta indikator kontekstual yang signifikan secara statistik.

Kesulitan dalam Word Sense Disambiguation (WSD)

Berikut adalah beberapa kesulitan yang dihadapi oleh word sense disambiguation (WSD) -

Perbedaan antar kamus

Masalah utama dari WSD adalah menentukan arti kata tersebut karena pengertian yang berbeda dapat sangat erat terkait. Bahkan kamus dan tesaurus yang berbeda dapat memberikan pembagian kata yang berbeda ke dalam pengertian.

Algoritme berbeda untuk aplikasi berbeda

Masalah lain dari WSD adalah bahwa algoritma yang sama sekali berbeda mungkin diperlukan untuk aplikasi yang berbeda. Misalnya, dalam terjemahan mesin, ia mengambil bentuk pemilihan kata target; dan dalam pencarian informasi, inventaris pengertian tidak diperlukan.

Varians antar hakim

Masalah lain dari WSD adalah bahwa sistem WSD umumnya diuji dengan mendapatkan hasil pada suatu tugas dibandingkan dengan tugas manusia. Ini disebut masalah varians interjudge.

Kebijaksanaan pengertian kata

Kesulitan lain dalam WSD adalah kata-kata tidak dapat dengan mudah dibagi menjadi sub-arti tersendiri.

Masalah tersulit dari AI adalah mengolah bahasa alami oleh komputer atau dengan kata lain pemrosesan bahasa alami merupakan masalah tersulit dalam kecerdasan buatan. Jika kita berbicara tentang masalah utama dalam NLP, maka salah satu masalah utama dalam NLP adalah pemrosesan wacana - membangun teori dan model tentang bagaimana ucapan-ucapan saling menempel membentukcoherent discourse. Sebenarnya, bahasa tersebut selalu terdiri dari kumpulan kalimat yang berurutan, terstruktur dan koheren daripada kalimat yang terisolasi dan tidak terkait seperti film. Kelompok kalimat yang koheren ini disebut sebagai wacana.

Konsep Koherensi

Koherensi dan struktur wacana saling berhubungan dalam banyak hal. Koherensi, bersama dengan properti teks yang baik, digunakan untuk mengevaluasi kualitas keluaran sistem pembangkitan bahasa alami. Pertanyaan yang muncul di sini adalah apa yang dimaksud dengan teks yang koheren? Misalkan kita mengumpulkan satu kalimat dari setiap halaman koran, apakah itu akan menjadi wacana? Tentu saja tidak. Itu karena kalimat-kalimat ini tidak menunjukkan koherensi. Wacana yang koheren harus memiliki properti berikut -

Hubungan koherensi antar ucapan

Wacana tersebut akan koheren jika memiliki hubungan yang bermakna di antara ucapannya. Properti ini disebut hubungan koherensi. Misalnya, semacam penjelasan harus ada untuk membenarkan hubungan antara ucapan.

Hubungan antar entitas

Properti lain yang membuat wacana koheren adalah harus ada jenis hubungan tertentu dengan entitas. Koherensi semacam itu disebut koherensi berbasis entitas.

Struktur wacana

Sebuah pertanyaan penting tentang wacana adalah seperti apa struktur wacana itu. Jawaban atas pertanyaan ini bergantung pada segmentasi yang kita terapkan pada wacana. Segmentasi wacana dapat didefinisikan sebagai penentu jenis struktur wacana besar. Melakukan segmentasi wacana memang cukup sulit, tetapi sangat penting untuk dilakukaninformation retrieval, text summarization and information extraction jenis aplikasi.

Algoritma untuk Segmentasi Wacana

Pada bagian ini, kita akan mempelajari tentang algoritma untuk segmentasi wacana. Algoritme dijelaskan di bawah -

Segmentasi Wacana Tanpa Pengawasan

Kelas segmentasi wacana tanpa pengawasan sering direpresentasikan sebagai segmentasi linier. Kita dapat memahami tugas segmentasi linier dengan bantuan sebuah contoh. Dalam contoh, ada tugas untuk membagi teks menjadi unit multi-paragraf; unit mewakili bagian dari teks asli. Algoritma ini bergantung pada kohesi yang dapat didefinisikan sebagai penggunaan perangkat linguistik tertentu untuk mengikat unit tekstual bersama. Di sisi lain, kohesi leksikon adalah kohesi yang ditunjukkan oleh hubungan antara dua kata atau lebih dalam dua unit seperti penggunaan sinonim.

Segmentasi Wacana yang Dibimbing

Metode sebelumnya tidak memiliki batas segmen berlabel tangan. Di sisi lain, segmentasi wacana yang diawasi perlu memiliki data pelatihan berlabel batas. Sangat mudah untuk mendapatkan yang sama. Dalam segmentasi wacana terbimbing, penanda wacana atau kata-kata isyarat memainkan peran penting. Penanda wacana atau kata isyarat adalah kata atau frase yang berfungsi untuk memberi sinyal pada struktur wacana. Penanda wacana ini khusus domain.

Koherensi Teks

Pengulangan leksikal adalah cara untuk menemukan struktur dalam suatu wacana, tetapi tidak memenuhi syarat untuk menjadi wacana yang koheren. Untuk mencapai wacana yang koheren, kita harus fokus pada hubungan koherensi secara spesifik. Seperti kita ketahui bahwa hubungan koherensi mendefinisikan kemungkinan hubungan antara ujaran dalam sebuah wacana. Hebb telah mengusulkan hubungan semacam itu sebagai berikut -

Kami mengambil dua istilah S0 dan S1 untuk mewakili arti dari dua kalimat terkait -

Hasil

Ini menyimpulkan bahwa negara ditegaskan dengan istilah S0 dapat menyebabkan negara ditegaskan oleh S1. Sebagai contoh, dua pernyataan menunjukkan hasil hubungan: Ram terjebak dalam api. Kulitnya terbakar.

Penjelasan

Ini menyimpulkan bahwa negara ditegaskan oleh S1 dapat menyebabkan negara ditegaskan oleh S0. Misalnya, dua pernyataan menunjukkan hubungannya - Rama bertengkar dengan teman Shyam. Dia mabuk.

Paralel

Ini menyimpulkan p (a1, a2,…) dari pernyataan S0 dan p (b1, b2,…) dari pernyataan S1. Di sini ai dan bi serupa untuk semua i. Misalnya, dua pernyataan sejajar - Mobil buronan Ram. Shyam menginginkan uang.

Elaborasi

Ini menyimpulkan proposisi P yang sama dari kedua pernyataan - S0 dan S1Misalnya, dua pernyataan menunjukkan elaborasi relasi: Ram berasal dari Chandigarh. Shyam berasal dari Kerala.

Kesempatan

Itu terjadi ketika perubahan keadaan dapat disimpulkan dari pernyataan S0, keadaan akhir yang dapat disimpulkan S1dan sebaliknya. Misalnya, dua pernyataan menunjukkan peristiwa hubungan: Ram mengambil bukunya. Dia memberikannya pada Shyam.

Membangun Struktur Wacana Hirarkis

Koherensi seluruh wacana juga dapat dipertimbangkan oleh struktur hierarki antara hubungan koherensi. Misalnya, bagian berikut dapat direpresentasikan sebagai struktur hierarki -

  • S1 - Ram pergi ke bank untuk menyetor uang.

  • S2 - Dia kemudian naik kereta ke toko kain Shyam.

  • S3 - Dia ingin membeli beberapa pakaian.

  • S4 - Dia tidak punya baju baru untuk pesta.

  • S5 - Dia juga ingin berbicara dengan Shyam tentang kesehatannya

Resolusi Referensi

Interpretasi kalimat dari setiap wacana adalah tugas penting lainnya dan untuk mencapai ini kita perlu mengetahui siapa atau entitas apa yang dibicarakan. Di sini, referensi interpretasi adalah elemen kuncinya.Referencedapat didefinisikan sebagai ekspresi linguistik untuk menunjukkan suatu entitas atau individu. Misalnya, di bagian ini, Ram , manajer bank ABC , melihat nya teman Shyam di toko. Dia pergi menemuinya, ekspresi linguistik seperti Ram, His, He adalah referensi.

Pada catatan yang sama, reference resolution dapat didefinisikan sebagai tugas untuk menentukan entitas apa yang dirujuk oleh ekspresi linguistik.

Terminologi yang Digunakan dalam Resolusi Referensi

Kami menggunakan terminologi berikut dalam resolusi referensi -

  • Referring expression- Ekspresi bahasa alami yang digunakan untuk melakukan referensi disebut ekspresi rujukan. Misalnya, bagian yang digunakan di atas adalah ungkapan pengarah.

  • Referent- Ini adalah entitas yang dirujuk. Misalnya, dalam contoh terakhir yang diberikan Ram adalah referensi.

  • Corefer- Ketika dua ekspresi digunakan untuk merujuk ke entitas yang sama, mereka disebut corefers. Sebagai contoh,Ram dan he adalah orang inti.

  • Antecedent- Istilah memiliki lisensi untuk menggunakan istilah lain. Sebagai contoh,Ram adalah anteseden referensi he.

  • Anaphora & Anaphoric- Ini dapat didefinisikan sebagai referensi ke entitas yang sebelumnya telah dimasukkan ke dalam kalimat. Dan, ekspresi pengarah disebut anaphoric.

  • Discourse model - Model yang memuat representasi dari entitas yang dirujuk dalam wacana dan hubungan yang mereka jalani.

Jenis Ekspresi Pengacu

Sekarang mari kita lihat berbagai jenis ekspresi pengarah. Lima jenis ekspresi pengarah dijelaskan di bawah ini -

Frase Kata Benda Tidak Terbatas

Referensi semacam itu mewakili entitas yang baru bagi pendengar dalam konteks wacana. Misalnya - dalam kalimat Ram suatu hari pergi untuk membawakannya makanan - beberapa adalah referensi yang tidak terbatas.

Frasa Kata Benda Pasti

Berlawanan dengan di atas, jenis referensi semacam itu mewakili entitas yang tidak baru atau dapat diidentifikasi oleh pendengar ke dalam konteks wacana. Misalnya, dalam kalimat - saya biasa membaca The Times of India - The Times of India adalah referensi yang pasti.

Kata ganti

Ini adalah bentuk referensi yang pasti. Misalnya, Ram tertawa sekeras yang dia bisa. Katahe mewakili ekspresi merujuk kata ganti.

Demonstratif

Ini menunjukkan dan berperilaku berbeda dari kata ganti pasti sederhana. Misalnya, ini dan itu adalah kata ganti demonstratif.

Nama

Ini adalah jenis ekspresi pengarah yang paling sederhana. Ini bisa menjadi nama seseorang, organisasi dan lokasi juga. Misalnya, dalam contoh di atas, Ram adalah ekspresi wasit nama.

Referensi Resolusi Tugas

Dua tugas resolusi referensi dijelaskan di bawah ini.

Resolusi Coreference

Ini adalah tugas menemukan ekspresi rujukan dalam teks yang merujuk ke entitas yang sama. Dengan kata sederhana, ini adalah tugas untuk menemukan ekspresi inti. Satu set ekspresi coreferring disebut rantai coreference. Misalnya - He, Chief Manager dan His - ini adalah ekspresi acuan di bagian pertama yang diberikan sebagai contoh.

Batasan pada Resolusi Coreference

Dalam bahasa Inggris, masalah utama dari resolusi inti adalah kata ganti itu. Alasan di balik ini adalah karena kata ganti memiliki banyak kegunaan. Misalnya, itu bisa merujuk seperti dia dan dia. Kata ganti itu juga mengacu pada hal-hal yang tidak mengacu pada hal-hal tertentu. Misalnya, sedang hujan. Ini sangat bagus.

Resolusi Anaphora Pronominal

Berbeda dengan resolusi coreference, resolusi anaphora pronominal dapat didefinisikan sebagai tugas menemukan anteseden untuk satu kata ganti. Misalnya, kata ganti adalah his dan tugas dari resolusi pronominal anaphora adalah menemukan kata Ram karena Ram adalah antesedennya.

Pemberian tag adalah sejenis klasifikasi yang dapat didefinisikan sebagai penetapan otomatis deskripsi ke token. Di sini deskriptor disebut tag, yang mungkin mewakili salah satu bagian-of-speech, informasi semantik, dan seterusnya.

Sekarang, jika kita berbicara tentang penandaan Part-of-Speech (PoS), maka itu dapat didefinisikan sebagai proses penugasan salah satu bagian ucapan ke kata tertentu. Ini umumnya disebut penandaan POS. Dengan kata sederhana, kita dapat mengatakan bahwa penandaan POS adalah tugas memberi label pada setiap kata dalam kalimat dengan bagian ucapan yang sesuai. Kita sudah tahu bahwa parts of speech mencakup kata benda, kata kerja, kata keterangan, kata sifat, kata ganti, konjungsi, dan subkategorinya.

Sebagian besar penandaan POS termasuk dalam penandaan Rule Base POS, penandaan POS Stochastic, dan penandaan berbasis Transformasi.

Pemberian Tag POS berbasis aturan

Salah satu teknik penandaan tertua adalah penandaan POS berbasis aturan. Pemberi tag berbasis aturan menggunakan kamus atau leksikon untuk mendapatkan kemungkinan tag untuk menandai setiap kata. Jika kata tersebut memiliki lebih dari satu kemungkinan tag, maka pemberi tag berbasis aturan menggunakan aturan yang ditulis tangan untuk mengidentifikasi tag yang benar. Disambiguasi juga dapat dilakukan dalam penandaan berbasis aturan dengan menganalisis fitur linguistik dari sebuah kata bersama dengan kata-kata sebelumnya dan kata-kata berikutnya. Misalnya, jika kata sebelumnya dari sebuah kata adalah artikel maka kata tersebut haruslah kata benda.

Seperti namanya, semua jenis informasi dalam penandaan POS berbasis aturan dikodekan dalam bentuk aturan. Aturan ini bisa berupa -

  • Aturan pola konteks

  • Atau, sebagai ekspresi reguler yang dikompilasi menjadi automata keadaan-hingga, berpotongan dengan representasi kalimat yang ambigu secara leksikal.

Kita juga dapat memahami penandaan POS berbasis aturan dengan arsitektur dua tahapnya -

  • First stage - Pada tahap pertama, menggunakan kamus untuk menetapkan setiap kata daftar potensi part-of-speech.

  • Second stage - Pada tahap kedua, ia menggunakan daftar besar aturan disambiguasi tulisan tangan untuk mengurutkan daftar menjadi satu bagian ucapan untuk setiap kata.

Properti Penandaan POS Berbasis Aturan

Pemberi tag POS berbasis aturan memiliki properti berikut -

  • Pemberi tag ini adalah pemberi tag berdasarkan pengetahuan.

  • Aturan dalam penandaan POS berbasis aturan dibuat secara manual.

  • Informasi tersebut dikodekan dalam bentuk aturan.

  • Kami memiliki sejumlah aturan terbatas sekitar 1000.

  • Pemulusan dan pemodelan bahasa didefinisikan secara eksplisit dalam tagger berbasis aturan.

Penandaan POS Stochastic

Teknik penandaan lainnya adalah Stochastic POS Tagging. Sekarang, pertanyaan yang muncul di sini adalah model mana yang bisa menjadi stokastik. Model yang menyertakan frekuensi atau probabilitas (statistik) bisa disebut stokastik. Sejumlah pendekatan berbeda untuk masalah penandaan part-of-speech dapat disebut sebagai penandaan stokastik.

Stochastic tagger paling sederhana menerapkan pendekatan berikut untuk penandaan POS -

Pendekatan Frekuensi Kata

Dalam pendekatan ini, stochastic taggers menguraikan kata-kata tersebut berdasarkan probabilitas bahwa sebuah kata muncul dengan tag tertentu. Kita juga dapat mengatakan bahwa tag yang paling sering ditemukan dengan kata dalam set pelatihan adalah tag yang ditetapkan untuk contoh kata yang ambigu. Masalah utama dengan pendekatan ini adalah mungkin menghasilkan urutan tag yang tidak dapat diterima.

Probabilitas Urutan Tag

Ini adalah pendekatan lain dari pemberian tag stokastik, di mana pemberi tag menghitung kemungkinan terjadinya urutan tag tertentu. Ini juga disebut pendekatan n-gram. Disebut demikian karena tag terbaik untuk kata tertentu ditentukan oleh probabilitas kemunculannya dengan n tag sebelumnya.

Sifat Stochastic POST Tagging

Stochastic POS taggers memiliki properti berikut -

  • Pemberian tag POS ini didasarkan pada kemungkinan terjadinya tag.

  • Ini membutuhkan korpus pelatihan

  • Tidak ada kemungkinan untuk kata-kata yang tidak ada dalam korpus.

  • Ini menggunakan korpus pengujian yang berbeda (selain korpus pelatihan).

  • Ini adalah penandaan POS paling sederhana karena memilih tag yang paling sering dikaitkan dengan kata dalam korpus pelatihan.

Penandaan Berbasis Transformasi

Penandaan berbasis transformasi juga disebut penandaan Brill. Ini adalah contoh dari pembelajaran berbasis transformasi (TBL), yang merupakan algoritma berbasis aturan untuk penandaan otomatis POS ke teks yang diberikan. TBL, memungkinkan kita memiliki pengetahuan linguistik dalam bentuk yang dapat dibaca, mengubah satu keadaan ke keadaan lain dengan menggunakan aturan transformasi.

Ini menarik inspirasi dari kedua tagger yang dijelaskan sebelumnya - berbasis aturan dan stokastik. Jika kita melihat kesamaan antara rule-based dan tranformation tagger, maka seperti rule-based, hal ini juga berdasarkan pada rules yang menentukan tag apa yang perlu diberikan ke kata apa. Di sisi lain, jika kita melihat kemiripan antara tagger stokastik dan transformasi maka seperti stokastik, itu adalah teknik pembelajaran mesin di mana aturan secara otomatis diinduksi dari data.

Cara Kerja Transformation Based Learning (TBL)

Untuk memahami cara kerja dan konsep tagger berbasis transformasi, kita perlu memahami cara kerja pembelajaran berbasis transformasi. Pertimbangkan langkah-langkah berikut untuk memahami cara kerja TBL -

  • Start with the solution - TBL biasanya dimulai dengan beberapa solusi untuk masalah dan bekerja dalam beberapa siklus.

  • Most beneficial transformation chosen - Dalam setiap siklus, TBL akan memilih transformasi yang paling menguntungkan.

  • Apply to the problem - Transformasi yang dipilih pada langkah terakhir akan diterapkan ke masalah.

Algoritme akan berhenti ketika transformasi yang dipilih pada langkah 2 tidak akan menambah nilai lebih atau tidak ada lagi transformasi untuk dipilih. Jenis pembelajaran seperti ini paling cocok untuk tugas klasifikasi.

Keuntungan Pembelajaran Berbasis Transformasi (TBL)

Keunggulan TBL adalah sebagai berikut -

  • Kami mempelajari sekumpulan kecil aturan sederhana dan aturan ini cukup untuk pemberian tag.

  • Pengembangan serta debugging sangat mudah di TBL karena aturan yang dipelajari mudah dipahami.

  • Kompleksitas dalam penandaan berkurang karena di TBL ada jalinan aturan yang dipelajari mesin dan yang dibuat oleh manusia.

  • Pemberi tag berbasis transformasi jauh lebih cepat daripada penanda model Markov.

Kekurangan Pembelajaran Berbasis Transformasi (TBL)

Kerugian dari TBL adalah sebagai berikut -

  • Pembelajaran berbasis transformasi (TBL) tidak memberikan probabilitas tag.

  • Di TBL waktu pelatihan sangat lama terutama pada perusahaan besar.

Penandaan POS Hidden Markov Model (HMM)

Sebelum mendalami penandaan POS HMM, kita harus memahami konsep Hidden Markov Model (HMM).

Model Markov Tersembunyi

Model HMM dapat didefinisikan sebagai model stokastik tertanam ganda, di mana proses stokastik yang mendasarinya tersembunyi. Proses stokastik tersembunyi ini hanya dapat diamati melalui sekumpulan proses stokastik lainnya yang menghasilkan urutan pengamatan.

Contoh

Misalnya, urutan percobaan melempar koin tersembunyi dilakukan dan kita hanya melihat urutan pengamatan yang terdiri dari kepala dan ekor. Rincian sebenarnya dari proses tersebut - berapa banyak koin yang digunakan, urutan pemilihannya - disembunyikan dari kami. Dengan mengamati urutan head dan tails ini, kita dapat membangun beberapa HMM untuk menjelaskan urutannya. Berikut adalah salah satu bentuk Model Markov Tersembunyi untuk masalah ini -

Kami berasumsi bahwa ada dua negara bagian di HMM dan masing-masing negara bagian tersebut sesuai dengan pemilihan koin bias yang berbeda. Matriks berikut memberikan probabilitas transisi status -

$$A = \begin{bmatrix}a11 & a12 \\a21 & a22 \end{bmatrix}$$

Sini,

  • aij = probabilitas transisi dari satu keadaan ke keadaan lain dari i ke j.

  • a11 + a12= 1 dan 21 + a 22 = 1

  • P1 = probabilitas kepala koin pertama, yaitu bias koin pertama.

  • P2 = probabilitas kepala koin kedua, yaitu bias koin kedua.

Kami juga dapat membuat model HMM dengan asumsi ada 3 koin atau lebih.

Dengan cara ini, kita dapat mengkarakterisasi HMM dengan elemen berikut -

  • N, banyaknya state dalam model (dalam contoh di atas N = 2, hanya dua state).

  • M, jumlah pengamatan berbeda yang dapat muncul dengan setiap status pada contoh di atas M = 2, yaitu, H atau T).

  • A, distribusi probabilitas transisi status - matriks A dalam contoh di atas.

  • P, distribusi probabilitas simbol yang dapat diamati di setiap status (dalam contoh kita P1 dan P2).

  • I, distribusi keadaan awal.

Penggunaan HMM untuk Penandaan POS

Proses penandaan POS adalah proses menemukan urutan tag yang paling mungkin menghasilkan urutan kata tertentu. Kita dapat memodelkan proses POS ini dengan menggunakan Hidden Markov Model (HMM), dimanatags adalah hidden states yang menghasilkan observable output, yaitu, words.

Secara matematis, dalam penandaan POS, kami selalu tertarik untuk menemukan urutan tag (C) yang memaksimalkan -

P (C|W)

Dimana,

C = C 1 , C 2 , C 3 ... C T

W = W 1 , W 2 , W 3 , W T

Di sisi lain, faktanya adalah kita membutuhkan banyak data statistik untuk memperkirakan secara wajar urutan semacam itu. Namun, untuk menyederhanakan masalah, kita dapat menerapkan beberapa transformasi matematis beserta beberapa asumsi.

Penggunaan HMM untuk melakukan penandaan POS adalah kasus khusus gangguan Bayesian. Oleh karena itu, kita akan mulai dengan mengulang masalah menggunakan aturan Bayes, yang mengatakan bahwa probabilitas bersyarat yang disebutkan di atas sama dengan -

(PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT)) / PROB (W1,..., WT)

Kita dapat menghilangkan penyebut dalam semua kasus ini karena kita tertarik untuk menemukan barisan C yang memaksimalkan nilai di atas. Ini tidak akan mempengaruhi jawaban kita. Sekarang, masalah kita berkurang menjadi menemukan urutan C yang memaksimalkan -

PROB (C1,..., CT) * PROB (W1,..., WT | C1,..., CT) (1)

Bahkan setelah mengurangi masalah pada ekspresi di atas, itu akan membutuhkan data dalam jumlah besar. Kita dapat membuat asumsi independensi yang masuk akal tentang dua kemungkinan pada ekspresi di atas untuk mengatasi masalah.

Asumsi Pertama

Probabilitas suatu tag tergantung pada tag sebelumnya (model bigram) atau dua sebelumnya (model trigram) atau tag n sebelumnya (model n-gram) yang secara matematis dapat dijelaskan sebagai berikut -

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-n+1…Ci-1) (n-gram model)

PROB (C1,..., CT) = Πi=1..T PROB (Ci|Ci-1) (bigram model)

Awal kalimat dapat dihitung dengan mengasumsikan probabilitas awal untuk setiap tag.

PROB (C1|C0) = PROB initial (C1)

Asumsi Kedua

Probabilitas kedua dalam persamaan (1) di atas dapat didekati dengan mengasumsikan bahwa sebuah kata muncul dalam kategori yang tidak bergantung pada kata-kata dalam kategori sebelumnya atau selanjutnya yang dapat dijelaskan secara matematis sebagai berikut -

PROB (W1,..., WT | C1,..., CT) = Πi=1..T PROB (Wi|Ci)

Sekarang, berdasarkan dua asumsi di atas, tujuan kita berkurang menjadi menemukan urutan C yang memaksimalkan

Πi=1...T PROB(Ci|Ci-1) * PROB(Wi|Ci)

Sekarang pertanyaan yang muncul di sini adalah mengubah masalah ke bentuk di atas sangat membantu kami. Jawabannya adalah - ya, benar. Jika kita memiliki korpus bertanda besar, maka dua probabilitas dalam rumus di atas dapat dihitung sebagai -

PROB (Ci=VERB|Ci-1=NOUN) = (# of instances where Verb follows Noun) / (# of instances where Noun appears) (2)

PROB (Wi|Ci) = (# of instances where Wi appears in Ci) /(# of instances where Ci appears) (3)

Dalam bab ini, kita akan membahas permulaan bahasa alami dalam Pengolahan Bahasa Alami. Untuk memulainya, pertama-tama mari kita pahami apa itu Tata Bahasa Bahasa Alami.

Tata Bahasa Bahasa Alami

Untuk linguistik, bahasa adalah sekelompok tanda vokal yang berubah-ubah. Kita dapat mengatakan bahwa bahasa itu kreatif, diatur oleh aturan, bawaan serta universal pada saat yang bersamaan. Di sisi lain, secara manusiawi juga. Sifat bahasa berbeda untuk orang yang berbeda. Ada banyak kesalahpahaman tentang sifat bahasa tersebut. Itulah mengapa sangat penting untuk memahami arti dari istilah ambigu tersebut‘grammar’. Dalam linguistik, istilah tata bahasa dapat didefinisikan sebagai aturan atau prinsip dengan bantuan bahasa mana yang berfungsi. Dalam arti luas, kita dapat membagi tata bahasa dalam dua kategori -

Tata Bahasa Deskriptif

Seperangkat aturan, di mana linguistik dan tata bahasa merumuskan tata bahasa pembicara disebut tata bahasa deskriptif.

Tata Bahasa Perspektif

Ini adalah pengertian tata bahasa yang sangat berbeda, yang berusaha mempertahankan standar kebenaran dalam bahasa tersebut. Kategori ini tidak ada hubungannya dengan cara kerja bahasa yang sebenarnya.

Komponen Bahasa

Bahasa studi dibagi menjadi komponen yang saling terkait, yang konvensional serta divisi investigasi linguistik yang sewenang-wenang. Penjelasan dari komponen tersebut adalah sebagai berikut -

Fonologi

Komponen bahasa pertama adalah fonologi. Ini adalah studi tentang suara ucapan dari bahasa tertentu. Asal usul kata tersebut dapat ditelusuri ke bahasa Yunani, di mana 'telepon' berarti suara atau suara. Fonetik, subdivisi fonologi adalah studi tentang suara ucapan bahasa manusia dari perspektif produksi, persepsi, atau sifat fisiknya. IPA (International Phonetic Alphabet) adalah alat yang merepresentasikan suara manusia secara teratur saat mempelajari fonologi. Dalam IPA, setiap simbol tertulis mewakili satu dan hanya satu suara ucapan dan sebaliknya.

Fonem

Ini dapat didefinisikan sebagai salah satu unit suara yang membedakan satu kata dari kata lain dalam suatu bahasa. Dalam linguistik, fonem ditulis di antara garis miring. Misalnya fonem/k/ terjadi pada kata-kata seperti kit, skit.

Morfologi

Ini adalah komponen bahasa kedua. Ini adalah studi tentang struktur dan klasifikasi kata-kata dalam bahasa tertentu. Asal kata tersebut berasal dari bahasa Yunani, dimana kata 'morphe' berarti 'bentuk'. Morfologi mempertimbangkan prinsip-prinsip pembentukan kata-kata dalam suatu bahasa. Dengan kata lain, bagaimana suara bergabung menjadi unit yang bermakna seperti prefiks, sufiks, dan akar. Ini juga mempertimbangkan bagaimana kata-kata dapat dikelompokkan menjadi bagian-bagian pidato.

Lexeme

Dalam linguistik, unit abstrak dari analisis morfologi yang berhubungan dengan sekumpulan bentuk yang diambil oleh satu kata disebut lexeme. Cara penggunaan leksem dalam sebuah kalimat ditentukan oleh kategori tata bahasanya. Lexeme dapat berupa kata individu atau multi kata. Misalnya, kata bicara adalah contoh dari kata leksem individu, yang mungkin memiliki banyak varian tata bahasa seperti berbicara, berbicara dan berbicara. Leksem multiword dapat terdiri dari lebih dari satu kata ortografik. Misalnya, speak up, pull through, dll. Adalah contoh leksem multiword.

Sintaksis

Ini adalah komponen bahasa ketiga. Ini adalah studi tentang urutan dan pengaturan kata-kata menjadi unit yang lebih besar. Kata itu dapat ditelusuri ke bahasa Yunani, di mana kata suntassein berarti 'menertibkan'. Ini mempelajari jenis kalimat dan strukturnya, klausa, frasa.

Semantik

Ini adalah komponen bahasa keempat. Ini adalah studi tentang bagaimana makna disampaikan. Makna bisa terkait dengan dunia luar atau bisa terkait dengan tata bahasa kalimat. Kata tersebut dapat ditelusuri ke bahasa Yunani, di mana kata semainein berarti 'menandakan', 'menunjukkan', 'memberi isyarat'.

Pragmatis

Ini adalah komponen bahasa kelima. Ini adalah studi tentang fungsi bahasa dan penggunaannya dalam konteks. Asal usul kata tersebut dapat ditelusuri ke bahasa Yunani di mana kata 'pragma' berarti 'perbuatan', 'perselingkuhan'.

Kategori Tata Bahasa

Kategori tata bahasa dapat didefinisikan sebagai kelas unit atau fitur dalam tata bahasa suatu bahasa. Unit-unit ini adalah blok bangunan bahasa dan berbagi sekumpulan karakteristik yang sama. Kategori tata bahasa juga disebut fitur tata bahasa.

Daftar kategori tata bahasa dijelaskan di bawah ini -

Jumlah

Ini adalah kategori tata bahasa yang paling sederhana. Kami memiliki dua istilah yang terkait dengan kategori ini −singular dan jamak. Singular adalah konsep 'satu' sedangkan, jamak adalah konsep 'lebih dari satu'. Misalnya, anjing / anjing, ini / ini.

Jenis kelamin

Gender gramatikal diekspresikan oleh variasi dalam kata ganti orang dan orang ketiga. Contoh gramatikal jenis kelamin adalah tunggal - he, she, it; bentuk orang pertama dan kedua - saya, kami dan Anda; bentuk jamak orang ketiga, mereka adalah jenis kelamin umum atau jenis kelamin netral.

Orang

Kategori tata bahasa sederhana lainnya adalah orang. Di bawah ini, tiga istilah berikut diakui -

  • 1st person - Orang yang berbicara dikenali sebagai orang pertama.

  • 2nd person - Orang yang menjadi pendengar atau yang diajak bicara diakui sebagai orang ke-2.

  • 3rd person - Orang atau hal yang kita bicarakan dikenali sebagai orang ketiga.

Kasus

Ini adalah salah satu kategori tata bahasa yang paling sulit. Ini dapat didefinisikan sebagai indikasi fungsi frase kata benda (NP) atau hubungan frase kata benda dengan kata kerja atau dengan frase kata benda lain dalam kalimat. Kami memiliki tiga kasus berikut yang diekspresikan dalam kata ganti pribadi dan interogatif -

  • Nominative case- Ini adalah fungsi subjek. Misalnya, saya, kami, Anda, dia, dia, itu, mereka dan siapa yang nominatif.

  • Genitive case- Ini adalah fungsi pemilik. Misalnya my / mine, our / ours, his, her / hers, its, their / theirs, yang genitive.

  • Objective case- Ini adalah fungsi objek. Misalnya, saya, kami, Anda, dia, dia, mereka, yang objektif.

Gelar

Kategori tata bahasa ini terkait dengan kata sifat dan kata keterangan. Ini memiliki tiga istilah berikut -

  • Positive degree- Ini mengungkapkan kualitas. Misalnya, besar, cepat, indah adalah derajat positif.

  • Comparative degree- Ini mengungkapkan derajat atau intensitas kualitas yang lebih besar dalam salah satu dari dua item. Misalnya, lebih besar, lebih cepat, lebih indah adalah derajat komparatif.

  • Superlative degree- Ini mengungkapkan derajat atau intensitas kualitas terbesar dalam salah satu dari tiga item atau lebih. Misalnya, derajat terbesar, tercepat, terindah adalah derajat superlatif.

Kepastian dan Ketidakpastian

Kedua konsep ini sangat sederhana. Kepastian seperti yang kita ketahui mewakili suatu acuan, yang dikenal, dikenal atau dikenali oleh pembicara atau pendengar. Di sisi lain, ketidaktentuan mewakili rujukan yang tidak diketahui, atau tidak dikenal. Konsep tersebut dapat dipahami dalam kejadian bersamaan dari artikel dengan kata benda -

  • definite article- itu

  • indefinite article- a / an

Tegang

Kategori gramatikal ini terkait dengan kata kerja dan dapat didefinisikan sebagai indikasi linguistik waktu suatu tindakan. Suatu tegang membentuk suatu hubungan karena ini menunjukkan waktu suatu peristiwa sehubungan dengan saat berbicara. Secara umum, ini adalah dari tiga jenis berikut -

  • Present tense- Mewakili terjadinya suatu tindakan di saat sekarang. Misalnya, Ram bekerja keras.

  • Past tense- Mewakili terjadinya suatu tindakan sebelum momen sekarang. Misalnya, hujan.

  • Future tense- Mewakili terjadinya suatu tindakan setelah momen saat ini. Misalnya, akan turun hujan.

Aspek

Kategori tata bahasa ini dapat didefinisikan sebagai pandangan yang diambil dari suatu peristiwa. Ini bisa dari jenis berikut -

  • Perfective aspect- Tampilan diambil secara keseluruhan dan lengkap dalam aspek. Misalnya simple past tense sepertiyesterday I met my friend, dalam bahasa Inggris adalah kesempurnaan dalam aspek karena memandang acara tersebut secara lengkap dan utuh.

  • Imperfective aspect- Tampilan dianggap berkelanjutan dan tidak lengkap dalam aspeknya. Misalnya, present participle tense sepertiI am working on this problem, dalam bahasa Inggris tidak sempurna dalam aspek karena memandang acara tersebut tidak lengkap dan berkelanjutan.

Suasana hati

Kategori gramatikal ini agak sulit untuk didefinisikan tetapi secara sederhana dapat dinyatakan sebagai indikasi dari sikap pembicara terhadap apa yang dia bicarakan. Ini juga merupakan fitur tata bahasa dari kata kerja. Ini berbeda dari tenses gramatikal dan aspek gramatikal. Contoh mood adalah indicative, interrogative, imperative, injunctive, subjunctive, potential, optative, gerunds dan participles.

Persetujuan

Itu juga disebut kerukunan. Itu terjadi ketika sebuah kata berubah dari bergantung pada kata lain yang terkait dengannya. Dengan kata lain, ini melibatkan membuat nilai dari beberapa kategori tata bahasa sesuai antara kata-kata atau bagian dari pidato yang berbeda. Berikut adalah kesepakatan berdasarkan kategori tata bahasa lainnya -

  • Agreement based on Person- Ini adalah kesepakatan antara subjek dan kata kerja. Misalnya, kita selalu menggunakan "Saya" dan "Dia", tetapi tidak pernah menggunakan "Dia" dan "Saya adalah".

  • Agreement based on Number- Kesepakatan ini antara subjek dan kata kerja. Dalam hal ini, ada bentuk verba khusus untuk orang pertama tunggal, orang kedua jamak dan seterusnya. Misalnya, orang pertama tunggal: Saya sungguh, orang kedua jamak: Kami benar-benar, orang ketiga tunggal: Anak laki-laki menyanyi, orang ketiga jamak: Anak laki-laki bernyanyi.

  • Agreement based on Gender- Dalam bahasa Inggris, ada kesepakatan dalam gender antara kata ganti dan anteseden. Misalnya, Dia mencapai tujuannya. Kapal mencapai tujuannya.

  • Agreement based on Case- Perjanjian semacam ini bukanlah fitur bahasa Inggris yang signifikan. Misalnya, siapa yang lebih dulu - dia atau saudara perempuannya?

Sintaks Bahasa Lisan

Tata bahasa Inggris tertulis dan lisan memiliki banyak ciri umum tetapi seiring dengan itu, mereka juga berbeda dalam beberapa aspek. Fitur berikut membedakan antara tata bahasa Inggris lisan dan tulisan -

Disfluencies dan Repair

Fitur mencolok ini membuat tata bahasa Inggris lisan dan tulisan berbeda satu sama lain. Ini secara individu dikenal sebagai fenomena disfluencies dan secara kolektif sebagai fenomena perbaikan. Disfluensi termasuk penggunaan berikut -

  • Fillers words- Terkadang di sela-sela kalimat, kami menggunakan beberapa kata pengisi. Mereka disebut pengisi jeda pengisi. Contoh dari kata-kata seperti itu adalah uh dan um.

  • Reparandum and repair- Segmen kata yang berulang di antara kalimat disebut reparandum. Di segmen yang sama, kata yang diubah disebut perbaikan. Pertimbangkan contoh berikut untuk memahami ini -

Does ABC airlines offer any one-way flights uh one-way fares for 5000 rupees?

Pada kalimat di atas, penerbangan satu arah merupakan reparadum dan penerbangan satu arah adalah perbaikan.

Mulai ulang

Setelah pengisi jeda, restart terjadi. Misalnya, pada kalimat di atas, restart terjadi ketika pembicara mulai bertanya tentang penerbangan satu arah kemudian berhenti, perbaiki sendiri dengan jeda pengisi dan kemudian memulai kembali menanyakan tentang tarif satu arah.

Fragmen Kata

Terkadang kita mengucapkan kalimat dengan potongan kata yang lebih kecil. Sebagai contoh,wwha-what is the time? Di sini kata-katanya w-wha adalah fragmen kata.

Pengambilan informasi (IR) dapat didefinisikan sebagai program perangkat lunak yang berhubungan dengan organisasi, penyimpanan, pengambilan dan evaluasi informasi dari repositori dokumen terutama informasi tekstual. Sistem membantu pengguna dalam menemukan informasi yang mereka butuhkan tetapi tidak secara eksplisit mengembalikan jawaban dari pertanyaan. Ini menginformasikan keberadaan dan lokasi dokumen yang mungkin terdiri dari informasi yang diperlukan. Dokumen yang memenuhi kebutuhan pengguna disebut dokumen yang relevan. Sistem IR yang sempurna hanya akan mengambil dokumen yang relevan.

Dengan bantuan diagram berikut, kita dapat memahami proses pengambilan informasi (IR) -

Jelas dari diagram di atas bahwa pengguna yang membutuhkan informasi harus merumuskan permintaan dalam bentuk query dalam bahasa alami. Kemudian sistem IR akan merespon dengan mengambil output yang relevan, berupa dokumen, tentang informasi yang dibutuhkan.

Masalah Klasik dalam Sistem Information Retrieval (IR)

Tujuan utama penelitian IR adalah mengembangkan model untuk mengambil informasi dari repositori dokumen. Di sini, kita akan membahas masalah klasik bernamaad-hoc retrieval problem, terkait dengan sistem IR.

Dalam pengambilan ad-hoc, pengguna harus memasukkan kueri dalam bahasa alami yang menjelaskan informasi yang diperlukan. Kemudian sistem IR akan mengembalikan dokumen yang diperlukan terkait dengan informasi yang diinginkan. Misalnya, kita mencari sesuatu di Internet dan memberikan beberapa halaman persis yang relevan sesuai kebutuhan kita, tetapi mungkin ada beberapa halaman yang tidak relevan juga. Hal ini karena masalah pengambilan ad-hoc.

Aspek Pengambilan Ad-hoc

Berikut adalah beberapa aspek pengambilan ad-hoc yang dibahas dalam penelitian IR -

  • Bagaimana pengguna dengan bantuan umpan balik relevansi dapat meningkatkan formulasi asli dari sebuah kueri?

  • Bagaimana menerapkan penggabungan database, yaitu bagaimana hasil dari database teks yang berbeda dapat digabungkan menjadi satu kumpulan hasil?

  • Bagaimana cara menangani sebagian data yang rusak? Model mana yang cocok untuk hal yang sama?

Model Pengambilan Informasi (IR)

Secara matematis, model digunakan di banyak bidang ilmiah yang bertujuan untuk memahami beberapa fenomena di dunia nyata. Model pencarian informasi memprediksi dan menjelaskan apa yang akan ditemukan pengguna dalam relevansinya dengan kueri yang diberikan. Model IR pada dasarnya adalah pola yang mendefinisikan aspek prosedur pengambilan yang disebutkan di atas dan terdiri dari:

  • Model untuk dokumen.

  • Sebuah model untuk query.

  • Fungsi pencocokan yang membandingkan kueri dengan dokumen.

Secara matematis, model pengambilan terdiri dari -

D - Representasi untuk dokumen.

R - Representasi untuk pertanyaan.

F - Kerangka pemodelan untuk D, Q bersama dengan hubungan di antara mereka.

R (q,di)- Fungsi kesamaan yang memesan dokumen sehubungan dengan kueri. Ini juga disebut peringkat.

Jenis Model Information Retrieval (IR)

Model model informasi (IR) dapat diklasifikasikan ke dalam tiga model berikut -

Model IR Klasik

Ini adalah model IR yang paling sederhana dan mudah diimplementasikan. Model ini didasarkan pada pengetahuan matematika yang mudah dikenali dan dipahami dengan baik. Boolean, Vektor dan Probabilistik adalah tiga model IR klasik.

Model IR Non-Klasik

Ini sangat berlawanan dengan model IR klasik. Model IR semacam itu didasarkan pada prinsip selain kesamaan, probabilitas, operasi Boolean. Model logika informasi, model teori situasi dan model interaksi adalah contoh model IR non klasik.

Model IR Alternatif

Ini adalah peningkatan model IR klasik yang menggunakan beberapa teknik tertentu dari beberapa bidang lain. Model cluster, model fuzzy dan model latent semantic indexing (LSI) adalah contoh model IR alternatif.

Fitur desain sistem temu kembali informasi (IR)

Sekarang mari kita belajar tentang fitur desain sistem IR -

Indeks Terbalik

Struktur data primer dari sebagian besar sistem IR berbentuk indeks terbalik. Kita dapat mendefinisikan indeks terbalik sebagai struktur data yang mencantumkan, untuk setiap kata, semua dokumen yang memuatnya dan frekuensi kemunculan dalam dokumen. Ini memudahkan untuk mencari 'hits' dari kata kueri.

Hentikan Penghapusan Kata

Kata-kata berhenti adalah kata-kata berfrekuensi tinggi yang dianggap tidak mungkin berguna untuk pencarian. Mereka memiliki bobot semantik yang lebih sedikit. Semua jenis kata seperti itu ada dalam daftar yang disebut daftar berhenti. Misalnya, artikel "a", "an", "the" dan preposisi seperti "in", "of", "for", "at", dll. Adalah contoh kata berhenti. Ukuran indeks terbalik dapat dikurangi secara signifikan dengan daftar berhenti. Sesuai hukum Zipf, daftar berhenti yang mencakup beberapa lusin kata mengurangi ukuran indeks terbalik hampir setengahnya. Di sisi lain, terkadang penghapusan kata berhenti dapat menyebabkan penghapusan istilah yang berguna untuk pencarian. Misalnya, jika kita menghilangkan alfabet "A" dari "Vitamin A" maka itu tidak ada artinya.

Stemming

Stemming, bentuk sederhana dari analisis morfologi, adalah proses heuristik mengekstraksi bentuk dasar kata dengan memotong ujung kata. Misalnya, kata tertawa, tertawa, tertawa akan berasal dari akar kata tertawa.

Di bagian selanjutnya, kami akan membahas tentang beberapa model IR yang penting dan berguna.

Model Boolean

Ini adalah model pengambilan informasi (IR) tertua. Model ini didasarkan pada teori himpunan dan aljabar Boolean, di mana dokumen adalah himpunan istilah dan kueri adalah ekspresi Boolean pada istilah. Model Boolean dapat didefinisikan sebagai -

  • D- Seperangkat kata, yaitu istilah pengindeksan yang ada dalam dokumen. Di sini, setiap suku ada (1) atau tidak ada (0).

  • Q - Ekspresi Boolean, di mana istilah adalah istilah indeks dan operator adalah produk logika - DAN, jumlah logis - ATAU dan perbedaan logis - BUKAN

  • F - Aljabar Boolean atas kumpulan istilah serta kumpulan dokumen

    Jika kita berbicara tentang umpan balik relevansi, maka dalam model IR Boolean, prediksi relevansi dapat didefinisikan sebagai berikut -

  • R - Dokumen diprediksi relevan dengan ekspresi kueri jika dan hanya jika memenuhi ekspresi kueri seperti -

((˅) ˄ ˄ ˜ ℎ)

Kami dapat menjelaskan model ini dengan istilah kueri sebagai definisi yang tidak ambigu dari sekumpulan dokumen.

Misalnya, istilah kueri “economic” mendefinisikan kumpulan dokumen yang diindeks dengan istilah “economic”.

Sekarang, apa hasil setelah menggabungkan istilah dengan Boolean AND Operator? Ini akan menentukan kumpulan dokumen yang lebih kecil dari atau sama dengan kumpulan dokumen dari salah satu istilah tunggal. Misalnya, kueri dengan istilah“social” dan “economic”akan menghasilkan kumpulan dokumen dari dokumen yang diindeks dengan kedua istilah tersebut. Dengan kata lain, kumpulan dokumen dengan perpotongan dari kedua kumpulan.

Sekarang, apa hasil setelah menggabungkan suku-suku dengan operator Boolean OR? Ini akan menentukan kumpulan dokumen yang lebih besar atau sama dengan kumpulan dokumen dari salah satu istilah tunggal. Misalnya, kueri dengan istilah“social” atau “economic” akan menghasilkan kumpulan dokumen dokumen yang diindeks dengan istilah yang baik “social” atau “economic”. Dengan kata lain, dokumen ditetapkan dengan penyatuan kedua set.

Keuntungan dari Mode Boolean

Keuntungan dari model Boolean adalah sebagai berikut -

  • Model paling sederhana, yang didasarkan pada set.

  • Mudah dipahami dan diterapkan.

  • Ini hanya mengambil kecocokan persis

  • Ini memberi pengguna rasa kendali atas sistem.

Kekurangan Model Boolean

Kerugian dari model Boolean adalah sebagai berikut -

  • Fungsi kesamaan model adalah Boolean. Karenanya, tidak akan ada kecocokan parsial. Ini bisa mengganggu pengguna.

  • Dalam model ini, penggunaan operator Boolean memiliki pengaruh yang jauh lebih besar daripada kata kritis.

  • Bahasa kueri ekspresif, tetapi juga rumit.

  • Tidak ada peringkat untuk dokumen yang diambil.

Model Ruang Vektor

Karena kelemahan model Boolean di atas, Gerard Salton dan rekannya menyarankan model, yang didasarkan pada kriteria kesamaan Luhn. Kriteria kesamaan yang dirumuskan oleh Luhn menyatakan, "semakin banyak dua representasi yang disetujui dalam elemen tertentu dan distribusinya, semakin tinggi kemungkinan representasi informasi serupa."

Pertimbangkan poin penting berikut untuk memahami lebih lanjut tentang Model Ruang Vektor -

  • Representasi indeks (dokumen) dan kueri dianggap sebagai vektor yang disematkan dalam ruang Euclidean berdimensi tinggi.

  • Ukuran kesamaan vektor dokumen dengan vektor query biasanya merupakan cosinus dari sudut di antara mereka.

Rumus Pengukuran Kesamaan Cosine

Cosine adalah produk titik yang dinormalisasi, yang dapat dihitung dengan bantuan rumus berikut -

$$Score \lgroup \vec{d} \vec{q} \rgroup= \frac{\sum_{k=1}^m d_{k}\:.q_{k}}{\sqrt{\sum_{k=1}^m\lgroup d_{k}\rgroup^2}\:.\sqrt{\sum_{k=1}^m}m\lgroup q_{k}\rgroup^2 }$$

$$Score \lgroup \vec{d} \vec{q}\rgroup =1\:when\:d =q $$

$$Score \lgroup \vec{d} \vec{q}\rgroup =0\:when\:d\:and\:q\:share\:no\:items$$

Representasi Ruang Vektor dengan Query dan Dokumen

Kueri dan dokumen diwakili oleh ruang vektor dua dimensi. Istilahnya adalahcar dan insurance. Ada satu kueri dan tiga dokumen dalam ruang vektor.

Dokumen peringkat teratas dalam menanggapi istilah mobil dan asuransi adalah dokumen tersebut d2 karena sudut antara q dan d2adalah yang terkecil. Alasan di balik ini adalah bahwa baik konsep mobil maupun asuransi menonjol di d 2 dan karenanya memiliki bobot yang tinggi. Di sisi lain,d1 dan d3 juga menyebutkan kedua istilah tersebut tetapi dalam setiap kasus, salah satunya bukan istilah yang sangat penting dalam dokumen.

Pembobotan Jangka

Bobot term berarti bobot pada istilah dalam ruang vektor. Semakin tinggi bobot suku, semakin besar dampak suku pada cosinus. Lebih banyak bobot harus diberikan ke istilah yang lebih penting dalam model. Sekarang pertanyaan yang muncul di sini adalah bagaimana kita bisa membuat model ini.

Salah satu cara untuk melakukannya adalah dengan menghitung kata-kata dalam dokumen sebagai bobot istilahnya. Namun, menurut Anda apakah itu akan menjadi metode yang efektif?

Metode lain, yang lebih efektif, adalah dengan menggunakan term frequency (tfij), document frequency (dfi) dan collection frequency (cfi).

Frekuensi Jangka (tf ij )

Ini dapat didefinisikan sebagai jumlah kemunculan wi di dj. Informasi yang ditangkap oleh term frekuensi adalah seberapa menonjol sebuah kata dalam dokumen yang diberikan atau dengan kata lain kita dapat mengatakan bahwa semakin tinggi term frekuensi semakin banyak kata tersebut yang menjadi deskripsi yang baik dari isi dokumen tersebut.

Frekuensi Dokumen (df i )

Ini dapat didefinisikan sebagai jumlah total dokumen dalam koleksi tempat w i terjadi. Ini adalah indikator keinformatifan. Kata-kata yang difokuskan secara semantik akan muncul beberapa kali dalam dokumen, tidak seperti kata-kata yang tidak fokus secara semantik.

Frekuensi Pengumpulan (cf i )

Ini dapat didefinisikan sebagai jumlah total kemunculan wi dalam koleksi.

Secara matematis, $df_{i}\leq cf_{i}\:and\:\sum_{j}tf_{ij} = cf_{i}$

Bentuk Pembobotan Frekuensi Dokumen

Sekarang mari kita belajar tentang berbagai bentuk pembobotan frekuensi dokumen. Formulir dijelaskan di bawah ini -

Faktor Frekuensi Jangka

Ini juga diklasifikasikan sebagai faktor frekuensi istilah, yang berarti jika istilah t sering muncul di dokumen lalu kueri yang berisi tharus mengambil dokumen itu. Kita bisa menggabungkan kataterm frequency (tfij) dan document frequency (dfi) menjadi satu bobot sebagai berikut -

$$weight \left ( i,j \right ) =\begin{cases}(1+log(tf_{ij}))log\frac{N}{df_{i}}\:if\:tf_{i,j}\:\geq1\\0 \:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\: if\:tf_{i,j}\:=0\end{cases}$$

Di sini N adalah jumlah dokumen.

Frekuensi Dokumen Terbalik (idf)

Ini adalah bentuk lain dari pembobotan frekuensi dokumen dan sering disebut pembobotan idf atau pembobotan frekuensi dokumen terbalik. Poin penting dari pembobotan idf adalah bahwa kelangkaan istilah di seluruh koleksi adalah ukuran kepentingan dan kepentingannya berbanding terbalik dengan frekuensi kemunculannya.

Secara matematis,

$$idf_{t} = log\left(1+\frac{N}{n_{t}}\right)$$

$$idf_{t} = log\left(\frac{N-n_{t}}{n_{t}}\right)$$

Sini,

N = dokumen dalam koleksi

n t = dokumen yang mengandung term t

Peningkatan Permintaan Pengguna

Tujuan utama dari sistem pengambilan informasi harus keakuratan - untuk menghasilkan dokumen yang relevan sesuai kebutuhan pengguna. Namun, pertanyaan yang muncul di sini adalah bagaimana kami dapat meningkatkan keluaran dengan meningkatkan gaya pembentukan kueri pengguna. Tentu saja, keluaran dari sistem IR apa pun bergantung pada kueri pengguna dan kueri yang diformat dengan baik akan menghasilkan hasil yang lebih akurat. Pengguna dapat meningkatkan permintaannya dengan bantuanrelevance feedback, aspek penting dari model IR apa pun.

Relevansi Umpan Balik

Umpan balik relevansi mengambil keluaran yang awalnya dikembalikan dari kueri yang diberikan. Output awal ini dapat digunakan untuk mengumpulkan informasi pengguna dan untuk mengetahui apakah output tersebut relevan untuk melakukan kueri baru atau tidak. Umpan balik dapat diklasifikasikan sebagai berikut -

Umpan Balik Eksplisit

Ini dapat didefinisikan sebagai umpan balik yang diperoleh dari penilai relevansi. Penilai ini juga akan menunjukkan relevansi dokumen yang diambil dari kueri. Untuk meningkatkan kinerja pengambilan kueri, informasi umpan balik relevansi perlu diinterpolasi dengan kueri asli.

Penilai atau pengguna lain dari sistem dapat menunjukkan relevansi secara eksplisit dengan menggunakan sistem relevansi berikut -

  • Binary relevance system - Sistem umpan balik relevansi ini menunjukkan bahwa dokumen relevan (1) atau tidak relevan (0) untuk kueri tertentu.

  • Graded relevance system- Sistem umpan balik relevansi bertingkat menunjukkan relevansi dokumen, untuk kueri tertentu, berdasarkan penilaian dengan menggunakan angka, huruf, atau deskripsi. Deskripsi bisa seperti "tidak relevan", "agak relevan", "sangat relevan", atau "relevan".

Umpan Balik Implisit

Itu adalah umpan balik yang disimpulkan dari perilaku pengguna. Perilaku tersebut mencakup durasi waktu yang dihabiskan pengguna untuk melihat dokumen, dokumen mana yang dipilih untuk dilihat dan mana yang tidak, penjelajahan halaman dan tindakan menggulir, dll. Salah satu contoh terbaik dari umpan balik implisit adalahdwell time, yang merupakan ukuran berapa banyak waktu yang dihabiskan pengguna untuk melihat halaman yang ditautkan dalam hasil penelusuran.

Umpan Balik Semu

Ini juga disebut Umpan balik buta. Ini memberikan metode untuk analisis lokal otomatis. Bagian manual dari umpan balik relevansi diotomatiskan dengan bantuan umpan balik relevansi semu sehingga pengguna mendapatkan kinerja pengambilan yang lebih baik tanpa interaksi yang diperpanjang. Keuntungan utama dari sistem umpan balik ini adalah tidak memerlukan penilai seperti dalam sistem umpan balik relevansi eksplisit.

Pertimbangkan langkah-langkah berikut untuk menerapkan umpan balik ini -

  • Step 1- Pertama, hasil yang dikembalikan oleh permintaan awal harus dianggap sebagai hasil yang relevan. Kisaran hasil yang relevan harus berada di 10-50 hasil teratas.

  • Step 2 - Sekarang, pilih 20-30 term teratas dari dokumen yang menggunakan bobot misalnya term frequency (tf) -inverse document frequency (idf).

  • Step 3- Tambahkan istilah ini ke kueri dan cocok dengan dokumen yang dikembalikan. Kemudian kembalikan dokumen yang paling relevan.

Natural Language Processing (NLP) adalah teknologi baru yang menghasilkan berbagai bentuk AI yang kita lihat di masa sekarang dan penggunaannya untuk menciptakan antarmuka yang mulus dan interaktif antara manusia dan mesin akan terus menjadi prioritas utama untuk hari ini dan masa depan. aplikasi kognitif yang semakin meningkat. Di sini, kita akan membahas tentang beberapa aplikasi NLP yang sangat berguna.

Mesin penerjemah

Terjemahan mesin (MT), proses menerjemahkan satu bahasa sumber atau teks ke bahasa lain, adalah salah satu aplikasi terpenting NLP. Kami dapat memahami proses penerjemahan mesin dengan bantuan diagram alur berikut -

Jenis Sistem Terjemahan Mesin

Ada berbagai jenis sistem terjemahan mesin. Mari kita lihat apa saja jenis-jenisnya.

Sistem MT Bilingual

Sistem MT dwibahasa menghasilkan terjemahan antara dua bahasa tertentu.

Sistem MT Multibahasa

Sistem MT multibahasa menghasilkan terjemahan antara pasangan bahasa apa pun. Mereka mungkin bersifat uni-directional atau bi-directional.

Pendekatan Terjemahan Mesin (MT)

Sekarang mari kita belajar tentang pendekatan penting untuk Terjemahan Mesin. Pendekatan ke MT adalah sebagai berikut -

Pendekatan MT Langsung

Ini kurang populer tetapi pendekatan MT tertua. Sistem yang menggunakan pendekatan ini mampu menerjemahkan SL (bahasa sumber) langsung ke TL (bahasa target). Sistem seperti itu bersifat bi-bahasa dan satu arah.

Pendekatan Interlingua

Sistem yang menggunakan pendekatan Interlingua menerjemahkan SL ke bahasa perantara yang disebut Interlingua (IL) dan kemudian menerjemahkan IL ke TL. Pendekatan Interlingua dapat dipahami dengan bantuan piramida MT berikut -

Pendekatan Transfer

Ada tiga tahap yang terlibat dengan pendekatan ini.

  • Pada tahap pertama, teks bahasa sumber (SL) diubah menjadi representasi berorientasi SL yang abstrak.

  • Pada tahap kedua, representasi berorientasi SL diubah menjadi representasi berorientasi bahasa target (TL) yang setara.

  • Pada tahap ketiga, teks terakhir dibuat.

Pendekatan Empiris MT

Ini adalah pendekatan yang muncul untuk MT. Pada dasarnya, ini menggunakan sejumlah besar data mentah dalam bentuk korpora paralel. Data mentah terdiri dari teks dan terjemahannya. Teknik terjemahan mesin berbasis analog, berbasis contoh, berbasis memori menggunakan pendekatan MT empiris.

Memerangi Spam

Salah satu masalah paling umum saat ini adalah email yang tidak diinginkan. Ini membuat filter Spam semakin penting karena ini adalah garis pertahanan pertama melawan masalah ini.

Sistem pemfilteran spam dapat dikembangkan dengan menggunakan fungsionalitas NLP dengan mempertimbangkan masalah utama positif palsu dan negatif palsu.

Model NLP yang ada untuk pemfilteran spam

Berikut adalah beberapa model NLP yang ada untuk pemfilteran spam -

Pemodelan N-gram

Model N-Gram adalah potongan karakter N dari string yang lebih panjang. Dalam model ini, N-gram dengan beberapa panjang berbeda digunakan secara bersamaan dalam memproses dan mendeteksi email spam.

Word Stemming

Spammer, pembuat email spam, biasanya mengubah satu atau lebih karakter kata-kata yang menyerang dalam spam mereka sehingga mereka dapat melanggar filter spam berbasis konten. Itulah mengapa kami dapat mengatakan bahwa filter berbasis konten tidak berguna jika mereka tidak dapat memahami arti kata atau frasa dalam email. Untuk menghilangkan masalah tersebut dalam pemfilteran spam, teknik stemming kata berbasis aturan, yang dapat mencocokkan kata-kata yang mirip dan terdengar mirip, dikembangkan.

Klasifikasi Bayesian

Ini sekarang telah menjadi teknologi yang banyak digunakan untuk penyaringan spam. Insiden kata-kata dalam email diukur terhadap kemunculannya yang khas dalam database pesan email yang tidak diminta (spam) dan sah (ham) dalam teknik statistik.

Peringkasan Otomatis

Di era digital ini, yang paling berharga adalah data, atau bisa dikatakan informasi. Namun, apakah kita benar-benar mendapatkan informasi yang berguna serta jumlah informasi yang dibutuhkan? Jawabannya adalah 'TIDAK' karena informasi terlalu banyak dan akses kita ke pengetahuan dan informasi jauh melebihi kemampuan kita untuk memahaminya. Kami sangat membutuhkan peringkasan teks dan informasi otomatis karena banjir informasi melalui internet tidak akan berhenti.

Peringkasan teks dapat didefinisikan sebagai teknik untuk membuat ringkasan pendek dan akurat dari dokumen teks yang lebih panjang. Peringkasan teks otomatis akan membantu kami dengan informasi yang relevan dalam waktu yang lebih singkat. Pemrosesan bahasa alami (NLP) memainkan peran penting dalam mengembangkan ringkasan teks otomatis.

Menjawab pertanyaan

Aplikasi utama lain dari pemrosesan bahasa alami (NLP) adalah menjawab pertanyaan. Mesin pencari meletakkan informasi dunia di ujung jari kita, tetapi mereka masih kekurangan dalam menjawab pertanyaan yang diposting oleh manusia dalam bahasa aslinya. Kami memiliki perusahaan teknologi besar seperti Google yang juga bekerja ke arah ini.

Menjawab pertanyaan adalah disiplin Ilmu Komputer dalam bidang AI dan NLP. Ini berfokus pada membangun sistem yang secara otomatis menjawab pertanyaan yang dikirim oleh manusia dalam bahasa alami mereka. Sistem komputer yang memahami bahasa alami memiliki kemampuan sistem program untuk menerjemahkan kalimat yang ditulis oleh manusia menjadi representasi internal sehingga dapat dihasilkan jawaban yang valid oleh sistem. Jawaban yang tepat dapat dihasilkan dengan melakukan analisis sintaks dan semantik pertanyaan. Lexical gap, ambiguity dan multilingualism menjadi beberapa tantangan bagi NLP dalam membangun sistem penjawab pertanyaan yang baik.

Analisis Sentimen

Aplikasi penting lainnya dari pemrosesan bahasa alami (NLP) adalah analisis sentimen. Seperti namanya, analisis sentimen digunakan untuk mengidentifikasi sentimen di antara beberapa postingan. Ini juga digunakan untuk mengidentifikasi sentimen di mana emosi tidak diekspresikan secara eksplisit. Perusahaan menggunakan analisis sentimen, aplikasi pemrosesan bahasa alami (NLP) untuk mengidentifikasi opini dan sentimen pelanggan mereka secara online. Ini akan membantu perusahaan untuk memahami apa yang pelanggan pikirkan tentang produk dan layanan. Perusahaan dapat menilai reputasi keseluruhan mereka dari posting pelanggan dengan bantuan analisis sentimen. Dengan cara ini, kami dapat mengatakan bahwa selain menentukan polaritas sederhana, analisis sentimen memahami sentimen dalam konteks untuk membantu kami lebih memahami apa yang ada di balik opini yang diungkapkan.

Pada bab ini, kita akan belajar tentang pemrosesan bahasa menggunakan Python.

Fitur berikut membuat Python berbeda dari bahasa lain -

  • Python is interpreted - Kita tidak perlu mengkompilasi program Python kita sebelum menjalankannya karena interpreter memproses Python saat runtime.

  • Interactive - Kami dapat langsung berinteraksi dengan penerjemah untuk menulis program Python kami.

  • Object-oriented - Python bersifat berorientasi objek dan membuat bahasa ini lebih mudah untuk menulis program karena dengan bantuan teknik pemrograman ini merangkum kode di dalam objek.

  • Beginner can easily learn - Python juga disebut bahasa pemula karena sangat mudah dipahami, dan mendukung pengembangan berbagai macam aplikasi.

Prasyarat

Versi terbaru Python 3 yang dirilis adalah Python 3.7.1 tersedia untuk Windows, Mac OS dan sebagian besar versi Linux OS.

  • Untuk windows, kita bisa masuk ke link www.python.org/downloads/windows/ untuk mendownload dan menginstal Python.

  • For MAC OS, we can use the link www.python.org/downloads/mac-osx/.

  • In case of Linux, different flavors of Linux use different package managers for installation of new packages.

    • For example, to install Python 3 on Ubuntu Linux, we can use the following command from terminal −

$sudo apt-get install python3-minimal

To study more about Python programming, read Python 3 basic tutorial – Python 3

Getting Started with NLTK

We will be using Python library NLTK (Natural Language Toolkit) for doing text analysis in English Language. The Natural language toolkit (NLTK) is a collection of Python libraries designed especially for identifying and tag parts of speech found in the text of natural language like English.

Installing NLTK

Before starting to use NLTK, we need to install it. With the help of following command, we can install it in our Python environment −

pip install nltk

If we are using Anaconda, then a Conda package for NLTK can be built by using the following command −

conda install -c anaconda nltk

Downloading NLTK’s Data

After installing NLTK, another important task is to download its preset text repositories so that it can be easily used. However, before that we need to import NLTK the way we import any other Python module. The following command will help us in importing NLTK −

import nltk

Now, download NLTK data with the help of the following command −

nltk.download()

It will take some time to install all available packages of NLTK.

Other Necessary Packages

Some other Python packages like gensim and pattern are also very necessary for text analysis as well as building natural language processing applications by using NLTK. the packages can be installed as shown below −

gensim

gensim is a robust semantic modeling library which can be used for many applications. We can install it by following command −

pip install gensim

pattern

It can be used to make gensim package work properly. The following command helps in installing pattern −

pip install pattern

Tokenization

Tokenization may be defined as the Process of breaking the given text, into smaller units called tokens. Words, numbers or punctuation marks can be tokens. It may also be called word segmentation.

Example

Input − Bed and chair are types of furniture.

We have different packages for tokenization provided by NLTK. We can use these packages based on our requirements. The packages and the details of their installation are as follows −

sent_tokenize package

This package can be used to divide the input text into sentences. We can import it by using the following command −

from nltk.tokenize import sent_tokenize

word_tokenize package

This package can be used to divide the input text into words. We can import it by using the following command −

from nltk.tokenize import word_tokenize

WordPunctTokenizer package

This package can be used to divide the input text into words and punctuation marks. We can import it by using the following command −

from nltk.tokenize import WordPuncttokenizer

Stemming

Due to grammatical reasons, language includes lots of variations. Variations in the sense that the language, English as well as other languages too, have different forms of a word. For example, the words like democracy, democratic, and democratization. For machine learning projects, it is very important for machines to understand that these different words, like above, have the same base form. That is why it is very useful to extract the base forms of the words while analyzing the text.

Stemming is a heuristic process that helps in extracting the base forms of the words by chopping of their ends.

The different packages for stemming provided by NLTK module are as follows −

PorterStemmer package

Porter’s algorithm is used by this stemming package to extract the base form of the words. With the help of the following command, we can import this package −

from nltk.stem.porter import PorterStemmer

For example, ‘write’ would be the output of the word ‘writing’ given as the input to this stemmer.

LancasterStemmer package

Lancaster’s algorithm is used by this stemming package to extract the base form of the words. With the help of following command, we can import this package −

from nltk.stem.lancaster import LancasterStemmer

For example, ‘writ’ would be the output of the word ‘writing’ given as the input to this stemmer.

SnowballStemmer package

Snowball’s algorithm is used by this stemming package to extract the base form of the words. With the help of following command, we can import this package −

from nltk.stem.snowball import SnowballStemmer

For example, ‘write’ would be the output of the word ‘writing’ given as the input to this stemmer.

Lemmatization

It is another way to extract the base form of words, normally aiming to remove inflectional endings by using vocabulary and morphological analysis. After lemmatization, the base form of any word is called lemma.

NLTK module provides the following package for lemmatization −

WordNetLemmatizer package

This package will extract the base form of the word depending upon whether it is used as a noun or as a verb. The following command can be used to import this package −

from nltk.stem import WordNetLemmatizer

Counting POS Tags–Chunking

The identification of parts of speech (POS) and short phrases can be done with the help of chunking. It is one of the important processes in natural language processing. As we are aware about the process of tokenization for the creation of tokens, chunking actually is to do the labeling of those tokens. In other words, we can say that we can get the structure of the sentence with the help of chunking process.

Example

In the following example, we will implement Noun-Phrase chunking, a category of chunking which will find the noun phrase chunks in the sentence, by using NLTK Python module.

Consider the following steps to implement noun-phrase chunking −

Step 1: Chunk grammar definition

In this step, we need to define the grammar for chunking. It would consist of the rules, which we need to follow.

Step 2: Chunk parser creation

Next, we need to create a chunk parser. It would parse the grammar and give the output.

Step 3: The Output

In this step, we will get the output in a tree format.

Running the NLP Script

Start by importing the the NLTK package −

import nltk

Now, we need to define the sentence.

Here,

  • DT is the determinant

  • VBP is the verb

  • JJ is the adjective

  • IN is the preposition

  • NN is the noun

sentence = [("a", "DT"),("clever","JJ"),("fox","NN"),("was","VBP"),
   ("jumping","VBP"),("over","IN"),("the","DT"),("wall","NN")]

Next, the grammar should be given in the form of regular expression.

grammar = "NP:{<DT>?<JJ>*<NN>}"

Now, we need to define a parser for parsing the grammar.

parser_chunking = nltk.RegexpParser(grammar)

Now, the parser will parse the sentence as follows −

parser_chunking.parse(sentence)

Next, the output will be in the variable as follows:-

Output = parser_chunking.parse(sentence)

Now, the following code will help you draw your output in the form of a tree.

output.draw()