3

我已经下载了适用于 Windows 的 TreeTaggerv3.2,并根据 install.txt 对其进行了配置。我正在尝试在带有 koRpus 包的 R 中使用它。我已将 kRp.env 设置为 -

set.kRp.env(TT.cmd="C:\\TreeTagger\\bin\\tag-english.bat", lang="en", 
   preset="en", treetagger="manual", format="file", 
    TT.tknz=TRUE, encoding="UTF-8" )

.我要标记的数据在一个文件中,并试图将其用作 treetag("myfile.txt") 但它抛出了错误-

矩阵错误(unlist(strsplit(tagged.text,“\t”)),ncol = 3,byrow = TRUE,:“数据”必须是向量类型,为“NULL”

另外:警告信息:运行命令'C:\windows\system32\cmd.exe /c C:\TreeTagger\bin\tag-english.bat

C:\Users\vivsingh\Desktop\NLP\tree_tag_ex.txt' 的状态为 255

独立的 TreeTagger 正在由 windows 开发。知道它是如何工作的吗?

4

4 回答 4

2

在使用 windows 7 和 R 3.4.1 (x64)在Bernhard Learns 博客之后尝试对 R 词向量进行词形还原时,我遇到了完全相同的错误和警告。使用textstem包也出现了该问题,但 TreeTagger 在cmd窗口中正常运行。

我混合了我在这篇文章中找到的几个答案,这是我的步骤和代码运行正常:

进入 R win_library ( ~\Documents\R\win-library\3.4\rJava\jri\x64\jri.dll) 并复制jri.dll(感谢 kravi!)以将其替换为父文件夹。

关闭并重新启动 R

library(koRpus)

set.kRp.env(TT.cmd="C:\\TreeTagger\\bin\\tag-english.bat", lang="en", preset="en", treetagger="manual", format="file", TT.tknz=TRUE, encoding="UTF-8")
lemma_tagged <- treetag(lemma_unique$word_clean, treetagger="manual", format="obj", TT.tknz=FALSE , lang="en", TT.options=list(path="c:/TreeTagger", preset="en"))
lemma_tagged_tbl <- tbl_df(lemma_tagged@TT.res)

希望能帮助到你。

于 2018-05-08T15:04:39.523 回答
1

我发布这个答案是为了记录。由于jri.dll64 位处理器和 windows 8.1 的位置指定不正确,我也遇到了同样的问题。如果我们调用 set.kRp.env(TT.cmd="manual", lang="en", TT.options=list(path="/path/to/tree-tagger-windows-x.x/TreeTagger", preset="en"))并遵循以下两个步骤中的任何一个,我们可以解决此错误:

  1. 在安装 R 时,如果我们只安装 64 位版本的 R,并为这些变量指定正确的路径

    LD_LIBRARY_PATH = /path/to/rJava/jri
    JAVA_HOME = /path/to/jdk1.x.x
    java.library.path = /path/to/rJava/jri/jri.dll
    CLASSPATH = /path/to/rJava/jri

  2. 如果我们已经安装了这两个版本,即。您计算机上的 32 位和 64 位 R然后只需jri.dll从. 此外,我们需要设置上述四个变量的路径。/path/to/rJava/jri/x64/jri.dllpath/to/rJava/jri/jri.dll

于 2016-04-09T14:17:49.377 回答
0

我有这个问题(我猜非常相似)并将查询发布到 GitHub。 https://github.com/unDocUMeantIt/koRpus/issues/7 对于这种情况,我目前的工作解决方案比我想象的要容易,只需降级koRpus包。这可能会随着时间而改变,但这个版本应该保持适当。

library("devtools")
install_github("unDocUMeantIt/koRpus", ref="0.06-5")

他们说这个包与Java无关。

于 2017-05-02T16:47:02.447 回答
0

在设置 korpus 环境并从 treetagger 获取结果时,您可能会遇到相同的错误。例如,当您使用:

tagged.text <- treetag(
  "C:/temp/sample_text.txt",
  treetagger = "manual",
  lang = "en",
  TT.options = list(
    path = "c:/Treetagger",
    preset = "en"
  ),
  doc_id = "sample"
)

您会收到类似的错误

错误:Awww,这不应该发生:TreeTagger 没有返回任何有用的数据。

如果本地 TreeTagger 设置不完整或与预期的预设不同,则可能会发生这种情况。
您应该使用选项“debug=TRUE”重新运行您的命令。这将打印所有相关配置。
查找以 'sys.tt.call:' 开头的行,并尝试在命令行终端中执行其后面的完整命令。同时不要关闭此 R 会话,因为“debug=TRUE”将保留可能需要的临时文件。
如果在 'sys.tt.call:' 之后运行命令确实失败,则需要修复 TreeTagger 设置。
如果它没有失败但产生了一个正确结果的表格,请联系作者!

这里需要更改treetagger的值,从

treetagger = "manual"

treetagger = "kRp.env"

但是,在此之前记得将 kRp.env 设置为@Xochitl C. 在他们的回答中建议

set.kRp.env(TT.cmd="C:\\TreeTagger\\bin\\tag-english.bat", lang="en", preset="en", treetagger="manual", format="file", TT.tknz=TRUE, encoding="UTF-8")

一旦你这样做,你会得到想要的结果。

于 2020-07-26T01:22:49.403 回答