Saya perlu menerapkan beberapa NLP dalam modul saya saat ini. Saya mencari beberapa perpustakaan bagus yang dapat membantu saya di sini. Saya menemukan 'LingPipe' tetapi tidak dapat sepenuhnya mengikuti cara menggunakannya.
Pada dasarnya, kita perlu mengimplementasikan fitur dimana aplikasi dapat menguraikan instruksi pelanggan (instruksi pengiriman) yang diketik dalam bahasa Inggris biasa. Misalnya:
- Akan dijemput jam 12 siang besok
- Minta pengiriman setelah 10 Juni
- Tolong jangan kirim sebelum Rabu
- Tambahkan 10 unit XYZ lagi ke pesanan
Jawaban:
LingPipe sangat bagus dan didokumentasikan dengan baik. Anda juga dapat melihat:
Yang terakhir secara khusus mungkin menarik bagi Anda, meskipun saya tidak tahu apakah ada implementasi Java yang tersedia (dan mungkin itu terlalu besar untuk masalah Anda :-)
Ide Paul untuk menggunakan DSL mungkin lebih mudah dan lebih cepat untuk diterapkan, dan lebih dapat diandalkan untuk digunakan oleh pelanggan Anda. Saya juga akan merekomendasikan untuk memeriksanya terlebih dahulu.
sumber
Saya pikir apakah Anda memilih untuk menggunakan NLP atau tidak mungkin bergantung pada persyaratan khusus untuk sistem Anda. Apakah ini merupakan persyaratan bahwa bahasa Inggris bentuk bebas harus diterima, atau apakah hanya seperangkat instruksi tertentu yang akan diterima? Mungkin lebih mudah untuk membangun bahasa khusus domain yang mendukung apa yang perlu disampaikan pengguna Anda daripada melakukan analisis semantik lengkap dari teks bentuk bebas.
Di ruang Java, Groovy memiliki beberapa dukungan untuk membangun DSL .
sumber
Untuk bahasa JVM lainnya, lihat
sumber