ManyPerson - โปรแกรมจำลองความคิดเห็นสาธารณะด้วย AI Persona ของเกาหลีบนฐาน MDIS จากสำนักงานสถิติแห่งชาติ
(manyperson.com)-
บริการจำลองความคิดเห็นสาธารณะด้วย AI Persona ที่สะท้อนโครงสร้างประชากร รูปแบบครัวเรือน รายได้ สินทรัพย์ หนี้สิน และการกระจายของกลุ่มอาชีพในสังคมเกาหลี โดยอิงจากไมโครดาต้า MDIS ของสำนักงานสถิติแห่งชาติ
-
เมื่อผู้ใช้ป้อนคำถามที่ต้องการ ระบบจะคัดเลือกพลเมือง AI ที่ตรงตามเงื่อนไขเพื่อสร้างคำตอบ และวิเคราะห์ผลลัพธ์ตามมุมเห็นด้วย/ไม่เห็นด้วย/ตัวเลือก/ช่วงอายุ/เพศ/ควอนไทล์รายได้/กลุ่มอาชีพ เป็นต้น
-
แยกวิเคราะห์และ join ไฟล์ CSV ดิบจาก MDIS การสำรวจการเงินและสวัสดิการครัวเรือนปี 2025 จำนวนข้อมูลระดับมาสเตอร์ครัวเรือน 34,880 รายการ และสมาชิกครัวเรือน 69,929 รายการ เพื่อสร้าง Persona เกาหลีสำหรับบริการราว 41,000 คน
-
ใช้ Gemini เพื่อสร้างรายละเอียดเพิ่มเติม เช่น ชื่ออาชีพ บุคลิก งานอดิเรก บ้านเกิด และคำแนะนำตัวแบบบุรุษที่หนึ่ง ซึ่งโค้ดของสำนักงานสถิติอย่างเดียวให้มาไม่เพียงพอ พร้อมใส่ข้อจำกัดเพื่อปรับแก้ไม่ให้ขัดแย้งกับรายได้ต่อปี สินทรัพย์ หนี้สิน อาชีพ และเรื่องราวพื้นหลัง
-
ไม่ใช่การถาม LLM ครั้งเดียวแบบง่าย ๆ ว่า "ถ้าถามคนเกาหลี 100 คนจะตอบอย่างไร?" แต่เป็นการให้ Persona ที่อิงการกระจายจริงตอบด้วยพื้นเพและสำนวนที่ต่างกัน แล้วนำผลมาสรุปโดยใช้ค่าน้ำหนักทางสถิติ
ปัญหาของการจำลองความคิดเห็นสาธารณะด้วย LLM แบบเดิม
หากถาม LLM ตรง ๆ ว่า "ช่วยจำลองความคิดเห็นของพลเมืองเกาหลี 100 คน" มักเกิดปัญหาที่ผลลัพธ์ออกมากลาง ๆ เกินไป หรือเอนเอียงไปยังอาชีพ ภูมิภาค และแนวโน้มบางแบบที่โมเดลคุ้นเคย
-
โครงสร้างครัวเรือนจริงของสังคมเกาหลี ควอนไทล์รายได้ กลุ่มอาชีพ ความต่างระหว่างเขตเมืองหลวงและนอกเขตเมืองหลวง รวมถึงสถานะอย่างว่างงาน เกษียณ นักเรียน หรือแม่บ้านเต็มเวลา ยังไม่ถูกสะท้อนอย่างเพียงพอ
-
โดยเฉพาะคำถามอย่างความคิดเห็นสาธารณะ นโยบาย หรือการตอบสนองต่อสินค้า ที่ความแตกต่างระหว่างกลุ่มมีความสำคัญ สิ่งที่สำคัญกว่าคำตอบเดียวที่ "ฟังดูน่าเชื่อ" คือ "ใครคิดต่าง และเพราะอะไร"
-
ตัวอย่างเช่น แม้จะเป็นคำถามเรื่องนโยบายอสังหาริมทรัพย์เดียวกัน คนวัย 20 ที่อยู่นอกเขตเมืองหลวงและไม่มีบ้านเป็นของตนเอง คนวัย 50 ในเขตเมืองหลวงที่มีบ้านของตนเอง และคนวัย 70 ที่เกษียณแล้วและมีรายได้จากค่าเช่า อาจตัดสินจากเหตุผลที่แตกต่างกันโดยสิ้นเชิง
-
ManyPerson จึงเริ่มจากการสร้างความแตกต่างเหล่านี้เป็นข้อมูลพื้นหลังของ Persona ก่อน แล้วจึงสร้างคำตอบบนฐานนั้น
แหล่งข้อมูลและวิธีการสร้าง
-
สร้าง pipeline สำหรับสร้าง Persona โดยอิงข้อมูลการสำรวจการเงินและสวัสดิการครัวเรือนปี 2025 ของ MDIS จากสำนักงานสถิติแห่งชาติ
-
join ไฟล์ CSV ของ household master และ household member ตามหมายเลขประจำครัวเรือนเพื่อสร้าง Persona ในระดับบุคคล
-
แปลงข้อมูลอย่างเพศ อายุ ความสัมพันธ์ภายในครัวเรือน สถานภาพสมรส ระดับการศึกษาสูงสุด สถานะการทำงาน หมวดอาชีพระดับใหญ่ หมวดอุตสาหกรรมระดับใหญ่ อยู่ในเขตเมืองหลวงหรือไม่ รูปแบบที่อยู่อาศัย จำนวนสมาชิกครัวเรือน และควอนไทล์รายได้ 5 ระดับ จาก codebook ให้เป็นค่าที่มนุษย์อ่านเข้าใจได้
-
เก็บข้อมูลรายได้รวมของครัวเรือน รายได้ใช้จ่ายได้ รายจ่ายเพื่อการบริโภค ค่าอาหาร ค่าที่อยู่อาศัย ค่าการศึกษา ค่ารักษาพยาบาล สินทรัพย์รวม หนี้สิน และสินทรัพย์สุทธิ ไว้เป็นคุณลักษณะของ Persona
-
ไม่นำรายได้ระดับครัวเรือนไปใช้เป็นรายได้ส่วนบุคคลตรง ๆ แต่กระจายเป็นรายได้ต่อปีโดยประมาณของแต่ละบุคคลด้วย heuristic ตามว่าเป็นหัวหน้าครัวเรือน คู่สมรส บุตร ว่างงาน หรือเกษียณ
-
เก็บค่าน้ำหนักจากสำนักงานสถิติไว้ใน
weightทำให้คำนวณได้ทั้งจำนวนคำตอบแบบตรงไปตรงมาและสถิติถ่วงน้ำหนักตามสัดส่วนประชากร
การสร้างรายละเอียดของ Persona
-
เนื่องจากข้อมูลดิบ MDIS เพียงอย่างเดียวยังไม่พอสำหรับสร้าง "เหตุผลที่ทำให้คนนี้พูดแบบคนนี้" จึงใช้ Gemini สร้างรายละเอียดเพิ่มเติมสำหรับบริการ
-
ฟิลด์ที่สร้างประกอบด้วยชื่อตำแหน่งงานแบบเฉพาะ MBTI บุคลิก งานอดิเรก บ้านเกิด และคำแนะนำตัวสั้น ๆ
-
ชื่อตำแหน่งงานและคำแนะนำตัวจะถูกสร้างร่วมกับข้อมูลรายได้ต่อปี รายได้รวมครัวเรือน สินทรัพย์สุทธิ หนี้สิน หมวดอาชีพระดับใหญ่ และสถานะการทำงาน เพื่อปรับให้สมจริง
-
หากรายได้ต่อปีเกิน 100 ล้านวอน ก็จะกำหนดข้อจำกัดให้ได้บทบาทอย่างผู้บริหาร ผู้เชี่ยวชาญรายได้สูง หรือเจ้าของกิจการที่ประสบความสำเร็จ และหากรายได้ต่อปีเป็น 0 วอน หรืออยู่ในสถานะว่างงาน/เกษียณ/เป็นบุตร ก็จะไม่ฝืนสร้างเป็นพนักงานทำงานประจำ
-
ในกรณีที่รายได้และสินทรัพย์ของครัวเรือนสูง แต่รายได้ส่วนบุคคลต่ำ ระบบจะสะท้อนบริบทอย่างแม่บ้านเต็มเวลาที่มีคู่สมรสรายได้สูง นักศึกษามหาวิทยาลัยที่มีพ่อแม่มั่งคั่ง หรือผู้เกษียณที่ใช้ชีวิตด้วยรายได้จากค่าเช่าอย่างเป็นธรรมชาติ
-
หากมีหนี้สูง ก็ออกแบบให้แรงกดดันทางการเงินสะท้อนออกมาในคำแนะนำตัวหรือบุคลิก
-
ในกระบวนการสร้างช่วงแรกมีปัญหาอย่าง "รายได้น้อยแต่เป็นผู้จัดการสำนักงานกฎหมาย" หรือ "รายได้สูงแต่เป็นพนักงานพาร์ตไทม์" ซึ่งข้อมูลการเงินกับเรื่องราวพื้นหลังไม่สอดคล้องกัน จึงสร้าง pipeline สำหรับสร้างซ้ำใน Phase 2 แยกต่างหากเพื่อปรับแก้ occupation/bio ของราว 41,000 คนอีกครั้ง
-
ผลลัพธ์ที่สร้างจะไม่ถูกเก็บค้างไว้ในหน่วยความจำทีเดียวแล้วค่อยบันทึก แต่ใช้โครงสร้างแบบสตรีมที่อัปเดตแต่ละ Persona ลงใน PostgreSQL JSONB ทันทีหลังสร้างเสร็จ
-
ต่อให้ Pod ตายระหว่างทาง ข้อมูลที่อัปเดตไปแล้วก็ยังอยู่ และสามารถรันต่อจากเดิมได้ด้วยมาร์กเกอร์
migrationPhase2
ขั้นตอนการใช้งานบริการ
-
ผู้ใช้ป้อนคำถามเป็นภาษาธรรมชาติ
-
Gemini + search Grounding จะช่วยจัดระเบียบคำถาม และหากจำเป็นก็จะแนะนำสรุปบริบทและเงื่อนไขการกรอง
-
กรอง Persona เป้าหมายตามเพศ ช่วงอายุ ภูมิภาค ควอนไทล์รายได้ ระดับการศึกษา กลุ่มอาชีพ จำนวนสมาชิกครัวเรือน สถานภาพสมรส เป็นต้น
-
พลเมือง AI ที่ถูกคัดเลือกในท้ายที่สุดจะตอบโดยอิงจาก snapshot ของ Persona ของตนเอง
-
คำตอบจะถูกบันทึกลง DB ทันที ทำให้ดูคำตอบบางส่วนได้แบบเรียลไทม์บนหน้าความคืบหน้า
-
เมื่อเสร็จสิ้น จะคำนวณสัดส่วนเชิงบวก/กลาง/ลบ หรือการกระจายของตัวเลือกแบบปรนัย พร้อมแสดงผลแบบถ่วงน้ำหนักที่ใช้ค่าน้ำหนักของสำนักงานสถิติร่วมด้วย
-
รองรับการวิเคราะห์ไขว้ตามแกนประชากรศาสตร์ เช่น ช่วงอายุ เพศ ควอนไทล์รายได้ ระดับการศึกษา และกลุ่มอาชีพ
-
ผลลัพธ์สุดท้ายจะถูกสร้างเป็นหน้าที่แชร์ได้ โดยสามารถดูทั้งการ์ดคำตอบของ Persona แต่ละคนและกราฟสถิติรวม
ตัวอย่างการใช้งาน
-
ประเมินได้อย่างรวดเร็วว่า "คนทำงานวัย 20~30 ในเขตเมืองหลวงจะตอบสนองอย่างไร" ต่อบริการหรือไอเดียสินค้าใหม่
-
สำรวจว่าประเด็นนโยบายหรือสังคมเดียวกันนั้น เหตุผลของแต่ละช่วงอายุ ควอนไทล์รายได้ และกลุ่มอาชีพ แตกต่างกันอย่างไร
-
รับการประเมินจากพลเมือง AI ที่มีพื้นเพหลากหลายต่อข้อความโฆษณา นโยบายราคา ลำดับความสำคัญของฟีเจอร์แอป ประกาศรับสมัครงาน หรือจดหมายแนะนำตัว
-
ใช้สำรวจก่อนทำแบบสอบถามจริง ว่าคำถามไหนกำกวม หรือกลุ่มใดมีแนวโน้มจะมีความเห็นแตกต่างกัน
จุดที่ต่างจาก Nemotron-Personas-Korea
-
หาก Nemotron-Personas-Korea เป็นชุดข้อมูล Persona สังเคราะห์ภาษาเกาหลีขนาดใหญ่ ManyPerson ก็ใกล้เคียงกับการนำแนวคิดนั้นมาทำเป็น "เว็บบริการที่ถามได้ทันทีและเห็นผลลัพธ์ได้เลย"
-
ปัจจุบัน ManyPerson มุ่งเน้นไปที่ประสบการณ์แบบผลิตภัณฑ์ ตั้งแต่การสร้างพูล Persona ตามสถิติภายในระบบ ไปจนถึงการสุ่มตัวอย่าง การสร้างคำตอบ และการวิเคราะห์สถิติให้ต่อเนื่องตามคำถามของผู้ใช้ มากกว่าการแจกจ่ายชุดข้อมูลสาธารณะ
-
องค์ประกอบของข้อมูลก็ไม่ได้หยุดแค่โปรไฟล์ประชากรอย่างง่าย แต่ยังนำข้อมูลรายได้ สินทรัพย์ หนี้สิน และรายจ่ายเพื่อการบริโภคจากการสำรวจการเงินและสวัสดิการครัวเรือนมาใช้ทั้งในการสร้าง Persona และการตีความผลลัพธ์อย่างจริงจัง
เทคโนโลยีสแตก
-
เว็บเซิร์ฟเวอร์บนฐาน Node.js, Express, EJS (เพื่อการพัฒนาที่รวดเร็ว บางโมดูลเขียนด้วย go แบบเรียบง่าย)
-
จัดเก็บข้อมูล Persona การจำลอง คำตอบ และข้อมูลการชำระเงิน/เครดิต ไว้ใน PostgreSQL/Cloud SQL
-
คุณสมบัติขยายของ Persona ถูกเก็บใน PostgreSQL JSONB เพื่อจัดการข้อมูลอย่างอาชีพ การศึกษา ควอนไทล์รายได้ บ้านเกิด บุคลิก และคำแนะนำตัวได้อย่างยืดหยุ่น
-
ใช้ Valkey สำหรับจัดการคิวและแคช
-
แยกการทำงานระหว่างเซิร์ฟเวอร์และเวิร์กเกอร์บน GKE Autopilot
-
ใช้โมเดลตระกูล Gemini 3 และ Vertex AI Flex API เพื่อสร้างรายละเอียดของ Persona และสร้างคำตอบสำหรับการจำลอง
-
สตรีมความคืบหน้าการจำลองและคำตอบล่าสุดแบบเรียลไทม์ด้วย SSE
ข้อจำกัดและข้อควรระวัง
-
ผลลัพธ์ของ ManyPerson ไม่ใช่การสำรวจความคิดเห็นจริง แต่เป็นการจำลองเสมือนบนฐาน AI Persona
-
เนื่องจากพึ่งพาขอบเขตการเปิดเผยข้อมูลและระดับโค้ดของ MDIS จากสำนักงานสถิติแห่งชาติ ตัวแปรอย่างพื้นที่ละเอียด แนวโน้มทางการเมือง หรือการรับรู้ประเด็นแบบเรียลไทม์ จึงต้องมีการประเมินหรือป้อนข้อมูลเพิ่มเติมแยกต่างหาก
-
รายละเอียดที่ LLM สร้างขึ้นเป็นข้อมูลสังเคราะห์เพื่อเพิ่มความสมจริง และไม่ได้ตั้งใจให้คล้ายคลึงกับบุคคลที่มีตัวตนจริง
-
ยิ่งจำนวนตัวอย่างน้อยหรือเงื่อนไขการกรองแคบเท่าไร ผลลัพธ์ก็ยิ่งเหมาะจะใช้เป็นข้อมูลอ้างอิงเชิงสำรวจเท่านั้น
-
ถึงอย่างนั้น ผู้สร้างก็เห็นว่าการสร้างพลเมือง AI ที่หลากหลายขึ้นมาก่อนบนฐานข้อมูลประชากรศาสตร์และข้อมูลครัวเรือนจริง แล้วค่อยรวบรวมคำตอบ ย่อมเป็นจุดเริ่มต้นที่ใช้ประโยชน์ได้มากกว่าวิธี "ให้ LLM ตัวเดียวจินตนาการความคิดเห็นเฉลี่ยของคนเกาหลี"
ยังไม่มีความคิดเห็น