俄语姓名分析器、性别识别和处理工具
russiannames的Python项目详细描述
#俄语名称
russiannames
是一个python 3库,专门用于解析俄文姓名、姓氏和中间名,通过全名标识人的性别以及姓名的书写方式。它使用MongoDB作为后端来加速名称解析。
##文档
文档是自动生成的,可以在 https://russiannames.readthedocs.org/en/latest/
##安装
要安装python库,请使用pipinstallrussiannames
via pip或pythonsetup.pyinstall
要使用数据库,您需要MongoDB实例。 从https://github.com/datacoon/russiannames/blob/master/data/bson/db_dump_bson.zip
并使用mongorestore
命令还原names
数据库,其中包含3个集合:名称、姓氏和中间名
##功能
用于识别的名称数据库
- 375449姓氏-收藏:姓氏
- 32134名字-集合:名称
- 48274个中间名-集合:中间名
按性别和收集情况分列的详细数据库统计数据
集合总计雄性雌性通用或未知
-----
姓名32134 19297 8278 1196
中间名48274 30114 16143 0
姓375274 124662 111534 38827
支持12种俄文全名书写格式
格式示例描述
————————————————
只有名字
姓
fs_名字和全名的首字母
SF区|全名和姓首字母
sf _
全名和全名
调频全名和全名
sfm m.Д.m.段。|姓、名、中间名的首字母
飞行管理系统其中名首字母和全炉名
SFM_|名字和中间名的全名和首字母
超临界流体力学|全名、名和中间名的首字母
sfm_ik______
fms_
支持具有以下民族标识的名称
姓名、姓氏和中间名支持9种民族类型
键名称(en)名称(rus)
————————————
阿拉伯语
手臂亚美尼亚语
格鲁吉亚语
德语
希腊语
犹太人
波兰语
斯拉夫语(俄语)
突厥语
##限制
- 非常罕见的姓名、姓氏或中间名无法解析
- 民族认同仍处于初级阶段
##速度优化
- 使用了预配置和预索引的MongoDB集合
##用法和示例
###分析姓名并确定性别
解析名称并返回:格式、姓氏、名字、中间名、解析(真/假)和性别
>>> from russiannames.parser import NamesParser >>> parser = NamesParser() >>> parser.parse('Нигматуллин Ринат Ахметович') {'format': 'sfm', 'sn': 'Нигматуллин', 'fn': 'Ринат', 'mn': 'Ахметович', 'gender': 'm', 'text': 'Нигматуллин Ринат Ахметович', 'parsed': True} >>> parser.parse('Петрова C.Я.') {'format': 'sFM', 'sn': 'Петрова', 'fn_s': 'C', 'mn_s': 'Я', 'gender': 'f', 'text': 'Петрова C.Я.', 'parsed': True}
性别字段可以具有以下值之一:
- M:男
- F:女性
- U:未知/未识别
- -:无法识别
###民族认同(实验) 解析姓氏、名和中间名,并尝试识别该人的个人道德词缀
>>> from russiannames.parser import NamesParser >>> parser = NamesParser() >>> parser.classify('Нигматуллин', 'Ринат', 'Ахметович') {'ethnics': ['tur'], 'gender': 'm'} >>> parser.classify('Алексеева', 'Ольга', 'Ивановна') {'ethnics': ['slav'], 'gender': 'f'}
##支持的语言 *俄语
##要求 *皮蒙戈 *单击
##致谢
推荐PyPI第三方库
- 热门话题
- java检查时间更长 从文件中只读取一些字符串并将其存储在java的堆栈中 java变量引用与避免空指针的重复get调用 java将xml数据转换为字符串 java在if语句中对字符串中的表达式求值 java找不到符号IllegalArgumentException java将servlet的返回值从JSP转换为JSON 在eclipse中运行java应用程序与直接运行它有何不同? 如何在java中创建用作密码的随机字符串 java Mojo Codehaus属性插件替代方案 关于Hibernate中Clob对象的java问题 java如何使用websocket范围测试组件? java在mongodb中将mapreduce查询转换为聚合 EclipseJava远程调试:如何确保项目中的代码与JVM中运行的代码相同? java初学者Android:ListView影响下一个类 Java swing BasicTextFieldUI绘制问题 当我在操作栏上添加溢出菜单时,java 安卓 Action Up按钮不起作用 java如何将只包含标题(无行)的数据集写入hdfs位置(csv格式),以便在下载时包含标题?