一起來嘗試一下根據中文姓名猜測對方性別呀~

2021-02-23 Charles的皮卡丘

先來簡單介紹一下貝葉斯公式吧,然後再來說代碼實現。如果沒記錯的話,大家高中的時候應該就學過貝葉斯公式了。算了,還是從頭開始講吧,不然兩句話就介紹完了。我們都知道,事件A在事件B已經發生的條件下發生的概率為:

 

如果A和B是兩個相互獨立的事件,則有:

 

顯然,我們可以利用上面的公式來判斷兩個事件是否獨立。再來引入一下全概率公式(上標c代表補集):

 

上面的公式畫個維恩圖的話其實很好理解(圖源網絡):

綜合上面的結論,我們可以很容易地推出貝葉斯公式來:

 

實際應用到我們的姓名猜測性別中的話,其實就是求:

 

顯然,我們有:

 

 

這裡我們已知每個漢字在男性名字和女性名字中出現的頻率:

我們可以假設他們是獨立的,例如:

 

所以上面 

def genderprob(name, probs, type_='male'):  assert type_ in ['male', 'female']  if type_ == 'male':    p = self.male_total / self.total    for c in name:      p *= probs.get(c, (0, 0))[0]  else:    p = self.female_total / self.total    for c in name:      p *= probs.get(c, (0, 0))[1]  return p

還是以劉亦菲為例:

P(女性) = 女性姓名出現的次數 / 總出現次數P(劉|女) = 劉在女性姓名中出現的次數 / 女性姓名出現的總次數

分母在做除法的時候可以約去,所以不用算,即:

male_prob = genderprob(name, self.name_probs, 'male')female_prob = genderprob(name, self.name_probs, 'female')result = {'male': male_prob / (male_prob + female_prob), 'female': female_prob / (male_prob + female_prob)}

然後利用PyQt5給這個姓名預測性別的小模型做個簡單的可視化界面:

大功告成,完整原始碼詳見相關文件~

