⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdevidesentence.h

📁 用c++写的分词算法
💻 H
字号:
#ifndef _CDEVIDESENTENCE_H_JH_
#define _CDEVIDESENTENCE_H_JH_

class CDevideSentence
{
private:
	int  bOccuredError;//是否出现错误,0:没有, 1:有
	unsigned char *szSource;//原字串,拷贝自输入串
	unsigned char *szResult;//分词结果。
	
public:
	unsigned char chrDevideCharacter;//分隔符号。
private:
	void inputSentence(unsigned char *para_szSentence);
	int  isChineseChr(unsigned char *para_acChr);//判断是不是中文字,0:不是,1:是
public:
	CDevideSentence();
	~CDevideSentence();
	int  devideSentence(unsigned char *para_szSentence,unsigned char para_cSeparator);
	unsigned char* getResult();
};

class CDevideWordSeg
{
private:
	friend class CDevideSentence;
	unsigned char* source;
	unsigned char* result;
	int bOccuredError;
	int nMaxLen;
	int *pTable[12];
	double afPropability[12];

	HINSTANCE hInstance;

private:
	void addMem(); //增加pTable每行能容纳的字数。
	int  getSumFrequancy(unsigned char *para_acSource,int para_nLen);//取字段的总词频
	//对中文字段进行切分,返回0表示成功,-1表示出错。
	int devideWordSeg(unsigned char *para_szSource,unsigned char *para_szResult,unsigned char para_cSeparator);//切分全中文的中文字段
	void devideDifferentMeaningWordSeg(int para_nStart,int para_nEnd,int para_nStartpos,int para_nEndpos);//切分奇异字段
	void buildDifferentMeaningInfo();//建立Table[0],即找出奇异字段
public:
	CDevideWordSeg();
	~CDevideWordSeg();
};




#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -