chaquopy 中的语言检查工具

Posted

技术标签:

【中文标题】chaquopy 中的语言检查工具【英文标题】:language check tool in chaquopy 【发布时间】:2021-07-28 11:49:32 【问题描述】:

我正在使用此文件检查 android 应用程序中文档的语法,但它在语言工具中显示错误消息。我正在使用tool = language_check.LanguageTool('en-US') 工具来检查语法。下面给出的错误消息图像

import language_check
from nltk.tokenize import sent_tokenize
matches=list()
def  main(location):
   # matches.clear()
    mistake=0
    path=location
    uploaded_sentence=open(path).read()
    #uploaded_sentence=path
    tool = language_check.LanguageTool('en-US')
    sent_text = sent_tokenize(uploaded_sentence)
    for sent in sent_text:
        #first letter of the sentence is capital
        doc=sent.capitalize()

        matches=(tool.check(doc))
#        print(len(matches))
        print(sent ,"\n"," mistakes that are in this sentence = ",len(matches),'\n')
        print("type of the mistake that is done","\n ",matches,'\n')

# one of the method for the count grammar mistakes here
# if the mistakes are more than one or one it add only 1 
#        if len(matches)!=0:
#            mistake=mistake+1                      

# the other method for the grammar mistake count
# here if the mistakes are more than one or one it will add the number of the mistakes         
        if (len(matches))>0:
            mistake=mistake+(len(matches))        
    
    print("total number of the mistakes that are done =",mistake)
    return(mistake)
 

【问题讨论】:

【参考方案1】:

来自https://github.com/chaquo/chaquopy/issues/397:

language_check 通过在单独的 Java 进程中运行 LanguageTool JAR 并通过管道与其通信来工作。不幸的是,Android 设备不附带 Java 可执行文件或任何其他执行 JAR 的方式,因此如果不进行重大更改,language_check 无法在 Android 上运行。

另一种解决方案可能是将 LanguageTool JAR 下载到项目的 libs 目录中,这样它将与您的其余 Java 代码一起编译到您的应用程序中。然后您可以直接从 Java 调用它,或者使用 Chaquopy Python API 从 Python 调用它。

有关详细信息,请参阅 language_check source code 和 LanguageTool documentation。

【讨论】:

以上是关于chaquopy 中的语言检查工具的主要内容,如果未能解决你的问题,请参考以下文章

生成漂亮报告的Go语言代码检查工具

Android 中的 Spacy 版本错误使用 Chaquopy 和 nlp = spacy.load("en_core_web_sm") 错误

Android Studio 无法使用 chaquopy python 打开 COM 端口

在 Android Studio 中使用 Chaquopy 将值插入到 python 文件中

vscodec语言怎么不能在外部运行直接退出

python语法检查工具