冰岛语的拼写和语法校正器
reynir-correct的Python项目详细描述
概述
reynircorrect是用于 检查并更正冰岛文本中的拼写和语法。
reynircorrect使用Reynir包, 由相同的作者来标记和解析文本。
令牌级别校正
reynircorrect可以标记文本并返回一个已更正的标记列表。 这将捕获标记级别的错误,例如拼写错误和错误 短语,但不是语法错误。
完整语法分析
reynircorrect还可以通过尝试解析 它,在令牌级别修正之后。解析是根据reynir的 冰岛语的上下文无关语法,增加了通用的生成规则 语法错误。分析返回一组注释(错误和建议) 应用于结果语句中的跨度数(连续标记) 令牌列表。
状态
此代码正在开发中,处于早期测试状态。它最终会 成为一个开放的拼写和语法检查的基础 在Greynir.is网站上向公众发布。 当然,它也将作为一个开源的python包提供 可以使用pip安装。
示例
要使用标记级别更正标记文本(在本例中不分析文本, 因此不进行语法检查:
>>> from reynir_correct import tokenize >>> g = tokenize("Af gefnu tilefni fékk fékk daninn vilja sýnum " >>> "framgengt við hana í auknu mæli.") >>> for tok in g: >>> print("{0:10} {1}".format(tok.txt or "", tok.error_description))
输出:
Að Orðasambandið 'Af gefnu tilefni' var leiðrétt í 'að gefnu tilefni' gefnu tilefni fékk Endurtekið orð ('fékk') var fellt burt Daninn Orð á að byrja á hástaf: 'daninn' vilja Orðasambandið 'vilja sýnum framgengt' var leiðrétt í 'vilja sínum framgengt' sínum framgengt við hana í Orðasambandið 'í auknu mæli' var leiðrétt í 'í auknum mæli' auknum mæli .
获取句子的拼写和语法注释列表:
>>> from reynir_correct import check_single >>> sent = check_single("Páli, vini mínum, langaði að horfa á sjónvarpið.") >>> for annotation in sent.annotations: >>> print("{0}".format(annotation))
输出:
000-004: E003 Frumlag sagnarinnar 'að langa' á að vera í þolfalli en ekki í þágufalli [ The subject of the verb 'að langa/to want' should be in the accusative case, not the dative case ]
注意annotation.start和annotation.end属性 (这里start是0,end是4)包含第一个和最后一个的索引 批注所应用的标记。E003是错误代码。
先决条件
这个包运行在cpython 3.4或更新版本上,pypy3.5或更新版本上。
安装
要安装此软件包:
$ pip3 install reynir-correct # or pip install reynir-correct if Python3 is your default
如果您想编辑源代码,请这样做(假设您已经安装了git):
$ git clone https://github.com/mideind/ReynirCorrect $ cd ReynirCorrect $ # [ Activate your virtualenv here if you have one ] $ python setup.py develop
包源代码现在位于ReynirCorrect/src/reynir_correct。