本文整理汇总了C++中Vocab::FeatureExtract方法的典型用法代码示例。如果您正苦于以下问题:C++ Vocab::FeatureExtract方法的具体用法?C++ Vocab::FeatureExtract怎么用?C++ Vocab::FeatureExtract使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vocab
的用法示例。
在下文中一共展示了Vocab::FeatureExtract方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: extractBinaryfromStream
void extractBinaryfromStream(const char * inputStream, Vocab & textHash,
vector < tuple <int *, int > > & src_batch, vector < tuple <int *, int > > & tgt_batch, int isFilter, int debugLines)
{
ifstream infile;
infile.open(inputStream, ifstream::in);
string line;
int lineIdx = 0;
while (getline(infile, line))
{
stringstream linestream(line);
string src, tgt;
getline(linestream, src, '\t');
getline(linestream, tgt, '\t');
int src_token_num = 0;
int tgt_token_num = 0;
char** src_tokens = BasicUtil::TokenizeString(src, src_token_num, MAX_TOKEN_NUM, MAX_TOKEN_LEN);
char** tgt_tokens = BasicUtil::TokenizeString(tgt, tgt_token_num, MAX_TOKEN_NUM, MAX_TOKEN_LEN);
int * src_fea = new int[MAX_TOKEN_LEN * MAX_TOKEN_NUM];
int * src_seg = new int[MAX_TOKEN_NUM];
int * tgt_fea = new int[MAX_TOKEN_LEN * MAX_TOKEN_NUM];
int * tgt_seg = new int[MAX_TOKEN_NUM];
int src_seg_num = textHash.FeatureExtract((const char **)src_tokens, src_token_num, src_seg, src_fea);
int tgt_seg_num = textHash.FeatureExtract((const char **)tgt_tokens, tgt_token_num, tgt_seg, tgt_fea);
int src_feature_num = 0; //src_seg[src_seg_num - 1];
int tgt_feature_num = 0; //tgt_seg[tgt_seg_num - 1];
if(src_seg_num >= 1)
{
src_feature_num = src_seg[src_seg_num - 1];
}
if(tgt_seg_num >= 1)
{
tgt_feature_num = tgt_seg[tgt_seg_num - 1];
}
if(isFilter == 1)
{
if(src_feature_num <= 0 || tgt_feature_num <= 0) continue;
}
src_batch.push_back(tuple<int*, int>(src_fea, src_feature_num));
tgt_batch.push_back(tuple<int*, int>(tgt_fea, tgt_feature_num));
lineIdx += 1;
if(lineIdx == debugLines) break;
}
}