#nlp #date-time #english #time-parser #language #events #natural

date_time_parser

Rust NLP库,用于将英文自然语言解析为日期和时间

3个不稳定版本

0.2.0 2022年8月29日
0.1.1 2021年5月23日
0.1.0 2020年4月21日

#163编程语言

Download history 551/week @ 2024-03-14 469/week @ 2024-03-21 671/week @ 2024-03-28 761/week @ 2024-04-04 550/week @ 2024-04-11 485/week @ 2024-04-18 512/week @ 2024-04-25 527/week @ 2024-05-02 389/week @ 2024-05-09 377/week @ 2024-05-16 372/week @ 2024-05-23 594/week @ 2024-05-30 437/week @ 2024-06-06 555/week @ 2024-06-13 587/week @ 2024-06-20 392/week @ 2024-06-27

2,058 每月下载量
用于 4 crates

MIT 许可证

36KB
596

事件解析器

为Rust提供的自然语言日期、时间和事件解析库

Build crates.io

事件解析器包含一个日期和时间自然语言解析库,以及一个事件解析库,还包括一个客户端,演示如何利用这些crates创建简单的命令行工具。这些库是用Rust编写的,基于chronoregexcrates构建,以提供更广泛的自然语言语句覆盖。

日期时间解析器:Rust NLP库

它旨在将非结构化文本解析为NaiveDateNaiveTime格式。

  • 日期时间解析器具有时区感知能力,但默认为UTC。
  • 允许解析相对于当前日期/时间,或相对于自定义日期/时间。

用法

在您的Cargo.toml中放入以下内容

[dependencies]
date_time_parser = "0.1.0"

然后在您的crate根目录下放入以下内容

extern crate date_time_parser;

示例:查找日期

此包的一般用途是将包含日期的英文自然语言传递给DateParser结构进行解析。如果找到日期,它将表达式解析为NaiveDate格式。

use date_time_parser::DateParser;
use chrono::NaiveDate;

let date = DateParser::parse("Lunch on June 5th");
assert_eq!(date, Some(NaiveDate::from_ymd(2020, 6, 5)));

有关更多示例和用法,请参阅文档

事件解析器:Rust NLP库

旨在将非结构化文本解析为iCalendar Events

  • 将文本解析为具有与本地时间相关的日期和时间的活动。
  • 事件解析器默认为时区感知。
  • 利用date_time_parsercrate解析事件日期和时间。

用法

在您的Cargo.toml中放入以下内容

[dependencies]
event_parser = "0.1.0"

然后在您的crate根目录下放入以下内容

extern crate event_parser;

示例:晚上7点的晚餐

将描述事件的英语自然语言传递给to_event函数以解析表达式。它将表达式解析为iCalendar Events格式。

如果适用,事件将有一个开始和结束时间,或者被分类为全天事件。此外,将为事件解析一个日期,如果没有找到日期,则默认为当天。如果提供了,事件还将有一个摘要(事件的名称)。

use event_parser::to_event;
use chrono::{Duration, Local};
use icalendar::{Component, Event};
 

let event = to_event("Dinner at 7");
let expected_event = Event::new()
    .summary("Dinner")
    .starts(Local::today().and_hms(19, 0, 0))
    .ends(Local::today().and_hms(19, 0, 0) + Duration::hours(1))
    .done();
assert!(equal(event, expected_event));

有关更多示例和使用方法,请参阅文档

命令行工具

为了与event_parser库进行交互,我们提供了一个命令行工具,可以轻松测试不同的输入。只需下载存储库,然后在项目根目录下运行cargo run,然后输入一个自然英语事件,看看它是如何被解析的!

开发设置

安装Rust编程语言,然后克隆此存储库。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/isaacrlee/event-parser.git

运行程序并轻松地与输入交互

cargo run

运行测试套件

cargo test --all

许可证

License: MIT

MIT许可证

在MIT许可证下分发。有关更多信息,请参阅LICENSE
版权所有(c)2020 伊萨克·李和亚历克斯·格赖姆斯

依赖关系

~3–4.5MB
~71K SLoC