Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp')
-rw-r--r--scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp b/scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp
index e5aedbb16..e048f2c55 100644
--- a/scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp
+++ b/scripts/training/phrase-extract/extract-ghkm/Subgraph.cpp
@@ -101,5 +101,21 @@ int Subgraph::CalcDepth(const Node *n) const
return maxChildDepth + 1;
}
+float Subgraph::CalcPcfgScore() const
+{
+ if (m_root->GetType() != TREE || m_leaves.empty()) {
+ return 0.0f;
+ }
+ float score = m_root->GetPcfgScore();
+ for (std::set<const Node *>::const_iterator p = m_leaves.begin();
+ p != m_leaves.end(); ++p) {
+ const Node *leaf = *p;
+ if (leaf->GetType() == TREE) {
+ score -= leaf->GetPcfgScore();
+ }
+ }
+ return score;
+}
+
} // namespace Moses
} // namespace GHKM