- sgrep เป็นเครื่องมือบรรทัดคำสั่งที่ใช้ word embedding เพื่อทำการค้นหาเชิงความหมายสำหรับข้อความที่ป้อนเข้าไป
- ค้นหาคำที่มีความใกล้เคียงกันในเชิงความหมายกับคำค้น แทนการจับคู่สตริงแบบตรงตัวอย่างเดียว
- ออกแบบมาเพื่อมอบประสบการณ์การใช้งานที่คล้ายกับ grep
- ความสามารถ
- ค้นหาเชิงความหมายด้วย Word2Vec embedding
- ตั้งค่า similarity threshold ได้
- แสดงบริบทรอบบรรทัดที่ตรงกันทั้งก่อนและหลัง
- แสดงผลแบบไฮไลต์สีสำหรับคำที่ตรงกันและหมายเลขบรรทัด
- รองรับการอ่านจากไฟล์หรือ standard input
- ตั้งค่าได้ผ่านไฟล์ JSON และอาร์กิวเมนต์บรรทัดคำสั่ง
- ตัวอย่างการใช้งาน
- Word2Vec model
- sgrep ต้องใช้โมเดล Word2Vec ในรูปแบบไบนารี สามารถใช้โมเดลที่ฝึกไว้ล่วงหน้า เช่น Word2Vec ของ Google หรือฝึกเองด้วยเครื่องมืออย่าง gensim ได้
- ดาวน์โหลดไฟล์ .bin มาไว้ในเครื่องและอัปเดต config.json
- download-model.sh เป็นสคริปต์ตัวช่วยแบบง่ายที่บันทึกโมเดล word2vec ขนาดเล็กที่ eyaler โฮสต์ไว้ลงในไดเรกทอรี models/googlenews-slim/
สรุปโดย GN⁺
- sgrep เป็นเครื่องมือที่ใช้ word embedding เพื่อค้นหาคำที่มีความหมายใกล้เคียงกันในข้อความ
- มอบประสบการณ์การใช้งานคล้าย grep แต่มีความสามารถที่ไปไกลกว่าการจับคู่สตริงแบบตรงตัว
- ใช้โมเดล Word2Vec ในการตัดสินความคล้าย และสามารถใช้งานได้อย่างยืดหยุ่นผ่านตัวเลือกการตั้งค่าหลากหลาย
- มีประโยชน์สำหรับงานวิเคราะห์ข้อความและงานประมวลผลภาษาธรรมชาติ โดยเฉพาะเมื่อจำเป็นต้องค้นหาแบบอิงบริบท
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ขณะแกะอ่านโค้ด มีการแชร์ทิปเล็ก ๆ น้อย ๆ หลายข้อ
ไอเดียนี้มีประโยชน์มาก จนสงสัยว่าทำไมตัวเองไม่เคยนึกถึง
มีทั้งเครื่องมือและบริษัทชื่อ semgrep อยู่แล้ว
ถ้าเครื่องมือนี้จัดการกับวลีเชิงอธิบายหรือวลีผสมได้ ก็จะมีประโยชน์มาก
เป็นเครื่องมือที่เจ๋งมาก
เครื่องมือนี้เจ๋งมากและอยากลองใช้จริง ๆ
เสนอ fltr เป็นเครื่องมือคล้ายกัน
เจ๋งมาก และสงสัยว่าสามารถค้นหาชื่อไฟล์ได้ด้วยหรือไม่
ได้เจอเครื่องมือที่เจ๋งมาก