Genetic Ranker เป็นกรอบการทำงานโดยใช้พลังของอัลกอริทึมทางพันธุกรรมเพื่อค้นหาน้ำหนักการค้นหาที่ดีที่สุดสำหรับการค้นหา Elasticsearch หรือ Solr
การค้นหาน้ำหนักการค้นหาที่ดีที่สุดสำหรับฟิลด์เป็นกระบวนการที่ยาวนานและเนรคุณ ลองนึกภาพดัชนีที่มีเอกสารหลายล้านรายการทุก ๆ สิบฟิลด์และการสืบค้นร้อยที่ควรทดสอบเพื่อให้แน่ใจว่าการกำหนดค่าที่แท้จริงนั้นดีเพียงใด งานของคุณคือการพิจารณาว่ามีความสำคัญอย่างไร มันสามารถใช้เวลาตลอดชีวิต
ฉันเขียนโพสต์เกี่ยวกับเรื่องนั้นในบล็อกของฉันลองดูว่าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการนี้หรือไม่
ประการแรกมันเป็นเรื่องง่ายที่จะ กำหนดปัญหาเป็นชุดของน้ำหนักตัวเลข ที่สามารถเปลี่ยนแปลงได้ในระหว่างการประมวลผล การกลายพันธุ์ส่วนครอสโอเวอร์และการสืบพันธุ์ของอัลกอริทึมสามารถทำได้อย่างง่ายดายกับตัวเลข
ประการที่สองอัลกอริทึมทางพันธุกรรมสามารถ รักษาโซลูชันที่มีแนวโน้มได้ แม้จะไม่มีความเข้าใจที่แท้จริงเกี่ยวกับปัญหา สปีชีส์ที่ดีกว่า (บุคคล) จะถูกเก็บไว้และเป็นบรรพบุรุษสำหรับคนที่ดียิ่งขึ้น
ประการที่สามเนื่องจากชิ้นส่วนการกลายพันธุ์และครอสโอเวอร์อัลกอริทึม จะเพิ่มการสุ่มเล็กน้อยให้กับกระบวนการ มันอาจช่วยค้นหาคำตอบที่ดีที่สุดแม้ว่าจริงจะดี
เพิ่มเติมเกี่ยวกับเรื่องนั้นอีกครั้งที่นี่
ในการเริ่มต้น GeneticRanker คุณต้องเรียกใช้ไฟล์ ranker.py โครงการมีข้อมูลทั้งหมดที่จำเป็นในการสาธิตกรณีการใช้งานอย่างง่าย
ใน Ranker.py คุณควรกำหนดจำนวนฟิลด์ที่คุณต้องการใช้ ( Gene_size ใน Ranker ) จากนั้นระบุฟิลด์เหล่านั้นในคลาส ผู้ประเมิน ( ฟิลด์ )
ใน Queries.csv คุณต้องระบุกรณีการใช้งานที่คุณต้องการทดสอบ รูปแบบคือ:
[Query], [document_id]: [คาดว่า _position]: [good_enough_position]
ใน Properties.ini คุณสามารถกำหนดเครื่องมือค้นหาที่คุณต้องการใช้: Elasticsearch หรือ Solr คำถามควรกำหนดไว้ใน Essearcher.py และ Solrsearcher.py ตามลำดับ
ลองนึกภาพคุณเป็นวิศวกรค้นหาที่ต้องหาน้ำหนักที่ดีที่สุดสำหรับฟิลด์ที่มีการค้นหา สิ่งเดียวที่คุณมีคือ File Queries.csv , มีการสืบค้นและเอกสารในดัชนี ก่อนที่จะเรียกใช้ GeneticRanker ใช้เวลาสักครู่ในการอ่านไฟล์ CSV เหล่านี้และวิเคราะห์เอกสารจาก Queries-es.txt
มีเอกสารเพียง 8 ฉบับและแบบสอบถาม 10 ข้อ แต่ฉันรับประกันได้ว่าคุณสามารถใช้เวลาสักครู่ในงานนี้
ใน Data Directory มีไฟล์ที่มีเอกสาร คุณสามารถใช้วิธีการใด ๆ ของ Elasticsearch และ Solr ในการจัดทำดัชนีพวกเขา แต่สำหรับอดีตฉันใช้เครื่องมือ Postman และสำหรับแผงผู้ดูแลระบบ SOLR ในภายหลัง
การให้เซิร์ฟเวอร์ขึ้นและทำงานควรเพียงพอที่จะเรียกใช้สคริปต์และดูผลลัพธ์
ทิ้ง Elasticsearch pysolr
คุณควรตรวจสอบใบอนุญาตของพวกเขาและตัดสินใจว่าคุณต้องการใช้พวกเขาในซอฟต์แวร์ของคุณหรือไม่ อัลกอริทึมทางพันธุกรรมถูกนำมาใช้โดยใช้เฟรมเวิร์ก DEAP
กรณีการใช้งานทุกครั้งอาจต้องมีการเปลี่ยนแปลงค่าอัลกอริทึมทางพันธุกรรมหรืออัลกอริทึมเอง แต่การกำหนดค่าที่เสนอควรเป็นจุดเริ่มต้นที่ดี มีความสุขในการใช้!