Itu sebagian besar tergantung pada seberapa banyak "state-of-the-art" (SOTA) yang Anda inginkan versus seberapa dalam Anda ingin pergi (pun intended ...).
Jika Anda dapat hidup hanya dengan embeddings kata yang dangkal seperti yang disediakan oleh word2vec, Glove, atau fastText, saya pikir Word Mover Distance (WMD [yes, really ...]) adalah fungsi yang bagus untuk mengukur jarak dokumen (pendek) [1] . Saya bahkan pernah melihat beberapa Notebook Python di masa lalu yang menyediakan "tutorial" untuk pengukuran jarak ini, jadi sangat mudah untuk memulai.
Namun, jika Anda lebih tertarik pada SOTA, Anda harus melihat ke dalam (urutan representasi) pembelajaran, menggunakan beberapa jenis jaringan berulang yang mempelajari model topik dari kalimat Anda. Selain mengintegrasikan embrio kata (semantik), pendekatan ini melampaui pendekatan "bag-of-words" [baik, lama] dengan mempelajari representasi topik menggunakan dependensidari kata-kata dalam kalimat [s]. Sebagai contoh, Model Level Level Berulang (SLRTM) dari Sentence Level adalah model yang dalam dan cukup menarik berdasarkan pada ide LDA yang lebih tradisional (oleh Blei dkk.) Atau LSA (Landauer dkk.), Tetapi hanya arXiv kertas (jadi semua default "ambil-ini-dengan-butir-dari-garam peringatan" tentang penelitian non-peer-review harus diterapkan ...) [2]. Namun demikian, makalah ini memiliki banyak penunjuk yang sangat baik dan referensi untuk memulai penelitian Anda jika Anda ingin turun ke lubang kelinci ini.
Akhirnya, harus diklarifikasi bahwa saya tidak mengklaim bahwa ini adalah metode berkinerja terbaik yang disepakati untuk masing-masing model dan model urutan. Tetapi mereka harus membuat Anda cukup dekat dengan SOTA "terbaik" apa pun, dan setidaknya harus berfungsi sebagai titik awal yang sangat baik.
[1] Matt J. Kusner et al. Dari Word Embeddings Hingga Document Jarak. Prosiding Konferensi Internasional ke-32 tentang Pembelajaran Mesin, JMLR, 2015.
[2] Fei Tian et al. SLRTM: Membiarkan Topik Berbicara untuk Diri Sendiri. arXiv 1604.02038, 2016.