zoukankan      html  css  js  c++  java
  • 汉语自动分词 分类: 中文信息处理 2014-12-30 10:37 385人阅读 评论(0) 收藏

    调用“海量智能分词”提供的动态链接库,实现汉语自动分词,并且搭建图形界面用于操作和显示。

    首先下载“海量智能分词”软件,解压后拷出include文件夹下的HLSegFunc.h、HLPubDef.h和dll&lib文件夹下的HLSSplit.dll、HLSplitWord.dat、HLSSplit.lib。

    图形界面使用MFC搭建,新建基于对话框的MFC应用程序,同时要将HLSSplit.lib、HLSegFunc.h、HLPubDef.h拷贝至工程目录下,将HLSSplit.dll、HLSplitWord.dat拷至Debug目录下。

    因为下载海量智能分词链接库可能已经过期,故为了正常运行,需要改动一下计算机时间,我们使用的需要将系统时间调制2005年。

    搭建界面如下:


    “分词”按钮的响应函数如下:

    void CTest20Dlg::OnBnClickedButton2(){
    	CString strText; // 存放要进行分词的字符串
    	GetDlgItemText(IDC_EDIT1,strText);
    
    	bool bInitDict = HLSplitInit();
    	if(!bInitDict)
    	{
    	 MessageBox("初始化分词字典失败");
    	 return ;
    	}
    	
    	HANDLE hHandle = HLOpenSplit (); //创建分词句柄
    	if(hHandle == INVALID_HANDLE_VALUE)
    	{//创建分词句柄失败
    		MessageBox("创建分词句柄失败");
    		HLFreeSplit () ;//卸载分词字典
    		return ;
    	}
    	int iExtraCalcFlag = 0; //附加计算标志,不进行附加计算
    	LPCSTR lpText = (LPCSTR)strText ;
    	bool bSuccess = HLSplitWord (hHandle, lpText, iExtraCalcFlag);
    	CString strResult = "";
    	if(bSuccess)
    	{//分词成功
    		int nResultCnt = HLGetWordCnt (hHandle);//取得分词个数
    		for(int i = 0 ; i < nResultCnt ; i++)
    		{//取得分词结果
    			SHLSegWord* pWord ;//存放分词结果中的一个词
    			pWord = HLGetWordAt (hHandle , i) ;//取得一个分词结果
    			strResult += pWord->s_szWord;
    			strResult +=" "; //以空格分割分词结果中的每个词
    		}
    		HLCloseSplit (hHandle) ;//关闭分词句柄
    	}
    	else
    	{//分词失败
    	 MessageBox("分词失败");
    	 HLCloseSplit (hHandle) ;//关闭分词句柄
    	 HLFreeSplit () ;//卸载分词字典
    	 return ;
    	}
    	HLFreeSplit () ; //卸载分词词典
    	SetDlgItemText(IDC_EDIT2,strResult);
    }
    

    “载入文件”按钮响应函数见上篇博客《MFC显示文本文档

    效果如下:


    完整的工程下载:http://download.csdn.net/detail/u010839382/8313415


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    (5)html表单
    (4)html表格
    (3)HTML ”列表“、图片和超链接
    (1)html开头解说与案例演示
    学习web前端前感
    一、资源合并与压缩
    HTTP协议原理
    图解HTTP总结
    基于TypeScript从零重构axios
    元組
  • 原文地址:https://www.cnblogs.com/luo-peng/p/4646227.html
Copyright © 2011-2022 走看看