이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 23439|회답: 1

[출처] 팡구 단어 분할 보조

[링크 복사]
게시됨 2017. 7. 17. 오전 10:02:38 | | |
System을 사용;
System.Collections.Generic을 사용;
System.Linq를 사용;
System.Text 사용;
System.Threading.Tasks를 사용;
PanGu.Dict를 사용;
PanGu.Framework를 사용;
PanGu.Match를 사용;
PanGu.설정을 사용;
PanGu.HighLight 사용 중;
Lucene.Net.Analysis를 사용;
System.IO;
판구를 사용하고;
System.Configuration을 사용;

네임스페이스 Pangu.Helper
{
    공공 클래스 팽구헬퍼
    {

        개인 휘발성 정적 PanguHelper _instance = null;
        private static readonly object lockHelper = new object();
        private PanguHelper() { }

        /// <summary>
        [기본값은 같은 경로 하에 pangu.xml 프로필을 사용합니다]
        /// </summary>
        /// <returns></returns>
        공개 정적 PanguHelper ShareHelper
        {
            가져오기
            {
                만약 (_instance == null)
                {
                    lock (lockHelper)
                    {
                        만약 (_instance == null)
                        {
                            _instance = 새로운 PanguHelper();
                            string configFile = ConfigurationManager.AppSettings["PANGU_CONFIG"] + "";
                            if (configFile != "")
                            {
                                _instance. Use(configFile);
                            }
                        }
                    }
                }

                _instance 반환;
            }
        }

        /// <summary>
        지정된 구성 파일을 초기화하세요
        /// </summary>
        <param name="configFile"> pangu 구성 파일</param>
        public void Use(string configFile)
        {
            PanGu.Segment.Init(configFile);
        }

        /// <summary>
        품사 설명을 받으세요
        /// </summary>
        <param name="pos"> 품사 열거</param>
        /// <returns></returns>
        public string GetPosDescrip{filter}t(POS pos)
        {
            스위치 (POS)
            {
                케이스 쓰레기. POS_UNK: "미지의 품사"로 반환;
                케이스 쓰레기. POS_D_K: "후행 부품"을 반환;
                케이스 쓰레기. POS_D_H: "이전 부품"을 반환;
                케이스 쓰레기. POS_A_NZ: "다른 고유명사"를 반환;
                케이스 쓰레기. POS_A_NX: "외국 문자"로 반환;
                케이스 쓰레기. POS_A_NR: "사람 이름"을 반환;
                케이스 쓰레기. POS_D_Z: "status word"를 반환;
                케이스 쓰레기. POS_A_NT: "기관 기관" 반환;
                케이스 쓰레기. POS_A_NS: "지명"을 반환;
                케이스 쓰레기. POS_D_Y: "mood word mood morpheme" 반환;
                케이스 쓰레기. POS_D_X: "비형태소 단어"를 반환;
                케이스 쓰레기. POS_D_W: "구두점"으로 반환;
                케이스 쓰레기. POS_D_T: "시야의 말"로 반환;
                케이스 쓰레기. POS_D_S: "place word"를 반환;
                케이스 쓰레기. POS_D_V: return "동사 형태소";
                케이스 쓰레기. POS_D_U: "입자 입자 형태소"를 반환;
                케이스 쓰레기. POS_D_R: "대명사 대명사 형태소"를 반환;
                케이스 쓰레기. POS_A_Q: "양화사, 양사, 형태소"를 반환;
                케이스 쓰레기. POS_D_P: "전치사"로 반환;
                케이스 쓰레기. POS_D_MQ: 반환 "양화사";
                케이스 쓰레기. POS_A_M: "numeral, numeral, numeral" 반환;
                케이스 쓰레기. POS_D_O: "의성어"를 반환;
                케이스 쓰레기. POS_D_N: "명사 형태소"를 반환;
                케이스 쓰레기. POS_D_F: "방위각 단어 방위각 형태소"를 반환;
                케이스 쓰레기. POS_D_E: "감탄사 형태소"를 반환;
                케이스 쓰레기. POS_D_L: '관용구' 반환;
                케이스 쓰레기. POS_D_I: "관용구"로 반환;
                케이스 쓰레기. POS_D_D: "부사 adverb 형태소"를 반환;
                케이스 쓰레기. POS_D_C: return "결합 접속 형태소";
                케이스 쓰레기. POS_D_B: "단어를 구별하여 형태소를 구별하기 위해"로 돌아갑니다;
                케이스 쓰레기. POS_D_A: "형용사 형태소"를 반환;
            }
            "미지의 품사"로 반환;
        }



        /// <summary>
        분사 [원본 단어정보] 받아보세요.
        /// </summary>
        <param name="content"> 분리할 단어의 내용</param>
        <param name="matchOptions"> matching 옵션을 사용</param>하세요
        <param name="matchParameter"> match 매개변수를 사용</param>하세요
        /// <returns></returns>
        public ICollection<WordInfo> GetSegmentWords(문자열 content, MatchOptions matchOptions = null,
           MatchParameter matchParameter = null)
        {
            세그먼트 세그먼트 = 새로운 세그먼트();
            이해<WordInfo> 단어 = 구절. DoSegment(content, matchOptions, matchParameter);
            반환 단어;
        }



        /// <summary>
        분사
        /// </summary>
        <param name="content"> 분리할 단어의 내용</param>
        <param name="matchOptions"> 매치 옵션은 사용되지만 기본은 아닙니다</param>
        <param name="matchParameter" > 기본값은 아닌 매칭 매개변수를 사용합니다</param>
        공개 목록<string> GetSplitWords(문자열 콘텐츠, MatchOptions matchOptions = null, MatchParameter matchParameter = null)
        {
            세그먼트 세그먼트 = 새로운 세그먼트();
            이해<WordInfo> 단어 = 구절. DoSegment(content, matchOptions, matchParameter);
            리스트<string> 리스트 = 새 리스트<string>();
            foreach (단어 정보 단어 속 단어)
            {
                목록. 추가(단어). 워드);
            }
            리턴 리스트;
        }


        /// <summary>
        지정된 단어 빈도의 분사를 얻는다
        /// </summary>
        <param name="content"> 분리할 단어의 내용</param>
        <param name="frequency"> 단어 빈도</param>
        <param name="matchOptions"> 매치 옵션은 사용되지만 기본은 아닙니다</param>
        <param name="matchParameter" > 기본값은 아닌 매칭 매개변수를 사용합니다</param>
        /// <returns></returns>
        공개 목록<string> GetSplitWordsByFrequency(문자열 내용, 이중 빈도, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            세그먼트 세그먼트 = 새로운 세그먼트();
            이해<WordInfo> 단어 = 구절. DoSegment(content, matchOptions, matchParameter);

            리스트<string> 리스트 = 새 리스트<string>();
            foreach (단어 정보 단어 속 단어)
            {
                만약 (주파수 == 단어). 빈도)
                {
                    목록. 추가(단어). 워드);
                }
            }
            리턴 리스트;
        }


        /// <summary>
        명시된 가중치를 가진 분사를 구하세요
        /// </summary>
        <param name="content"> 분리할 단어의 내용</param>
        <param name="rank"> 가중치</param>
        <param name="matchOptions"> 매치 옵션은 사용되지만 기본은 아닙니다</param>
        <param name="matchParameter" > 기본값은 아닌 매칭 매개변수를 사용합니다</param>
        /// <returns></returns>
        공개 목록<string> GetSplitWordsByRank(문자열 내용, 정수형 순위, MatchOptions matchOptions = null,
            MatchParameter matchParameter = null)
        {
            세그먼트 세그먼트 = 새로운 세그먼트();
            이해<WordInfo> 단어 = 구절. DoSegment(content, matchOptions, matchParameter);

            리스트<string> 리스트 = 새 리스트<string>();
            foreach (단어 정보 단어 속 단어)
            {
                만약 (순위 == 단어). 계급)
                {
                    목록. 추가(단어). 워드);
                }
            }
            리턴 리스트;
        }


        /// <summary>
        하이라이트
        /// </summary>
        <param name="keyword"> 하이라이트할 문자열</param>
        <param name="content">content</param>
        <param name="fragmentSize"> 각 요약 필드의 문자 수</param>
        <returns>하이라이트 콘텐츠</returns>
        공개 정적 문자열 HighLight(문자열 키워드, 문자열 콘텐츠, 정수형 fragmentSize)
        {
            검색어를 강조하는 매개변수가 포함된 HTML 코드를 만드세요  
            SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<font color='red'>", "</font>");
            하이라이트 생성, HTML 코드 입력, Pangu 객체 Semgent  
            하이라이터 하이터 = new Highlighter(simpleHTMLFormatter, new Segment());
            각 요약 필드의 문자 수를 설정합니다  
            더 높게. FragmentSize = fragmentSize;
            string highlightStr = highter. GetBestFragment(키워드, 콘텐츠);

            만약 (스트링. IsNullOrEmpty(highlightStr))
            {
                콘텐츠 반환;
            }
            하이라이트스트리트 반환;
        }



    }

}


점수

참가자 수1MB+2 기여하다+2 무너지다 이유
작은 쓰레기 같은 놈들 + 2 + 2 정말 강력해!

모든 평점 보기





이전의:PHP 데이터베이스 접근 도구 Medoo
다음:해머 테크놀로지 빅뱅이 중잉핀을 표절한 걸까?
게시됨 2017. 7. 17. 오전 10:55:05 |
공유해 주셔서 감사합니다. 단어 세분화는 CMS 시스템에서 필수입니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com