#include <PhraseDictionaryMultiModel.h>
Public Member Functions | |
PhraseDictionaryMultiModel (const std::string &line) | |
PhraseDictionaryMultiModel (int type, const std::string &line) | |
~PhraseDictionaryMultiModel () | |
void | Load (AllOptions::ptr const &opts) |
override to load model files | |
virtual void | CollectSufficientStatistics (const Phrase &src, std::map< std::string, multiModelStats * > *allStats) const |
virtual TargetPhraseCollection::shared_ptr | CreateTargetPhraseCollectionLinearInterpolation (const Phrase &src, std::map< std::string, multiModelStats * > *allStats, std::vector< std::vector< float > > &multimodelweights) const |
std::vector< std::vector< float > > | getWeights (size_t numWeights, bool normalize) const |
std::vector< float > | normalizeWeights (std::vector< float > &weights) const |
void | CacheForCleanup (TargetPhraseCollection::shared_ptr tpc) |
void | CleanUpAfterSentenceProcessing (const InputType &source) |
virtual void | CleanUpComponentModels (const InputType &source) |
virtual TargetPhraseCollection::shared_ptr | GetTargetPhraseCollectionLEGACY (const Phrase &src) const |
find list of translations that can translates src. Only for phrase input | |
virtual void | InitializeForInput (ttasksptr const &ttask) |
Create entry for translation of source to targetPhrase. | |
ChartRuleLookupManager * | CreateRuleLookupManager (const ChartParser &, const ChartCellCollectionBase &, std::size_t) |
Create a sentence-specific manager for SCFG rule lookup. | |
void | SetParameter (const std::string &key, const std::string &value) |
const std::vector< float > * | GetTemporaryMultiModelWeightsVector () const |
void | SetTemporaryMultiModelWeightsVector (std::vector< float > weights) |
Protected Types | |
typedef std::vector < TargetPhraseCollection::shared_ptr > | PhraseCache |
typedef PhraseCache | SentenceCache |
Protected Member Functions | |
PhraseCache & | GetPhraseCache () |
Protected Attributes | |
std::string | m_mode |
std::vector< std::string > | m_pdStr |
std::vector< PhraseDictionary * > | m_pd |
size_t | m_numModels |
std::vector< float > | m_multimodelweights |
SentenceCache | m_sentenceCache |
std::vector< float > | m_multimodelweights_tmp |
Definition at line 63 of file PhraseDictionaryMultiModel.h.
typedef std::vector<TargetPhraseCollection::shared_ptr> Moses::PhraseDictionaryMultiModel::PhraseCache [protected] |
Definition at line 135 of file PhraseDictionaryMultiModel.h.
typedef PhraseCache Moses::PhraseDictionaryMultiModel::SentenceCache [protected] |
Definition at line 140 of file PhraseDictionaryMultiModel.h.
Moses::PhraseDictionaryMultiModel::PhraseDictionaryMultiModel | ( | const std::string & | line | ) |
Definition at line 31 of file PhraseDictionaryMultiModel.cpp.
References m_mode, m_multimodelweights, Moses::FeatureFunction::m_numScoreComponents, m_pdStr, Moses::FeatureFunction::ReadParameters(), util::StringStream::str(), UTIL_THROW2, and UTIL_THROW_IF2.
Moses::PhraseDictionaryMultiModel::PhraseDictionaryMultiModel | ( | int | type, | |
const std::string & | line | |||
) |
Definition at line 51 of file PhraseDictionaryMultiModel.cpp.
References m_multimodelweights, m_pdStr, and UTIL_THROW_IF2.
Moses::PhraseDictionaryMultiModel::~PhraseDictionaryMultiModel | ( | ) |
Definition at line 79 of file PhraseDictionaryMultiModel.cpp.
void Moses::PhraseDictionaryMultiModel::CacheForCleanup | ( | TargetPhraseCollection::shared_ptr | tpc | ) |
Definition at line 284 of file PhraseDictionaryMultiModel.cpp.
References GetPhraseCache().
Referenced by Moses::PhraseDictionaryMultiModelCounts::GetTargetPhraseCollectionLEGACY(), and GetTargetPhraseCollectionLEGACY().
void Moses::PhraseDictionaryMultiModel::CleanUpAfterSentenceProcessing | ( | const InputType & | source | ) | [virtual] |
Reimplemented from Moses::PhraseDictionary.
Definition at line 292 of file PhraseDictionaryMultiModel.cpp.
References CleanUpComponentModels(), GetPhraseCache(), and SetTemporaryMultiModelWeightsVector().
void Moses::PhraseDictionaryMultiModel::CleanUpComponentModels | ( | const InputType & | source | ) | [virtual] |
Definition at line 312 of file PhraseDictionaryMultiModel.cpp.
References m_numModels, and m_pd.
Referenced by CleanUpAfterSentenceProcessing().
void Moses::PhraseDictionaryMultiModel::CollectSufficientStatistics | ( | const Phrase & | src, | |
std::map< std::string, multiModelStats * > * | allStats | |||
) | const [virtual] |
Definition at line 122 of file PhraseDictionaryMultiModel.cpp.
References Moses::TargetPhrase::EvaluateInIsolation(), Moses::TargetPhrase::GetScoreBreakdown(), Moses::ScoreComponentCollection::GetScoresForProducer(), Moses::Phrase::GetStringRep(), Moses::PhraseDictionary::GetTargetPhraseCollectionLEGACY(), Moses::ScoreComponentCollection::InvertDenseFeatures(), NULL, Moses::multiModelStats::p, Moses::multiModelStats::targetPhrase, Moses::UntransformScore(), and Moses::ScoreComponentCollection::ZeroDenseFeatures().
Referenced by GetTargetPhraseCollectionLEGACY().
ChartRuleLookupManager * Moses::PhraseDictionaryMultiModel::CreateRuleLookupManager | ( | const ChartParser & | , | |
const ChartCellCollectionBase & | , | |||
std::size_t | ||||
) | [virtual] |
Create a sentence-specific manager for SCFG rule lookup.
Implements Moses::PhraseDictionary.
Definition at line 274 of file PhraseDictionaryMultiModel.cpp.
References UTIL_THROW.
TargetPhraseCollection::shared_ptr Moses::PhraseDictionaryMultiModel::CreateTargetPhraseCollectionLinearInterpolation | ( | const Phrase & | src, | |
std::map< std::string, multiModelStats * > * | allStats, | |||
std::vector< std::vector< float > > & | multimodelweights | |||
) | const [virtual] |
Definition at line 179 of file PhraseDictionaryMultiModel.cpp.
References Moses::ScoreComponentCollection::Assign(), Moses::TargetPhrase::EvaluateInIsolation(), Moses::TargetPhrase::GetScoreBreakdown(), Moses::inner_product(), Moses::multiModelStats::p, Moses::multiModelStats::targetPhrase, and Moses::TransformScore().
Referenced by GetTargetPhraseCollectionLEGACY().
PhraseCache& Moses::PhraseDictionaryMultiModel::GetPhraseCache | ( | ) | [inline, protected] |
Definition at line 144 of file PhraseDictionaryMultiModel.h.
References get_id(), and m_sentenceCache.
Referenced by CacheForCleanup(), and CleanUpAfterSentenceProcessing().
TargetPhraseCollection::shared_ptr Moses::PhraseDictionaryMultiModel::GetTargetPhraseCollectionLEGACY | ( | const Phrase & | src | ) | const [virtual] |
find list of translations that can translates src. Only for phrase input
Reimplemented from Moses::PhraseDictionary.
Reimplemented in Moses::PhraseDictionaryMultiModelCounts.
Definition at line 99 of file PhraseDictionaryMultiModel.cpp.
References CacheForCleanup(), CollectSufficientStatistics(), CreateTargetPhraseCollectionLinearInterpolation(), getWeights(), Moses::FeatureFunction::m_numScoreComponents, Moses::PhraseDictionary::m_tableLimit, and Moses::RemoveAllInMap().
const std::vector< float > * Moses::PhraseDictionaryMultiModel::GetTemporaryMultiModelWeightsVector | ( | ) | const |
Definition at line 321 of file PhraseDictionaryMultiModel.cpp.
References get_id(), m_multimodelweights_tmp, and NULL.
Referenced by getWeights().
std::vector< std::vector< float > > Moses::PhraseDictionaryMultiModel::getWeights | ( | size_t | numWeights, | |
bool | normalize | |||
) | const |
Definition at line 210 of file PhraseDictionaryMultiModel.cpp.
References GetTemporaryMultiModelWeightsVector(), m_multimodelweights, m_numModels, normalizeWeights(), NULL, util::StringStream::str(), and UTIL_THROW.
Referenced by Moses::PhraseDictionaryMultiModelCounts::GetTargetPhraseCollectionLEGACY(), and GetTargetPhraseCollectionLEGACY().
virtual void Moses::PhraseDictionaryMultiModel::InitializeForInput | ( | ttasksptr const & | ttask | ) | [inline, virtual] |
Create entry for translation of source to targetPhrase.
Reimplemented from Moses::PhraseDictionary.
Reimplemented in Moses::PhraseDictionaryMultiModelCounts.
Definition at line 110 of file PhraseDictionaryMultiModel.h.
void Moses::PhraseDictionaryMultiModel::Load | ( | AllOptions::ptr const & | opts | ) | [virtual] |
override to load model files
Reimplemented from Moses::FeatureFunction.
Reimplemented in Moses::PhraseDictionaryMultiModelCounts.
Definition at line 82 of file PhraseDictionaryMultiModel.cpp.
References Moses::FindPhraseDictionary(), m_numModels, Moses::FeatureFunction::m_options, m_pd, m_pdStr, NULL, Moses::PhraseDictionary::SetFeaturesToApply(), and UTIL_THROW_IF2.
std::vector< float > Moses::PhraseDictionaryMultiModel::normalizeWeights | ( | std::vector< float > & | weights | ) | const |
Definition at line 261 of file PhraseDictionaryMultiModel.cpp.
References m_numModels.
Referenced by getWeights().
void Moses::PhraseDictionaryMultiModel::SetParameter | ( | const std::string & | key, | |
const std::string & | value | |||
) | [virtual] |
Reimplemented from Moses::PhraseDictionary.
Reimplemented in Moses::PhraseDictionaryMultiModelCounts.
Definition at line 64 of file PhraseDictionaryMultiModel.cpp.
References m_mode, m_multimodelweights, m_numModels, m_pdStr, and Moses::Tokenize().
void Moses::PhraseDictionaryMultiModel::SetTemporaryMultiModelWeightsVector | ( | std::vector< float > | weights | ) |
Definition at line 337 of file PhraseDictionaryMultiModel.cpp.
References get_id(), and m_multimodelweights_tmp.
Referenced by CleanUpAfterSentenceProcessing().
std::string Moses::PhraseDictionaryMultiModel::m_mode [protected] |
Definition at line 129 of file PhraseDictionaryMultiModel.h.
Referenced by Moses::PhraseDictionaryMultiModelCounts::GetTargetPhraseCollectionLEGACY(), PhraseDictionaryMultiModel(), Moses::PhraseDictionaryMultiModelCounts::PhraseDictionaryMultiModelCounts(), Moses::PhraseDictionaryMultiModelCounts::SetParameter(), and SetParameter().
std::vector<float> Moses::PhraseDictionaryMultiModel::m_multimodelweights [protected] |
Definition at line 133 of file PhraseDictionaryMultiModel.h.
Referenced by getWeights(), PhraseDictionaryMultiModel(), and SetParameter().
std::vector<float> Moses::PhraseDictionaryMultiModel::m_multimodelweights_tmp [protected] |
Definition at line 164 of file PhraseDictionaryMultiModel.h.
Referenced by GetTemporaryMultiModelWeightsVector(), and SetTemporaryMultiModelWeightsVector().
size_t Moses::PhraseDictionaryMultiModel::m_numModels [protected] |
Definition at line 132 of file PhraseDictionaryMultiModel.h.
Referenced by CleanUpComponentModels(), Moses::PhraseDictionaryMultiModelCounts::GetTargetPhraseCollectionLEGACY(), getWeights(), Moses::PhraseDictionaryMultiModelCounts::Load(), Load(), normalizeWeights(), and SetParameter().
std::vector<PhraseDictionary*> Moses::PhraseDictionaryMultiModel::m_pd [protected] |
Definition at line 131 of file PhraseDictionaryMultiModel.h.
Referenced by CleanUpComponentModels(), Moses::PhraseDictionaryMultiModelCounts::Load(), and Load().
std::vector<std::string> Moses::PhraseDictionaryMultiModel::m_pdStr [protected] |
Definition at line 130 of file PhraseDictionaryMultiModel.h.
Referenced by Moses::PhraseDictionaryMultiModelCounts::Load(), Load(), PhraseDictionaryMultiModel(), Moses::PhraseDictionaryMultiModelCounts::PhraseDictionaryMultiModelCounts(), Moses::PhraseDictionaryMultiModelCounts::SetParameter(), and SetParameter().