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

多国语言处理

开发平台:

C/C++

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