Result.h
上传用户:yxl0916
上传日期:2007-05-25
资源大小:2245k
文件大小:2k
源码类别:

多国语言处理

开发平台:

Visual C++

  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. //Result.h: interface for the CResult class.
  12. //
  13. //////////////////////////////////////////////////////////////////////
  14. #if !defined(AFX_RESULT_H__DEB31BCA_0410_4D5E_97EA_78F9B16B8938__INCLUDED_)
  15. #define AFX_RESULT_H__DEB31BCA_0410_4D5E_97EA_78F9B16B8938__INCLUDED_
  16. #include "..UTILITYDictionary.h" // Added by ClassView
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. #include "..\Utility\Dictionary.h"
  21. #include "..\Segment\Segment.h"
  22. #include "..\Tag\Span.h"
  23. #include "..\Unknown\UnknowWord.h"
  24. #define _ICT_DEBUG 0
  25. class CResult  
  26. {
  27. public:
  28. double m_dSmoothingPara;
  29. bool Processing(char *sSentence,unsigned int nCount);
  30. bool ParagraphProcessing(char *sParagraph,char *sResult);
  31. bool FileProcessing(char *sFilename,char *sResultFile);
  32. PWORD_RESULT *m_pResult;
  33. //The buffer which store the segment and POS result
  34. //and They stored order by its possibility
  35. ELEMENT_TYPE m_dResultPossibility[MAX_SEGMENT_NUM];
  36. int m_nResultCount;
  37. bool Output(PWORD_RESULT pItem,char *sResult,bool bFirstWordIgnore=false);
  38. CResult();
  39. virtual ~CResult();
  40. int m_nOperateType;//0:Only Segment;1: First Tag; 2:Second Type
  41. int m_nOutputFormat;//0:PKU criterion;1:973 criterion; 2: XML criterion
  42. private:
  43. CSegment m_Seg;//Seg class
  44. CDictionary m_dictCore,m_dictBigram;//Core dictionary,bigram dictionary
  45. CSpan m_POSTagger;//POS tagger
  46. CUnknowWord m_uPerson,m_uTransPerson,m_uPlace;//Person recognition
  47. protected:
  48. bool ChineseNameSplit(char *sPersonName,char *sSurname, char *sSurname2,char *sGivenName,CDictionary &personDict);
  49. bool PKU2973POS(int nHandle,char *sPOS973);
  50. bool Adjust(PWORD_RESULT pItem,PWORD_RESULT pItemRet);
  51. ELEMENT_TYPE ComputePossibility(PWORD_RESULT pItem);
  52. bool Sort();
  53. };
  54. #endif // !defined(AFX_RESULT_H__DEB31BCA_0410_4D5E_97EA_78F9B16B8938__INCLUDED_)