跳转到主要内容

Python的常见自然语言处理任务

项目描述

https://badge.fury.io/py/semantic.png

Semantic是一个Python库,可以从文本中提取语义信息,包括日期、数字、数学方程式和单位转换。

对于这四种语义类型中的每一种,semantic都提供了一个服务模块。典型用法通常如下所示

#!/usr/bin/env python
from semantic.dates import DateService

service = DateService()
date = service.extractDate("On March 3 at 12:15pm...")
...

完整文档可以在此处找到,而源代码本身也可以在GitHub上找到。

安装

安装semantic很简单

$ pip install semantic

特性

semantic包含四个主要模块,每个模块对应一个不同的语义提取器。

日期 (date.py)

适用范围

  • 从文本片段中提取相对日期(例如,“一周后”)和绝对日期(例如,“2013年12月11日”)。

  • 将日期对象转换为人类可读的表述。

数字 (number.py)

适用范围

  • 从文本片段中提取数字(整数或浮点数)。

  • 将数字转换为人类可读的字符串。

示例用法

#!/usr/bin/env python
from semantic.numbers import NumberService

service = NumberService()

print service.parse("Two hundred and six")
# 206

print service.parse("Five point one five")
# 5.15

print service.parse("Eleven and two thirds")
# 11.666666666666666

print service.parseMagnitude("7e-05")
# "seven to the negative five"

数学 (solver.py)

用于执行以文字表达的数学运算。

示例用法

#!/usr/bin/env python
from semantic.solver import MathService

service = MathService()

print service.parseEquation("Log one hundred and ten")
# 4.70048

单位 (units.py)

用于在以文字表示的单位之间进行转换。

示例用法

#!/usr/bin/env python
from semantic.solver import ConversionService

service = ConversionService()

print service.convert("Seven and a half kilograms to pounds")
# (16.534, 'lbs')

print service.convert("Seven and a half pounds per square foot to kilograms per meter squared")
# (36.618, 'kg/m**2')

测试

测试套件(test.py)包含四个模块的大量示例和用例。

要求

日期、数字和数学模块可以独立运行(即,无需任何依赖项),而单位模块需要quantitiesNumpy

许可

MIT © Charles Marsh

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

semantic-1.0.3.tar.gz (15.2 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页