前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Rust日报】2021-02-13 nlprule,Rust 实现的 NLP 库

【Rust日报】2021-02-13 nlprule,Rust 实现的 NLP 库

作者头像
MikeLoveRust
发布2021-03-15 15:00:15
5420
发布2021-03-15 15:00:15
举报
文章被收录于专栏:Rust语言学习交流

Rust牛年春晚节目录像

Rust牛年春晚,牛年初三,下午4点-12点。

https://www.bilibili.com/video/BV1HK4y1Q7EA

calc,一个命令行计算器

calc,一个Rust 实现的命令行计算器。

Github 链接,https://github.com/coriolinus/calc

表达式模式

代码语言:javascript
复制
$ calc "1/(2+(3*(4-5)))"
-1
$ calc "round(12345 / 543)"
23

Shell 模式

代码语言:javascript
复制
$ calc
[0]: 1 + 1
2
[1]: 3*(5/(3-4))
-15
[2]: 3*pi**2
29.608813203268074
[3]: @+1
30.608813203268074
[4]: @@@*2
-30
[5]: ln(-1)
NaN

nlprule,Rust 实现的 NLP 库

nlprule 使用 LanguageTool 中的资源为NLP实现了基于规则和查找的方法。

Github链接,https://github.com/bminixhofer/nlprule

代码语言:javascript
复制
from nlprule import Tokenizer, Rules

tokenizer = Tokenizer.load("en")
rules = Rules.load("en", tokenizer)

rules.correct("He wants that you send him an email.")
# returns: 'He wants you to send him an email.'

rules.correct("I can due his homework.")
# returns: 'I can do his homework.'

for s in rules.suggest("She was not been here since Monday."):
    print(s.start, s.end, s.replacements, s.source, s.message)
# prints:
# 4 16 ['was not', 'has not been'] WAS_BEEN.1 Did you mean was not or has not been?

for sentence in tokenizer.pipe("A brief example is shown."):
    for token in sentence:
        print(
            repr(token.text).ljust(10),
            repr(token.span).ljust(10),
            repr(token.tags).ljust(24),
            repr(token.lemmas).ljust(24),
            repr(token.chunks).ljust(24),
        )
# prints:
# ''         (0, 0)     ['SENT_START']           []                       []                      
# 'A'        (0, 1)     ['DT']                   ['A', 'a']               ['B-NP-singular']       
# 'brief'    (2, 7)     ['JJ']                   ['brief']                ['I-NP-singular']       
# 'example'  (8, 15)    ['NN:UN']                ['example']              ['E-NP-singular']       
# 'is'       (16, 18)   ['VBZ']                  ['be', 'is']             ['B-VP']                
# 'shown'    (19, 24)   ['VBN']                  ['show', 'shown']        ['I-VP']                
# '.'        (24, 25)   ['.', 'PCT', 'SENT_END'] ['.']                    ['O']

# and every call here takes less than 1ms! (on an i5 8600k)

Fly.io 升级Tokio到1.x

Fly.io 基于Rust 的 Tokio 和 Hyper 实现负载均衡,Tokio 升级到 v1.x,Fly.io 将其使用的 Tokio 从 v0.2 升级到 v1.x,并认为虽然是一个主要版本的升级,但升级过程并不难。

这篇博客文章记录了一些笔记,文章链接,https://fly.io/blog/the-tokio-1-x-upgrade/

PyO3 为 Rust 1.41 提供支持

在 Debian Buster,Alpine 3.12 和其他使用较旧 Rust 编译器版本 v1.41 的平台,PyO3 不能与Rust v1.41一起编译,目前已提供支持 Rust v1.41。

Github issue 链接,https://github.com/PyO3/pyo3/issues/1420


From 日报小组 洋芋

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Rust牛年春晚节目录像
  • calc,一个命令行计算器
  • nlprule,Rust 实现的 NLP 库
  • Fly.io 升级Tokio到1.x
  • PyO3 为 Rust 1.41 提供支持
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档