LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
SpecificEntitiesConstraints.h
Go to the documentation of this file.
1
// Copyright 2002-2013 CEA LIST
2
// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3
//
4
// SPDX-License-Identifier: MIT
5
6
/***************************************************************************
7
* Copyright (C) 2004-2012 by CEA LIST *
8
* *
9
***************************************************************************/
10
#ifndef LIMA_LINGUISTICPROCESSING_SPECIFICENTITIESSPECIFICENTITIESCONSTRAINTS_H
11
#define LIMA_LINGUISTICPROCESSING_SPECIFICENTITIESSPECIFICENTITIESCONSTRAINTS_H
12
13
#include "
SpecificEntitiesExport.h
"
14
#include "
linguisticProcessing/core/Automaton/constraintFunction.h
"
15
#include "
common/MediaticData/EntityType.h
"
16
#include "
common/misc/fsaStringsPool.h
"
17
18
#include <QVariant>
19
20
namespace
Lima
{
21
namespace
LinguisticProcessing {
22
namespace
SpecificEntities {
23
24
// ids for constraints in this file
25
#define isAlphaPossessiveId "isAlphaPossessive"
26
#define isASpecificEntityId "isASpecificEntity"
27
#define CreateSpecificEntityId "CreateSpecificEntity"
28
#define SetEntityFeatureId "SetEntityFeature"
29
#define AddEntityFeatureAsEntityId "AddEntityFeatureAsEntity"
30
#define AddEntityFeatureId "AddEntityFeature"
31
#define AppendEntityFeatureId "AppendEntityFeature"
32
#define ClearEntityFeaturesId "ClearEntityFeatures"
33
#define NormalizeEntityId "NormalizeEntity"
34
38
class
LIMA_SPECIFICENTITIES_EXPORT
isAlphaPossessive
:
public
Automaton::ConstraintFunction
39
{
40
public
:
41
isAlphaPossessive
(MediaId language,
42
const
LimaString
& complement=
LimaString
());
43
~isAlphaPossessive
() {}
44
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
45
const
LinguisticGraphVertex
& v,
46
AnalysisContent
& analysis)
const override
;
47
};
48
49
class
LIMA_SPECIFICENTITIES_EXPORT
isASpecificEntity
:
public
Automaton::ConstraintFunction
50
{
51
public
:
52
isASpecificEntity
(MediaId language,
53
const
LimaString
& complement=
LimaString
());
54
~isASpecificEntity
() {}
55
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
56
const
LinguisticGraphVertex
& v,
57
AnalysisContent
& analysis)
const override
;
58
59
private
:
60
Common::MediaticData::EntityType
m_type;
61
};
62
74
class
LIMA_SPECIFICENTITIES_EXPORT
CreateSpecificEntity
:
public
Automaton::ConstraintFunction
75
{
76
public
:
77
CreateSpecificEntity
(MediaId language,
78
const
LimaString
& complement=
LimaString
());
79
~CreateSpecificEntity
() {}
80
bool
operator()(
Automaton::RecognizerMatch
& match,
81
AnalysisContent
& analysis)
const override
;
82
83
bool
actionNeedsRecognizedExpression
()
override
{
return
true
; }
84
85
private
:
86
bool
shouldRemoveInitial(
87
LinguisticGraphVertex
src,
88
LinguisticGraphVertex
tgt,
89
const
Automaton::RecognizerMatch
& match)
const
;
90
91
bool
shouldRemoveFinal(
92
LinguisticGraphVertex
src,
93
LinguisticGraphVertex
tgt,
94
const
Automaton::RecognizerMatch
& match)
const
;
95
96
void
addMicrosToMorphoSyntacticData(
97
LinguisticAnalysisStructure::MorphoSyntacticData
* newMorphData,
98
const
LinguisticAnalysisStructure::MorphoSyntacticData
* oldMorphData,
99
const
std::set<LinguisticCode>& micros,
100
LinguisticAnalysisStructure::LinguisticElement
& elem)
const
;
101
102
103
MediaId m_language;
104
Common::MediaticData::EntityType
m_type;
105
const
Common::PropertyCode::PropertyAccessor
* m_microAccessor;
106
std::set< LinguisticCode > m_microsToKeep;
107
108
};
109
118
class
LIMA_SPECIFICENTITIES_EXPORT
SetEntityFeature
:
public
Automaton::ConstraintFunction
119
{
120
public
:
121
SetEntityFeature
(MediaId language,
122
const
LimaString
& complement=
LimaString
());
123
~SetEntityFeature
() {}
124
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
125
const
LinguisticGraphVertex
& vertex,
126
AnalysisContent
& analysis)
const override
;
127
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
128
const
LinguisticGraphVertex
& v1,
129
const
LinguisticGraphVertex
& v2,
130
AnalysisContent
& analysis)
const override
;
131
132
private
:
133
std::string m_featureName;
134
Common::MediaticData::EntityType
m_type;
135
QVariant::Type m_featureType;
136
};
137
143
class
LIMA_SPECIFICENTITIES_EXPORT
AddEntityFeatureAsEntity
:
public
Automaton::ConstraintFunction
144
{
145
public
:
146
AddEntityFeatureAsEntity
(MediaId language,
147
const
LimaString
& complement=
LimaString
());
148
~AddEntityFeatureAsEntity
() {}
149
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
150
const
LinguisticGraphVertex
& vertex,
151
AnalysisContent
& analysis)
const override
;
152
153
private
:
154
std::string m_featureName;
155
Common::MediaticData::EntityType
m_type;
156
};
157
166
class
LIMA_SPECIFICENTITIES_EXPORT
AddEntityFeature
:
public
Automaton::ConstraintFunction
167
{
168
public
:
169
AddEntityFeature
(MediaId language,
170
const
LimaString
& complement=
LimaString
());
171
~AddEntityFeature
() {}
172
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
173
const
LinguisticGraphVertex
& vertex,
174
AnalysisContent
& analysis)
const override
;
175
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
176
const
LinguisticGraphVertex
& v1,
177
const
LinguisticGraphVertex
& v2,
178
AnalysisContent
& analysis)
const override
;
179
180
private
:
181
std::string m_featureName;
182
Common::MediaticData::EntityType
m_type;
183
QVariant::Type m_featureType;
184
};
185
196
class
LIMA_SPECIFICENTITIES_EXPORT
AppendEntityFeature
:
public
Automaton::ConstraintFunction
197
{
198
public
:
199
AppendEntityFeature
(MediaId language,
200
const
LimaString
& complement=
LimaString
());
201
~AppendEntityFeature
() {}
202
bool
operator()(
const
LinguisticAnalysisStructure::AnalysisGraph
& graph,
203
const
LinguisticGraphVertex
& vertex,
204
AnalysisContent
& analysis)
const override
;
205
uint64_t minPos(
const
uint64_t pos1,
const
uint64_t pos2 )
const
;
206
uint64_t maxPos(
const
uint64_t pos1,
const
uint64_t pos2 )
const
;
207
208
private
:
209
std::string m_featureName;
210
Common::MediaticData::EntityType
m_type;
211
QVariant::Type m_featureType;
212
};
213
220
class
LIMA_SPECIFICENTITIES_EXPORT
ClearEntityFeatures
:
public
Automaton::ConstraintFunction
221
{
222
public
:
223
ClearEntityFeatures
(MediaId language,
224
const
LimaString
& complement=
LimaString
());
225
~ClearEntityFeatures
() {}
226
bool
operator()(
AnalysisContent
& analysis)
const override
;
227
228
private
:
229
230
};
231
238
class
LIMA_SPECIFICENTITIES_EXPORT
NormalizeEntity
:
public
Automaton::ConstraintFunction
239
{
240
public
:
241
NormalizeEntity
(MediaId language,
242
const
LimaString
& complement=
LimaString
());
243
~NormalizeEntity
() {}
244
bool
operator()(
Automaton::RecognizerMatch
& match,
245
AnalysisContent
& analysis)
const override
;
246
247
bool
actionNeedsRecognizedExpression
()
override
{
return
true
; }
248
249
private
:
250
251
};
252
253
254
}
255
}
256
}
257
258
#endif
EntityType.h
LinguisticGraphVertex
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
Definition
LinguisticGraph.h:100
SpecificEntitiesExport.h
LIMA_SPECIFICENTITIES_EXPORT
#define LIMA_SPECIFICENTITIES_EXPORT
Definition
SpecificEntitiesExport.h:47
Lima::AnalysisContent
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
Definition
AnalysisContent.h:37
Lima::Common::MediaticData::EntityType
Definition
EntityType.h:38
Lima::Common::PropertyCode::PropertyAccessor
Provide function to read write and check a property.
Definition
PropertyAccessor.h:31
Lima::LinguisticProcessing::Automaton::ConstraintFunction
Definition
constraintFunction.h:37
Lima::LinguisticProcessing::Automaton::RecognizerMatch
Definition
recognizerMatch.h:56
Lima::LinguisticProcessing::LinguisticAnalysisStructure::AnalysisGraph
An AnalysisData containing a LinguisticGraph with a language and an id.
Definition
AnalysisGraph.h:47
Lima::LinguisticProcessing::LinguisticAnalysisStructure::MorphoSyntacticData
Holds morphosyntactic informations.
Definition
MorphoSyntacticData.h:60
Lima::LinguisticProcessing::SpecificEntities::AddEntityFeatureAsEntity
This action add a vertex as an embedded entity of the entity (i.e.
Definition
SpecificEntitiesConstraints.h:144
Lima::LinguisticProcessing::SpecificEntities::AddEntityFeatureAsEntity::~AddEntityFeatureAsEntity
~AddEntityFeatureAsEntity()
Definition
SpecificEntitiesConstraints.h:148
Lima::LinguisticProcessing::SpecificEntities::AddEntityFeature
This action set the value of a feature for an entity during the recognition of the entity (i....
Definition
SpecificEntitiesConstraints.h:167
Lima::LinguisticProcessing::SpecificEntities::AddEntityFeature::~AddEntityFeature
~AddEntityFeature()
Definition
SpecificEntitiesConstraints.h:171
Lima::LinguisticProcessing::SpecificEntities::AppendEntityFeature
This action appends a value to the previously set value of a feature for an entity during the recogni...
Definition
SpecificEntitiesConstraints.h:197
Lima::LinguisticProcessing::SpecificEntities::AppendEntityFeature::~AppendEntityFeature
~AppendEntityFeature()
Definition
SpecificEntitiesConstraints.h:201
Lima::LinguisticProcessing::SpecificEntities::ClearEntityFeatures
This action clears features stored for one entity.
Definition
SpecificEntitiesConstraints.h:221
Lima::LinguisticProcessing::SpecificEntities::ClearEntityFeatures::~ClearEntityFeatures
~ClearEntityFeatures()
Definition
SpecificEntitiesConstraints.h:225
Lima::LinguisticProcessing::SpecificEntities::CreateSpecificEntity
This action creates a new vertex for given match containing a specific entity's data.
Definition
SpecificEntitiesConstraints.h:75
Lima::LinguisticProcessing::SpecificEntities::CreateSpecificEntity::actionNeedsRecognizedExpression
bool actionNeedsRecognizedExpression() override
Definition
SpecificEntitiesConstraints.h:83
Lima::LinguisticProcessing::SpecificEntities::CreateSpecificEntity::~CreateSpecificEntity
~CreateSpecificEntity()
Definition
SpecificEntitiesConstraints.h:79
Lima::LinguisticProcessing::SpecificEntities::NormalizeEntity
This action performs the normalization of an entity according to stored features.
Definition
SpecificEntitiesConstraints.h:239
Lima::LinguisticProcessing::SpecificEntities::NormalizeEntity::~NormalizeEntity
~NormalizeEntity()
Definition
SpecificEntitiesConstraints.h:243
Lima::LinguisticProcessing::SpecificEntities::NormalizeEntity::actionNeedsRecognizedExpression
bool actionNeedsRecognizedExpression() override
Definition
SpecificEntitiesConstraints.h:247
Lima::LinguisticProcessing::SpecificEntities::SetEntityFeature
This action set the value of a feature for an entity during the recognition of the entity (i....
Definition
SpecificEntitiesConstraints.h:119
Lima::LinguisticProcessing::SpecificEntities::SetEntityFeature::~SetEntityFeature
~SetEntityFeature()
Definition
SpecificEntitiesConstraints.h:123
Lima::LinguisticProcessing::SpecificEntities::isASpecificEntity
Definition
SpecificEntitiesConstraints.h:50
Lima::LinguisticProcessing::SpecificEntities::isASpecificEntity::~isASpecificEntity
~isASpecificEntity()
Definition
SpecificEntitiesConstraints.h:54
Lima::LinguisticProcessing::SpecificEntities::isAlphaPossessive
Definition
SpecificEntitiesConstraints.h:39
Lima::LinguisticProcessing::SpecificEntities::isAlphaPossessive::~isAlphaPossessive
~isAlphaPossessive()
Definition
SpecificEntitiesConstraints.h:43
constraintFunction.h
fsaStringsPool.h
Lima
NAUTITIA.
Definition
AmosePluginsManager.h:15
Lima::LimaString
QString LimaString
Definition
LimaString.h:33
Lima::LinguisticProcessing::LinguisticAnalysisStructure::LinguisticElement
Definition
MorphoSyntacticData.h:46
lima_linguisticprocessing
src
linguisticProcessing
core
SpecificEntities
SpecificEntitiesConstraints.h
Generated by
1.9.8