用于处理和比较(英文)名称的库
name_tools的Python项目详细描述
一个python库,用于操作和比较英语、西式的个人名称。
在BSD风格的许可下发布。
来源:http://github.com/sunlightlabs/name_tools
安装
要从pypi安装,请运行
^{tt1}$
或
^{tt2}$
要从源程序包安装,请运行
^{tt3}$
用法
name_tools.split(name)将名称分成4个部分(可能是空的)。 表示前缀(“mr.”、“dr.”等),表示“第一部分”(给定名称, 中间名、中间名首字母)、姓氏和后缀('jr.', “iii”、“博士”等)
>>> import name_tools >>> name_tools.split("President Barack Hussein Obama II") ('President', 'Barack Hussein', 'Obama', 'II') >>> name_tools.split("Obama, President Barack H., II") ('President', 'Barack H', 'Obama', 'II') >>> name_tools.split("Fleet Admiral William Frederick Halsey, Jr., USN") ('Fleet Admiral', 'William Frederick', 'Halsey', 'Jr., USN') >>> name_tools.split("Dick van Dyke") ('', 'Dick', 'van Dyke', '')
name_tools.canonicalize(name)以规范格式返回名称: “前缀首尾,后缀”,去掉多余的空格和单词 大写。
>>> name_tools.canonicalize(' WASHBURNE, zoe alleyne') 'Zoe Alleyne Washburne' >>> name_tools.canonicalize('DR. simon tam') 'Dr. Simon Tam' >>> name_tools.canonicalize(' thurston b. howell iii') 'Thurston B. Howell, III'
name\u tools.match(name1,name2)提供 考虑到不同的词等因素,两个名字之间的相似性 订单(“bond,james”和“james bond”),使用缩写 ('J.R.R.Tolkien'和'John Ronald Reuel Tolkien')和各种 头衔和荣誉(“海军舰队上将威廉·弗雷德里克·哈尔西,Jr.,USN”, 还有“威廉·弗雷德里克·哈尔西”。
>>> name_tools.match('Eric Schmidt', 'Eric Schmidt') 1.0 >>> name_tools.match('Bob Dole', 'Dole, Bob') 0.98 >>> name_tools.match("Mr. X", "X") 0.95 >>> name_tools.match('Jeff Tweedy', 'J Tweedy') 0.9 >>> name_tools.match('Ferris Bueller', 'Bueller') 0.8 >>> name_tools.match('John Smith', 'John Johnson') 0.0