POS Tagging dengan NLTK dan Chunking di NLP (CONTOH)

Daftar Isi:

Anonim

Penandaan POS

POS Tagging (Parts of Speech Tagging) adalah proses untuk menandai kata-kata dalam format teks untuk bagian tertentu dari suatu pidato berdasarkan definisi dan konteksnya. Ini bertanggung jawab untuk membaca teks dalam suatu bahasa dan menetapkan beberapa tanda khusus (Parts of Speech) untuk setiap kata. Ini juga disebut penandaan tata bahasa.

Mari belajar dengan contoh NLTK Part of Speech:

Masukan: Segala sesuatu untuk mengizinkan kita.

Output : [('Everything', NN), ('to', TO), ('permit', VB), ('us', PRP)]

Langkah-langkah yang Terlibat dalam contoh penandaan POS:

  • Tokenisasi teks (word_tokenize)
  • terapkan pos_tag ke langkah di atas yaitu nltk.pos_tag (tokenize_text)

Contoh Tag NLTK POS adalah sebagai berikut:

Singkatan Berarti
CC mengoordinasikan hubungan
CD digit kardinal
DT determiner
EX eksistensial di sana
FW kata asing
DI preposisi / konjungsi subordinasi
JJ Tag POS NLTK ini adalah kata sifat (besar)
JJR kata sifat, komparatif (lebih besar)
JJS kata sifat, superlatif (terbesar)
LS daftar pasar
MD modal (bisa, akan)
NN kata benda, tunggal (kucing, pohon)
NNS kata benda jamak (desks)
NNP kata benda, tunggal (sarah)
NNPS kata benda yang tepat, jamak (indians atau amerika)
PDT predeterminer (semua, keduanya, setengah)
POS akhiran posesif (induk \ 's)
PRP kata ganti pribadi (miliknya, dirinya sendiri, dia, dirinya sendiri)
PRP $ kata ganti posesif (dia, miliknya, milikku, milikku, milik kita)
RB kata keterangan (sesekali, dengan cepat)
RBR kata keterangan, komparatif (lebih besar)
RBS kata keterangan, superlatif (terbesar)
RP partikel (sekitar)
UNTUK penanda tak terbatas (untuk)
UH interjection (selamat tinggal)
VB kata kerja (tanya)
VBG kata kerja gerund (menilai)
VBD kata kerja past tense (pleaded)
VBN kata kerja past participle (bersatu kembali)
VBP kata kerja, present tense bukan orang ketiga tunggal (bungkus)
VBZ verba, present tense dengan 3rd person singular (basis)
WDT wh-determiner (itu, apa)
WP wh- kata ganti (siapa)
WRB wh- adverb (bagaimana)

Daftar tag POS NLTK di atas berisi semua Tag POS NLTK. NLTK POS tagger digunakan untuk memberikan informasi gramatikal dari setiap kata kalimat. Instalasi, Impor dan download semua paket POS NLTK selesai.

Apa itu Chunking di NLP?

Chunking di NLP adalah proses untuk mengambil potongan-potongan kecil informasi dan mengelompokkannya ke dalam unit-unit besar. Penggunaan utama Chunking adalah membuat kelompok "frase kata benda." Ini digunakan untuk menambahkan struktur pada kalimat dengan mengikuti penandaan POS yang dikombinasikan dengan ekspresi reguler. Kelompok kata yang dihasilkan disebut "bongkahan". Ini juga disebut parsing dangkal.

Pada penguraian dangkal, terdapat maksimum satu tingkat antara akar dan daun, sedangkan penguraian dalam terdiri dari lebih dari satu tingkat. Parsing dangkal disebut juga dengan light parsing atau chunking.

Aturan untuk Chunking:

Tidak ada aturan yang ditentukan sebelumnya, tetapi Anda dapat menggabungkannya sesuai kebutuhan dan kebutuhan.

Misalnya, Anda perlu memberi tag Kata benda, kata kerja (bentuk lampau), kata sifat, dan persimpangan koordinat dari kalimat. Anda dapat menggunakan aturan seperti di bawah ini

potongan: {*** ?}

Tabel berikut menunjukkan arti berbagai simbol:

Nama simbol Deskripsi
. Karakter apa pun kecuali baris baru
* Cocokkan 0 atau lebih pengulangan
? Cocokkan 0 atau 1 pengulangan

Sekarang mari kita tulis kode untuk memahami aturan dengan lebih baik

from nltk import pos_tagfrom nltk import RegexpParsertext ="learn php from guru99 and make study easy".split()print("After Split:",text)tokens_tag = pos_tag(text)print("After Token:",tokens_tag)patterns= """mychunk:{***?}"""chunker = RegexpParser(patterns)print("After Regex:",chunker)output = chunker.parse(tokens_tag)print("After Chunking",output)

Keluaran

After Split: ['learn', 'php', 'from', 'guru99', 'and', 'make', 'study', 'easy']After Token: [('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN'), ('and', 'CC'), ('make', 'VB'), ('study', 'NN'), ('easy', 'JJ')]After Regex: chunk.RegexpParser with 1 stages:RegexpChunkParser with 1 rules:***?'>After Chunking (S(mychunk learn/JJ)(mychunk php/NN)from/IN(mychunk guru99/NN and/CC)make/VB(mychunk study/NN easy/JJ))

Kesimpulan dari Part of Speech tagging contoh Python di atas: "make" adalah kata kerja yang tidak termasuk dalam aturan, jadi tidak di-tag sebagai mychunk

Kasus Penggunaan Chunking

Chunking digunakan untuk deteksi entitas. Entitas adalah bagian dari kalimat yang digunakan mesin untuk mendapatkan nilai untuk maksud apa pun

Example:Temperature of New York.Here Temperature is the intention and New York is an entity.

Dengan kata lain, chunking digunakan sebagai pemilihan subset token. Silakan ikuti kode di bawah ini untuk memahami bagaimana chunking digunakan untuk memilih token. Dalam contoh ini, Anda akan melihat grafik yang sesuai dengan potongan frase kata benda. Kami akan menulis kode dan menggambar grafik untuk pemahaman yang lebih baik.

Kode untuk Mendemonstrasikan Kasus Penggunaan

import nltktext = "learn php from guru99"tokens = nltk.word_tokenize(text)print(tokens)tag = nltk.pos_tag(tokens)print(tag)grammar = "NP: {
?*}"cp =nltk.RegexpParser(grammar)result = cp.parse(tag)print(result)result.draw() # It will draw the pattern graphically which can be seen in Noun Phrase chunking

