解析用自然语言写的数字
number-parser的Python项目详细描述
number-parser是一个简单的库,允许您转换以自然方式编写的数字 它的等价数字形式的语言。它目前支持下列基数 语言-英语,印地语,西班牙语和俄语以及英语中的序数。在
安装
pip install number-parser
数字解析器需要python3.6+。在
使用
该库提供了三个主要的api,它们对应于以下常见用法。在
接口1:多个号码
识别文本字符串中的数字,将其转换为相应的数值,同时忽略非数字单词。 这也支持序数转换(仅限英语)。在
^{pr2}$接口2:单号
把一个用单词写的数字转换成它对应的整数。在
>>> from number_parser import parse_number >>> parse_number("two thousand and twenty") 2020 >>> parse_number("not_a_number")
接口3:单数序数
将一个用单词写成的序数转换成它对应的整数。(仅支持英语)
>>> from number_parser import parse_ordinal >>> parse_ordinal("twenty third") 23 >>> parse_ordinal("seventy fifth") 75
语言支持
默认语言是英语,您可以通过其他语言对应的语言环境传递language参数。 它目前支持下列基数 语言-英语,印地语,西班牙语和俄语以及英语中的序数。在
>>> from number_parser import parse, parse_number >>> parse("Hay tres gallinas y veintitrés patos", language='es') 'Hay 3 gallinas y 23 patos' >>> parse_number("चौदह लाख बत्तीस हज़ार पाँच सौ चौबीस", language='hi') 1432524
支持病例
图书馆有大量的测试。 下面介绍一些受支持的案例。在
正确处理连词的用法,同时形成数字。在
>>> parse("doscientos cincuenta y doscientos treinta y uno y doce", language='es') '250 y 231 y 12'
在没有适当分隔符的情况下处理模棱两可的案件。在
>>> parse("two thousand thousand") '2000 1000' >>> parse_number("two thousand two million") 2002000000
用同一数字的不同形式处理语言中的细微差别。在
>>> parse_number("пятисот девяноста шести", language='ru') 596 >>> parse_number("пятистам девяноста шести", language='ru') 596 >>> parse_number("пятьсот девяносто шесть", language='ru') 596
贡献
变更
0.1.0(2020-07-30)
初始版本。在
0.2.0(2020-08-18)
序数支持
0.2.1(2020-08-25)
修复标记化错误-印地语
- 项目
标签: