68 LINFO <<
"SyntacticAnalyzerSimplify::process";
70 auto anagraph = std::dynamic_pointer_cast<AnalysisGraph>(analysis.
getData(
"PosGraph"));
73 LERROR <<
"no AnalysisGraph ! abort";
76 auto sb = std::dynamic_pointer_cast<SegmentationData>(analysis.
getData(
"SentenceBoundaries"));
79 LERROR <<
"no sentence bounds ! abort";
83 if (analysis.
getData(
"SyntacticData")==0)
85 auto syntacticData = std::make_shared<SyntacticData>(anagraph.get(),
nullptr);
86 syntacticData->setupDependencyGraph();
87 analysis.
setData(
"SyntacticData", syntacticData);
90 auto simplificationData = std::dynamic_pointer_cast<SimplificationData>(analysis.
getData(
"SimplificationData"));
91 if (simplificationData==0)
93 simplificationData = std::make_shared<SimplificationData>(anagraph.get());
94 analysis.
setData(
"SimplificationData", simplificationData);
99 std::vector<Segment>::const_iterator boundItr, boundItr_end;
100 boundItr = (sb->getSegments()).begin(); boundItr_end = (sb->getSegments()).end();
101 for (; boundItr != boundItr_end; boundItr++)
105 LDEBUG <<
"simplify sentence from vertex " << beginSentence
106 <<
" to vertex " << endSentence;
110 LDEBUG <<
"Applying automaton on sentence from " << beginSentence <<
" to " << endSentence;
111 simplificationData->simplificationDone(
false);
112 simplificationData->sentence(beginSentence);
113 std::vector<Automaton::RecognizerMatch> result;
124 }
while (simplificationData->simplificationDone());
128 LINFO <<
"end syntactic analysis - subsentences simplification";
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
void setData(const QString &id, std::shared_ptr< AnalysisData > data)
set an analysisData with the given id.