0
我注意到corenlp.run可以識別「明天上午10點」並將其解析爲時間。但培訓教程和我見過的文檔只允許每行一個字。我如何理解一個短語。 在相關說明中,是否有標記複合實體的方法?斯坦福NER短語或複合實體
我注意到corenlp.run可以識別「明天上午10點」並將其解析爲時間。但培訓教程和我見過的文檔只允許每行一個字。我如何理解一個短語。 在相關說明中,是否有標記複合實體的方法?斯坦福NER短語或複合實體
類似這樣的時間相關短語被SUTime庫識別。更多細節可以在這裏找到:https://nlp.stanford.edu/software/sutime.html
有一個功能可以在ner
標記完成後提取實體。
例如,如果您已經標記了一個句子:Joe Smith went to Hawaii .
爲PERSON PERSON O O LOCATION O
您可以提取出Joe Smith
和Hawaii
。這需要entitymentions
註釋器。
下面是一些示例代碼:java.io.IOException異常:無法打開「EDU /斯坦福/ NLP /型號
package edu.stanford.nlp.examples;
import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.util.*;
import java.util.*;
public class EntityMentionsExample {
public static void main(String[] args) {
Annotation document =
new Annotation("John Smith visited Los Angeles on Tuesday.");
Properties props = new Properties();
//props.setProperty("regexner.mapping", "small-names.rules");
props.setProperty("annotators", "tokenize,ssplit,pos,lemma,ner,entitymentions");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
pipeline.annotate(document);
for (CoreMap entityMention : document.get(CoreAnnotations.MentionsAnnotation.class)) {
System.out.println(entityMention);
//System.out.println(entityMention.get(CoreAnnotations.TextAnnotation.class));
System.out.println(entityMention.get(CoreAnnotations.EntityTypeAnnotation.class));
}
}
}
我從GitHub的源代碼運行這一點,並運行到'所致/pos-tagger/english-left3words/english-left3words-distsim.tagger「作爲類路徑,文件名或URL' – user1170883
您需要在CLASSPATH中使用lib和liblocal中的模型jar和所有jar ...您可以下載來自主GitHub頁面的最新模型jar以及lib和liblocal文件夾也可以在GitHub中訪問。 – StanfordNLPHelp