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
WBOYke hadapan
2024-02-25 10:01:19900semak imbas

【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")]

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

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!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam