Dalam bahasa pemrograman, ada seperangkat aturan tata bahasa yang mengatur konstruksi pernyataan dan ekspresi yang valid. Aturan-aturan ini membantu dalam mengurai program yang ditulis oleh pengguna.
Dapatkah pernah ada seperangkat aturan tata bahasa yang berfungsi lengkap yang dapat menguraikan pernyataan dalam bahasa Inggris (spesifik lokal) secara akurat dan yang dapat diterapkan untuk digunakan dalam proyek berbasis AI?
Saya tahu bahwa ada banyak NLP Toolkit yang tersedia online, tetapi tidak begitu efektif. Kebanyakan dari mereka dilatih menggunakan corpus spesifik yang terkadang gagal menyimpulkan beberapa korelasi kompleks antara berbagai bagian ekspresi.
Dengan kata lain, yang saya tanyakan adalah apakah mungkin bagi komputer untuk mem-parsing kalimat yang ditulis dalam bahasa Inggris dengan baik seolah-olah diurai oleh manusia dewasa berbahasa Inggris?
EDIT: Jika tidak dapat direpresentasikan menggunakan aturan tata bahasa sederhana, struktur semantik seperti apa yang dapat digunakan untuk menggeneralisasikannya?
EDIT2: Makalah ini membuktikan tidak adanya ketelitian konteks dalam bahasa alami. Saya mencari solusi, meskipun terlalu rumit.
sumber
Jawaban:
Parsing ya, akurat kemungkinan besar tidak.
Mengapa
Menurut pemahaman saya tentang bagaimana kita memperoleh makna dari suara, ada 2 strategi yang saling melengkapi:
Aturan Tata Bahasa: Sistem berbasis aturan untuk memesan kata untuk memfasilitasi komunikasi, di sini makna diturunkan dari interaksi suara diskrit dan makna independennya, sehingga Anda dapat menguraikan kalimat berdasarkan buku aturan.
EG "Ini kemenangan" : parser akan mengekstrak kata ganti ( Ini ) dengan makna yang sesuai (orang atau benda tertentu); kata kerja ( was ) dengan makna yang sesuai (terjadi); ( a ) dan di sini kita mulai dengan beberapa masalah penguraian, apa yang akan diurai oleh pengurai, kata benda atau artikel tidak terbatas? Jadi kita membaca buku tata bahasa, dan puas dengan maknanya (artikel yang tidak terbatas), Anda harus menguraikan kata berikutnya dan merujuknya, tapi mari kita bahas itu sekarang, dan akhirnya ( menang ) kata benda (bisa juga berupa kata kerja, tetapi berkat buku tata bahasa kami menyelesaikan kata benda dengan makna: (kemenangan, penaklukan), jadi pada akhirnya kami memiliki (bergabung dengan makna):
Hal khusus terjadi pada kemenangan. Cukup dekat dan saya membahas beberapa aturan lain, tetapi bukan itu intinya, strategi lainnya adalah:
Kamus leksikal (atau leksikon) Di mana kata atau suara dikaitkan dengan makna tertentu. Di sini makna diturunkan dari satu kata atau lebih atau bunyi sebagai satu kesatuan. Ini memperkenalkan masalah ke parser, karena, seharusnya tidak mem-parsing apa pun.
EG "Non Plus Ultra" Maka parser AI akan mengenali bahwa frasa ini tidak boleh diuraikan dan sebaliknya dicocokkan dengan makna:
Titik atau puncak tertinggi
Unit leksikal memperkenalkan masalah lain karena mereka sendiri dapat menjadi bagian dari contoh pertama, dan akhirnya Anda mengalami rekursi.
Saya percaya itu mungkin, sebagian besar contoh saya telah melihat secara efektif dengan buku aturan tata bahasa atau bagian leksikon, tetapi saya tidak mengetahui kombinasi keduanya, tetapi dalam hal pemrograman, itu bisa terjadi.
Sayangnya bahkan jika Anda memecahkan masalah ini, AI Anda tidak akan benar-benar memahami hal-hal dalam arti yang sempit, tetapi justru memberi Anda sinonim yang sangat rumit, dan juga konteks (seperti yang disebutkan dalam komentar) berperan dalam strategi tata bahasa dan leksikon.
Campuran di mana ada aturan tata bahasa dan leksikon dan keduanya dapat berubah dan dipengaruhi berdasarkan konteks dan pengalaman khusus AI serta sistem untuk menangani objek-objek ini bisa menjadi satu cara.
sumber
Saya cukup yakin bahwa jawabannya adalah "tidak" dalam arti yang paling ketat, karena bahasa Inggris tidak memiliki definisi formal. Artinya, tidak ada yang mengendalikan bahasa Inggris dan menerbitkan tata bahasa formal yang harus dipatuhi setiap orang. Bahasa Inggris dibangun melalui proses pengalaman dan memiliki kontradiksi dan kelemahan, tetapi sifat probabilistik dari pikiran manusia memungkinkan kita untuk mengatasi itu.
Misalnya, bahwa "kalimat" ini:
Kalimat ini tidak ada kata kerja
Secara teknis itu bukan kalimat sama sekali, karena tidak memiliki kata kerja. Tapi apakah ada yang punya masalah memahami apa artinya? Diragukan. Cobalah membuat aturan formal untuk itu. Dan itu hanya satu contoh.
Sekarang, dapatkah Anda membuat tata bahasa formal yang mencakup, mungkin, 90% kasus, dan "cukup baik" untuk penggunaan praktis? Mungkin, bahkan mungkin. Tapi saya cukup yakin itu tidak mungkin untuk mencapai 100%.
sumber
Kami telah menyimpulkan bahwa ini adalah masalah dua sisi, melingkar: struktur tidak dapat disimpulkan tanpa konteks tetapi mengetahui struktur juga membantu menyimpulkan konteks. Jadi, inilah solusi kompleks Anda: mulailah dengan konteks, yang ditentukan oleh kombinasi kata dalam kalimat (kombinatorik dan masalah pencarian), dari sana tentukan struktur Anda, atau "parse" (pada langkah ini Anda juga dapat menyaring beberapa kata-kata tidak penting atau setidaknya memberikan bobot yang lebih rendah), kembali ke konteks, kembali ke penguraian, dan terus sampai Anda tiba pada maknanya. Dengan demikian secara iteratif, reduksi rekursif seluruh masalah dapat diselesaikan.
sumber
Saya sangat tidak setuju dengan semua komentar sebelumnya. Bukan karena mereka salah, -mereka yang tidak - tetapi karena mereka menyesatkan - meskipun tidak sengaja.
Sebagai contoh: Jika seseorang melihat masalah-masalah ini dari posisi akademik, masalahnya akan selalu tampak tidak dapat diatasi. Ini karena semuanya dengan dingin dinilai dan dihitung secara terpisah dengan yang lainnya.
Jawabannya terutama terletak pada asosiasi kata . Anda harus menulis sebuah program yang dapat memproses basis data buku digital yang luas, untuk mendaftarkan setiap kata dan semua kata dalam bahasa itu yang terkait dengannya. Ditambah semua informasi statistik dengan setiap kata yang terkait dan tanda baca yang terkait.
Ini kemudian akan memberi Anda dasar di mana AI dapat memutuskan beberapa hal:
Jadi, sebagai kesimpulan, Anda memiliki dua hal yang harus dicari: Asosiasi dan probabilitas.
Ketika membuat basis data model digital secara digital, kemungkinan "string" kata dan kalimat terjadi, sehingga setiap variasi struktur bahasa dalam kalimat apa pun dapat ditentukan sebelum, selama dan setelah sampel teks dituliskan. Kontrol intim ini atas pola model bahasa, berarti komponen sensitif seperti "subjek" dan "objek" dapat ditentukan dengan mudah oleh kode.
sumber