Keluaran :

['learn', 'php', 'from', 'guru99'] -- These are the tokens[('learn', 'JJ'), ('php', 'NN'), ('from', 'IN'), ('guru99', 'NN')] -- These are the pos_tag(S (NP learn/JJ php/NN) from/IN (NP guru99/NN)) -- Noun Phrase Chunking

Grafik

Grafik Pemotongan Frase Kata Benda

Dari grafik tersebut, kita dapat menyimpulkan bahwa "learn" dan "guru99" adalah dua token yang berbeda tetapi dikategorikan sebagai Noun Phrase sedangkan token "from" tidak termasuk dalam Noun Phrase.

Chunking digunakan untuk mengkategorikan token yang berbeda ke dalam chunk yang sama. Hasilnya akan tergantung pada tata bahasa yang dipilih. Selanjutnya Chunking NLTK digunakan untuk menandai pola dan untuk mengeksplorasi corpora teks.

Ringkasan

  • POS Tagging di NLTK adalah proses untuk menandai kata-kata dalam format teks untuk bagian tertentu dari pidato berdasarkan definisi dan konteksnya.
  • Beberapa contoh penandaan NLTK POS adalah: CC, CD, EX, JJ, MD, NNP, PDT, PRP $, TO, dll.
  • POS tagger digunakan untuk memberikan informasi gramatikal dari setiap kata kalimat. Menginstal, Mengimpor, dan mengunduh semua paket penandaan Part of Speech dengan NLTK selesai.
  • Chunking di NLP adalah proses untuk mengambil informasi kecil dan mengelompokkannya ke dalam unit besar.
  • Tidak ada aturan yang ditentukan sebelumnya, tetapi Anda dapat menggabungkannya sesuai kebutuhan dan kebutuhan.
  • Chunking digunakan untuk deteksi entitas. Entitas adalah bagian dari kalimat yang digunakan mesin untuk mendapatkan nilai untuk maksud apa pun
  • Chunking digunakan untuk mengkategorikan token yang berbeda ke dalam chunk yang sama.