Gender Guesser - 性别猜测
include_once 'genderguesser.lib.php'; $name = '王杰'; $GenderGuesser = new GenderGuesser; $GenderGuesser->loadLexicon('charlex_gender.lex'); $tendency = $GenderGuesser->getTendency($name); echo "$name: " . (($tendency>=0)?'男':'女') . ", 性别倾向: $tendency";
本 Class 可以根据姓名猜测性别。目前可处理两个字、三个字和四个字的姓名。
一般来说,人们的名字和性别都有关系。例如名字中带有“杰”“志”“宏”等字的一般为男性,带有“琬”“佩”“琳”等字的一般为女性。本 Class 就是根据这个规律来猜测性别的。当然也有一些比较中性的字,例如“文”“安”“清”等,通过这样的字来猜测性别就比较困难了。
数据统一使用 UTF-8 编码。
设置选项。options 可以为数组或者字符串。若使用字符串,各选项用空格分隔。
若要设置某选项为关闭,在代表该选项的字符前加减号“-”。可设置的选项如下:
s - name 参数包含姓氏。
加载一个词典。成功返回 TURE,失败返回 FALSE。
返回所加载词典的名称。
返回根据姓名计算出来的偏移量。
偏移量为正数时表示猜测结果为男性,为负数时表示猜测结果为女性,为零时表示在字典中找不到所查询的字或猜测结果为中性。
返回根据偏移量计算出来的性别倾向值,其范围为 [-1, 1]。正数表示男性,负数表示女性,零表示中性。绝对值越大可能性越高。
返回根据姓名计算出来的性别倾向值,参看 getTendencyByOffset() 方法。
本方法实际就是 getOffset() 和 getTendencyByOffset() 的组合。
2005, Wudi <wudicgi-at-yahoo.de>, MSN Space