Ich habe mich kürzlich mit einer seltsamen und doch interessanten Frage konfrontiert. Die Fragen lauten wie folgt: Müssen Sie ein Programm schreiben, das das Geschlecht als Ausgabe basierend auf dem Namen geben kann. Beispiel: EINGABE - & gt; John Michael Britney Ausgabe - & gt; männlich männlich weiblich
Das ist also die Ausgabe, die ich erwarte. Ich habe viel versucht, um es zu lösen, aber ich konnte es wirklich nicht knacken. Ich werde dieser Website wirklich dankbar sein, dass sie mir die Gelegenheit gibt, diese Frage zu teilen.
Eigentlich wird dies in einem Programmierwettbewerb als Flyer-Problem gestellt, also dachte ich, dass das programmiert werden kann.
Sie können das nicht algorithmisch tun: Sie benötigen eine Datenbank, um dies statistisch zu tun. Diese SO-Frage verweist auf viele solcher verfügbaren Ressourcen. Erinnere dich daran, dass du viele, viele Missgeschicke haben wirst - entweder die koreanischen Kims (Männer) oder die nordeuropäischen Frauen (Frauen) werden vielleicht ziemlich sauer auf solche Dinge, zum Beispiel; -).
Ich habe Zeit damit verbracht, dies auch zu lösen. Meine erste Herangehensweise war die Verwendung von Listen mit anerkannten Namen, die wir in Dänemark haben, wo ich herkomme, aber ich habe schnell festgestellt, dass es nur wenige Länder gibt. Außerdem erhielt ich Feedback, dass eine probabilistische Vermutung viel funktionaler wäre und dass man nach einem Land oder einer Sprache ID filtern könnte. Ich habe dann mit Datensätzen von Nutzern aus sozialen Netzwerken rebuilted, die eigentlich ziemlich gut funktioniert.
Sie können es unter Ссылка
ausprobierenEinfaches Beispiel:
%Vor%Gib nicht auf.
Ich würde einen statistischen Ansatz wählen ... Sie müssen eine riesige Namensdatenbank in die Finger bekommen, die tatsächlich Geschlechtsinformationen enthält ... und dann Ihrem Programm beibringen, aus diesem Datensatz zu lernen.
Sie brauchen eine dritte Variable für die Korrelation. So etwas wie Herkunftsland, ethnische Zugehörigkeit usw. wird Ihre Chancen noch weiter einschränken. Du brauchst wirklich diesen dritten "Hinweis" ...
Wie steht es mit menschlicher Computerinteraktion als drittem Hinweis?
Sie könnten eine Klick-Karte wie z Ссылка
Je nachdem, wo der Nutzer klickt, können Sie eine angemessene Statistik für männlich und weiblich festlegen. Dies würde verwendet werden, wenn unbekannt in der Datenbank ist
Hier ist eine Wikipedia über "Gender_HCI":
"Größere Anzeigen halfen, die geschlechtsspezifische Unterschiede bei der virtuellen Navigation Umgebungen. Mit kleineren Displays, die Leistung der Männer war besser als Frauen '. Bei größeren Displays Frauen Leistung verbessert und die Leistung der Männchen war nicht negativ betroffen. "
So haben Sie eine kleine Box und Zeit die Zeit, die benötigt wird, um darauf zu klicken. ...?
Ich habe das schon mal gemacht - es ist einfach und funktioniert gut 90% der Zeit, wenn es auf das richtige Szenario angewendet wird.
Sie müssen von irgendwo eine Datenbank mit Namen und dem üblichen Geschlecht erhalten. Es ist dann einfach, die Datenbank zu durchsuchen.
Einige Namen (zum Beispiel Andy) sind häufig mit einem der beiden Geschlechter assoziiert. Sie benötigen also mindestens drei Geschlechterwerte - männlich / weiblich / unbekannt.
Schau dir WolframAlpha.com an. Sie haben eine Webservice API, aber es ist ein bisschen teuer ...
Der statistische Ansatz funktioniert wirklich gut, je nach Land beträgt die Genauigkeit 95% oder 99% + mit wenigen Ausnahmen (chinesische Namen, koreanische Namen).
Sehen Sie sich die GendRE-API an Ссылка
Es erkennt automatisch die Kultur hinter einem Namen, um das passende Wörterbuch anzuwenden (zB Andrea Rossini ist männlich, Andrea Parker ist weiblich, etc.)
Tags und Links language-agnostic