android 加载标记器时出错(可能缺少模型文件)

q8l4jmvw  于 2023-09-28  发布在  Android
关注(0)|答案(1)|浏览(151)

我在Android Studio中创建了一个Android应用程序,我使用了斯坦福大学Core NLP和Jetpack Compose。我在这个平台上找了几个小时,想看看是否有人和我一样有类似的问题,但没有找到。我使用斯坦福大学4.5.4.jar、Stanford Models 4.5.4.jar和Stanford Models Spanish 4.5.4.jar。我将它们存储在视图项目的app文件夹中一个名为libs的源目录中。

fun analyzeAndDisplayTree(sentence: String): String {
    try {
        // Configurar el pipeline
        val props = Properties()
        props.setProperty("annotators", "tokenize, ssplit, pos, parse")
        props.setProperty("tokenize.language", "es")
        props.setProperty("pos.model", "libs/stanford-corenlp-4.5.4-models.jar")
        props.setProperty("parse.model", "libs/stanford-corenlp-4.5.4-models-spanish.jar")
        val pipeline = StanfordCoreNLP(props)

        // Procesar la oración y mostrar el resultado
        val document = pipeline.process(sentence)
        val parsedSentence = document.get(CoreAnnotations.SentencesAnnotation::class.java)[0]
        val tree: Tree = parsedSentence.get(TreeCoreAnnotations.TreeAnnotation::class.java)

        return "Sentence: $parsedSentence\nParse Tree: ${tree.pennString()}"
    } catch (e: Exception) {
        return "Error: ${e.message}"
    }
}

这是我使用Jetpack Compose显示的地方

val analysedSentence = Syntax().analyzeAndDisplayTree(text!!)
Text(text = analysedSentence, modifier = Modifier.size(50.dp).weight(0.25f))

然而,尽管我没有任何内部错误,当我运行应用程序并按下触发斯坦福大学操作的按钮时,我得到了这个errorr -> Error while loading a tagger(可能缺少模型文件)
如果有人能帮助我,那就太好了!谢谢.

6uxekuva

6uxekuva1#

几乎可以肯定的是,这意味着在运行时指定的路径上不存在标记器模型文件。在运行时,您给予的路径是否:libs/stanford-corenlp-4.5.4-models.jar工作来访问POS标记器模型文件?也许你可以先用输出new File("libs/stanford-corenlp-4.5.4-models.jar").canRead()来检查一下。

相关问题