资源简介
用C++编写的基于基于同义词林的语义相似计算程序与详细的文档说明
代码片段和文件信息
#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));
}
// 计算义项的相似度
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 < code_list1.size(); i++)
{
for (vector::size_type j = 0; j < code_list2.size(); 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;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6181888 2012-09-08 22:47 基于同义词林的语义相似计算\Debug\WordSimilar.exe
文件 14485712 2012-09-08 22:47 基于同义词林的语义相似计算\Debug\WordSimilar.ilk
文件 25357312 2012-09-08 22:47 基于同义词林的语义相似计算\Debug\WordSimilar.pdb
文件 178170 2012-09-05 21:02 基于同义词林的语义相似计算\Debug\同义词编码.txt
文件 1504157 2012-08-20 00:54 基于同义词林的语义相似计算\Debug\同义词词林.txt
文件 12598 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\BuildLog.htm
文件 67 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\mt.dep
文件 1196029 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\SimilarWordDict.obj
文件 614903 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\stdafx.obj
文件 680854 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\StringProcess.obj
文件 5298 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\TimeCalc.obj
文件 2198528 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\vc90.idb
文件 3485696 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\vc90.pdb
文件 682 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.exe.em
文件 748 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.exe.em
文件 640 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.exe.intermediate.manifest
文件 303211 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.obj
文件 40239104 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.pch
文件 79768 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilar.res
文件 616987 2012-09-08 22:47 基于同义词林的语义相似计算\WordSimilar\Debug\WordSimilarDlg.obj
文件 2941 2012-09-01 09:18 基于同义词林的语义相似计算\WordSimilar\ReadMe.txt
....... 67777 2007-11-28 16:21 基于同义词林的语义相似计算\WordSimilar\res\WordSimilar.ico
文件 367 2012-09-01 09:18 基于同义词林的语义相似计算\WordSimilar\res\WordSimilar.rc2
文件 1005 2012-09-08 10:53 基于同义词林的语义相似计算\WordSimilar\resource.h
文件 5136 2012-09-08 22:29 基于同义词林的语义相似计算\WordSimilar\SimilarWordDict.cpp
文件 1561 2012-09-08 10:38 基于同义词林的语义相似计算\WordSimilar\SimilarWordDict.h
文件 144 2012-09-01 09:18 基于同义词林的语义相似计算\WordSimilar\stdafx.cpp
文件 1854 2012-09-01 09:18 基于同义词林的语义相似计算\WordSimilar\stdafx.h
文件 4449 2012-09-05 20:05 基于同义词林的语义相似计算\WordSimilar\StringProcess.cpp
文件 1740 2012-09-05 20:04 基于同义词林的语义相似计算\WordSimilar\StringProcess.h
............此处省略26个文件信息
相关资源
- 精通Matlab与C C++ 混合程序设计
- 《程序员面试宝典 + 剑指Offer + 算法
- C++语言程序设计-郑莉-清华大学本科教
- C语言四大圣经 《C程序设计语言》《
- MFC下页面切换程序
- GDAL图片裁剪程序
- MFC文件搜索程序
- 3D骨骼动画“剑舞”程序源码by浅墨
- 3D游戏场景漫游4.0版程序源码by浅墨
- 3D场景漫游2.0版程序源码 by浅墨
- 3D场景漫游程序源码 by浅墨
- 3D镜面特效程序源码 by浅墨
- Visual C++面向对象与可视化程序设计(
- 基于UDP的MFC 通讯小程序
- 用vs2010编写基于MFC的串口通信程序
- 单片机C语言程序设计实训100例--基
- Effective C++改善程序与设计的55个具体
- 基于VC++和OpenGL实现的IGM机器人手臂三
- MSP-EXP430F5529 LAB CODE里面全是很好的例
- C++入门到精通的三本书超经典
- 基于MFC的计时器程序
- C++程序设计谭浩强+代码
- C++五子棋课程设计程序完美运行
- C语言程序设计第三版课后答案及实验
- win10+vs2019+bazel+编译tensorflow2.1.1-CPU版(
- 基于UDP的聊天程序MFC实现
- C语言趣味程序以及大全
- C语言程序设计第四版谭著高清版.PD
- VS2008的基于MFC的四则运算测试程序源
- 谭浩强 C语言程序设计第四版
评论
共有 条评论