Saya ingin menulis sesuatu yang mengambil kalimat dan mengidentifikasi setiap kata yang dikandungnya dan mendefinisikan bagian mana dari setiap kata.
Sebagai contoh
Halo Dunia, saya adalah kalimat
akan mengembalikan ini
verb noun, pronoun verb adjective noun
Idealnya, saya ingin mengambil satu langkah lebih jauh dan mengambil sebuah kalimat dan secara terprogram memahami apa yang ingin ditafsirkan dan mungkin melakukan sesuatu tentang hal itu.
Jadi pertanyaan saya adalah, pernahkah seseorang mendengar sesuatu seperti ini?
Jawaban:
Ini disebut Pemrosesan Bahasa Alami dan ini adalah bidang yang sangat luas dan kompleks. Sesuatu seperti yang Anda gambarkan adalah pencapaian yang monumental, dan bahkan solusi terbaik, seperti Watson , sama sekali tidak sempurna.
Hal-hal seperti ini membuatnya menantang: "Kerbau kerbau Kerbau kerbau kerbau kerbau Kerbau"
sumber
Meskipun memecah kalimat dan menentukan kebenaran tata bahasa bersamaan dengan menyelesaikan masalah pertama Anda lebih mudah daripada masalah kedua Anda, banyak kerumitan seperti kata kerja-kata benda atau gerunds seperti berenang, pemrograman, dll dan seluk-beluk lainnya, masih merupakan tantangan - See Morons ' menjawab.
Tetapi masalah kedua Anda - orang-orang telah berupaya keras untuk menemukan solusi yang sempurna, tetapi algoritma "interpretasi" yang benar-benar sempurna tidak dapat direalisasikan secara praktis untuk bahasa alami seperti bahasa Inggris - ada variasi yang akan mengacaukan algoritme Anda. Bidang ini - hibrida antara AI, Ilmu Komputer dan Linguistik dikenal sebagai NLP . Pertimbangkan ini: Bahkan Google Terjemahan tidak sempurna ketika "menafsirkan" kalimat.
Namun demikian, ini adalah bidang yang sangat menarik untuk dicoba.
sumber
Saya pikir Anda harus mulai membaca artikel Wikipedia ini:
http://en.wikipedia.org/wiki/Part-of-speech_tagging
(ini adalah bidang penelitian, jangan mengharapkan solusi mudah untuk itu.)
sumber
Cara murah untuk melakukan ini adalah dengan membuat database kamus (saya hampir yakin seseorang telah melakukan ini).
Perlu dua bidang dalam tabel:
word
danusage
Ubah frasa menjadi array string, (setiap kata menjadi string) dan secara independen:
Ini solusi yang berat, tetapi yang saya gunakan di masa lalu.
sumber