相關焦點

  • QQ坦白說怎麼知道對方是誰 QQ坦白說查看對方方法一覽
    QQ坦白說怎麼知道對方是誰? QQ坦白說查看對方方法一覽。下面跟著小編一起來看看吧!QQ坦白說查看發送人性別教程:在坦白說這個功能中,其實判定對方是男是女其實非常簡單,在收到的消息中直接就可以看到對方是男或者是女。
  • 香港中文大學性別研究碩士專業錄取一枚案例就業前景-美英港新
    本文介紹香港中文大學性別研究碩士的案例以及就業前景介紹,以下先為大家介紹就業情況。說實話,性別研究並沒有特別直接的相關工作,如果非要說幾個,那就是做學術、NGO或政府工作。如果是去聯合國的情況當然是每個有夢想的性別研究人員最理想的情況,但情況比較少,也可以從事其它相關工作。以上除了香港中文大學性別研究碩士就業情況介紹,以下就是真實案例。
  • 四維彩超怎麼看性別 教你怎樣判斷胎兒性別
    懷孕期間猜測胎兒的性別是準媽媽們的樂趣,聽說通過彩超能知道生男生女哦,下面就來介紹一下四維彩超怎麼看性別,一起來看看吧!四維彩超怎麼看性別1、孕囊大小看胎兒性別有傳言說,如果孕囊大小的長和寬的相差在一倍以上,那麼男寶寶可能性大。長和寬相等,或者相差不大的話,很可能是個女寶寶。
  • 生活大爆炸:謝耳朵學中文 聽他說中文感覺好穿越呀!
    新東方網>英語>英語學習>娛樂英語>影視英語>影視資訊>正文生活大爆炸:謝耳朵學中文 聽他說中文感覺好穿越呀!
  • 教授演講出現「黑洞」段子,女生質疑性別歧視,教授回應出自霍金
    在人人提倡性別平等的今天,性別歧視問題已經受到了越來越多人的重視。尤其是對於某些勇敢(膽子比較大)的女生來說,她們更是會無所畏懼的,把自己感受到的性別不平等的問題說出來,讓大家來一起來評判。以為女性爭取到一些能夠被平等對待的權利。
  • Rust女性角色上線 玩家性別將根據ID隨機強制分配
    開放世界生存遊戲《Rust》近日更新了女性玩家模型,但是,官方將根據玩家的Steam ID進行角色模型分配。如果玩家想修改角色外貌或者換個性別,開發商可以明確告訴你:沒門。開發商Facepunch在官網博客上表示:「雖然有不少玩家抱怨不可更換性別,我們很理解,但是不會改變主意。」
  • 魔獸世界懷舊服姓名血條修改宏 遠處看不到血條名字解決方法_蠶豆...
    很多魔獸世界懷舊服的玩家反映,在遊戲裡隔遠了就看不到對方的血條姓名了,就不能使用技能了,這應該怎麼辦,針對這個問題小編特意給大家整理了相關的攻略,如果你想了解具體的解決方法就跟著我一起來看看吧。魔獸世界懷舊服中,大家會發現很多時候無論是在打怪還是在副本中經常的看不到距離遠一點的血條,也就是姓名板,那麼怎麼解決這個問題呢?
  • 華人中文姓名英文發音常鬧笑話 老美「雷點」多
    華人中文姓名英文發音常鬧笑話 老美「雷點」多 有在美定居多年的華人爆料,中文姓名裡有不少常見的漢語拼音老美用英文發音很難,甚至常鬧笑話,也有一些常用姓名拼音能找到相應的英文單詞,但寓意卻「雷點」多多,念時令人憋笑成內傷。  「姓名拼音裡有x和q,頭一次念的老美無一例外都念不對,xie都發成zie,qing發成了queen」。
  • 日本人最喜歡罵「八嘎呀路」,翻譯成中文,才知道這話有多狠
    如今越來越多抗日神劇充斥螢屏,很多電視劇情節基本都是胡編亂造的,和歷史上真實的抗日戰爭大相逕庭,不過大家在看神劇的時候肯定都聽過一句話,每當日軍罵人的時候最喜歡說的就是「八嘎呀路」,可能大家都覺得非常疑惑為什麼日本人只會用這句話罵人,翻譯成中文這句話到底是什麼含義呢?其實這句話在日語裡已經是最狠的。
  • 原來性別並非只有男女,根據科學證實,人類性別可能有五種
    當有人問你,一個人究竟有多少種性別的時候,你是不是會覺得這個人有毛病呢?看來這是一個顯而易見的問題,答案也非常的簡單,不就是只有男和女嗎?這可是上到老人下到小孩都知道的基礎知識,可是今天小編要說到的可能會令你大吃一驚,實際上人類的性別絕非兩種。
  • 輸入手機號,立馬確定對方位置?有人做了嘗試……
    有人做了嘗試…… 2020-11-20 15:46 來源:澎湃新聞·澎湃號·政務
  • 英國古遺蹟驚現「簡體中文」,專家猜測:難道是穿越回來的?
    在英國的一個小村莊裡,就有專家挖出了一幅價值連城的壁畫,據說這幅畫是英國50年以來,發現價值最高的一個文物了,目前世界上也僅僅只有3幅畫和它是同類型的,不過在這幅壁畫中,大家居然在上面發現了「簡體中文」,專家猜測,難道有人穿越回去了?
  • 那些困擾博士後的種族和性別偏見
    她說,這項新研究今天發表在雜誌上,是一項重要的進步,因為它可以操縱種族和性別。「它當然支持許多軼事發現,自我報告,相關數據,但真正擁有一些艱難的實驗數據……確實非常重要。」這是根據一項新研究得出的,該研究發掘了生物學中種族偏見以及物理學中性別和種族偏見相結合的證據,強調了科學中各種偏見的普遍性質以及重要的學科差異。首席研究員通常獨立地審查博士後申請,這與研究生入學或教師聘用決定不同,後者通常是由委員會做出的,在某些情況下還包括消除偏見的做法。
  • 一胎的長相,決定二胎的性別?生了二胎的來驗證一下
    今天和一個朋友聊天,她說通過一胎孩子的長相,能夠預測二胎孩子的性別。這讓我來了興趣,沒想一胎、二胎還有這樣的神奇聯繫?朋友說,如果一胎是閨女,且長得和媽媽比較相似,那二胎大概率還是女孩;如果一胎是兒子,長得和爸爸比較相似,那二胎大概率是男孩。
  • 《死亡細胞》怎麼設置中文模式 中文模式設置方法
    導 讀 死亡細胞的初始設置是英文版本的,那麼如何才能將遊戲字體改為中文呢?大家一起來看看吧!
  • 美國高中的中文試卷,中國孩子被難倒?網友:我可能學了個假中文
    其實,外國人學中文也是一樣痛苦,他們的中文練習題,就連不少中國孩子都覺得繞,紛紛被難倒,大呼:「難道我學了個假中文?」據悉,這是一張出自美國公立高中的試卷,專門為中文期末考試準備,滿分為100,其中囊括了根據詞語寫同義詞、反義詞、造句子和作文四道題。
  • 邊答題邊漲知識呀!我國古代人們如何尊稱對方的妻子你造嗎?
    邊答題邊漲知識呀!我國古代人們如何尊稱對方的妻子你造嗎?時間:2020-10-30 00:16   來源:倉鼠手遊   責任編輯:沫朵 川北在線核心提示:原標題:邊答題邊漲知識呀!我國古代人們如何尊稱對方的妻子你造嗎? 支付寶螞蟻莊園小課堂2020年10月30日答案是什麼呢?
  • 抖音請在等一下還有臭美的飛雪是什麼歌誰唱的 歌詞分享
    對於視頻中歌詞「請在等一下還有臭美的飛雪」大家都是非常的好奇這首歌的歌名是什麼呢?抖音請在等一下還有臭美的飛雪是什麼歌?《橋豆麻袋》完整歌詞介紹是什麼?抖音請在等一下還有臭美的飛雪是什麼歌  據了解這是由音樂鬼才陳粒演唱的歌曲《橋豆麻袋》,不知道大家有沒有發現呢曲名《橋豆麻袋》的諧音與日語中「等一下」「」(ちょっとまって橋都馬代)是非常的相似的。
  • 生理性別和心理性別(一些想法)
    所以今天呢,小編就將之前的論文中的一些個人的觀點用中文簡單的複述出來。不過呢接下來談論到的所有的理論都只是小編一個人自己的想法,並沒有任何抄襲成分,當然也不求所有人同意。小編覺得,LGBT正在被這個世界所接受,同時越來越多的LGBT出現在了我們的視野中,勇敢的表明了他們的取向。
  • 為何日本人罵人只會說:「八嘎呀路」?翻譯過來其實很惡劣
    為何日本人罵人只會說:「八嘎呀路」?在眾多的抗日劇當中,聽到日本人說的最多的日語就是用來罵人的「八嘎呀路」,那麼這句話到底是什麼意思呢?為什麼他們就只會說這一句呢?「八嘎呀路」這句話翻譯成中文的意思就是混蛋,「八嘎」的意思是笨蛋,在中國人的眼中這兩個詞的意思雖然是罵人的,不過確實比較溫和的,現在甚至發展成為了情侶或者朋友之間打罵的玩笑話。