資源簡(jiǎn)介
用C++編寫(xiě)的基于基于同義詞林的語(yǔ)義相似計(jì)算程序與詳細(xì)的文檔說(shuō)明
代碼片段和文件信息
#include?“StdAfx.h“
#include?“SimilarWordDict.h“
SimilarWordDict::SimilarWordDict(void)
{
}
SimilarWordDict::~SimilarWordDict(void)
{
}
//?加載同義詞林
void?SimilarWordDict::LoadSimilarWordDict(const?char?*file_pathmap>?&msv)
{
????std::locale?loc1?=?std::locale::global(std::locale(“.936“));
????string?temp;
????string?word;
????ifstream?ifile(file_path);
????StringProcess?*sp?=?new?StringProcess();
????vector?data_list;
????int?count?=?0;
????
????while?(getline(ifiletemp))
????{????
????????data_list?=?sp->splitEx(temp“?“);
????????word?=?data_list[0];
????????count?=?atoi(data_list[1].c_str());
????????for?(int?i?=?0;?i ????????{???????????
????????????msv[word].push_back(data_list[i+2]);
????????}
????}
????
????ifile.close();
????std::locale::global(std::locale(loc1));
}
//?計(jì)算義項(xiàng)的相似度
double?SimilarWordDict::CalcSimilarSenses(map>?&msvvector?&vsstring?senses1?string?senses2)
{
????double?similar?=?0.0;????
????vector?code_list1?=?msv[senses1];
????vector?code_list2?=?msv[senses2];
????double?max_temp?=?0.0;
????double?temp?=?0.0;
????
????if?(code_list1.empty()||code_list2.empty())
????{
????????return?similar;
????}
????
????for?(vector::size_type?i?=?0;?i?????{
????????for?(vector::size_type?j?=?0;?j?????????{
????????????temp?=?CalcSimilar(vscode_list1[i]code_list2[j]);
????????????if?(temp>max_temp)?max_temp?=?temp;
????????}
????}????
????
????similar?=?max_temp;
????return?similar;
}
void?SimilarWordDict::LoadWordCode(?const?char?*file_pathvector?&vs)
{
????std::locale?loc1?=?std::locale::global(std::locale(“.936“));
????string?temp;
????ifstream?ifile(file_path);
????
????while?(getline(ifiletemp))
????{????
????????vs.push_back(temp);
????}
????
????ifile.close();
????std::locale::global(std::locale(loc1));
}
vector?SimilarWordDict::SplitLevel(?string?code_num?)
{
????vector?result;
????
????result.push_back(code_num.substr(01));
????result.push_back(code_num.substr(11));
????result.push_back(code_num.substr(22));
????result.push_back(code_num.substr(41));
????result.push_back(code_num.substr(52));
????
????return?result;
}
?
int?SimilarWordDict::TreeBranchNum(?vector?&vsstring?subint?len)
{
????int?result?=?0;
????Params?*params?=?new?Params;
????params->len?=?sub.length()?+?len;
????params->sub?=?sub;
????for_each(vs.begin()vs.end()bind2nd(ptr_fun(ContructSet)params));
????result?=?params->set_str.size();
????return?result;
}
double?SimilarWordDict::CalcSimilar(?vector?&vs?string?code1?string?code2?)
{
????const?double?a?=?0.65?b?=?0.8?c?=?0.9?d?=?0.96?e?=?0.5?f?=?0.1;?
????double?similar?=?0.0;
????int?n?=?1?k?=?0;
????
????int?value1?=?0;
????int?value2?=?0;
????string?s1;
????string?s2;
????
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????6181888??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\Debug\WordSimilar.exe
?????文件???14485712??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\Debug\WordSimilar.ilk
?????文件???25357312??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\Debug\WordSimilar.pdb
?????文件?????178170??2012-09-05?21:02??基于同義詞林的語(yǔ)義相似計(jì)算\Debug\同義詞編碼.txt
?????文件????1504157??2012-08-20?00:54??基于同義詞林的語(yǔ)義相似計(jì)算\Debug\同義詞詞林.txt
?????文件??????12598??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\BuildLog.htm
?????文件?????????67??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\mt.dep
?????文件????1196029??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\SimilarWordDict.obj
?????文件?????614903??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\stdafx.obj
?????文件?????680854??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\StringProcess.obj
?????文件???????5298??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\TimeCalc.obj
?????文件????2198528??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\vc90.idb
?????文件????3485696??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\vc90.pdb
?????文件????????682??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.exe.em
?????文件????????748??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.exe.em
?????文件????????640??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.exe.intermediate.manifest
?????文件?????303211??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.obj
?????文件???40239104??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.pch
?????文件??????79768??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilar.res
?????文件?????616987??2012-09-08?22:47??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\Debug\WordSimilarDlg.obj
?????文件???????2941??2012-09-01?09:18??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\ReadMe.txt
????.......?????67777??2007-11-28?16:21??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\res\WordSimilar.ico
?????文件????????367??2012-09-01?09:18??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\res\WordSimilar.rc2
?????文件???????1005??2012-09-08?10:53??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\resource.h
?????文件???????5136??2012-09-08?22:29??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\SimilarWordDict.cpp
?????文件???????1561??2012-09-08?10:38??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\SimilarWordDict.h
?????文件????????144??2012-09-01?09:18??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\stdafx.cpp
?????文件???????1854??2012-09-01?09:18??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\stdafx.h
?????文件???????4449??2012-09-05?20:05??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\StringProcess.cpp
?????文件???????1740??2012-09-05?20:04??基于同義詞林的語(yǔ)義相似計(jì)算\WordSimilar\StringProcess.h
............此處省略26個(gè)文件信息
評(píng)論
共有 條評(píng)論