Semantic Grep - Alat pencarian berbasis Word2Vec
(github.com/arunsupe)sgrepadalah alat baris perintah yang melakukan pencarian semantik untuk input teks menggunakan embedding kata- Melampaui pencocokan string sederhana dengan menemukan kecocokan yang mirip secara semantik dengan kueri
- Dirancang untuk memberikan pengalaman yang mirip dengan
grep
- Fitur
- Pencarian semantik menggunakan embedding Word2Vec
- Dapat mengatur ambang kemiripan
- Menampilkan konteks sebelum dan sesudah baris yang cocok
- Output berkode warna untuk kata yang cocok dan nomor baris
- Mendukung pembacaan dari file atau input standar
- Dapat dikonfigurasi melalui file JSON dan argumen baris perintah
- Contoh penggunaan
- Mencari kata yang mirip dengan "death" di "The Old Man and the Sea" karya Hemingway, lengkap dengan konteks dan nomor baris:
curl -s 'https://gutenberg.ca/ebooks/hemingwaye-oldmanandthesea/…' \ | sgrep -C 2 -n -threshold 0.55 death - Perintah ini melakukan hal berikut:
- Mengambil teks "The Old Man and the Sea" dari Project Gutenberg Canada
- Menyalurkan teks tersebut ke
sgrep - Mencari kata-kata yang mirip secara semantik dengan "death"
- Mengatur ambang kemiripan ke 0.55 (
-threshold 0.55) - Menampilkan 2 baris konteks sebelum dan sesudah setiap kecocokan (
-C 2) - Menampilkan nomor baris (
-n)
- Output menampilkan skor kemiripan, kata yang disorot, konteks, dan nomor baris
- Mencari kata yang mirip dengan "death" di "The Old Man and the Sea" karya Hemingway, lengkap dengan konteks dan nomor baris:
- Model Word2Vec
sgrepmemerlukan model Word2Vec dalam format biner. Anda dapat menggunakan model yang sudah dilatih sebelumnya seperti model Word2Vec dari Google, atau melatihnya sendiri menggunakan alat sepertigensim- Unduh file
.binsecara lokal lalu perbaruiconfig.json- Word2Vec Google: https://github.com/mmihaltz/word2vec-GoogleNews-vectors
- Versi ringkas: model
GoogleNews-vectors-negative300-SLIM.bin.gzhttps://github.com/eyaler/word2vec-slim/ (terima kasih kepada eyaler)
download-model.shadalah skrip pembantu sederhana yang menyimpan model word2vec kecil yang di-host oleh eyaler ke direktorimodels/googlenews-slim/
Ringkasan GN⁺
sgrepadalah alat untuk mencari kata yang mirip secara semantik dalam teks menggunakan embedding kata- Alat ini memberikan pengalaman penggunaan yang mirip dengan
grep, sambil menawarkan kemampuan yang melampaui pencocokan string sederhana - Alat ini menggunakan model Word2Vec untuk menilai kemiripan dan dapat digunakan secara fleksibel melalui berbagai opsi konfigurasi
- Alat ini berguna untuk analisis teks dan tugas pemrosesan bahasa alami, terutama saat diperlukan pencarian berbasis konteks
1 komentar
Komentar Hacker News
Sambil membaca kodenya, membagikan beberapa tips kecil
Ide ini terasa sangat berguna dan membuat penasaran kenapa tidak terpikir sebelumnya
Sudah ada alat dan perusahaan bernama semgrep
Alat ini akan sangat berguna jika bisa menangani frasa deskriptif atau frasa majemuk
Ini alat yang sangat keren
Alat ini sangat keren dan benar-benar ingin mencobanya
Mengusulkan fltr sebagai alat serupa
Sangat keren, dan penasaran apakah nama file juga bisa dicari
Menemukan alat yang sangat keren