http://layesuen.spaces.live.com/blog/cns!BCB0A55D794BEAF6!1034.entry?wa=wsignin1.0&sa=523996814
use Inline (
Java => <<'END_JAVA',
import edu.stanford.nlp.parser.lexparser.LexicalizedParser;
class Parser {
LexicalizedParser lexParser;
public Parser(String model) {
lexParser = new LexicalizedParser(model);
}
public String parse(String sentence) {
lexParser.parse(sentence);
return lexParser.getBestParse().toString();
}
}
END_JAVA
CLASSPATH => 'stanford-parser.jar',
EXTRA_JAVA_ARGS => '-mx800m'
);
my $p = Parser->new("englishPCFG.ser.gz");
print $p->parse($_)."\n" while (<>);
感觉实在是很 Cool,主要使用了 Inline-Java 这个 bundle。
运行时需要把 stanford-parser.jar, Parser 数据文件 englishPCFG.ser.gz 和这个 perl 程序放在同一目录下,当然必须保证 Inline-Java 能找到你的 JDK,可以通过 J2SDK 这个 Option 来指定。
2010年12月3日 星期五
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言