python的通用自然语言处理任务
semantic3的Python项目详细描述
semantic是一个python库,用于从文本中提取语义信息,包括日期、数字、数学公式和单位转换。
对于这四种语义类型中的每一种,语义都提供了一个服务模块。典型用法通常如下:
#!/usr/bin/env python from semantic.dates import DateService service = DateService() date = service.extractDate("On March 3 at 12:15pm...") ...
完整的文档可以在here上找到,而源代码本身也可以在GitHub上找到。
安装
安装语义很简单:
$ pip install 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.units 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)包含四个模块的大量示例和用例。
要求
日期、数字和数学模块可以单独运行(即没有任何依赖关系),而units模块需要quantities和Numpy。
许可证
麻省理工学院Charles Marsh