我如何在Windows上运行rouge Summarization?

时间:2013-10-22 12:12:40

标签: windows perl

我安装了Strawberry Perl来运行Windows中的rouge程序。但是,当我想运行我的程序时,我收到一条错误消息,您可以在图像上看到:

The system can't find the path  specified.

我的代码正在尝试运行" ROUGE-1.5.5.pl"但我认为系统无法找到此文件。所以我想也许我没有正确地初始化路径?

我将代码更改为:

  #!/usr/bin/perl
  use Cwd;
  $curdir=getcwd;
  $ROUGE="..\ROUGE-1.5.5.pl";
  chdir("sample-test");
  $cmd="$ROUGE -e ..\data -c 95 -2 -1 -U -r 1000 -n 4 -w 1.2 -a DUC2002-ROUGE.in.26.spl.xml > ..\sample-output\output.out";
  print $cmd,"\n";
  system($cmd);
  chdir($curdir);

我收到此错误: 在C:\ runROUGE-test.pl第7行的\ o {}上缺少大括号,靠近" $ ROUGE"由于编译错误,C:\ runROUGE-test.pl的执行中止。

http://i.stack.imgur.com/BP9Ef.png

2 个答案:

答案 0 :(得分:2)

根据屏幕截图,您试图在没有虚假反斜杠的情况下运行\ROUGE-1.5.5.pl,如果您的..\ROUGE-1.5.5.pl上没有父目录,则运行PATH

同样,您可能希望输出sample-output\output.out,甚至只需output.out,而不是\sample-output\output.out,除非您为此专门设置文件夹C:\sample-output

反斜杠很重要;它是根目录的绝对路径(在Windows上为当前驱动器)。 ..\是父文件夹的相对路径。

为什么要编写Perl脚本来运行Perl脚本?一个简单的批处理文件,或者直接在DOS提示符下复制/粘贴命令似乎都是一个不那么迂回的解决方案。

答案 1 :(得分:0)

问题是当您将程序的内容输出到文件夹sample-output中的文件output.out时,sample-output文件夹不存在。

命令提示符不会为您创建文件夹,只会创建文件。尝试创建一个名为“sample-output”的目录(在你的驱动器根目录中),这样路径就可以解析为C:\ sample-output,然后重新运行。

如果出现同样的问题,请尝试使用绝对路径,例如C:\ sample-output \ output.out。