提取文本中的金额,提取货币,Python实现与在线使用

给定一篇文本,提取出文本中涉及到的所有的货币和金额。例如:

'张三赔偿李四人民币车费601,293.11元,工厂费一万二千三百四十五元,利息9佰日元,打印费十块钱。'

 从中提取出 '601,293.11元', '一万二千三百四十五元', '9佰日元', '十块钱' 这样的字符串,并把他们都规范化,形成  '601293.11元', '12345.00元', '900.00日元', '10.00元' 这样的结果。方便存储和计算。

⭐ 源码戳 =>JioNLPhttps://github.com/dongrixinyu/JioNLP正在上传…重新上传取消https://github.com/dongrixinyu/JioNLP

⭐ 在线使用戳 => 提取货币金额

安装 Installation

  • python>=3.6 github 版本略领先于 pip

 $ git clone https://github.com/dongrixinyu/JioNLP
$ cd ./JioNLP
$ pip install .

  • pip 安装

 $ 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 赞啊!可以直接在 提取货币金额 使用。

 JioNLP时间语义解析

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值