gpt4 book ai didi

java - 使用stanford NLP解析器获取原始文本

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:01 25 4
gpt4 key购买 nike

互联网上的人们大家好,

我们在使用斯坦福 NLP API 时遇到以下问题:我们有一个字符串,我们想将其转换为句子列表。首先,我们使用了 String SentenceString = Sentence.listToString(sentence);,但由于标记化,listToString 不会返回原始文本。现在我们尝试通过以下方式使用listToOriginalTextString:

private static List<String> getSentences(String text) {
Reader reader = new StringReader(text);
DocumentPreprocessor dp = new DocumentPreprocessor(reader);
List<String> sentenceList = new ArrayList<String>();

for (List<HasWord> sentence : dp) {
String sentenceString = Sentence.listToOriginalTextString(sentence);
sentenceList.add(sentenceString.toString());
}

return sentenceList;
}

这不起作用。显然我们必须将属性“invertible”设置为true,但我们不知道如何设置。我们怎样才能做到这一点?

一般来说,如何正确使用listToOriginalTextString?需要做什么准备?

真诚的,卡耶特

最佳答案

如果我理解正确的话,您希望在标记化后获得标记到原始输入文本的映射。你可以这样做;

        //split via PTBTokenizer (PTBLexer)
List<CoreLabel> tokens = PTBTokenizer.coreLabelFactory().getTokenizer(new StringReader(text)).tokenize();

//do the processing using stanford sentence splitter (WordToSentenceProcessor)
WordToSentenceProcessor processor = new WordToSentenceProcessor();
List<List<CoreLabel>> splitSentences = processor.process(tokens);

//for each sentence
for (List<CoreLabel> s : splitSentences) {

//for each word
for (CoreLabel token : s) {
//here you can get the token value and position like;
//token.value(), token.beginPosition(), token.endPosition()
}

}

关于java - 使用stanford NLP解析器获取原始文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38636750/

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