ContextStat.h
上传用户:sunyong76
上传日期:2021-10-03
资源大小:2236k
文件大小:3k
源码类别:

多国语言处理

开发平台:

Java

  1. //////////////////////////////////////////////////////////////////////
  2. //ICTCLAS简介:计算所汉语词法分析系统ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System),
  3. //             功能有:中文分词;词性标注;未登录词识别。
  4. //             分词正确率高达97.58%(973专家评测结果),
  5. //             未登录词识别召回率均高于90%,其中中国人名的识别召回率接近98%;
  6. //             处理速度为31.5Kbytes/s。
  7. //著作权:  Copyright?2002-2005中科院计算所 职务著作权人:张华平 刘群
  8. //遵循协议:自然语言处理开放资源许可证1.0
  9. //Email: zhanghp@software.ict.ac.cn
  10. //Homepage:www.nlp.org.cn;mtgroup.ict.ac.cn
  11. /****************************************************************************
  12.  *
  13.  * Copyright (c) 2000, 2001 
  14.  *     Machine Group
  15.  *     Software Research Lab.
  16.  *     Institute of Computing Tech.
  17.  *     Chinese Academy of Sciences
  18.  *     All rights reserved.
  19.  *
  20.  * This file is the confidential and proprietary property of 
  21.  * Institute of Computing Tech. and the posession or use of this file requires 
  22.  * a written license from the author.
  23.  * Filename: ContextStat.h
  24.  * Abstract:
  25.  *           
  26.  *  interface for the CContextStat class.
  27.  * Author:   Kevin Zhang 
  28.  *          (zhanghp@software.ict.ac.cn)
  29.  * Date:     2002-1-24
  30.  *
  31.  * Notes:
  32.  *                
  33.  * 
  34.  ****************************************************************************/
  35. #if !defined(AFX_CONTEXTSTAT_H__DA515FDC_F8F9_48F6_B25D_D2B91011528B__INCLUDED_)
  36. #define AFX_CONTEXTSTAT_H__DA515FDC_F8F9_48F6_B25D_D2B91011528B__INCLUDED_
  37. #if _MSC_VER > 1000
  38. #pragma once
  39. #endif // _MSC_VER > 1000
  40. struct tagContext{
  41. int nKey;//The key word
  42. int **aContextArray;//The context array
  43. int *aTagFreq;//The total number a tag appears
  44. int nTotalFreq;//The total number of all the tags
  45. struct tagContext *next;//The chain pointer to next Context
  46. /*----Added By huangjin@ict.ac.cn 2006-5-30----*/
  47. struct tagContext()
  48. {
  49. nKey=0;
  50. aContextArray=NULL;
  51. aTagFreq=NULL;
  52. nTotalFreq=0;
  53. next=NULL;
  54. }
  55. /*-----------------------------------------------*/
  56. };
  57. typedef struct tagContext MYCONTEXT,*PMYCONTEXT;
  58. class CContextStat  
  59. {
  60. public:
  61. bool SetTableLen(int nTableLe);
  62. int GetFrequency(int nKey,int nSymbol);
  63. double GetContextPossibility(int nKey,int nPrev,int nCur);
  64. bool Load(char *sFilename);
  65. bool Save(char *sFilename);
  66. bool Add(int nKey,int nPrevSymbol,int nCurrentSymbol,int nFrequency);
  67. bool SetSymbol(int *nSymbol);
  68. CContextStat();
  69. virtual ~CContextStat();
  70. private:
  71. int m_nTableLen;
  72. int *m_pSymbolTable;
  73. PMYCONTEXT m_pContext;
  74. int m_nCategory;
  75. protected:
  76. bool GetItem(int nKey,PMYCONTEXT *pItemRet);
  77. };
  78. #endif // !defined(AFX_CONTEXTSTAT_H__DA515FDC_F8F9_48F6_B25D_D2B91011528B__INCLUDED_)