SegGraph.h
上传用户:chen_dj
上传日期:2013-04-22
资源大小:111k
文件大小:2k
源码类别:

多国语言处理

开发平台:

C/C++

  1. /****************************************************************************
  2.  *
  3.  * Copyright (c) 2000, 2001 
  4.  *     Machine Group
  5.  *     Software Research Lab.
  6.  *     Institute of Computing Tech.
  7.  *     Chinese Academy of Sciences
  8.  *     All rights reserved.
  9.  *
  10.  * This file is the confidential and proprietary property of 
  11.  * Institute of Computing Tech. and the posession or use of this file requires 
  12.  * a written license from the author.
  13.  * Filename:  SegGraph.h
  14.  * Abstract:
  15.  *           interface for the Word Segmentation Directed Graph.
  16.  * Author:   Kevin Zhang 
  17.  *          (zhanghp@software.ict.ac.cn)
  18.  * Date:     2002-4-18
  19.  *
  20.  * Notes:
  21.  *                
  22.  * 
  23.  ****************************************************************************/
  24. // SegGraph.h: interface for the CSegGraph class.
  25. //
  26. //////////////////////////////////////////////////////////////////////
  27. #if !defined(AFX_SEGGRAPH_H__E051AD07_F18C_4171_94D6_39742104EB62__INCLUDED_)
  28. #define AFX_SEGGRAPH_H__E051AD07_F18C_4171_94D6_39742104EB62__INCLUDED_
  29. #if _MSC_VER > 1000
  30. #pragma once
  31. #endif // _MSC_VER > 1000
  32. #include "..\Utility\Dictionary.h"//Dictionary
  33. #include "DynamicArray.h"//Dynamic array
  34. #define MAX_FREQUENCE    2079997//1993123+86874
  35. #define MAX_SENTENCE_LEN 2000
  36. class CSegGraph  
  37. {
  38. public:
  39. bool GenerateWordArray(char *sSentence,CDictionary &dictCore);
  40. bool GenerateWordNet(char *sSentence,CDictionary &dictCore);
  41. //Generate the segmentation word net according the original sentence
  42. //sSentence: the sentence
  43. //dictCore: core dictionary
  44. CSegGraph();
  45. virtual ~CSegGraph();
  46. char m_sAtom[MAX_SENTENCE_LEN][WORD_MAXLENGTH];//pAtoms: the buffer for returned segmented atoms
  47. // Such as a Chinese Char, digit, single byte, or delimiters
  48. int m_nAtomLength[MAX_SENTENCE_LEN];//Save the individual length of atom in the array
  49. int m_nAtomPOS[MAX_SENTENCE_LEN];//pAtoms: the POS property 
  50. unsigned int m_nAtomCount;//The count of atoms
  51. CDynamicArray m_segGraph; //segGraph: The segmentation word graph
  52. protected:
  53. bool AtomSegment(char *sSentence);
  54. //Segment the atomic members from the original sentence
  55. //sSentence: the sentence
  56. //pAtoms: the buffer for returned segmented atoms
  57. //        Such as a Chinese Char, digit, single byte, or delimiters
  58. };
  59. #endif // !defined(AFX_SEGGRAPH_H__E051AD07_F18C_4171_94D6_39742104EB62__INCLUDED_)