Word2Vec untuk Pengakuan Entitas Bernama

25

Saya mencari untuk menggunakan implementasi word2vec google untuk membangun sistem pengenalan entitas bernama. Saya pernah mendengar bahwa jaring saraf rekursif dengan propagasi balik melalui struktur sangat cocok untuk tugas-tugas pengenalan entitas, tetapi saya tidak dapat menemukan implementasi yang layak atau tutorial yang layak untuk jenis model itu. Karena saya bekerja dengan corpus atipikal, alat NER standar di NLTK dan sejenisnya berkinerja sangat buruk, dan sepertinya saya harus melatih sistem saya sendiri.

Singkatnya, sumber daya apa yang tersedia untuk masalah seperti ini? Apakah ada implementasi standar neural rekursif neural tersedia?

Madison May
sumber
Sudahkah Anda mencoba melatih Stanford NER pada korpus Anda? Ada tutorial di sini .
Emre
Saya belum - harus mencobanya untuk melihat bagaimana tarifnya.
Madison
Saya ingin menggunakan fitur word2vec atau yang serupa, karena saya memiliki akses ke dataset berlabel yang relatif kecil dan perlu memanfaatkan sebagian besar data yang tidak berlabel yang saya miliki.
Madison

Jawaban:

7

Dua makalah baru-baru ini menggunakan arsitektur pembelajaran mendalam yang disebut CharWNN untuk mengatasi masalah ini. CharWNN pertama kali digunakan untuk mendapatkan hasil seni (tanpa fitur buatan tangan) pada penandaan Part of Speech (POS) pada corpus bahasa Inggris.

The kedua kertas oleh penulis yang sama menggunakan arsitektur yang sama (atau serupa) untuk memprediksi apakah kata milik 10 kelas Entity Bernama, dengan keadaan nyata dari hasil seni.

shark8me
sumber
Menarik. Terima kasih telah berbagi ini. Saya bertanya-tanya mengapa mereka tidak menguji pendekatan ini pada korpora bahasa Inggris.
MaticDiba
3

Coba http://deeplearning4j.org/word2vec.html . Ini memiliki implementasi Word2Vec digunakan sebagai ganti dari Bag of Words untuk NER dan tugas-tugas NLP lainnya.

metode bermain
sumber
1
Saya tidak punya masalah menemukan implementasi word2vec, tetapi saya tidak dapat menemukan jaring rekursif yang dapat digunakan.
Madison
Tautan tidak lagi aktif, jika mungkin silakan bagikan tautan kerja yang baru
Amandeep
1

Berikut adalah beberapa ide tentang cara menggunakan vektor kata untuk NER, yang mengadopsi pendekatan word2vec-centric yang sebagian besar tidak diawasi.

  1. Diberi satu set vektor kata (baik sesuatu yang Anda latih, atau sesuatu yang tidak tersedia seperti GoogleNews-vectors-negative300.bin), temukan cluster di ruang vektor. Cluster ini pada dasarnya adalah definisi Anda untuk berbagai konsep yang tidak disebutkan namanya.
  2. Dengan pengawasan minimal, Anda dapat memetakan / mengonversi cluster yang tidak disebutkan namanya agar sesuai dengan pengetahuan manusia, sehingga menciptakan konsep-konsep yang disebutkan di atas vektor kata yang dikenal dan konsep yang tidak disebutkan namanya. Misalnya, metode findCluster(['joy', 'surprise', 'disgust', 'trust', 'fear', 'sadness', 'anger', 'anticipation'])mungkin mengembalikan daftar yang berisi ratusan kata yang sebagian besar terkait dengan emosi. Jika Anda menamai daftar ini 'emosi', maka di sana Anda memiliki konsep bernama 'emosi' yang ditentukan berdasarkan ruang vektor.
  3. Anda juga dapat melakukan matematika vektor untuk menemukan konsep menengah antara dua yang diberikan. Sebagai contoh, vektor matematika mungkin memberi tahu Anda bahwa ketika diberi dua kata 'kejutan' dan 'jijik', berikut ini ditemukan di antara keduanya: cemas, takjub, kekecewaan, kekaguman, kekaguman, kebingungan, kekesalan, ketidakpercayaan, kejutan, dll. Ini memungkinkan Anda membangun hubungan antar konsep.
  4. Anda dapat mengulangi hal di atas untuk membangun berbagai jenis konsep bernama, seperti: hari kerja, semua emosi, emosi bahagia, kendaraan, dll.
  5. Setelah Anda membangun lapisan konsep bernama, Anda kemudian dapat melatih RNN pada corpus teks yang telah ditambah dengan konsep bernama, jadi 'lompatan rubah coklat' juga '{warna} {hewan} {aksi}' dll. Dengan cara ini RNN harus dapat mempelajari beberapa tata bahasa dasar dengan cara yang tidak diawasi.
  6. Jika Anda telah membangun tata bahasa yang cukup kuat dari hal di atas, maka Anda harus dapat menerapkannya pada beberapa tugas NER Anda.
Kaihu Chen
sumber