LanguageTool
開發者 | Daniel Naber and Marcin Miłkowski |
---|---|
首次发布 | 2005年8月15日 |
当前版本 |
|
源代码库 | |
编程语言 | Java |
平台 | Java SE |
文件大小 | |
类型 | 語法、風格及拼寫檢查软件 |
许可协议 | GNU LGPL v2.1+ |
网站 | languagetool |
LanguageTool是一套自由及开放源代码的語法、風格及拼寫檢查软件,其所有功能都可供下載[4]。
LanguageTool採取了核心開源模式,其網站跟其专有的姊妹計劃LanguageTool Plus相關連,而這個專有的姊妹計劃在英語及德語的錯誤偵測方面有所改進,以及在長篇文本的修改更容易。
LanguageTool由Daniel Naber在2003年創建,原來用於他的學位論文[5],以Python語言編寫。
截至2022年8月16日[update],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資料,使用者可以設計出自訂的文法檢查插件。
參看
參考資料
- ^ Release 6.5. 2024年9月27日 [2024年10月22日].
- ^ Index of /download/. languagetool.org. [2021-11-28]. (原始内容存档于2022-03-30).
- ^ Index of /download/ngram-data/. languagetool.org. [2021-11-28]. (原始内容存档于2019-03-30).
- ^ LanguageTool - Spell and Grammar Checker. LanguageTool. [2021-11-28]. (原始内容存档于2020-10-03).
- ^ Daniel Naber. A Rule-Based Style and Grammar Checker [基於規則的樣式和語法檢查器] (PDF). Danielnaber.de. [2018-06-30]. (原始内容 (PDF)存档于2004-07-21) (英语).
- ^ Supported languages. 2016-12-28 [2016-12-29]. (原始内容存档于2016-10-18) (英语).
- ^ Development Overview. dev.languagetool.org. [2021-11-28]. (原始内容存档于2022-04-30) (英语).
- ^ N-Gram Data Download Page. languagetool.org. 2019-03-30 [2019-03-30]. (原始内容存档于2019-03-30) (英语).
- ^ LanguageTool Microsoft Office Plug-in. 2019-01-11 [2016-12-29]. (原始内容存档于2020-09-15).
- ^ LanguageTool v4.4. Languagetool.org. [2019-01-11]. (原始内容 (OXT)存档于2019-01-11) (英语).
- ^ LanguageTool v2.5. Languagetool.org. [2018-06-30]. (原始内容 (OXT)存档于2016-04-17) (英语).
- ^ LanguageTool – Grammar checker for English, French, German (etc.) in Vim : vim online. Vim.org. [2014-05-03]. (原始内容存档于2019-03-30).
- ^ vim-grammarous: A powerful grammar checker for Vim using LanguageTool. GitHub. [2014-09-30]. (原始内容存档于2018-06-11).
- ^ Schroeder, Alex. langtool.el. EmacsWiki. 2013-08-24 [2014-05-03]. (原始内容存档于2020-06-10).
- ^ Hayashi, Masahiro. Emacs-langtool. GitHub. [2019-03-18]. (原始内容存档于2019-12-18).
- ^ Grammar and Spell Checker - LanguageTool. addons.mozilla.org. Mozilla基金會. 2018-12-26 [2019-01-05]. (原始内容存档于2019-07-04).
- ^ Grammar Checker. addons.mozilla.org. Mozilla公司. 2013-05-17 [2014-05-03]. (原始内容存档于2018-06-30).
- ^ LanguageTool - Grammar and Style Checker. Google Chrome Webstore. 2017-12-17 [2017-12-29]. (原始内容存档于2018-12-03).
- ^ Integration On Websites – LanguageTool Wiki. Wiki.languagetool.org. 2014-04-15 [2014-05-03]. (原始内容存档于2019-06-24) (英语).
- ^ Linux Administration. Pro Oracle Database 10g RAC on Linux. Berkeley, CA: Apress: 385–400. [2022-02-23]. ISBN 978-1-59059-524-4.
- ^ Programm. Lebensmittelchemie. 2021-03, 75 (S1). ISSN 0937-1478. doi:10.1002/lemi.202155001 (德语).
- ^ 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 (德语).
- ^ LanguageTool embedded HTTP Server. dev.languagetool.org. [2021-11-28]. (原始内容存档于2022-02-14) (英语).