ระบบตอบคำถามสำหรับเอกสารเกี่ยวกับโรคโควิด-19
บทนำ • การเริ่มต้นใช้งาน • ข้อมูลเบื้องต้น • เซิร์ฟเวอร์และไคลเอ็นต์ API
ข้อมูล. จำนวนเอกสารที่เกี่ยวข้องกับโควิด-19 เพิ่มขึ้นอย่างมาก ด้วยข้อมูลจำนวนมหาศาล ชุมชนการวิจัยจึงค้นหาข้อมูลที่เกี่ยวข้องได้ยากขึ้น
เครื่องมือค้นหาบนสเตียรอยด์ Korono เป็นแพลตฟอร์มตอบคำถามที่ออกแบบมาเพื่ออำนวยความสะดวกในการวิจัยข้อมูลเกี่ยวกับโควิด-19 คุณสามารถนึกถึง Korono ว่าเป็นเครื่องมือค้นหาบนสเตียรอยด์
หลักการทำงาน. เครื่องมือ Korono ประกอบด้วยสองขั้นตอน: ขั้นตอนการสืบค้นและขั้นตอนการตอบคำถาม ในตอนแรก เมื่อได้รับข้อความค้นหา q
เครื่องมือค้นหาจะส่งคืนเอกสารที่เกี่ยวข้องทั้งหมดจากข้อความค้นหานั้น ต่อมาคำตอบจะถูกดึงออกมาจากกระดาษแต่ละแผ่นและแสดงไว้
คุณสามารถใช้เวอร์ชันออนไลน์ (เร็วๆ นี้) หรือเรียกใช้เซิร์ฟเวอร์ของคุณเอง
เรียกใช้เซิร์ฟเวอร์ในเครื่อง:
./run_server.sh
เรียกใช้ไคลเอนต์และถามคำถาม:
> from korono import client
> client . get_answers ( "What is coronavirus?" )
เครื่องมือค้นหา เครื่องมือค้นหาใช้อัลกอริธึมการจัดอันดับที่เรียกว่า Okapi BM25 โดยที่ BM ย่อมาจาก การจับคู่ที่ดีที่สุด BM25 เป็นฟังก์ชันดึงข้อมูลแบบกลุ่มคำที่จัดเรียงเอกสารตามเงื่อนไขการค้นหาที่ปรากฏในแต่ละเอกสาร
ตอบคำถาม . คำถามถูกดึงมาจากคลังข้อมูลโดยใช้ Transformers ซึ่งเป็นโมเดลภาษาโครงข่ายประสาทเทียมขนาดใหญ่ ณ ขณะนี้ รองรับเฉพาะโมเดล distilbert-base-uncased-distilled-squad
เท่านั้น เร็วๆ นี้ เราวางแผนที่จะขยายการสนับสนุน
load_data.get_df()
ส่งกลับชุดข้อมูลที่ขีดเส้นใต้
load_data.get_metadata_df()
ส่งคืน DataFrame เมตาดาต้า CORD-19
korono_model.answer_question(question, context)
เมื่อมีคำถามและบริบท จะส่งกลับคำตอบ
korono.model.get_summary(text)
เมื่อระบุข้อความ โมเดลจะส่งคืนข้อมูลสรุปเชิงนามธรรม
korono_model.find_start_end_index_substring(context, answer)
ส่งคืนดัชนีเริ่มต้นและสิ้นสุดของสตริง answer
ในสตริง context
หากมีอยู่
client.get_answers_json(question)
ส่งคืนวัตถุ JSON ของแบบฟอร์ม: {
"results" : [
{
"context" : " coronavirus is an infectious disease " ,
"question" : " what is coronavirus? " ,
"answer" : " an infectious disease " ,
},
]
}
client.get_answers(question)
ส่งคืนรายการคำตอบทั้งหมด