Stanford NLP, demo'd di sini , memberikan output seperti ini:
Colorless/JJ green/JJ ideas/NNS sleep/VBP furiously/RB ./.
Apa arti dari tag Bagian Bicara? Saya tidak dapat menemukan daftar resmi. Apakah itu sistem Stanford sendiri, atau apakah mereka menggunakan tag universal? (Apa JJ
, misalnya?)
Juga, ketika saya mengulangi kalimat, mencari kata benda, misalnya, saya akhirnya melakukan sesuatu seperti memeriksa untuk melihat apakah tag .contains('N')
. Ini terasa sangat lemah. Apakah ada cara yang lebih baik untuk secara terprogram mencari bagian tertentu dari pembicaraan?
java
nlp
stanford-nlp
part-of-speech
Nick Heiner
sumber
sumber
.starts_with('N')
daripadacontains
, karena 'IN' dan 'VBN' juga mengandung 'N'. Dan itu mungkin cara terbaik untuk menemukan kata-kata yang menurut penandanya adalah kata benda.Jawaban:
Proyek Penn Treebank . Lihatlah ps tagging Bagian-of-speech .
JJ bersifat kata sifat. NNS adalah kata benda, jamak. VBP adalah kata kerja present tense. BPR adalah kata keterangan.
Itu untuk bahasa Inggris. Untuk Cina, itu Penn Chinese Treebank. Dan bagi orang Jerman itu adalah NEGRA corpus.
sumber
sumber
Jawaban yang diterima di atas tidak memiliki informasi berikut:
Ada juga 9 tanda baca yang ditentukan (yang tidak tercantum dalam beberapa referensi, lihat di sini ). Ini adalah:
sumber
Berikut adalah daftar tag yang lebih lengkap untuk Penn Treebank (diposting di sini untuk kelengkapan):
http://www.surdeanu.info/mihai/teaching/ista555-fall13/readings/PennTreebankConstituents.html
Ini juga termasuk tag untuk tingkat klausa dan frase.
Tingkat Klausa
Tingkat Frasa
(deskripsi dalam tautan)
sumber
Kalau-kalau Anda ingin kode itu ...
sumber
Saya menyediakan seluruh daftar di sini dan juga memberikan tautan referensi
Anda dapat mengetahui seluruh daftar tag Parts of Speech di sini .
sumber
Mengenai pertanyaan kedua Anda untuk menemukan POS / tag khusus (mis., Kata benda), berikut adalah contoh kode yang dapat Anda ikuti.
Outputnya adalah:
sumber
Tampaknya itu adalah label Brown Corpus .
sumber
Stanford CoreNLP Tags untuk Bahasa Lain: Prancis, Spanyol, Jerman ...
Saya melihat Anda menggunakan parser untuk bahasa Inggris, yang merupakan model default. Anda dapat menggunakan parser untuk bahasa lain (Prancis, Spanyol, Jerman ...) dan, perlu diketahui, baik tokenizer maupun bagian dari penandaan ucapan berbeda untuk setiap bahasa. Jika Anda ingin melakukan itu, Anda harus mengunduh model spesifik untuk bahasa tersebut (menggunakan builder seperti Maven misalnya) dan kemudian mengatur model yang ingin Anda gunakan. Di sini Anda memiliki informasi lebih lanjut tentang itu.
Di sini Anda adalah daftar tag untuk berbagai bahasa:
TAG UNTUK FRENCH:
Bagian dari Tag Pidato untuk Bahasa Prancis
Kategori Phrasal Tags untuk Perancis:
Fungsi Sintaksis untuk Bahasa Prancis:
sumber
Dalam spacy itu sangat cepat saya pikir, hanya di notebook low-end akan berjalan seperti ini:
Output dalam beberapa percobaan:
Jadi, saya pikir Anda tidak perlu khawatir tentang perulangan untuk setiap pemeriksaan tag POS :)
Lebih banyak perbaikan yang saya dapatkan ketika menonaktifkan pipa tertentu:
Jadi, hasilnya lebih cepat:
sumber