public abstract class SPOAnalyzer<T extends ILink> extends java.lang.Object implements ISPOAnalyzer
Modifier and Type | Field and Description |
---|---|
private java.util.Set<Token> |
visitedNotes
To avoid visiting cycling
|
Constructor and Description |
---|
SPOAnalyzer()
Constructor
|
Modifier and Type | Method and Description |
---|---|
private boolean |
accept(T edge)
Accept edge relevant to SPO
|
Graph<GraphNode,GraphEdge> |
analyze(Document document,
TypedDependencyProvider provider,
TypedDependencyMode mode) |
private void |
analyzePredicate(int sentenceIdx,
Token predicate,
java.util.Collection<T> edges,
java.util.List<Link> links)
Analyze predicate
|
private void |
analyzeTerm(int sentenceIdx,
PT pT,
java.util.Collection<T> edges,
java.util.List<Link> links) |
private java.util.Collection<T> |
filter(java.util.Collection<T> edges0)
Filter out irrelevant edges
|
protected java.util.List<T> |
findAllOf(java.util.Collection<T> edges0,
java.lang.String[] acceptableIds,
Token governor)
Find all edges with acceptable id and specific governor
|
protected T |
findOneOf(java.util.Collection<T> edges0,
java.lang.String[] acceptableIds,
Token governor)
Find first edge with acceptable id and specific governor
|
protected abstract java.util.Collection<T> |
getEdges(Document document,
int sentenceIdx,
TypedDependencyProvider provider,
TypedDependencyMode mode) |
protected abstract java.util.Collection<Token> |
getRoots(Document document,
int sentenceIdx,
TypedDependencyProvider provider,
TypedDependencyMode mode) |
private static java.util.Map<Instance,Coreferences.Mention> |
makeMap(Document document)
Make map
|
private PO |
makePO(int sentenceIdx,
java.util.Collection<T> edges,
Token predicate)
Make predicate-object
|
private java.util.List<PP> |
makePPs(int sentenceIdx,
java.util.Collection<T> edges,
Token predicate)
Make predicate-predicate (ex:clausal complement)
|
private PS |
makePS(int sentenceIdx,
java.util.Collection<T> edges,
Token predicate)
Make predicate-subject
|
private java.util.List<TP> |
makeTPs(int sentenceIdx,
java.util.Collection<T> edges,
Token... terms)
Make term predicate (ex:relative clause)
|
private final java.util.Set<Token> visitedNotes
public Graph<GraphNode,GraphEdge> analyze(Document document, TypedDependencyProvider provider, TypedDependencyMode mode)
analyze
in interface ISPOAnalyzer
protected abstract java.util.Collection<Token> getRoots(Document document, int sentenceIdx, TypedDependencyProvider provider, TypedDependencyMode mode)
protected abstract java.util.Collection<T> getEdges(Document document, int sentenceIdx, TypedDependencyProvider provider, TypedDependencyMode mode)
private void analyzePredicate(int sentenceIdx, Token predicate, java.util.Collection<T> edges, java.util.List<Link> links)
sentenceIdx
- sentence indexpredicate
- predicateedges
- source edgeslinks
- result linksprivate void analyzeTerm(int sentenceIdx, PT pT, java.util.Collection<T> edges, java.util.List<Link> links)
sentenceIdx
- sentence indexpT
- ptedges
- source edgeslinks
- result linksprivate PS makePS(int sentenceIdx, java.util.Collection<T> edges, Token predicate)
sentenceIdx
- sentence indexedges
- source edgespredicate
- predicateprivate PO makePO(int sentenceIdx, java.util.Collection<T> edges, Token predicate)
sentenceIdx
- sentence indexedges
- source edgespredicate
- predicateprivate java.util.List<PP> makePPs(int sentenceIdx, java.util.Collection<T> edges, Token predicate)
sentenceIdx
- sentence indexedges
- source edgespredicate
- predicateprivate java.util.List<TP> makeTPs(int sentenceIdx, java.util.Collection<T> edges, Token... terms)
sentenceIdx
- sentence indexedges
- source edgesterms
- termsprotected T findOneOf(java.util.Collection<T> edges0, java.lang.String[] acceptableIds, Token governor)
edges0
- edgesacceptableIds
- acceptable idgovernor
- governorprotected java.util.List<T> findAllOf(java.util.Collection<T> edges0, java.lang.String[] acceptableIds, Token governor)
edges0
- edgesacceptableIds
- acceptable idgovernor
- governorprivate static java.util.Map<Instance,Coreferences.Mention> makeMap(Document document)
document
- documentprivate java.util.Collection<T> filter(java.util.Collection<T> edges0)
edges0
- source edgesprivate boolean accept(T edge)
edge
- tested edge