From 6f81f990dae050f7258cb2f560dad4fb46cd6c26 Mon Sep 17 00:00:00 2001 From: "philblunsom@gmail.com" Date: Thu, 15 Jul 2010 16:05:34 +0000 Subject: Fixed rather large bug in the table handling for the hierarchical models. git-svn-id: https://ws10smt.googlecode.com/svn/trunk@265 ec762483-ff6d-05da-a07a-a48fb63a330f --- gi/pyp-topics/src/pyp-topics.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gi/pyp-topics/src/pyp-topics.cc') diff --git a/gi/pyp-topics/src/pyp-topics.cc b/gi/pyp-topics/src/pyp-topics.cc index 2cc1fc79..b154f922 100644 --- a/gi/pyp-topics/src/pyp-topics.cc +++ b/gi/pyp-topics/src/pyp-topics.cc @@ -259,8 +259,8 @@ PYPTopics::F PYPTopics::hresample_topics() void PYPTopics::decrement(const Term& term, int topic, int level) { //std::cerr << "PYPTopics::decrement(" << term << "," << topic << "," << level << ")" << std::endl; - m_word_pyps.at(level).at(topic).decrement(term); - if (m_backoff.get()) { + int table_delta = m_word_pyps.at(level).at(topic).decrement(term); + if (table_delta && m_backoff.get()) { Term backoff_term = (*m_backoff)[term]; if (!m_backoff->is_null(backoff_term)) decrement(backoff_term, topic, level+1); @@ -269,9 +269,9 @@ void PYPTopics::decrement(const Term& term, int topic, int level) { void PYPTopics::increment(const Term& term, int topic, int level) { //std::cerr << "PYPTopics::increment(" << term << "," << topic << "," << level << ")" << std::endl; - m_word_pyps.at(level).at(topic).increment(term, word_pyps_p0(term, topic, level)); + int table_delta = m_word_pyps.at(level).at(topic).increment(term, word_pyps_p0(term, topic, level)); - if (m_backoff.get()) { + if (table_delta && m_backoff.get()) { Term backoff_term = (*m_backoff)[term]; if (!m_backoff->is_null(backoff_term)) increment(backoff_term, topic, level+1); -- cgit v1.2.3