Dưới đây là bộ quy tắc chấm điểm và thuật toán tính Match Score 0–100 cho trợ lý AI HappyNow.
Demo trợ lý AI xếp cặp và chấm điểm
1. Mục tiêu của Match Score
Match Score là điểm đánh giá mức độ phù hợp giữa 2 người trong mục tiêu xây dựng hôn nhân nghiêm túc.
Điểm này không dùng để khẳng định “chắc chắn cưới được”, mà dùng để:
sàng lọc hồ sơ phù hợp
ưu tiên gợi ý đối tượng tốt hơn
giải thích vì sao 2 người hợp nhau
cảnh báo khác biệt lớn cần lưu ý
2. Nguyên tắc chung
Thuật toán nên theo 3 tầng:
Tầng 1: Điều kiện loại trừ
Nếu không đạt điều kiện nền tảng thì không chấm sâu hoặc chấm rất thấp.
Ví dụ:
Không đúng giới tính mong muốn
Không cùng mục tiêu hôn nhân
Không chấp nhận tình trạng hôn nhân của nhau
Không chấp nhận có con / từng ly hôn
Chênh lệch tuổi vượt ngưỡng cứng
Hồ sơ chưa xác minh hoặc rủi ro cao
Tầng 2: Chấm điểm theo nhóm tiêu chí
Chấm theo nhiều nhóm, mỗi nhóm có trọng số.
Tầng 3: Điều chỉnh điểm
Cộng hoặc trừ điểm theo:
mức xác minh hồ sơ
chất lượng câu trả lời
mức trung thực / nhất quán
dấu hiệu rủi ro
3. Công thức tổng quát
Công thức chính
Match Score = Base Compatibility Score × Trust Multiplier + Bonus – Penalty
Trong đó:
Base Compatibility Score: điểm nền từ 0–100 theo các tiêu chí tương thích
Trust Multiplier: hệ số tin cậy hồ sơ, thường từ 0.85 → 1.05
Bonus: điểm cộng nhỏ, thường 0 → 5
Penalty: điểm trừ nhỏ, thường 0 → 20
Sau cùng:
nếu >100 thì làm tròn về 100
nếu <0 thì làm tròn về 0
4. Cơ cấu điểm đề xuất
Tôi đề xuất chia thành 8 nhóm tiêu chí, tổng bằng 100 điểm:
| Nhóm tiêu chí | Trọng số |
|---|---|
| 1. Mục tiêu hôn nhân | 20 |
| 2. Độ tuổi | 10 |
| 3. Địa lý | 10 |
| 4. Tình trạng hôn nhân và con cái | 15 |
| 5. Tính cách | 15 |
| 6. Lối sống và thói quen | 10 |
| 7. Giá trị sống và quan điểm gia đình | 15 |
| 8. Công việc, học vấn, tài chính | 5 |
Tổng: 100 điểm
Đây là bản phù hợp cho nền tảng tìm vợ/chồng nghiêm túc, vì trọng tâm nằm ở:
mục tiêu hôn nhân
giá trị sống
tình trạng gia đình
tính cách
không quá thiên về ngoại hình hoặc thu nhập.
5. Quy tắc chấm từng nhóm
5.1. Mục tiêu hôn nhân – 20 điểm
Đây là nhóm quan trọng nhất.
Tiêu chí chấm
Cả hai đều muốn kết hôn nghiêm túc: 10 điểm
Thời gian mong muốn kết hôn tương đồng: 5 điểm
Kỳ vọng về gia đình tương đồng: 5 điểm
Cách chấm
Cùng muốn kết hôn trong 1 năm hoặc 1–3 năm: 18–20
Một người nghiêm túc, một người chưa rõ: 8–14
Một người tìm hôn nhân, một người chỉ muốn tìm hiểu vui: 0–5
5.2. Độ tuổi – 10 điểm
Cách chấm
Nằm đúng trong khoảng tuổi đối phương mong muốn: 10
Lệch nhẹ 1–2 tuổi ngoài ngưỡng: 7–8
Lệch vừa 3–5 tuổi ngoài ngưỡng: 4–6
Lệch mạnh >5 tuổi ngoài ngưỡng: 0–3
Ví dụ
Người A muốn bạn đời 28–35, người B 33 tuổi → 10 điểm
Người B 37 tuổi → 7 điểm
Người B 42 tuổi → 2 điểm
5.3. Địa lý – 10 điểm
Cách chấm
Cùng thành phố / khu vực: 10
Khác tỉnh nhưng gần, có thể gặp dễ: 7–8
Xa nhưng vẫn chấp nhận yêu xa: 4–6
Xa và một bên không chấp nhận: 0–3
Gợi ý phân tầng
Cùng quận/huyện: 10
Cùng tỉnh/thành: 9
Khác tỉnh lân cận: 7
Bắc – Trung / Trung – Nam: 4
Bắc – Nam: 2
Nước ngoài: 1–5 tùy chấp nhận
5.4. Tình trạng hôn nhân và con cái – 15 điểm
Cách chấm
Gồm 2 phần:
A. Tình trạng hôn nhân – 8 điểm
Hai bên đều chấp nhận tình trạng của nhau: 8
Một bên hơi do dự nhưng vẫn chấp nhận: 4–6
Một bên không chấp nhận: 0
B. Con cái – 7 điểm
Hai bên phù hợp về việc có con / không có con: 7
Có thể chấp nhận nhưng còn cân nhắc: 3–5
Không chấp nhận: 0
Đây là nhóm có tính loại trừ mạnh.
Nếu một bên ghi rõ “không chấp nhận người có con”, mà đối phương có con → nên chấm 0 nhóm này.
5.5. Tính cách – 15 điểm
Nên chấm theo 5 tiêu chí nhỏ, mỗi tiêu chí 3 điểm:
cách giao tiếp
mức hướng nội / hướng ngoại
cách xử lý mâu thuẫn
mức độ cảm xúc / lý trí
độ quyết đoán / ổn định
Cách chấm
Tương đồng tốt hoặc bổ trợ tốt: 13–15
Có vài khác biệt nhưng vẫn cân bằng: 8–12
Khác biệt mạnh, dễ xung đột: 0–7
Ví dụ
Một người hướng ngoại, một người cân bằng: vẫn có thể hợp
Một người nóng nảy, một người tranh luận mạnh, cả hai đều khó lắng nghe: điểm thấp
5.6. Lối sống và thói quen – 10 điểm
Chấm theo:
hút thuốc
uống rượu bia
thích thể thao hay không
mức sinh hoạt gia đình
thích thành phố / nông thôn / ổn định / khám phá
Cách chấm
Tương đồng cao: 9–10
Khác nhẹ: 6–8
Khác mạnh: 0–5
Ví dụ
Một người ghét thuốc lá tuyệt đối, bên kia hút thuốc thường xuyên → điểm rất thấp
Cả hai đều thích cuộc sống gia đình và sinh hoạt lành mạnh → điểm cao
5.7. Giá trị sống và quan điểm gia đình – 15 điểm
Đây là nhóm cực kỳ quan trọng cho hôn nhân.
Chấm theo:
coi trọng gia đình
quan điểm về chung thủy
quan điểm về trách nhiệm
mong muốn có con
cách nhìn về vai trò vợ/chồng
chấp nhận sống chung với bố mẹ / gia đình hai bên
ưu tiên sự nghiệp hay gia đình
Cách chấm
Cùng giá trị cốt lõi: 13–15
Khác một vài điểm nhưng dung hòa được: 8–12
Mâu thuẫn sâu về định hướng sống: 0–7
5.8. Công việc, học vấn, tài chính – 5 điểm
Nhóm này chỉ nên chiếm ít điểm, tránh biến nền tảng thành nơi chọn người theo tiền.
Cách chấm
Tương thích về kỳ vọng cuộc sống và mức ổn định: 4–5
Có chênh lệch nhưng chấp nhận được: 2–3
Chênh lệch quá lớn, dễ gây áp lực: 0–1
6. Hệ số tin cậy hồ sơ
Sau khi có điểm nền, nhân với hệ số tin cậy.
Trust Multiplier đề xuất
| Mức hồ sơ | Hệ số |
|---|---|
| Chưa xác minh | 0.85 |
| Xác minh email + điện thoại | 0.92 |
| Có ảnh thật, hồ sơ khá đầy đủ | 0.96 |
| Xác minh giấy tờ cơ bản | 1.00 |
| Xác minh tốt, hồ sơ rất đầy đủ | 1.03 |
| Xác minh cao, lịch sử tương tác tốt | 1.05 |
7. Điểm cộng Bonus
Bonus chỉ nên nhỏ, để tránh làm sai lệch điểm nền.
Có thể cộng:
cùng tôn giáo hoặc nền tảng văn hóa phù hợp: +1 đến +2
cùng sở thích nổi bật: +1 đến +2
cùng định hướng sống rõ ràng: +1
câu trả lời mở cho thấy sự chân thành và trưởng thành: +1 đến +2
Tổng bonus tối đa: 5 điểm
8. Điểm trừ Penalty
Penalty dùng để trừ các yếu tố rủi ro.
Trừ điểm nếu:
hồ sơ trả lời mâu thuẫn: -3 đến -8
thông tin quá sơ sài: -2 đến -5
dấu hiệu không nghiêm túc: -5 đến -10
nhiều tiêu chí quan trọng không rõ: -2 đến -6
hành vi có rủi ro khi trò chuyện: -5 đến -15
9. Quy tắc chấm nhanh theo ngưỡng
Sau khi tính xong, có thể phân loại:
| Điểm | Mức phù hợp |
|---|---|
| 90–100 | Rất phù hợp |
| 80–89 | Phù hợp cao |
| 70–79 | Khá phù hợp |
| 60–69 | Có thể tìm hiểu |
| 40–59 | Phù hợp thấp |
| 0–39 | Không nên ưu tiên |
10. Công thức chi tiết dễ triển khai
Bước 1: Chấm điểm từng nhóm
MarriageGoalScore: 0–20
AgeScore: 0–10
LocationScore: 0–10
MaritalChildrenScore: 0–15
PersonalityScore: 0–15
LifestyleScore: 0–10
ValuesScore: 0–15
CareerFinanceScore: 0–5
Bước 2: Tính điểm nền
BaseScore =
MarriageGoalScore +
AgeScore +
LocationScore +
MaritalChildrenScore +
PersonalityScore +
LifestyleScore +
ValuesScore +
CareerFinanceScore
Bước 3: Áp dụng hệ số tin cậy
AdjustedScore = BaseScore × TrustMultiplierBước 4: Cộng bonus, trừ penalty
FinalScore = AdjustedScore + Bonus - PenaltyBước 5: Giới hạn điểm
If FinalScore > 100 → FinalScore = 100
If FinalScore < 0 → FinalScore = 0
11. Thuật toán gợi ý thực tế
Pseudocode
function calculateMatchScore(personA, personB):
if not genderCompatible(personA, personB):
return 0
if not marriageGoalCompatible(personA, personB):
return 0
if not acceptsMaritalStatus(personA, personB):
return 10
MarriageGoalScore = scoreMarriageGoal(personA, personB)
AgeScore = scoreAge(personA, personB)
LocationScore = scoreLocation(personA, personB)
MaritalChildrenScore = scoreMaritalChildren(personA, personB)
PersonalityScore = scorePersonality(personA, personB)
LifestyleScore = scoreLifestyle(personA, personB)
ValuesScore = scoreValues(personA, personB)
CareerFinanceScore = scoreCareerFinance(personA, personB)
BaseScore = MarriageGoalScore + AgeScore + LocationScore + MaritalChildrenScore + PersonalityScore + LifestyleScore + ValuesScore + CareerFinanceScore
TrustMultiplier = min(getTrustFactor(personA), getTrustFactor(personB))
Bonus = scoreBonus(personA, personB)
Penalty = scorePenalty(personA, personB)
FinalScore = BaseScore * TrustMultiplier + Bonus - Penalty
if FinalScore > 100:
FinalScore = 100
if FinalScore < 0:
FinalScore = 0
return round(FinalScore)
12. Cách chấm đối xứng hai chiều
Điểm phù hợp nên xét 2 chiều, vì:
A có thể thích B
nhưng B chưa chắc chấp nhận A
Do đó nên tính:
ScoreAB = điểm A đánh giá độ phù hợp của B
ScoreBA = điểm B đánh giá độ phù hợp của A
MatchScore = (ScoreAB + ScoreBA) / 2
Đây là cách chuẩn hơn.
13. Ví dụ tính điểm thực tế
Ví dụ
Anh A:
muốn kết hôn trong 1 năm
tìm nữ 26–34
chấp nhận người từng ly hôn, không có con
sống ở Hà Nội
không hút thuốc, ít bia
thích gia đình, ổn định
Chị B:
30 tuổi
sống ở Hà Nội
muốn kết hôn trong 1–2 năm
chưa kết hôn
không con
không hút thuốc
coi trọng gia đình, trách nhiệm
Chấm
Mục tiêu hôn nhân: 19/20
Độ tuổi: 10/10
Địa lý: 10/10
Tình trạng hôn nhân và con cái: 15/15
Tính cách: 12/15
Lối sống: 9/10
Giá trị sống: 14/15
Công việc/tài chính: 4/5
BaseScore = 93
Giả sử:
TrustMultiplier = 1.00
Bonus = 2
Penalty = 0
FinalScore = 95
=> Rất phù hợp
14. Những quy tắc cần ưu tiên tuyệt đối
Trong HappyNow, AI nên ưu tiên 5 nguyên tắc này:
1. Mục tiêu kết hôn phải cùng hướng
Không cùng mục tiêu thì điểm không cao.
2. Không ép điểm cao nếu có mâu thuẫn lớn
Ví dụ:
một bên muốn có con, bên kia tuyệt đối không muốn
một bên không chấp nhận người từng ly hôn, bên kia đã ly hôn
3. Hồ sơ thiếu xác minh không nên lên top
Dù hợp vẫn phải hạ ưu tiên.
4. Giá trị sống quan trọng hơn ngoại hình
Vì đây là nền tảng hôn nhân, không phải app giải trí.
5. Điểm chỉ là gợi ý, không phải kết luận tuyệt đối
AI cần giải thích thêm bằng ngôn ngữ tự nhiên.
15. Mẫu giải thích AI nên trả ra
Ngoài điểm số, AI nên trả:
Mẫu ngắn
Điểm phù hợp: 86/100
Hai bạn phù hợp cao vì cùng mong muốn kết hôn nghiêm túc, cùng ưu tiên gia đình, lối sống ổn định và ở gần nhau. Điểm cần lưu ý là phong cách giao tiếp có chút khác biệt.
Mẫu chi tiết
Điểm mạnh:
cùng mục tiêu hôn nhân
độ tuổi phù hợp
giá trị gia đình tương đồng
lối sống lành mạnh
Điểm cần lưu ý:
một người hướng nội hơn
kỳ vọng tài chính hơi khác nhau
Gợi ý:
nên bắt đầu bằng chủ đề gia đình, công việc, định hướng cuộc sống
16. Gợi ý phiên bản triển khai đầu tiên
Để đi nhanh, bạn nên làm Version 1 như sau:
Version 1
dùng 8 nhóm điểm như trên
chấm theo rule cố định
tính trên Google Sheet / Excel / Odoo
MyGPT chỉ dùng để:
phân tích câu trả lời mở
giải thích lý do phù hợp
gợi ý mở đầu trò chuyện
Version 2
thêm học từ dữ liệu phản hồi
nếu người dùng nói “match này rất hợp” thì tăng trọng số những kiểu hồ sơ tương tự
nếu người dùng bỏ qua nhiều match cùng kiểu, thì giảm trọng số
17. Bộ trọng số khuyến nghị cuối cùng
Tôi khuyên bạn dùng bộ này cho HappyNow bản đầu:
| Tiêu chí | Điểm tối đa |
|---|---|
| Mục tiêu hôn nhân | 20 |
| Độ tuổi | 10 |
| Địa lý | 10 |
| Tình trạng hôn nhân / con cái | 15 |
| Tính cách | 15 |
| Lối sống | 10 |
| Giá trị sống / quan điểm gia đình | 15 |
| Công việc / tài chính / học vấn | 5 |
| Tổng | 100 |
Sau đó áp dụng:
TrustMultiplier: 0.85–1.05
Bonus: 0–5
Penalty: 0–20
18. Kết luận
Công thức chuẩn để bạn dùng cho HappyNow Marriage AI là:
MatchScore =
(
Mục tiêu hôn nhân
+ Độ tuổi
+ Địa lý
+ Tình trạng hôn nhân / con cái
+ Tính cách
+ Lối sống
+ Giá trị sống / quan điểm gia đình
+ Công việc / tài chính / học vấn
)
× Hệ số tin cậy
+ Điểm cộng
- Điểm trừ
Sau đó giới hạn từ 0 đến 100.