mfc汉语分词

cccgggjjj 2010-05-03 08:06:58
如何用mfc实现汉语分词,如将“采用“最大匹配法”对测试文档(测试文档.txt)中的文本进行分词,程序语言可任选。分完词后的结果可以与已分词的测试文档(测试文档(已分词).txt)进行对比。”
分为“采用/“/最大匹配法/”/对/测试文档/(/测试文档/./txt/)/中/的/文本/进行/分词/,/程序/语言/可/任选/。/分完/词/后/的/结果/可以/与/已/分词/的/测试/文档/(/测试/文档/(/已/分词/)/./txt/)/进行/对比/。/”
分词的用的汉语词典存在一个文件中,待分词的字符存在input.txt中,分词结果存在另一个output.txt文件中,请高手帮忙,我邮箱179741132@qq.com
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
l198908032333 2011-06-08
  • 打赏
  • 举报
回复
我刚才网csdn上放了一个,是拿控制台做的,加入mfc界面。实现分词,你可试试一试。
chaoliu1024 2010-05-04
  • 打赏
  • 举报
回复
蒋老大就是牛啊!膜拜中。。。膜拜中。。。。
向立天 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jiangsheng 的回复:]
实现汉语分词很多人都在做,哈工大和中科院都出了不少成果。不过用mfc来实现则是天方夜谭了。MFC的代码大家都可以看到,没有针对特定语言的功能。
[/Quote]

呵呵

微软拼音还是和我们学校联合开发的
蒋晟 2010-05-04
  • 打赏
  • 举报
回复
实现汉语分词很多人都在做,哈工大和中科院都出了不少成果。不过用mfc来实现则是天方夜谭了。MFC的代码大家都可以看到,没有针对特定语言的功能。
尹成 2010-05-04
  • 打赏
  • 举报
回复
另《基于渐进式丰富词典的分词方法研究》《一种基于词典的中文分词法的设计与实现》已发到你邮箱,请查收,你下载研究下。
尹成 2010-05-04
  • 打赏
  • 举报
回复
给你个分词的算法,你自己看看:

  /***************************************************   
* 功 能:
* 从最大五个汉字分词
* 参 数:
* FILE *fpIn:待分词文件
* FILE *fpOut:分词输出文件
* 返回值:
*

***************************************************/
# include "stdafx.h"
# include "myheader.h"

extern FILE *fpIn;
extern FILE *fpOut;
extern FILE *fpWordList;

bool fnMaxFenCi5()
{
char szBuf[13];
memset(szBuf,NULL,sizeof(char) * 13);
strcpy(szBuf,fnReadWord5(fpIn));

if(fnCompareWord(szBuf,fpWordList) == true)
{
fputs(szBuf,fpOut); //如果这五个是单词,写入输出文件
return true;
}
else
{ //如果这五个不是单词,读四个
fseek(fpIn,-10,SEEK_CUR);
memset(szBuf,NULL,sizeof(char) * 13);
strcpy(szBuf,fnReadWord4(fpIn));

if(fnCompareWord(szBuf,fpWordList) == true)
{ //如果这四个是单词,写入输出文件
fputs(szBuf,fpOut);
return true;
}
else
{ //如果这四个不是单词,读三个
fseek(fpIn,-8,SEEK_CUR);
memset(szBuf,NULL,sizeof(char) * 13);
strcpy(szBuf,fnReadWord3(fpIn));

if(fnCompareWord(szBuf,fpWordList) == true)
{ //如果这三个是单词,写入输出文件
fputs(szBuf,fpOut);
return true;
}
else
{ //如果这三个不是单词,读两个
fseek(fpIn,-6,SEEK_CUR);
memset(szBuf,NULL,sizeof(char) * 13);
strcpy(szBuf,fnReadWord2(fpIn));

if(fnCompareWord(szBuf,fpWordList) == true)
{ //如果这两个是单词,写入输出文件
fputs(szBuf,fpOut);
return true;
}
else
{ //如果这两个不是单词,读一个
fseek(fpIn,-4,SEEK_CUR);
memset(szBuf,NULL,sizeof(char) * 13);
strcpy(szBuf,fnReadWord1(fpIn));
fputs(szBuf,fpOut);
return true;
}
}
}
}
}
hzy694358 2010-05-04
  • 打赏
  • 举报
回复
很有难度,
sanguomi 2010-05-04
  • 打赏
  • 举报
回复
这东西很复杂的..
我一朋友搞很久了.
向立天 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiangsheng 的回复:]
实现不了,MFC不支持汉语语义分析
[/Quote]

估计楼主的意思是想请人帮忙写这么个东西
蒋晟 2010-05-04
  • 打赏
  • 举报
回复
实现不了,MFC不支持汉语语义分析
cccgggjjj 2010-05-03
  • 打赏
  • 举报
回复
自己顶个,别沉了

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