我有一个文本文档,我想从中提取名词短语。在第一步中我提取句子,然后我为每个句子做一个词性(pos)标记,然后使用pos我做一个分块。我使用StanfordNLP完成这些任务,这是用于提取句子的代码。
Reader reader = new StringReader(text);
DocumentPreprocessor dp = new DocumentPreprocessor(reader);
我认为DocumentPreprocessor
在引擎盖下做了一个pos来提取句子。但是,我还在另一个位置提取第二阶段的名词短语。也就是说,pos已经完成了两次,因为pos是一项计算成本高昂的任务,我正在寻找一种只做一次的方法。有没有办法只提一次pos来提取句子和名词短语?
答案 0 :(得分:0)
不,DocumentPreprocessor
在加载文本时不会运行标记器。 (注意,它确实能够解析预先标记的文本,即在dog_NN
等文件中解析令牌。)
简而言之:你没有做额外的工作,所以我认为这是个好消息!
答案 1 :(得分:0)
我不确定。尝试使用nltk(python包)
import nltk
text = word_tokenize("And now for something completely different")
nltk.pos_tag(text)
[('And', 'CC'), ('now', 'RB'), ('for', 'IN'), ('something', 'NN'),
('completely', 'RB'), ('different', 'JJ')]