35namespace LinguisticProcessing
37namespace LinguisticAnalysisStructure
68 catch (
NoSuchParam& ) {m_boundaries=
"SentenceBoundaries";}
78 auto metadata = std::dynamic_pointer_cast<LinguisticMetaData>(analysis.
getData(
"LinguisticMetaData"));
82 LERROR <<
"no LinguisticMetaData ! abort";
85 auto graph=std::dynamic_pointer_cast<AnalysisGraph>(analysis.
getData(m_graphId));
87 auto data=analysis.
getData(m_boundaries);
90 LERROR <<
"no SentenceBoundaries data";
93 auto sb = std::dynamic_pointer_cast<SegmentationData>(data);
95 std::string docId(
"");
97 docId=metadata->getMetaData(
"DocId");
103 uint64_t offsetIndexingNode(0);
105 offsetIndexingNode=atoi(metadata->getMetaData(
"StartOffsetIndexingNode").c_str());
112 ostream& out=dstream->out();
114 if (!docId.empty()) {
115 out <<
"<sentence_boundaries id=\""<< docId
116 <<
"\" offsetNode=\"" << offsetIndexingNode
120 out <<
"<sentence_boundaries>" << endl;
123 for (vector<Segment>::const_iterator it=sb->getSegments().begin(),it_end=sb->getSegments().end();
129 if (end == graph->lastVertex()) {
135 out <<
"<sentence_boundary pos=\"" << t->
position()
136 <<
"\" length=\"" << t->
length()
140 out <<
"</sentence_boundaries>" << endl;
#define SENTENCEBOUNDARIESXMLLOGGER_CLASSID
LinguisticGraph::vertex_descriptor LinguisticGraphVertex
Defines a Factory to create Object of type Base.
logger for the sentence boundaries (XML format)
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
std::string & getParamsValueAtKey(const std::string &key)
return a message when a 'param' was not found
Manage initialization of InitializableObjects using configuration module and parameters.
std::shared_ptr< DumperStream > initialize(AnalysisContent &analysis) const
virtual void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager) override
initialize with parameters from configuration file.
SentenceBoundariesXmlLogger()
void init(Common::XMLConfigurationFiles::GroupConfigurationStructure &unitConfiguration, Manager *manager)
initialize with parameters from configuration file.
virtual ~SentenceBoundariesXmlLogger()
LimaStatusCode process(AnalysisContent &analysis) const
Process on data in analysisContent.
holds surface data of a token
uint64_t position() const
const LimaString & stringForm() const
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
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, SentenceBoundariesXmlLogger > sentenceBoundariesXmlLoggerFactory(SENTENCEBOUNDARIESXMLLOGGER_CLASSID)
launch exception related to the configuration file parsing