38namespace LinguisticProcessing
47 if (
t1->position()!=
t2->position())
return t1->position() <
t2->position();
48 return t1->length() <
t2->length();
71 m_language=manager->getInitializationParameters().media;
90 auto metadata = std::dynamic_pointer_cast<LinguisticMetaData>(analysis.
getData(
"LinguisticMetaData"));
93 LERROR <<
"no LinguisticMetaData ! abort";
97 openLogFile(fout,metadata->getMetaData(
"FileName"));
99 map<Token*,set<LinguisticCode>,
lToken > categoriesMapping;
101 auto tokenList = std::dynamic_pointer_cast<AnalysisGraph>(analysis.
getData(
"PosGraph"));
105 boost::tie(vxItr,vxItrEnd) = vertices(*graph);
106 for (;vxItr!=vxItrEnd;vxItr++)
118 if (data->begin() != data->end())
121 categoriesMapping[token].insert(micro);
127 for (map<
Token*,set<LinguisticCode>,
lToken >::const_iterator ftItr=categoriesMapping.begin();
128 ftItr!=categoriesMapping.end();
132 Token* ft=ftItr->first;
134 std::ostringstream os;
138 std::ostringstream os2;
139 for (std::set<LinguisticCode>::const_iterator catItr=ftItr->second.begin();
140 catItr!=ftItr->second.end();
145 fout << os2.str() << endl;
LinguisticGraph::vertex_iterator LinguisticGraphVertexIt
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, LinguisticVertexProperties > LinguisticGraph
Property to identify the chains in the graph.
Defines a Factory to create Object of type Base.
Holds all data that pass through the ProcessUnits Analysis data are shared pointers,...
std::shared_ptr< AnalysisData > getData(const QString &id)
return AnalysisData by id
LinguisticCode readValue(const LinguisticCode &code) const
read a property in a coded int.
const std::string & getPropertySymbolicValue(const LinguisticCode &value) const
The coded property value can hold several property data.
const PropertyAccessor & getPropertyAccessor() const
give the corresponding PropertyAccessor
std::string & getParamsValueAtKey(const std::string &key)
return a message when a 'param' was not found
A generic process unit to log information in files: contains some common informations such as : outpu...
bool openLogFile(std::ofstream &output, const std::string &sourceFile) const
Holds morphosyntactic informations.
std::set< LinguisticCode > allValues(const Common::PropertyCode::PropertyAccessor &propertyAccessor) const
holds surface data of a token
uint64_t position() const
const LimaString & stringForm() const
virtual LimaStatusCode process(AnalysisContent &analysis) const override
Process on data in analysisContent.
virtual void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
virtual ~DisambiguationLogger()
static const MediaticData & single()
const singleton accessor
static void logElapsedTime(const std::string &mess, const std::string &taskCategory=std::string(""))
log the number of microseconds since last UpdateCurrentTime
static void updateCurrentTime(const std::string &taskCategory=std::string(""))
store current time for new elapsed time computation
logger for checking chinese segmentation
#define DISAMBIGUATIONLOGGER_CLASSID
std::string limastring2utf8stdstring(const Lima::LimaString &phrase, uint32_t size0)
Convert a wide string to a string , in dest up to size bytes.
SimpleFactory< MediaProcessUnit, DisambiguationLogger > disambiguationLoggerFactory(DISAMBIGUATIONLOGGER_CLASSID)
bool operator()(const Token *t1, const Token *t2) const
launch exception related to the configuration file parsing