语法错误检测与反馈
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_lg
spacy模型。要配置此模型,您可能必须通过运行:
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。