Ein Problem auf einer solchen Website ist, dass Sie oft nicht wissen, ob Sie mit einem Mann oder einer Frau sprechen. Sie haben jedoch eine einfache NLP-Technik entwickelt, mit der Sie das Geschlecht des Verfassers eines Textes bestimmen können.
Theorie
Ungefähr 38,1% der im Englischen verwendeten Buchstaben sind Vokale [a, e, i, o, u] (siehe Referenzen unten, y
ist in diesem Fall KEIN Vokal). Daher definieren wir jedes Wort, das mindestens 40% Vokale enthält, als weibliches Wort und jedes Wort, das weniger als 40% Vokale enthält, als männliches Wort .
Über diese Definition hinaus können wir auch die Männlichkeit oder Weiblichkeit eines Wortes finden. Sei C die Anzahl der Konsonanten im Wort und V die Anzahl der Vokale:
- Wenn ein Wort weiblich ist, ist es weiblich
1.5*V/(C+1)
. - Wenn ein Wort männlich ist, ist es Männlichkeit
C/(1.5*V+1)
.
Zum Beispiel ist das Wort catch
männlich. Seine Männlichkeit ist 4/(1.5*1+1) = 1.6
. Das Wort phone
ist weiblich. Seine Weiblichkeit ist 1.5*2/(3+1) = .75
.
Algorithmus
Um das Geschlecht des Verfassers eines Textes herauszufinden, nehmen wir die Summe der Männlichkeit aller männlichen Wörter (Σ M ) und die Summe der Weiblichkeit aller weiblichen Wörter (Σ F ). Wenn Σ M > Σ F ist , haben wir festgestellt, dass der Schreiber ein Mann ist. Ansonsten haben wir festgestellt, dass der Schriftsteller eine Frau ist.
Vertrauensniveau
Schließlich brauchen wir ein Vertrauensniveau. Wenn Sie festgestellt haben, dass der Autor weiblich ist, ist Ihr Selbstvertrauen . Wenn Sie festgestellt haben, dass der Autor männlich ist, ist das Konfidenzniveau .2*ΣF/(ΣF+ΣM)-1
2*ΣM/(ΣF+ΣM)-1
Eingang
Die Eingabe ist ein englischer Text einschließlich Interpunktion. Alle Wörter sind durch Leerzeichen getrennt (Sie müssen sich keine Gedanken über neue Zeilen oder zusätzliche Leerzeichen machen). Einige Wörter enthalten Nicht-Buchstaben-Zeichen, die Sie ignorieren müssen (z. B. "Du bist"). Wenn Sie auf ein Wort stoßen, das keine Buchstaben enthält (wie "5" oder "!!!"), ignorieren Sie es einfach. Jede Eingabe enthält mindestens ein verwendbares Wort.
Ausgabe
Sie müssen ein M oder F ausgeben, je nachdem, welches Geschlecht der Autor Ihrer Meinung nach ist, gefolgt von Ihrem Vertrauensniveau.
Beispiele
There's a snake in my boot.
- Geschlecht + Männlichkeit / Weiblichkeit jedes Wortes:
[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 - Ausgabe:
F .143
- Geschlecht + Männlichkeit / Weiblichkeit jedes Wortes:
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
= 0,053, Ausgabe: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
= 0,435, Ausgabe:M .435