我已经成为学校的一个项目,已经有很多的乐趣至今的一部分,它只是有一点点更有趣。 我有大约60万的鸣叫在我身上(每包含屏幕名称,地理位置,文字等),我的目标是尽量给每个用户归类为男性或女性。 现在,使用Twitter4J我能得到什么样的用户的全名,朋友,重新鸣叫数量等,所以我在想,如果看一个用户名,并且也做文本分析的结合将是一个可能的答案。 我本来想我可以让这个喜欢以规则为基础的分类,我可以先看看用户的名称,然后分析他们的文本并试图达到M或F的结论,我猜我会使用的东西,如遇到麻烦朴素贝叶斯因为我没有真正的真值?
也有名字,我会检查某种字典的解释名称是否是男性还是女性。 我知道有这样的情况很难说,但是这就是为什么我会在自己的推特文章寻找为好。 我还忘了说; 这些600000鸣叫,我在每个用户提供给我至少两个鸣叫。
对用户的性别分类的任何意见或输入将不胜感激! 我没有这方面的一吨的经验,我想学习什么我可以得到我的手。
我猜我会使用的东西有问题,如朴素贝叶斯,因为我没有真正的真值?
任何监督学习算法,如朴素贝叶斯,需要准备训练集。 如果没有对一些数据的实际性别你不能建立这样一个模型。 在另一方面,如果你拿出一些规则库系统(比如基于用户的名称之一),你可以尝试半监督方法。 使用您的规则为基础的系统,您可以创建数据的一些标签,可以说,你的基于规则的分类是RC
,可以回答“男”,“女”,“不知道”,您可以创建数据的标注X
使用RC
以自然的方式:
X_m = { x in X : RC(x)="Male" }
X_f = { x in X : RC(x)="Female" }
一旦你做到了,你可以使用除了用于创建一个所有数据创建监督学习模型的训练集RC
在这种情况下如此- -用户的姓名(我假设,即RC
回答‘男’或‘女’当且仅当它完全是“肯定”这件事)。 其结果是,你会训练一个分类,它会试图从所有其他数据概括性别的概念(如使用的话,位置等)。 让我们把它称为SC
。 在此之后,你可以简单地创建一个“复杂”的分类:
C(x) = "Male" iff RC(x)= Male" or
(RC(x)="Do not know" && SC(x)="Male")
"Female" iff RC(x)= Female" or
(RC(x)="Do not know" && SC(x)="Female")
这样你可以一方面使用基于规则的方法最有价值的信息(用户名),而在同一时间开发的“疑难案件”监督学习的能力,同时没有摆在首位的“地面实况” 。
文章来源: Using Naive Bayes Classification to Identity a Twitter User's Gender [closed]