31 std::vector<TriGramPaths>& trigramPathsVector)
35 LDEBUG <<
"====> Call of buildThreeVerticesPaths(" << v <<
"):";
38 std::stack<PhoenixGraphVertex> verticesStack;
44 std::stack<uint64_t> lingInfoStack;
45 graph_traits<PhoenixLingGraph>::adjacency_iterator first_ai, first_a_end;
48 CVertexWordPropertyMap wordMap = get
52 for (boost::tie(first_ai, first_a_end) = adjacent_vertices(v, g); first_ai != first_a_end; first_ai++)
55 verticesStack.push(*first_ai);
58 lingInfoStack.push(wordMap[*first_ai].microCategory());
62 graph_traits<PhoenixLingGraph>::adjacency_iterator second_ai, second_a_end;
64 while (!verticesStack.empty() && !lingInfoStack.empty())
66 for (boost::tie(second_ai, second_a_end) = adjacent_vertices(verticesStack.top(), g); second_ai !=
67 second_a_end; second_ai++)
82 trigramPathsVector.push_back(tempTrigramPaths);
99 std::vector<TriGramPaths>& trigramPathsVector)
103 LDEBUG <<
"====> Call of buildParticularCaseThreeVerticesPaths(" << v <<
"):";
106 std::stack<PhoenixGraphVertex> verticesStack;
112 std::stack<uint64_t> lingInfoStack;
113 graph_traits<PhoenixLingGraph>::adjacency_iterator first_ai, first_a_end;
116 CVertexWordPropertyMap wordMap = get
120 for (boost::tie(first_ai, first_a_end) = adjacent_vertices(v, g); first_ai != first_a_end; first_ai++)
123 verticesStack.push(*first_ai);
126 lingInfoStack.push(wordMap[*first_ai].microCategory());
130 graph_traits<PhoenixLingGraph>::adjacency_iterator second_ai, second_a_end;
132 while (!verticesStack.empty() && !lingInfoStack.empty())
134 for (boost::tie(second_ai, second_a_end) = adjacent_vertices(verticesStack.top(), g); second_ai !=
135 second_a_end; second_ai++)
150 trigramPathsVector.push_back(tempTrigramPaths);
167 const PhoenixLingGraph& g, std::vector<BiGramPaths>& bigramPathsVector)
171 LDEBUG <<
"====> Call of buildTwoVerticesPaths(" << v <<
"):";
175 graph_traits<PhoenixLingGraph>::adjacency_iterator ai, a_end;
178 CVertexWordPropertyMap wordMap = get
182 for (boost::tie(ai, a_end) = adjacent_vertices(v, g); ai != a_end; ai++)
194 bigramPathsVector.push_back(tempBiGramPaths);
void buildTwoVerticesPaths(PhoenixGraphVertex &v, const PhoenixLingGraph &g, std::vector< BiGramPaths > &bigramPathsVector)
Retourne un vecteur de structures de type BiGramPaths (Le troisième champ de la structure est le noeu...
void buildThreeVerticesPaths(PhoenixGraphVertex &v, const PhoenixLingGraph &g, std::vector< TriGramPaths > &trigramPathsVector)
Retourne un vecteur de structures de type TriGramPaths (Le quatrième champ de la structure est le noe...
void buildParticularCaseThreeVerticesPaths(PhoenixGraphVertex &v, const PhoenixLingGraph &g, std::vector< TriGramPaths > &trigramPathsVector)
Retourne un vecteur de structures de type TriGramPaths (Le quatrième champ de la structure est le noe...
Structure contenant les deux catégories grammaticales ainsi que le noeud adjacent au noeud donné
LinguisticGraphVertex m_vertexBiGramPath
uint64_t m_firstBiGramMicroCategory
uint64_t m_secondBiGramMicroCategory
Structure contenant les trois catégories grammaticales ainsi que le noeud adjacent au noeud donné
uint64_t m_secondTriGramMicroCategory
uint64_t m_firstTriGramMicroCategory
LinguisticGraphVertex m_vertexTriGramPath
uint64_t m_thirdTriGramMicroCategory