给定一篇文本,提取出文本中涉及到的所有的货币和金额。例如:
'张三赔偿李四人民币车费601,293.11元,工厂费一万二千三百四十五元,利息9佰日元,打印费十块钱。'
从中提取出?'601,293.11元', '一万二千三百四十五元', '9佰日元', '十块钱' 这样的字符串,并把他们都规范化,形成??'601293.11元', '12345.00元', '900.00日元', '10.00元' 这样的结果。方便存储和计算。
安装 Installation
- python>=3.6?github 版本略领先于 pip
$ git clone https://github.com/dongrixinyu/JioNLP
$ cd ./JioNLP
$ pip install .
$ pip install jionlp
# 如安装失败,遇到安装时提示的 pkuseg、Microsoft Visual C++、gcc、g++ 等信息,
# 则说明是 pkuseg 安装失败,需要在相应系统中安装 C 和 C++ 编译器,重新安装。
# pip install pkuseg
?使用 Usage
抽取文本中的金额字符串,并提供将其转换为标准数字格式的函数。
>>> import jionlp as jio
>>> text = '张三赔偿李四人民币车费601,293.11元,工厂费一万二千三百四十五元,利息9佰日元,打印费十块钱。'
>>> moneys = jio.extract_money(text)
>>> standard_moneys = [jio.money_standardization(i) for i in moneys]
# moneys: ['601,293.11元', '一万二千三百四十五元', '9佰日元', '十块钱']
# standard_moneys: ['601293.11元', '12345.00元', '900.00日元', '10.00元']
- 支持标准数字格式,如:1,034,192.07元
- 支持纯数字格式,如:987273.3美元
- 支持大写中文金额,如:柒仟六佰零弎萬肆仟叁佰贰拾壹元伍分
- 支持混合格式,如:1.26万港元
- 支持口语化中文格式,如:三十五块三毛;但对于“三十五块八”这样的字符串,在文本中存在歧义,如“三十五块八颗糖”等,因此,
extract_money ?对于此字符串不予抽取,但money_standardization 可以将“三十五块八”看作完整的口语化金额,标准化为“35.80元” - 支持多种常见货币类型:人民币,港元,澳门元,美元,日元,澳元,韩元,卢布,英镑,马克,法郎,欧元,加元等。
如果觉得好用,就点一下 Star 赞啊!可以直接在 提取货币金额 使用。
|