我在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(可能缺少模型文件)
如果有人能帮助我,那就太好了!谢谢.
1条答案
按热度按时间6uxekuva1#
几乎可以肯定的是,这意味着在运行时指定的路径上不存在标记器模型文件。在运行时,您给予的路径是否:
libs/stanford-corenlp-4.5.4-models.jar
工作来访问POS标记器模型文件?也许你可以先用输出new File("libs/stanford-corenlp-4.5.4-models.jar").canRead()
来检查一下。