gpt4 book ai didi

java - 带有 Stanford coreNLP 的中文句子分割器

转载 作者:行者123 更新时间:2023-11-30 08:11:46 25 4
gpt4 key购买 nike

我正在使用 Stanford coreNLP 系统,命令如下:

java -cp stanford-corenlp-3.5.2.jar:stanford-chinese-corenlp-2015-04-20-models.jar -Xmx3g edu.stanford.nlp.pipeline.StanfordCoreNLP -props StanfordCoreNLP-chinese.properties -annotators segment,ssplit -file input.txt

这对小中文文本非常有效。但是,我需要训练一个 MT 系统,它只需要我对输入进行分段。所以我只需要使用 -annotators segment,但是使用这个参数系统输出一个空文件。我也可以使用 ssplit 注释器运行该工具,但我不想这样做,因为我的输入是一个平行语料库,其中已经包含一个句子,而 ssplit 可能不会拆分句子完美并在并行数据中产生问题。

有没有办法告诉系统只做分割,或者告诉它输入已经包含一行一行的句子?

最佳答案

改为使用 Stanford Segmenter:

$ wget http://nlp.stanford.edu/software/stanford-segmenter-2015-04-20.zip
$ unzip stanford-segmenter-2015-04-20.zip
$ echo "应有尽有的丰富选择定将为您的旅程增添无数的赏心乐事" > input.txt
$ bash stanford-segmenter-2015-04-20/segment.sh ctb input.txt UTF-8 0 > output.txt
$ cat output.txt
应有尽有 的 丰富 选择 定 将 为 您 的 旅程 增添 无数 的 赏心 乐事

除了 Stanford Segmenter,还有很多其他的分段器可能更合适,参见 Is there any good open-source or freely available Chinese segmentation algorithm available?


要继续使用 Stanford NLP 工具进行词性标注:

$ wget http://nlp.stanford.edu/software/stanford-postagger-full-2015-04-20.zip
$ unzip stanford-postagger-full-2015-04-20.zip
$ cd stanford-postagger-full-2015-01-30/
$ echo "应有尽有 的 丰富 选择 定 将 为 您 的 旅程 增添 无数 的 赏心 乐事" > input.txt
$ bash stanford-postagger.sh models/chinese-distsim.tagger input.txt > output.txt
$ cat output.txt
应有尽有#VV 的#DEC 丰富#JJ 选择#NN 定#VV 将#AD 为#P 您#PN 的#DEG 旅程#NN 增添#VV 无数#CD 的#DEG 赏心#NN 乐事#NN

关于java - 带有 Stanford coreNLP 的中文句子分割器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30838070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com