LanguageTool

一套自由及開放原始碼的語法、風格及拼寫檢查軟件

LanguageTool是一套自由及开放源代码语法英语grammar checker、风格及拼写检查软件,其所有功能都可供下载[4]

LanguageTool
LanguageTool WikiCheck
LanguageTool WikiCheck
开发者Daniel Naber and Marcin Miłkowski
首次发布2005年8月15日,​19年前​(2005-08-15
当前版本
  • 6.5(2024年9月27日;稳定版本)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言Java
平台Java SE
文件大小
  • Desktop app: 156 MB[2]
  • n-gram data: 8.34 GB[3]
类型语法英语grammar checker风格拼写检查软件
许可协议GNU LGPL v2.1+
网站languagetool.org 编辑维基数据

LanguageTool采取了核心开源模式英语open-core model,其网站跟其专有的姊妹计划LanguageTool Plus相关连,而这个专有的姊妹计划在英语及德语的错误侦测方面有所改进,以及在长篇文本的修改更容易。

LanguageTool由Daniel Naber在2003年创建,原来用于他的学位论文[5],以Python语言编写。

截至2022年8月16日 (2022-08-16),LanguageTool支援31种语言,均由志愿工作者维护,通常都是那种语言的母语使用者[6]。程式的侦错模式采用模式匹配,利用自建的错误匹配规则来测试例文。

对于未支援的语言,网站亦提供有一个简单的(声称三分钟的)简介,以协助使用者去开发其语言的工具[7]

核心应用程序本身是免费和开源,可以下载以供离线使用。有些语言的规则以“N元语法”数据来建立[8],这些数据很大,需要显著的计算能力和输入速度以逹到额外的侦错能力。因此,LanguageTool 也作为在服务器上处理“N元语法”数据的 Web 服务提供者。LanguageTool Plus 还使用“N元语法”作为其免费增值业务模型的一部分。

LanguageTool的web服务可以通过使用网页浏览器存取网络应用程序的接口,又或通过专用的客户端插件在下列各软件中调用:Microsoft Office[9]LibreOffice[10]Apache OpenOffice[11]Vim[12][13]Emacs[14][15]Firefox浏览器[16]Mozilla Thunderbird[17]Google Chrome[18]。其网页客户端亦可集成到网站上[19]。免费翻译系统OmegaT中内置了一个基于 LanguageTool 的语法、拼写和样式检查插件。

技术

编辑

LanguageTool的技术并不检查句子在文法上是否正确,而只是检查有没有包含常见的错误。因此,事实上我们可以编造出一句文法上错误,但又被LanguageTool接纳的句子。句式侦错是透过比对一系列以XML编写的规则,并配合以Java编写的应用程序来执行[20]。这些基于XML的规则可以透过一个网上表格来填写[21]。较近期的发展依赖于大型的n元语法库,在人工神经网络的帮助下为改善拼写错误提供建议[22]

离线使用

编辑

当独立版的LanguageTool在已安装了Java、用作服务器的电脑上解压缩,可透过下列命令列来运行检查程式的伺服软件[23]

java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --allow-origin "*"

成功执行后,可在浏览器上执行下列命令来测试:

http://localhost:8081/v2/check?language=en-US&text=my+text
{"software":{"name":"LanguageTool","version":"4.6","buildDate":"2019-06-26 07:28","apiVersion":1,"premium":false,"premiumHint":"You might be missing errors only the Premium version can find. Contact us at support<at>languagetoolplus.com.","status":""},"warnings":{"incompleteResults":false},"language":{"name":"English (US)","code":"en-US","detectedLanguage":{"name":"English (US)","code":"en-US","confidence":0.6561856}},"matches":[{"message":"This sentence does not start with an uppercase letter","shortMessage":"","replacements":[{"value":"My"}],"offset":0,"length":2,"context":{"text":"my text","offset":0,"length":2},"sentence":"my text","type":{"typeName":"Other"},"rule":{"id":"UPPERCASE_SENTENCE_START","description":"Checks that a sentence starts with an uppercase letter","issueType":"typographical","category":{"id":"CASING","name":"Capitalization"}},"ignoreForIncompleteSentence":true,"contextForSureMatch":-1}]}
http://localhost:8081/v2/check?language=zh&text=我的文字
{"software":{"name":"LanguageTool","version":"4.6","buildDate":"2019-06-26 07:28","apiVersion":1,"premium":false,"premiumHint":"You might be missing errors only the Premium version can find. Contact us at support<at>languagetoolplus.com.","status":""},"warnings":{"incompleteResults":false},"language":{"name":"Chinese","code":"zh-CN","detectedLanguage":{"name":"Chinese","code":"zh-CN","confidence":0.51967704}},"matches":[]}

利用程式执行后丢出来的JSON资料,使用者可以设计出自订的文法检查插件。

参看

编辑

参考资料

编辑
  1. ^ Release 6.5. 2024年9月27日 [2024年10月22日]. 
  2. ^ Index of /download/. languagetool.org. [2021-11-28]. (原始内容存档于2022-03-30). 
  3. ^ Index of /download/ngram-data/. languagetool.org. [2021-11-28]. (原始内容存档于2019-03-30). 
  4. ^ LanguageTool - Spell and Grammar Checker. LanguageTool. [2021-11-28]. (原始内容存档于2020-10-03). 
  5. ^ Daniel Naber. A Rule-Based Style and Grammar Checker [基于规则的样式和语法检查器] (PDF). Danielnaber.de. [2018-06-30]. (原始内容 (PDF)存档于2004-07-21) (英语). 
  6. ^ Supported languages. 2016-12-28 [2016-12-29]. (原始内容存档于2016-10-18) (英语). 
  7. ^ Development Overview. dev.languagetool.org. [2021-11-28]. (原始内容存档于2022-04-30) (英语). 
  8. ^ N-Gram Data Download Page. languagetool.org. 2019-03-30 [2019-03-30]. (原始内容存档于2019-03-30) (英语). 
  9. ^ LanguageTool Microsoft Office Plug-in. 2019-01-11 [2016-12-29]. (原始内容存档于2020-09-15). 
  10. ^ LanguageTool v4.4. Languagetool.org. [2019-01-11]. (原始内容 (OXT)存档于2019-01-11) (英语). 
  11. ^ LanguageTool v2.5. Languagetool.org. [2018-06-30]. (原始内容 (OXT)存档于2016-04-17) (英语). 
  12. ^ LanguageTool – Grammar checker for English, French, German (etc.) in Vim : vim online. Vim.org. [2014-05-03]. (原始内容存档于2019-03-30). 
  13. ^ vim-grammarous: A powerful grammar checker for Vim using LanguageTool. GitHub. [2014-09-30]. (原始内容存档于2018-06-11). 
  14. ^ Schroeder, Alex. langtool.el. EmacsWiki. 2013-08-24 [2014-05-03]. (原始内容存档于2020-06-10). 
  15. ^ Hayashi, Masahiro. Emacs-langtool. GitHub. [2019-03-18]. (原始内容存档于2019-12-18). 
  16. ^ Grammar and Spell Checker - LanguageTool. addons.mozilla.org. Mozilla基金会. 2018-12-26 [2019-01-05]. (原始内容存档于2019-07-04). 
  17. ^ Grammar Checker. addons.mozilla.org. Mozilla公司. 2013-05-17 [2014-05-03]. (原始内容存档于2018-06-30). 
  18. ^ LanguageTool - Grammar and Style Checker. Google Chrome Webstore. 2017-12-17 [2017-12-29]. (原始内容存档于2018-12-03). 
  19. ^ Integration On Websites – LanguageTool Wiki. Wiki.languagetool.org. 2014-04-15 [2014-05-03]. (原始内容存档于2019-06-24) (英语). 
  20. ^ Linux Administration. Pro Oracle Database 10g RAC on Linux. Berkeley, CA: Apress: 385–400. [2022-02-23]. ISBN 978-1-59059-524-4. 
  21. ^ Programm. Lebensmittelchemie. 2021-03, 75 (S1). ISSN 0937-1478. doi:10.1002/lemi.202155001 (德语). 
  22. ^ SKILL 2018 : Fachwissenschaftlicher Informatik-Kongress, Studierendenkonferenz Informatik, 26.-27. September 2018, Berlin. Gesellschaft für Informatik. [Bonn]. 2018. ISBN 978-3-88579-448-6. OCLC 1066024545 (德语). 
  23. ^ LanguageTool embedded HTTP Server. dev.languagetool.org. [2021-11-28]. (原始内容存档于2022-02-14) (英语).