语法错误检测与反馈

qporcupine的Python项目详细描述


qporcupine

一个来自quill.org的库,提供关于常见语法错误的反馈。检测到的错误包括拼写错误、片段和主谓一致性错误。

注意:此库当前不稳定;请注意 这些更新可能包括中断更改。

用法

作为模块:

fromqporcupineimportcheckfeedback=check('Until she leapt into the air and kissed him.')print(feedback.human_readable)

预期输出:

This looks like a subordinating conjunction fragment.
Try removing the subordinating conjunction or adding a main clause.

安装

1.安装语言工具

qporcupine依赖于语言工具来运行。languagetool是一个开源工具 用Java编写的语法和拼写检查器。为了最大化性能,我们 将运行qporcupine能够连接到的语言工具服务器。

切换到opt目录。如果没有,请使用$ sudo mkdir /opt创建一个。

$ cd /opt

下载并解压缩语言工具。

$ sudo curl -O "https://languagetool.org/download/LanguageTool-4.1.zip"
$ sudo unzip LanguageTool-4.1.zip
$ sudo rm LanguageTool-4.1.zip

将以下行添加到.bash_配置文件或等效的系统中。不要 包括lt_uri的尾随斜杠。

aliasltserver='nohup java -cp /opt/LanguageTool-4.1/languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 </dev/null >/dev/null 2>&1 &'exportLT_URI=http://localhost:8081

启动服务器

$ ltserver

Languagetool现在正在端口8081上运行。试着打 http://localhost:8081/v2/check?language=en-US&text=my+text在浏览器中。

2.下载allennlp选区分析器

qporcupine使用AllenNLP库,这是一套开源的 艾伦人工语言研究所开发的自然语言处理工具 智慧。特别地,qporcupine使用constituency parse 模型来自allennlp。

我们将allennlp模型存储在/var/lib/allennlp。要配置此文件夹并下载模型以供使用,请运行:

$ sudo mkdir /var/lib/allennlp
$ cd /var/lib/allennlp &&{ sudo curl -O https://s3-us-west-2.amazonaws.com/allennlp/models/elmo-constituency-parser-2018.03.14.tar.gz;cd -;}

3.python 3的安装模式

qporcupine的一个依赖项是Pattern.en库的一个开发分支,它不能通过pypi获得。因此,qporcupine必须直接从其github repo安装。这可以通过命令完成

$ pip install git+git://github.com/clips/pattern.git@53245196139c6ef26dc9c34873dda8a16f236d23#egg=Pattern

在某些情况下,在本地机器上安装模式库和现有的模式安装之间可能存在冲突。如果是,我们建议卸载模式并再次尝试安装qporcupine。您可能还需要--no-cache-dir标志来表示pip install

4.安装qporcupine

pip install qporcupine

5。配置Spacy语言模型

qporcupine默认使用en_core_web_lgspacy模型。要配置此模型,您可能必须通过运行:

python -m spacy download en_core_web_lg

如果要下载并配置另一个型号,请使用

python -m spacy download <SPACY MODEL NAME>

并设置

exportQUILL_SPACY_MODEL=<SPACY_MODEL_NAME>

测试

qporcupine使用nose来运行测试。从qporcupine的根目录运行测试:

$ pip install nose
$ nosetests

版本支持

请注意qporcupine目前不支持python 3.7。我们建议使用Python3.6.x。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JList侦听器找不到符号   多点触摸跨平台java应用程序(Windows、Mac和Linux(Ubuntu)(可能是Android))   在UnitTest中找不到java类加载器资源   java当我尝试在Eclipse中运行我的minecraft mod时,我总是遇到这个错误,这是什么意思?   内部有一个同步块的静态方法,在java中阻止整个类?   不支持java操作:具有BillableStatus的费用在采购中应具有AccountBasedExpenseLineDetail行的CustomerRef   java运行时常量池GC集合   java无法解析配置“:app:\u debugApk”的所有依赖项。找不到名为“default”的配置   在GCP计算引擎中托管Neo4j的java   java如何从BroadcastReceiver更新片段选项卡?   线程“main”组织中的java异常。冬眠注释异常:@org。冬眠注释。表引用未知表:ProductForPractice   在Java/Groovy中嵌入处理   java Android REST教程/示例项目   java我可以在同一测试中在一个模拟器上启动应用程序,在另一个模拟器上启动移动浏览器吗?   java如何更改通知横幅的方向?   安卓 Java帮助实现Firebase授权   if else之后的rs.next()中出现java错误?