Implementasi Kesamaan Semantik UMBC

Saya menggunakan API web kesamaan semantik, yang disediakan oleh UMBC. Dalam program Java saya, saya mengirim permintaan HTTP http://swoogle.umbc.edu/SimService/GetSimilarityoperation=api&phrase1=XXXX&phrase2=XXXX dan saya mengurai output untuk mendapatkan hasilnya.

Masalah yang saya alami adalah saya memproses data berskala besar. Butuh waktu lama dan saya harus melakukannya berkali-kali. Saya bertanya-tanya apakah ada cara yang lebih cepat untuk menanyakan API Web di java? atau, apakah ada versi yang bisa diterapkan dari alat ini? dan seberapa mudahkah bagi seseorang yang bukan ahli NLP untuk mengimplementasikannya?


person M20    schedule 18.11.2015    source sumber


Jawaban (1)


Sepertinya Anda ingin memproses banyak pasangan frasa dengan cepat, dan API yang disediakan di sini tidak dapat digunakan.

Pilihan Anda untuk menghindari gangguan jaringan adalah:

  1. Gunakan API alternatif yang tersedia dalam batch. Jika ada panggilan yang menerima banyak pasangan frasa dan menghasilkan banyak skor kesamaan sekaligus, ini akan memungkinkan Anda melakukannya lebih cepat -- namun selama API-nya mewujudkan pemanggilan fungsi (lhs, rhs) -> score Anda akan dibatasi oleh seberapa cepat Anda dapat memanggil fungsi tersebut.

Ada pertanyaan terkait yang ditutup karena di luar topik, namun menyebutkan cortical.io sebagai API yang menyediakan perbandingan "massal".

  1. Mintalah sumber untuk menjalankannya sendiri. Hubungi organisasi yang menghosting API tersebut dan tanyakan apakah mereka dapat menyediakan kode sumbernya (untuk umum atau hanya untuk Anda).
  2. Terapkan sendiri metode mereka atau yang serupa.

Untuk membantu 3., saya telah menyediakan beberapa sumber di bawah.

Melihat-lihat situs web mereka, dan halaman publikasi grup, saya menemukan publikasi ini mungkin menarik.

Abhay L. Kashyap et al., "Kesamaan Teks Semantik yang Kuat Menggunakan LSA, Pembelajaran Mesin dan Sumber Daya Linguistik", Sumber Daya dan Evaluasi Bahasa, Januari 2016, 73 unduhan.

Untuk sesuatu yang lebih mudah diterapkan, dan setidaknya kinerjanya kompetitif, saya sarankan untuk melihat pendekatan vektor kata untuk kesamaan, seperti Stanford's GloVe atau word2vec Google (Anda mungkin harus berlatih ulang untuk dapatkan frasa dengan ukuran yang Anda inginkan, atau Anda dapat melakukan trik dengan merata-ratakan atau menambahkan vektor untuk mewakili frasa).

person John Foley    schedule 19.11.2015