THE ESPERTISE ONLINE · THAI NLP · REVERSIBLE DATABASE
ฟังภาษาของผู้คน
แล้วเรียนรู้ต่อ
The Espertise Online เปลี่ยนข้อความภาษาไทยสั้น ๆ ให้เป็นสัญญาณรูปแบบการสื่อสาร 16 กลุ่มและ 4 แกน พร้อมความน่าจะเป็น โมเดลออนไลน์เรียนจากตัวอย่างที่มนุษย์ยืนยันได้ทันทีโดยไม่ต้องฝึก corpus ทั้งหมดใหม่ และย้อน Learn, Restore หรือแก้ label ได้จากฐานข้อมูลทุกชิ้น งานนี้สานต่อจาก The Espertise โครงงานนักศึกษาปี 2023 และงานวิจัย Thai MBTI Psychographic Segmentation เพื่อให้แบบจำลองที่เคยใช้ทดลองกลายเป็นห้องปฏิบัติการซึ่งเติบโต ตรวจสอบ และนำไปสอนได้จริง
LIVE SYSTEM STATUS
รู้ว่าโมเดลใดกำลังตอบ ก่อนอ่านคำตอบ
สถานะนี้อ่านจาก service เดียวกับ Predict และฐานข้อมูล online ไม่ใช้ตัวเลขงานวิจัยแทนสถานะระบบปัจจุบัน
- API
- Checking…waiting for health check
- ENGINE
- Incremental ComplementNBbaseline artifact + confirmed online evidence
- STORAGE
- Server-side SQLiterevisioned Learn · Unlearn · Restore · Relabel
- CALIBRATION
- Not evaluatedค่าที่แสดงคือ model confidence ไม่ใช่ความน่าจะเป็นทางจิตวิทยา
MODEL OBSERVATORY
สถานะโมเดลที่ตรวจสอบได้
แยกผลวิจัยในอดีตออกจากสถานะ deployment ปัจจุบัน และไม่เติมค่าที่ service ยังไม่ได้วัด
PREDICT · READ ONLY
ฟังน้ำเสียงจากข้อความไทย
Predict ไม่เปลี่ยนโมเดล การเรียนรู้จะเกิดขึ้นต่อเมื่อผู้ดูแลยืนยัน label ในส่วน Learn เท่านั้น
MBTI communication types
ผลจะแยก Top 3 แบบ 16-class ออกจากแกน E/I · S/N · T/F · J/P ซึ่งคำนวณโดยรวม confidence ของ types ที่มีตัวอักษรเดียวกัน
EXPLAIN PREDICTION
เปิดดูหลักฐาน ไม่ใช่รับเพียงป้ายคำตอบ
คำตอบที่น่าเชื่อถือต้องบอกวิธีรวมแกน ระดับความลังเล และข้อจำกัดของ feature space
16-class ranking
Top 3 มาจากคะแนนของ 16 communication types โดยตรง พร้อมช่องว่างระหว่างอันดับหนึ่งและสอง หากช่องว่างต่ำควร Review หรือ Abstain
Marginalized four axes
แกนแต่ละคู่ได้จากการรวม confidence ของ types ที่มีตัวอักษรนั้น ไม่ใช่ binary classifier แยกสี่ตัว
Feature coverage
แสดง recognized features ที่ service ส่งกลับ ส่วน unknown-feature ratio และ n-gram contribution จะระบุว่า API ยังไม่ส่งค่า จนกว่าจะเพิ่ม endpoint อย่างถูกต้อง
RESTRICTED MODEL DATA OPERATIONS
Predict เป็นสาธารณะ
การเปลี่ยนโมเดลเป็นงานผู้ดูแล
ส่วนต่อไปมี Learn, Relabel, Unlearn, Restore และ Audit ซึ่งเปลี่ยน server-side model จริง ผู้ดูแลต้องตรวจ consent, label และ retention ก่อนทุก mutation
HUMAN-CONFIRMED ONLINE LEARNING
เพิ่มหลักฐานอย่างรับผิดชอบ
ระบบเก็บ sparse vector เดิมของทุกเอกสาร จึงย้อน Learn ได้ตรงตัว และ Relabel จะทำ Unlearn label เก่าก่อน Learn label ใหม่ใน transaction เดียว
One document, one reversible event
ข้อมูล online ทุกชิ้นเก็บข้อความ content hash, sparse vector, label และประวัติเหตุการณ์ไว้ การย้อนกลับจึงใช้ vector เดิม ไม่ประมาณค่าและไม่ต้อง retrain ตัวอย่างก่อนหน้า
ONLINE DATABASE
ตรวจ แก้ label หรือถอนข้อมูล
Suggested MBTI คือผลปัจจุบันของโมเดล ส่วน Confirmed MBTI คือ label ที่มนุษย์ยืนยัน หากไม่ตรงกันสามารถ Review แล้ว Relabel ได้
| ID | รายการ | Confirmed | Suggested now | Status | Operation |
|---|---|---|---|---|---|
| ยังไม่มีข้อมูล online | |||||
MODEL AUDIT
ทุก mutation มี revision
ลำดับเหตุการณ์ล่าสุดจากฐานข้อมูลเดียวกับที่ใช้คำนวณโมเดล
- ยังไม่มี learning event
RESEARCH ORIGIN · WHY THIS MATTERS
จากเสียงบนสื่อสังคม
สู่สัญญาณที่อธิบายได้
เป้าหมายไม่ใช่การติดป้ายตัวตน แต่คือการศึกษาว่า “ผู้คนสื่อสารอย่างไร” เพื่อออกแบบข้อความที่เหมาะขึ้นและเปิดพื้นที่ให้มนุษย์ตรวจคำตอบของโมเดล
บทนำ
งานการตลาดดิจิทัลมีข้อมูลว่าใครอยู่ที่ไหน สนใจอะไร และเคยทำอะไร แต่ยังตอบได้ไม่ดีเสมอไปว่าควรพูดกับเขาด้วยน้ำเสียงแบบใด โครงการนี้จึงศึกษาคำศัพท์ โครงสร้างประโยค การใช้เหตุผล และน้ำเสียงในข้อความไทย แล้วสรุปเป็น communication-style signals ที่ใช้ประกอบ persona, mood board และการทดลองข้อความโฆษณา
กรอบ MBTI ถูกใช้เป็น operational label สำหรับการสื่อสาร ไม่ใช่การวินิจฉัยทางจิตวิทยา คำตอบหนึ่งข้อความอาจไม่เสถียร จึงควรดู probability, ใช้หลายข้อความต่อผู้ใช้ เปิดทางให้ abstain เมื่อหลักฐานต่ำ และให้มนุษย์ยืนยันก่อนนำข้อมูลกลับไปเรียนรู้
โมเดลโปร่งใสชนะโมเดลใหญ่ในโจทย์นี้
บทความปี 2025 ใช้ author-disjoint split จากข้อมูล 6,690 รายการ แบ่ง train 5,352 และ held-out test 1,338 รายการ TF-IDF + Complement Naïve Bayes ได้ Accuracy 0.84 และ Macro-F1 0.83 ขณะที่ WangchanBERTa ได้ 0.57 และ 0.55 ภายใต้ preprocessing และ partition เดียวกัน
ผลนี้ไม่ได้แปลว่า CNB ชนะ Transformer ทุกโจทย์ แต่ชี้ว่าโมเดล sparse ที่เหมาะกับข้อความไทยสั้น ข้อมูลไม่ใหญ่มาก และ class ไม่สมดุล สามารถให้ความแม่นยำ ความเร็ว และความอธิบายได้ในสัดส่วนที่ดีมาก โดยแกน P ยังคงเป็นสัญญาณที่ยากที่สุด
IMPLEMENTATION DETAIL
Reverse อย่างไร
ให้กลายเป็น Online
เราไม่ได้สร้าง training corpus ที่ไม่มีอยู่ขึ้นใหม่ แต่ใช้ข้อมูลสรุปเชิงสถิติที่โมเดลบันทึกไว้ แล้วออกแบบ data layer สำหรับข้อมูลรุ่นถัดไป
อ่าน model artifact
Pipeline ของ scikit-learn เก็บ vocabulary, IDF, class order, smoothing alpha, class_count และ feature_count ของ ComplementNB จึงสามารถคำนวณ decision function เดิมและคง preprocessing contract ไว้ได้
สร้าง sparse evidence
ข้อความใหม่ผ่าน normalization และ PyThaiNLP ก่อนแปลงเป็น TF-IDF vector ขนาด 7,000 แต่เก็บเฉพาะ index ที่ไม่เป็นศูนย์ งาน Learn จึงขึ้นกับจำนวน token และ feature ที่พบ ไม่ขึ้นกับจำนวนเอกสารทั้งหมด
อัปเดต sufficient statistics
Learn เพิ่ม class_count หนึ่งหน่วยและบวก sparse vector เข้า feature_count ของ class ที่ยืนยัน Unlearn ทำเครื่องหมาย inactive แล้วลบ vector เดิม Relabel ย้าย vector ระหว่างสอง class ใน transaction เดียว
ทำฐานข้อมูลให้ย้อนกลับได้
SQLite เก็บ document, SHA-256 content hash, vector JSON, confirmed label, active state และ revision event เมื่อ Restore ระบบนำ vector และ label เดิมกลับมา จึงตรวจบัญชีและทำซ้ำผลได้
แยก Predict จาก Learn
การทำนายเป็น read-only เสมอ ไม่มีการเรียนรู้จากคำตอบของตัวเอง การเปลี่ยนโมเดลต้องมี consent, human-confirmed label และรหัสผู้ดูแล ลด feedback loop ที่ทำให้ข้อผิดพลาดขยายตัว
ความเร็วแบบ Incremental
Learn/Unlearn/Restore ใช้เวลาประมาณ O(t+k) เมื่อ t คือ token และ k คือ non-zero features เทียบกับ batch retraining ที่ต้องอ่านเอกสารทั้งหมดอีกครั้ง SQLite transaction เพิ่ม durability ขณะที่ sparse update ทำให้ระบบเหมาะกับข้อมูลเข้าเป็นรายวัน
DATA PROVENANCE · NUMBERS WITH CONTEXT
ตัวเลขเดียวกันไม่ได้หมายถึงข้อมูลชุดเดียวกัน
ทุกจำนวนต้องมี source, unit และบทบาทในการทดลองกำกับ
| Source | Count | Unit | Used for | Status |
|---|---|---|---|---|
| Published corpus | 6,690 | posts | reported experiment | paper |
| Training split | 5,352 | posts | model fitting | paper |
| Held-out test | 1,338 | posts | author-disjoint evaluation | paper |
| Deployed artifact | 6,273 | class observations | live baseline | artifact |
| Slide axis distribution | 7,611 | labels per axis | class-balance illustration | unresolved provenance |
RESEARCH METHODOLOGY · FROM TEXT TO SIGNAL
งานวิจัยวัดอะไร
และควบคุมอย่างไร
ความแม่นยำที่น่าเชื่อถือไม่ได้เกิดจาก classifier เพียงตัวเดียว แต่เกิดจากนิยามโจทย์ การคัดข้อมูล การกันข้อมูลรั่ว และ metric ที่เหมาะกับ class imbalance
สองมุมมองของคำตอบ
Type-level มองเป็นการจำแนก 16 classes เช่น INTJ หรือ ENFP เหมาะกับการสรุปภาพรวม แต่ผิดตัวอักษรเดียวก็นับว่าผิดทั้ง type
Letter-level แยกเป็น binary probability สี่แกน E/I, S/N, T/F และ J/P ช่วยวิเคราะห์ว่าโมเดลลังเลตรงไหน และเหมาะกว่าเมื่อต้องสร้าง tone guideline ที่ต่อเนื่องแทนป้ายกลุ่มแข็ง ๆ
Label ต้องมีที่มา
รายงานโครงการรวบรวมข้อมูลจากแบบสอบถามและข้อความสาธารณะ โดยใช้แบบประเมินหลายชุดช่วยตรวจความสอดคล้อง งานต่อยอดให้น้ำหนักกับ label ที่เจ้าของข้อมูลยืนยัน หลีกเลี่ยงตัวอย่างกำกวม และแยก psychographic communication label ออกจากการวินิจฉัยบุคลิกภาพ
สำหรับระบบออนไลน์ เราจึงไม่ Learn จาก suggestion อัตโนมัติ ผู้ดูแลต้องเลือก Confirmed MBTI พร้อมบันทึกแหล่งที่มาและ consent note ทุกครั้ง
กันผู้เขียน ไม่ใช่แค่สุ่มข้อความ
ถ้าข้อความของคนเดียวกันหลุดไปอยู่ทั้ง train และ test โมเดลอาจจำชื่อ สำนวน หรือหัวข้อเฉพาะบุคคลแล้วได้คะแนนสูงเกินจริง งานตีพิมพ์จึงใช้ author-disjoint split: ผู้เขียนใน held-out test ไม่ปรากฏใน training set
Corpus ที่รายงานมี 6,690 instances แบ่ง 5,352 train และ 1,338 test การแยกเช่นนี้ตอบคำถามที่ยากกว่าและใกล้ deployment จริงกว่า: โมเดลใช้กับผู้ใช้ที่ไม่เคยเห็นได้หรือไม่
ทำไมต้องดู Macro-F1
Accuracy ให้น้ำหนักตัวอย่างทุกแถวเท่ากัน จึงอาจดูดีแม้โมเดลละเลย type ที่พบน้อย Macro-F1 คำนวณ F1 ของแต่ละ class แล้วเฉลี่ยโดยให้ทุก class มีน้ำหนักเท่ากัน จึงสะท้อนความเป็นธรรมระหว่างกลุ่มได้ดีกว่า
งานวิจัยรายงานทั้ง Accuracy, Macro-F1, Weighted-F1, per-class metrics และ confusion matrix ส่วนระบบใช้งานควรเพิ่ม calibration, abstention rate, drift และผลลัพธ์ A/B ทางธุรกิจด้วย
| Model | Representation | Accuracy | Macro-F1 | Weighted-F1 | จุดเด่นในการใช้งาน |
|---|---|---|---|---|---|
| TF-IDF + ComplementNB | Thai sparse n-gram features | 0.84 | 0.83 | 0.83 | เร็วบน CPU, ตรวจ feature ได้, incremental statistics ได้ |
| WangchanBERTa | Thai Transformer representation | 0.57 | 0.55 | 0.57 | มี representation capacity สูง แต่โจทย์ข้อความสั้นและขนาดข้อมูลนี้ยังไม่ให้ผลดีกว่า |
ตัวเลขเป็นผลจาก experimental setting ในบทความปี 2025 ไม่ใช่คำรับประกันประสิทธิภาพกับข้อความทุก domain ภาษาเปลี่ยนไปตามเวลาและ platform จึงต้องติดตาม drift และประเมินชุดข้อมูลใหม่เสมอ
CONFERENCE EVIDENCE · WHAT THE EXPERIMENT ACTUALLY SHOWED
อ่านผลให้ลึกกว่า
คะแนนเดียว
สาระจากงานนำเสนอ Thai MBTI Psychographic Segmentation ถูกแยกไว้ในส่วนนี้ เพื่อให้ตรวจได้ว่า corpus มีลักษณะอย่างไร preprocessing ป้องกันทางลัดอะไร และโมเดลชนะหรือแพ้ตรงแกนใด
Class balance ในสี่แกน
ทั้ง 16 types มีจำนวนไม่เท่ากัน จึงต้องอ่าน Macro-F1 ควบคู่ Accuracy แถบด้านล่างแสดงสัดส่วน label ที่รายงาน โดยสีม่วงคืออักษรตัวแรกของแต่ละคู่และสีทองคืออักษรตัวที่สอง
หมายเหตุการตรวจหลักฐาน: ตัวเลขในตาราง distribution รวมได้ 7,611 ต่อแกน แต่สไลด์เดียวกันระบุ corpus 6,690 labeled posts จึงเป็นความไม่สอดคล้องภายในเอกสารนำเสนอ หน้านี้คงตัวเลขตามต้นฉบับและไม่ตีความว่าทั้งสองจำนวนเป็น population เดียวกันจนกว่าจะตรวจ dataset manifest หรือบทความฉบับเต็ม
Preprocessing คือส่วนหนึ่งของโมเดล
ข้อความสั้นมี emoji, คำลากเสียง, hashtag, code-mixing และคำบอก MBTI ตรง ๆ การ normalize มากเกินไปทำลาย style signal แต่การไม่ควบคุมเลยเปิดทางให้โมเดลจำ shortcut
โคตรชอบบบบบ😍 → โคตรชอบบบINTJ ก็เป็นแบบนี้ → [MBTI_MASK] ก็เป็นแบบนี้จิงๆ / ม้ากก → รักษารูปภาษาที่มีความหมาย ไม่บังคับแก้ทั้งหมดkhobkhun มากๆ → เก็บ token ในประโยคที่ภาษาไทยเป็นหลักThis MV is fire! แต่ท่อนฮุคเพราะมากก → เก็บส่วนไทยที่ใช้วิเคราะห์ได้@handle และ #hashtag → เก็บเป็น atomic tokens เมื่อเป็นสัญญาณการสื่อสารผลรายแกน: CNB ดีขึ้นสม่ำเสมอ แต่ไม่ได้เท่ากันทุกแกน
ตารางงานนำเสนอรายงาน binary classification แยกสี่ตำแหน่ง ตัวเลขนี้ตอบคำถามว่าอักษรตัวใดของ MBTI เป็นจุดอ่อน แม้ type-level prediction จะสรุปเป็นคำเดียว
| Axis | Support | BERT Accuracy | BERT F1 | CNB Accuracy | CNB F1 | Correct predictions |
|---|---|---|---|---|---|---|
| E / I | 608 / 730 | 0.77 | 0.77 | 0.80 | 0.80 | 1,030 → 1,075 |
| N / S | 654 / 684 | 0.76 | 0.76 | 0.79 | 0.79 | 1,017 → 1,057 |
| F / T | 669 / 669 | 0.77 | 0.77 | 0.81 | 0.81 | 1,027 → 1,078 |
| J / P | 705 / 633 | 0.77 | 0.77 | 0.78 | 0.78 | 1,029 → 1,046 |
แกน F/T ให้ CNB F1 สูงสุด 0.81 ส่วน J/P มี improvement ต่ำที่สุดและยังเป็นแกนที่ยากที่สุดในตารางนี้
Lightweight
โมเดล sparse ให้บริการเป็น stateless HTTP endpoint บน CPU ไม่ต้องพึ่ง GPU สำหรับ prediction
Fast
median latency 148 ms ใน deployment ที่รายงาน เหมาะกับเครื่องมือสนับสนุน creative workflow
Explainable
แสดง top n-grams ที่เพิ่มหรือลดคะแนน เพื่อให้มนุษย์ตรวจว่าโมเดลอาศัยภาษาแบบใด
Auditable
น้ำหนักและ preprocessing ตรวจทาน bias, leakage และ feature shortcut ได้ง่ายกว่า representation ที่เป็น black box
MODEL MECHANICS · THE MATHEMATICS
จากคำหนึ่งคำ
สู่ probability 16 แบบ
ความโปร่งใสของโมเดลมาจากการที่ทุกขั้นสามารถอธิบายเป็นจำนวน การบวก และ normalization ที่ตรวจซ้ำได้
Thai preprocessing
ข้อความ UTF-8 ถูก normalize โดยรักษาสัญญาณบนผิวภาษา ตัดคำด้วย PyThaiNLP/newmm และพจนานุกรมเฉพาะโครงการ จากนั้นลบหรือ mask คำที่บอก MBTI ตรง ๆ เพื่อป้องกัน shortcut leakage ตัวอย่างเช่นผู้เขียนพิมพ์ “ฉันเป็น INTJ” ไม่ควรทำให้ classifier ได้คำตอบโดยไม่เรียนรู้รูปแบบภาษา
raw text → normalize → mask literal labels → Thai tokenize → vocabulary lookupTF-IDF representation
ให้ tf(t,d) เป็นความถี่ของ term t ในเอกสาร d และ df(t) เป็นจำนวนเอกสารที่มี term นั้น IDF ลดน้ำหนักคำที่พบทั่วไปและเพิ่มน้ำหนักคำที่ช่วยแยกกลุ่ม
Vector ถูก normalize แบบ L2 และมี 7,000 dimensions แต่ข้อความหนึ่งชิ้นมักมีค่าไม่เป็นศูนย์เพียงเล็กน้อย จึงเก็บเป็น sparse indices และ values ได้อย่างประหยัด
Complement Naive Bayes
Naive Bayes แบบ complement เรียนจากน้ำหนัก feature ของ “class อื่นทั้งหมด” เหมาะกับข้อความและข้อมูลไม่สมดุล สำหรับ class c ระบบรวม feature ของทุก class แล้วลบ feature ของ c ก่อน smoothing ด้วย α
นำ score ทั้ง 16 ค่าเข้า softmax เพื่อแสดง probability และรวม probability ของ type ที่มีตัวอักษรเดียวกันเพื่อสร้างกราฟสี่แกน
Incremental update
เมื่อตัวอย่างใหม่มี confirmed class c ระบบไม่ต้องเปิดเอกสารเก่า เพียงเพิ่มจำนวนเอกสารของ class และบวก sparse vector เข้า sufficient statistics
Unlearn ใช้เครื่องหมายลบ Restore ใช้เครื่องหมายบวกอีกครั้ง ส่วน Relabel ทำ Cold − x และ Cnew + x ภายใน transaction เดียว นี่คือเหตุผลที่เราต้องเก็บ vector ของข้อมูลใหม่ทุกชิ้นในฐานข้อมูล
DATABASE DESIGN · REVERSIBILITY BY CONSTRUCTION
Online learning
ต้องออกแบบฐานข้อมูลก่อน
ถ้าเก็บเฉพาะน้ำหนักล่าสุด เราจะรู้ว่าโมเดลเปลี่ยนแต่ตอบไม่ได้ว่าเปลี่ยนเพราะข้อมูลใด ระบบนี้จึงเก็บทั้ง current state และ event history
training_document
- id
- รหัสถาวรของหลักฐาน
- text + title + source
- ข้อความและ provenance ที่ผู้ดูแลตรวจได้
- content_hash
- SHA-256 สำหรับป้องกัน active duplicate
- confirmed_type
- label ล่าสุดที่มนุษย์ยืนยัน
- vector_json
- sparse indices/values ที่ใช้ย้อน update
- active
- soft-delete state สำหรับ Unlearn/Restore
learning_event
- revision
- ลำดับ mutation ที่ไม่ซ้ำ
- document_id
- เชื่อมกลับไปยังหลักฐานต้นทาง
- operation
- LEARN, UNLEARN, RESTORE หรือ RELABEL
- old_type/new_type
- อธิบายการย้าย class โดยไม่ต้องเดาจาก state ปัจจุบัน
- created_at
- เวลา UTC สำหรับ audit และ reproduce
model_meta
- revision
- revision ปัจจุบันของ online model
- baseline_documents
- จำนวน class observations ที่อ่านจาก artifact
- baseline_features
- ขนาด feature space ที่โมเดลรู้จัก
Metadata ไม่ใช้แทน model artifact แต่ช่วย health check และเตือนเมื่อ service กับ database ไม่สอดคล้องกัน
add vector→RELABELsubtract old
add new→UNLEARNmark inactive
subtract vector→RESTOREmark active
add exact vector
Atomicity
SQLite ใช้ BEGIN IMMEDIATE ล็อก mutation จากนั้น update document, เพิ่ม event และ commit เป็นหน่วยเดียว หากขั้นใดล้มเหลวจะ rollback ไม่ทิ้ง label กับ audit log คนละสถานะ
Idempotency & duplicate control
Partial unique index บน content hash ทำให้ข้อความเดียวกันมี active record ได้เพียงหนึ่งรายการ แต่ record ที่ Unlearn แล้วยังคงอยู่เพื่อ audit และ Restore ได้
Recovery
เมื่อ service เริ่มใหม่ ระบบอ่าน active documents แล้ว rebuild delta counts จาก vectors ในฐานข้อมูล จึงไม่พึ่ง memory state ของ process ก่อนหน้า และ Docker volume รักษา SQLite ข้าม container rebuild
MARKETING VALUE · WITH GOVERNANCE
เปลี่ยน probability
เป็นการทดลองที่วัดผลได้
Psychographic signal มีประโยชน์เมื่อใช้เสริม demographic, geographic และ behavioral data ไม่ใช่ใช้แทนความเข้าใจลูกค้าหรือกำหนดชะตาของบุคคล
Message-market fit
สร้างข้อความหลายโทน เช่น กระชับเชิงเหตุผล อบอุ่นเน้นคุณค่า หรือเปิดพื้นที่ให้สำรวจ แล้วทดสอบกับกลุ่ม probability ต่างกันเพื่อลดการส่งสารผิดน้ำเสียง
Persona & creative brief
ใช้ distribution ของทั้ง 4 แกนประกอบ persona sheet, mood board, headline direction และ CTA แทนการยึดเพียง type เดียว ทำให้ทีม content เห็นเหตุผลของคำแนะนำ
Creator alignment
เปรียบเทียบสไตล์ภาษาของ creator กับสัญญาณผู้ชมเพื่อคัด shortlist ก่อนทดลองจริง ช่วยลดรอบการผลิตโดยไม่อ้างว่าโมเดลรู้บุคลิกภายในของบุคคล
Learning from campaigns
เมื่อมี consent และ label ที่ตรวจแล้ว ข้อมูลภาษาใหม่สามารถเรียนเพิ่มทีละ campaign ย้อนออกได้เมื่อหมดสิทธิ์ใช้ และตรวจ revision ที่ทำให้คำแนะนำเปลี่ยน
สร้าง signal อย่างระมัดระวัง
รวมหลายข้อความของบุคคลเดียวกันโดยเฉลี่ย calibrated probabilities กำหนดจำนวนคำขั้นต่ำ และส่งผู้ที่ confidence ต่ำไปเป็น Unknown แทนการบังคับเลือก 1 ใน 16 type
สร้าง creative hypotheses
แปลงแกนเป็นสมมติฐานที่ทดสอบได้ เช่น T สูงอาจตอบสนองต่อข้อมูลเปรียบเทียบ ส่วน F สูงอาจตอบสนองต่อผลกระทบต่อผู้คน นี่เป็น hypothesis สำหรับออกแบบ copy ไม่ใช่ข้อเท็จจริงตายตัวของบุคคล
สุ่มทดลองจริง
ภายในแต่ละ audience stratum สุ่มผู้ใช้ไป control และ treatment รักษางบ เวลา placement และ frequency ให้ใกล้กัน วัด CTR, conversion, qualified lead, revenue หรือ retention ตามเป้าหมายธุรกิจ
วัด incremental lift
เปรียบเทียบผลกับ generic creative และรายงาน confidence interval ไม่เลือกเฉพาะ segment ที่ชนะ หาก lift ไม่เกิดขึ้นให้หยุดใช้สมมติฐานนั้น แม้ classifier จะมี accuracy สูงก็ตาม
เรียนรู้จาก label ไม่ใช่ click
พฤติกรรม click ไม่เท่ากับ MBTI label การนำ click กลับไป Learn เป็น type โดยตรงจะสร้างวงจรผิด ระบบควร Learn เฉพาะข้อมูลที่มี label provenance ชัด ส่วน campaign outcome เก็บใน experiment database แยกกัน
ติดตาม drift และ fairness
เปรียบเทียบ distribution, abstention และ error แยกตามเวลา platform และกลุ่มที่ได้รับอนุญาตให้ประเมิน หากภาษาใหม่ทำให้ recognized features ลดลง ควรสร้าง vocabulary generation ใหม่แล้ว benchmark ก่อน promote
TEACHING LAB · COMPUTER SCIENCE INTEGRATION
หนึ่งหน้าเว็บ
เชื่อมได้หลายวิชา
ระบบนี้ใช้เป็นกรณีศึกษาตั้งแต่ data structure และ probability ไปจนถึง database transaction, API และ responsible AI
Data Structures & Algorithms
เปรียบเทียบ dense vector ขนาด 7,000 กับ sparse representation วิเคราะห์เวลา O(t+k), memory ของ indices/values และผลของ vocabulary lookup ต่อ latency
- วัดจำนวน non-zero features ต่อข้อความ
- ทดลอง cache feature log probability
- เปรียบเทียบ batch retrain กับ incremental update
Statistics & Probability
อ่าน softmax probability อย่างถูกต้อง ศึกษา class imbalance, calibration, macro/micro averaging และเหตุผลที่ confidence สูงไม่เท่ากับความจริงเสมอ
- สร้าง reliability diagram
- หา abstention threshold จาก validation set
- คำนวณ confidence interval ของ campaign lift
Machine Learning
ตรวจ assumptions ของ Naive Bayes, complement distribution, smoothing และ data leakage วิเคราะห์ว่าเหตุใด sparse CNB จึงชนะ Transformer ใน experimental setting นี้
- ทำ ablation ของ preprocessing
- วิเคราะห์ confusion matrix ราย type/axis
- ออกแบบ temporal และ cross-platform test
Database Systems
ศึกษาความต่างระหว่าง state table กับ append-only event log การใช้ transaction, partial unique index, soft delete และการ rebuild in-memory statistics หลัง restart
- พิสูจน์ Learn–Unlearn round trip
- จำลอง crash ก่อนและหลัง commit
- ออกแบบ retention และ deletion policy
Web & Network Computing
ติดตาม request จาก PHP proxy ไป FastAPI วิเคราะห์ JSON/UTF-8, status code, authentication header, Docker networking และเหตุผลที่ไม่ควรเปิด model service ตรงสู่ Internet
- เขียน API contract test
- วัด median/p95/p99 latency
- เพิ่ม rate limit และ structured logs
Responsible AI & Marketing
อภิปรายความต่างระหว่าง communication signal กับ psychological diagnosis ออกแบบ consent, opt-out, human review และ A/B test ที่ไม่ใช้ model accuracy แทน business evidence
- เขียน model card และ data card
- จำแนก high-risk use cases ที่ต้องห้าม
- ออกแบบ audit dashboard สำหรับ drift
RESEARCH & STUDENT CONTRIBUTION
เครดิตผู้สร้างรากฐาน
จากโครงงานวิทยาการคอมพิวเตอร์ประยุกต์ สู่บทความวิจัยและระบบ online-learning สำหรับการสอนและทดลองต่อยอด
The Espertise Online
ระบบออนไลน์ที่สานต่อจากโครงงานนักศึกษา The Espertise เปลี่ยนข้อความสั้น ๆ ให้เป็น psychographic communication signal พร้อม Learn, Unlearn, Restore และ Relabel
“We already know who you are from how you post.”
The Espertise
ระบบการแบ่งประเภทลูกค้าตามหลักจิตวิทยาโดยการฟังเสียงของผู้บริโภคบนสื่อสังคมออนไลน์
อาจารย์ที่ปรึกษา: ดร.วรินทร์ วัฒนพรพรหม
- นายจิรกิตต์ มีทรัพย์ประเสริฐJirakit Meesapprasert
- นางสาวพิชญ์สินี อังศุชัยกิจPichsinee Angsuchaikij
- นางสาวณัฏฐ์ญดา ธนาสินธัญวัชร์Nutyada Thanasinthunyawath