17#ifndef LIMA_COREFSOLVING_COREFSOLVER_H
18#define LIMA_COREFSOLVING_COREFSOLVER_H
34namespace AnnotationGraphs {
38namespace LinguisticProcessing
40namespace SyntacticAnalysis {
43namespace LinguisticAnalysisStructure {
48class CoreferentAnnotation;
50#define COREFSOLVINGPU_CLASSID "CoreferencesSolving"
52typedef std::set<CoreferentAnnotation*>
Vertices;
53typedef std::map<CoreferentAnnotation*,std::set<CoreferentAnnotation*> >
VerticesRelation;
89 Manager* manager)
override;
94 MediaId language()
const;
95 uint64_t scope()
const;
96 uint64_t threshold()
const;
97 bool resolveDefinites()
const;
98 bool resolveN3PPronouns()
const;
99 std::set< LinguisticCode > inNpCategs()
const;
100 std::set< LinguisticCode > definiteCategs()
const;
104 std::map<std::string,LinguisticCode> tagLocalDef()
const;
105 std::map< std::string,std::deque<std::string> > relLocalDef()
const;
106 std::set<LinguisticCode> reflexiveReciprocal()
const;
107 std::set<LinguisticCode> undefPronouns()
const;
108 std::set<LinguisticCode> possPronouns()
const;
114 const std::map<std::string,float> salienceWeights()
const;
115 const std::map<std::string, int> slotValues()
const;
119 void initSyntacticFilter(
124 std::deque<CoreferentAnnotation::Vertices>* npCandidates,
127 void bindingLexicalAnaphora(
132 std::deque<CoreferentAnnotation::Vertices>* npCandidates,
135 void bindingPotentialCandidates(
140 std::deque<CoreferentAnnotation::Vertices>* npCandidates,
148 std::deque<CoreferentAnnotation::Vertices>* npCandidates,
151 void applyEquivalentClassFilter(
153 std::deque<CoreferentAnnotation::Vertices>* npCandidates)
const;
155 void adjustSaliences(
157 std::deque<Vertices>* npCandidates,
163 void applyThresholdFilter(
166 void applyMorphoSyntacticFilter(
#define LIMA_COREFSOLVING_EXPORT
A graph structure for linguistic analysis.
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, LinguisticVertexProperties > LinguisticGraph
Property to identify the chains in the graph.
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
Holds an annotation graph and gives an API to manipulate it.
Provide function to read write and check a property.
A process unit implementing the Lappin & Leass algorithm for coreference solving The process unit con...
std::set< LinguisticCode > m_inNpCategs
const Common::PropertyCode::PropertyAccessor * m_numberAccessor
const Common::PropertyCode::PropertyAccessor * m_macroAccessor
std::set< LinguisticCode > reflexiveReciprocal() const
bool resolveN3PPronouns() const
std::set< LinguisticCode > m_possPronouns
std::set< LinguisticCode > inNpCategs() const
uint64_t threshold() const
LinguisticCode L_VERB() const
const Common::PropertyCode::PropertyAccessor * m_personAccessor
std::map< std::string, LinguisticCode > tagLocalDef() const
const std::map< std::string, int > slotValues() const
const std::map< std::string, float > salienceWeights() const
std::set< LinguisticCode > m_reflexiveReciprocal
const Common::PropertyCode::PropertyAccessor * numberAccessor() const
std::map< std::string, float > m_salienceWeights
std::map< std::string, LinguisticCode > m_tagLocalDef
std::map< std::string, std::deque< std::string > > m_relLocalDef
LinguisticCode L_PREP() const
std::set< LinguisticCode > undefPronouns() const
const Common::PropertyCode::PropertyAccessor * m_genderAccessor
LinguisticCode m_conjCoord
const Common::PropertyCode::PropertyAccessor * m_microAccessor
std::set< LinguisticCode > definiteCategs() const
bool m_resolveN3PPronouns
std::set< LinguisticCode > possPronouns() const
const Common::PropertyCode::PropertyAccessor * macroAccessor() const
std::map< std::string, std::deque< std::string > > relLocalDef() const
std::set< LinguisticCode > m_definiteCategs
bool resolveDefinites() const
std::map< std::string, int > m_slotValues
std::set< LinguisticCode > m_undefPronouns
const Common::PropertyCode::PropertyAccessor * genderAccessor() const
LinguisticCode L_PRON() const
const Common::PropertyCode::PropertyAccessor * microAccessor() const
const Common::PropertyCode::PropertyAccessor * personAccessor() const
std::map< CoreferentAnnotation *, std::set< CoreferentAnnotation * > > VerticesRelation
std::map< CoreferentAnnotation *, std::map< CoreferentAnnotation *, float > > WeightedVerticesRelation
std::set< CoreferentAnnotation * > Vertices
An AnalysisData containing a LinguisticGraph with a language and an id.
This class points to a graph, its dependency graph and the structure that holds the maping between th...
std::set< CoreferentAnnotation * > Vertices
std::map< CoreferentAnnotation *, std::set< CoreferentAnnotation * > > VerticesRelation
std::map< CoreferentAnnotation *, std::map< CoreferentAnnotation *, float > > WeightedVerticesRelation