📄 translationoptioncollectiontext.cpp.svn-base
字号:
// $Id$/***********************************************************************Moses - factored phrase-based language decoderCopyright (C) 2006 University of EdinburghThis library is free software; you can redistribute it and/ormodify it under the terms of the GNU Lesser General PublicLicense as published by the Free Software Foundation; eitherversion 2.1 of the License, or (at your option) any later version.This library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULesser General Public License for more details.You should have received a copy of the GNU Lesser General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA***********************************************************************/#include "TranslationOptionCollectionText.h"#include "Sentence.h"#include "DecodeStep.h"#include "LanguageModel.h"#include "PhraseDictionaryMemory.h"#include "FactorCollection.h"#include "WordsRange.h"#include "LMList.h"using namespace std;/** constructor; just initialize the base class */TranslationOptionCollectionText::TranslationOptionCollectionText(Sentence const &inputSentence, size_t maxNoTransOptPerCoverage) : TranslationOptionCollection(inputSentence, maxNoTransOptPerCoverage) {}/* forcibly create translation option for a particular source word. * For text, this function is easy, just call the base class' ProcessOneUnknownWord()*/void TranslationOptionCollectionText::ProcessUnknownWord(size_t sourcePos){ const Word &sourceWord = m_source.GetWord(sourcePos); ProcessOneUnknownWord(sourceWord,sourcePos);}/** * Check the source sentence for coverage data */bool TranslationOptionCollectionText::HasXmlOptionsOverlappingRange(size_t startPosition, size_t endPosition) const { Sentence const& source=dynamic_cast<Sentence const&>(m_source); return source.XmlOverlap(startPosition,endPosition);}/** * Create xml-based translation options for the specific input span */void TranslationOptionCollectionText::CreateXmlOptionsForRange(size_t startPosition, size_t endPosition) { Sentence const& source=dynamic_cast<Sentence const&>(m_source); vector <TranslationOption*> xmlOptions; source.GetXmlTranslationOptions(xmlOptions,startPosition,endPosition); //get vector of TranslationOptions from Sentence for(size_t i=0;i<xmlOptions.size();i++) { xmlOptions[i]->CalcScore(); Add(xmlOptions[i]); }};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -