Rumah > pembangunan bahagian belakang > Tutorial Python > [Python NLTK] Penandaan sebahagian daripada pertuturan, kenal pasti bahagian pertuturan perkataan dengan mudah

[Python NLTK] Penandaan sebahagian daripada pertuturan, kenal pasti bahagian pertuturan perkataan dengan mudah

WBOY
Lepaskan: 2024-02-25 10:01:19
ke hadapan
862 orang telah melayarinya

【Python NLTK】词性标注,轻松识别词语的词性

Gambaran keseluruhan penandaan POS NLTK

Part-of-Speech Tagging merujuk kepada mengenal pasti bahagian pertuturan setiap perkataan dalam ayat, seperti kata nama, kata kerja, kata adjektif, kata keterangan, dsb. Penandaan sebahagian daripada pertuturan adalah sangat penting untuk banyak pemprosesan bahasa semula jaditugas, seperti analisis sintaksis, analisis semantik dan mesin terjemahan.

NLTK menyediakan pelbagai penanda sebahagian daripada pertuturan yang boleh membantu kami dengan mudah menandai bahagian pertuturan untuk perkataan dalam ayat. Penanda POS ini dilatih berdasarkan model statistik, yang bermaksud mereka boleh belajarcara mengenal pasti bahagian pertuturan perkataan berdasarkan data daripada korpora besar.

Gunakan penanda POS NLTK

Kita boleh menggunakan fungsi

NLTK untuk menandakan bahagian pertuturan bagi perkataan dalam ayat. Fungsi ini menerima senarai ayat sebagai input dan mengembalikan senarai pasangan perkataan dan sebahagian daripada pertuturan sebagai output. Sebagai contoh, kita boleh menggunakan kod berikut untuk melabel perkataan dalam ayat "Musang coklat cepat melompat ke atas anjing malas" sebagai sebahagian daripada ucapan: pos_tag()

>>> import nltk
>>> nltk.download("punkt")
>>> nltk.download("averaged_perceptron_tagger")
>>> sentence = "The quick brown fox jumps over the lazy dog"
>>> Words = nltk.word_ tokenize(sentence)
>>> tagged_words = nltk.pos_tag(words)
>>> print(tagged_words)
[("The", "DT"), ("quick", "JJ"), ("brown", "JJ"), ("fox", "NN"), ("jumps", "VBZ"), ("over", "IN"), ("the", "DT"), ("lazy", "JJ"), ("dog", "NN")]
Salin selepas log masuk

Dalam hasil keluaran, setiap perkataan diikuti dengan singkatan sebahagian daripada pertuturan. Contohnya, "DT" mewakili penentu, "JJ" mewakili kata sifat, "NN" mewakili kata nama, "VBZ" mewakili kata kerja dan sebagainya.

Ketepatan penanda sebahagian daripada pertuturan

Ketepatan penanda POS NLTK bergantung pada korpus dan model latihan yang digunakan. Secara umumnya, lebih besar korpus, lebih baik model dilatih, dan lebih tinggi ketepatan penanda bahagian pertuturan.

Kita boleh menggunakan fungsi

NLTK untuk menilai ketepatan penanda sebahagian daripada pertuturan. Fungsi ini menerima senarai pasangan perkataan dan sebahagian daripada pertuturan sebagai input dan mengembalikan apungan yang mewakili ketepatan. Sebagai contoh, kita boleh menggunakan kod berikut untuk menilai ketepatan penanda POS dalam contoh di atas: accuracy()

>>> from nltk.metrics import accuracy
>>> Gold_standard = [("The", "DT"), ("quick", "JJ"), ("brown", "JJ"), ("fox", "NN"), ("jumps", "VBZ"), ("over", "IN"), ("the", "DT"), ("lazy", "JJ"), ("dog", "NN")]
>>> accuracy(gold_standard, tagged_words)
0.9
Salin selepas log masuk

Hasil keluaran menunjukkan bahawa ketepatan penanda bahagian pertuturan ialah 90%.

Kesimpulan

NLTK POS tagger ialah

alat yang sangat berkuasa yang boleh membantu kita dengan mudah menandai POS perkataan dalam ayat. Penanda sebahagian daripada pertuturan ini penting untuk banyak tugas pemprosesan bahasa semula jadi, seperti analisis sintaksis, analisis semantik dan terjemahan mesin.

Atas ialah kandungan terperinci [Python NLTK] Penandaan sebahagian daripada pertuturan, kenal pasti bahagian pertuturan perkataan dengan mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan