1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| CNgramer::CNgramer()
{
CPOS* pPos;
std::list<std::wstring> *wsListTrim1;
std::list<std::wstring> *wsListTrim2;
std::list<std::wstring>::iterator itStringPos;
pPos = new CPOS();
m_bOptionProblem = false;
wsListTrim1 = new std::list<std::wstring>;
wsListTrim2 = new std::list<std::wstring>;
COption::GetShortValue(OPTION_SECTION_CNGRAMER, OPTION_KEYNAME_MIN_NGRAM_DEGREE, m_shMinNgramDegreeOM, &m_shMinNgramDegreeOM);
COption::GetShortValue(OPTION_SECTION_CNGRAMER, OPTION_KEYNAME_MAX_NGRAM_DEGREE, m_shMaxNgramDegreeOM, &m_shMaxNgramDegreeOM);
COption::GetShortValue(OPTION_SECTION_CNGRAMER, OPTION_KEYNAME_MIN_PERCENTAGE, m_shMinPercentageOM, &m_shMinPercentageOM);
COption::GetShortValue(OPTION_SECTION_CNGRAMER, OPTION_KEYNAME_MIN_OCCURENCE, m_shMinOccOM, &m_shMinOccOM);
COption::GetStringList((std::wstring)OPTION_SECTION_CNGRAMER,(std::wstring)OPTION_KEYNAME_LIST_TRIM1 , *wsListTrim1, wsListTrim1);
COption::GetStringList((std::wstring)OPTION_SECTION_CNGRAMER,(std::wstring)OPTION_KEYNAME_LIST_TRIM2 , *wsListTrim2, wsListTrim2);
if(m_bOptionProblem == false)
{
itStringPos = wsListTrim1->begin();
while (itStringPos != wsListTrim1->end())
{
enPOS Curpos = pPos->CPOS::GetPOSWithPOSLabel(*itStringPos);
m_ListTrim1.push_back(Curpos);
itStringPos++;
}
itStringPos = wsListTrim2->begin();
while (itStringPos != wsListTrim2->end())
{
m_ListTrim2.push_back(pPos->CPOS::GetPOSWithPOSLabel(*itStringPos));
itStringPos++;
}
}
std::list<std::wstring>::iterator it;
it = wsListTrim1->begin();
while( it != wsListTrim1->end())
{
std::wstring *pStr;
pStr = &(std::wstring)*it;
delete pStr;
it++;
}
delete wsListTrim1;
it = wsListTrim2->begin();
while( it != wsListTrim2->end())
{
std::wstring *pStr;
pStr = &(std::wstring)*it;
delete pStr;
it++;
}
delete wsListTrim2;
delete pPos;
} |
Partager