📄 ttable.h
字号:
/** TTable.h - Bilingual Phrases Translation Table** Copyright (C) 2006 by Zhongjun He <zjhe@ict.ac.cn> Multilingual Interaction Technology and Evaluation Laboratory, ICT, CAS* Begin : 04/13/2006* Last Change : 04/13/2006** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU Lesser General Public* License as published by the Free Software Foundation; either* version 2.1 of the License, or (at your option) any later version.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU Lesser General Public* License along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.*/
#ifndef TTABLE_H
#define TTABLE_H
#include <map>
#include <strstream>
#include <string>
#include <vector>
#include <algorithm>
#include <math.h>
#include <iostream>
#include <fstream>
#include "Function.h"
#include "Mtdefs.h"
using namespace std;
class TTable
{
public:
TTable();
//set translation probability weight and talbe limit
void Set(const vector<double> &l, const int lt);
// insert a bilingual phrase
void Insert(const string &cp,const string &ep, const vector<double> &prob);
// get phrase translation probability
vector<double> GetProb(const string &cp, const string &ep);
// write to file
void WriteToFile(const char* fileName);
// read from file
void ReadFromFile(const char* fileName);
// get English translations for a Chinese phrase
bool GetTranslations(const string &cp, map<string, vector<double> > &translation);
int prob_num;//number of translation probability, default is 4: p(f|e) lex(f|e) p(e|f) lex(e|f)
private:
// for reading bilingual phrases
bool split(const string &line, string &cp, string &ep, vector<double> &prob);
// compute word number
int WordLen(const string &s);
map<string,map<string,vector<double> > > tmap;// phrase translation table
vector<double> lambda;//tanslation weight
int bp_limit;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -