Một vấn đề trên một trang web như thế này là bạn thường không biết mình đang nói chuyện với nam hay nữ. Tuy nhiên, bạn đã đưa ra một kỹ thuật NLP đơn giản mà bạn có thể sử dụng để xác định giới tính của người viết một đoạn văn bản.
Học thuyết
Khoảng 38,1% chữ cái được sử dụng trong tiếng Anh là nguyên âm [a, e, i, o, u] (xem Tài liệu tham khảo bên dưới, y
KHÔNG phải là nguyên âm trong trường hợp này). Do đó, chúng tôi sẽ định nghĩa bất kỳ từ nào có ít nhất 40% nguyên âm là một từ nữ tính và bất kỳ từ nào dưới 40% nguyên âm là một từ nam tính .
Ngoài định nghĩa này, chúng ta cũng có thể tìm thấy sự nam tính hay nữ tính của một từ. Gọi C là số phụ âm trong từ và V là số nguyên âm:
- Nếu một từ là nữ tính, thì đó là nữ tính
1.5*V/(C+1)
. - Nếu một từ là nam tính, thì đó là nam tính
C/(1.5*V+1)
.
Ví dụ, từ catch
này là nam tính. Nam tính của nó là 4/(1.5*1+1) = 1.6
. Từ phone
này là nữ tính. Nữ tính của nó là 1.5*2/(3+1) = .75
.
Thuật toán
Để tìm ra giới tính của nhà văn của một đoạn văn bản, chúng tôi lấy tổng số nam tính của tất cả các từ nam tính (Σ M ) và tổng số nữ tính của tất cả các từ nữ tính ( F ). Nếu Σ M > F , chúng tôi đã xác định rằng nhà văn là nam giới. Mặt khác, chúng tôi đã xác định rằng nhà văn là một phụ nữ.
Mức độ tự tin
Cuối cùng, chúng ta cần một mức độ tự tin. Nếu bạn đã xác định rằng nhà văn là nữ, mức độ tự tin của bạn là . Nếu bạn đã xác định rằng nhà văn là nam giới, mức độ tự tin là .2*ΣF/(ΣF+ΣM)-1
2*ΣM/(ΣF+ΣM)-1
Đầu vào
Đầu vào là một đoạn văn bản tiếng Anh bao gồm cả dấu câu. Các từ được phân tách bằng dấu cách (Bạn không phải lo lắng về dòng mới hoặc khoảng trắng thừa). Một số từ có các ký tự không phải chữ cái trong đó, mà bạn cần bỏ qua (chẳng hạn như "Bạn là"). Nếu bạn gặp một từ không phải là tất cả các chữ cái (như "5" hoặc "!!!"), hãy bỏ qua nó. Mỗi đầu vào sẽ chứa ít nhất một từ có thể sử dụng.
Đầu ra
Bạn cần xuất M hoặc F tùy thuộc vào giới tính mà bạn nghĩ là nhà văn, theo sau là mức độ tự tin của bạn.
Ví dụ
There's a snake in my boot.
- Giới tính + nam tính / nữ tính của mỗi từ:
[M1.0,F1.5,F.75,F.75,M2.0,F1.0]
- Σ M = 3.0, Σ F = 4.0
- CL:
2*4.0/(4.0+3.0)-1
= .143 - Đầu ra:
F .143
- Giới tính + nam tính / nữ tính của mỗi từ:
Frankly, I don't give a ^$*.
[M2.4,F1.5,M1.2,F1.0,F1.5]
, Σ M = 3.6, F = 4.0, CL:2*4.0/(4.0+3.6)-1
= .053, Kết quả:F .053
I'm 50 dollars from my goal!
[F.75,M1.25,M1.2,M2.0,F1.0]
, Σ M = 4,45, F = 1,75, CL:2*4.45/(4.45+1.75)-1
= .435, Đầu ra:M .435