Saya mencari perpustakaan Python yang membantu saya mengidentifikasi kesamaan antara dua kata atau kalimat.
Saya akan melakukan konversi Audio ke Teks yang akan menghasilkan kamus bahasa Inggris atau kata-kata non-kamus (Ini bisa berupa Orang atau nama Perusahaan) Setelah itu, saya perlu membandingkannya dengan kata atau kata-kata yang dikenal.
Contoh:
1) Hasil teks ke audio: Terima kasih telah menelepon America Expansion akan dibandingkan dengan American Express .
Kedua kalimat itu entah bagaimana serupa tetapi tidak sama.
Sepertinya saya mungkin perlu melihat ke berapa banyak karakter yang mereka bagikan. Ide apa pun akan bagus. Tampak fungsionalitas seperti pencarian Google "maksud Anda" fitur.
Terlepas dari respons yang sangat baik di sini, Anda dapat mencoba SequenceMatcher di pustaka python difflib.
https://docs.python.org/2/library/difflib.html
Sekarang Pertimbangkan kode di bawah ini:
Sekarang Anda dapat membandingkan nilai d untuk mengevaluasi kesamaan.
sumber
Jika kamus Anda tidak terlalu besar, pendekatan umum adalah mengambil jarak Levenshtein, yang pada dasarnya menghitung berapa banyak perubahan yang harus Anda lakukan untuk berpindah dari satu kata ke kata lain. Perubahan termasuk mengubah karakter, menghapus karakter atau menambahkan karakter. Contoh dari Wikipedia :
lev (anak kucing, duduk) = 3
Berikut adalah beberapa implementasi Python di Wikibooks.
Algoritma untuk menghitung jarak ini tidaklah murah. Jika Anda perlu melakukan ini dalam skala besar, ada cara untuk menggunakan kesamaan cosinus pada vektor bi-gram yang jauh lebih cepat dan mudah didistribusikan jika Anda perlu menemukan kecocokan untuk banyak kata sekaligus. Namun mereka hanya perkiraan untuk jarak ini.
sumber
Teknik perbandingan yang lama dan terkenal adalah algoritma Soundex . Idenya adalah untuk membandingkan bukan kata-kata itu sendiri tetapi perkiraan bagaimana mereka diucapkan. Sejauh mana ini benar-benar meningkatkan kualitas hasil yang saya tidak tahu.
Namun rasanya agak aneh untuk menerapkan sesuatu seperti Soundex ke hasil dari mesin pengenalan suara-ke-teks. Pertama Anda membuang informasi tentang bagaimana kata-kata diucapkan, kemudian Anda mencoba menambahkannya kembali. Akan lebih baik untuk menggabungkan dua fase ini.
Oleh karena itu, saya berharap keadaan teknologi seni di bidang ini untuk melakukan itu, dan menjadi semacam klasifikasi adaptif, misalnya berdasarkan jaringan saraf. Google mengembalikan riset terbaru tentang Pengenalan Suara dengan Neural Networks .
sumber