Result.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. //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. #include <string>
  25. #define _ICT_DEBUG 0
  26. using namespace std;
  27. class CResult  
  28. {
  29. public:
  30. double m_dSmoothingPara;
  31. bool Processing(char *sSentence,unsigned int nCount);
  32. bool ParagraphProcessing(char *sParagraph,CString &sResult);
  33. bool FileProcessing(char *sFilename,char *sResultFile);
  34. PWORD_RESULT *m_pResult;
  35. //The buffer which store the segment and POS result
  36. //and They stored order by its possibility
  37. ELEMENT_TYPE m_dResultPossibility[MAX_SEGMENT_NUM];
  38. int m_nResultCount;
  39. bool Output(PWORD_RESULT pItem,CString &sResult,bool bFirstWordIgnore=false);
  40. CResult();
  41. virtual ~CResult();
  42. int m_nOperateType;//0:Only Segment;1: First Tag; 2:Second Type
  43. int m_nOutputFormat;//0:PKU criterion;1:973 criterion; 2: XML criterion
  44. private:
  45. CSegment m_Seg;//Seg class
  46. CDictionary m_dictCore,m_dictBigram;//Core dictionary,bigram dictionary
  47. CSpan m_POSTagger;//POS tagger
  48. CUnknowWord m_uPerson,m_uTransPerson,m_uPlace;//Person recognition
  49. protected:
  50. bool ChineseNameSplit(char *sPersonName,char *sSurname, char *sSurname2,char *sGivenName,CDictionary &personDict);
  51. bool PKU2973POS(int nHandle,char *sPOS973);
  52. bool Adjust(PWORD_RESULT pItem,PWORD_RESULT pItemRet);
  53. ELEMENT_TYPE ComputePossibility(PWORD_RESULT pItem);
  54. bool Sort();
  55. /*----Added By huangjin@ict.ac.cn 2006-5-30----*/
  56. // 重置
  57. void ResetWord(void);
  58. /*---------------------------------------------*/
  59. };
  60. #endif // !defined(AFX_RESULT_H__DEB31BCA_0410_4D5E_97EA_78F9B16B8938__INCLUDED_)