> 백엔드 개발 > C#.Net 튜토리얼 > asp.net에서 중국어 단어 분할 검색 도구 공유

asp.net에서 중국어 단어 분할 검색 도구 공유

黄舟
풀어 주다: 2017-10-08 09:34:52
원래의
2327명이 탐색했습니다.

jieba는 Python 기반의 검색 라이브러리입니다. 누군가 이 라이브러리를 asp.net 플랫폼에 이식했습니다. 이는 lucene.net과 Pangu 단어 분할의 조합을 완전히 대체할 수 있습니다. 어제 인터뷰. 귀하의 웹사이트에서 키워드 검색을 어떻게 수행합니까? 방금 SQL 퍼지 쿼리와 SQL 문 최적화 및 캐싱에 대해 이야기했습니다. 이전에 키워드 분할에 노출된 적이 있지만, Lucene을 사용하는 Java와 달리 .net 플랫폼에는 성숙한 단어 분할 검색 라이브러리가 없습니다. .net에 이식되었지만 업데이트가 느립니다. 이전에 Python을 배울 때 Python의 단어 분할 검색과 단어 클라우드 생성을 발견했습니다. 혹시 .net에 이식할 수 있는 Python 단어 분할 검색 라이브러리가 있는지 궁금합니다. Python의 jieba 라이브러리를 확인해 보니 확실히 이식되었습니다!

원문 소개: jieba 중국어 단어 분할의 .NET 버전: jieba.NET

.NET 플랫폼의 일반적인 단어 분할 구성 요소는 Pangu 단어 분할이지만 오랫동안 업데이트되지 않았습니다. 가장 확실한 것은 내장 사전이 500,000개의 항목을 가지고 있는 반면 Pangu의 사전은 170,000개의 항목을 가지고 있다는 점입니다. 이로 인해 단어 분할 효과가 크게 달라집니다. 또한 미등록 단어에 대해서는 jieba가 "한자의 단어 형성 능력을 기반으로 한 HMM 모델을 채택하고 Viterbi 알고리즘을 사용"하여 효과가 좋아 보입니다.

VS2013의 너겟 패키지 관리자에서 직접 검색하고 다운로드할 수도 있습니다.

댓글에서 누군가가 산업 및 정보 기술 분야의 처녀 임원이 24포트 스위치와 매달 하위 부서를 통해 다른 기술 장치를 설치해 보세요. 잘 분할될 수 있으면 좋습니다. 제가 직접 테스트해 본 결과:

var segmenter = new JiebaSegmenter();

            Console.WriteLine("原检索语句: 工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");            
            var segments1 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作", cutAll: true);
            Console.WriteLine("[全模式]: {0}", string.Join("/ ", segments1));            
            var segments2 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");  // 默认为精确模式
            Console.WriteLine("【精确模式】:{0}", string.Join("/ ", segments2));            
            var segments3 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");  // 默认为精确模式,同时也使用HMM模型
            Console.WriteLine("【新词识别】:{0}", string.Join("/ ", segments3));            
            var segments4 = segmenter.CutForSearch("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"); // 搜索引擎模式
            Console.WriteLine("【搜索引擎模式】:{0}", string.Join("/ ", segments4));            
            var segments5 = segmenter.Cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作");
            Console.WriteLine("【歧义消除】:{0}", string.Join("/ ", segments5));

            Console.Read();
로그인 후 복사

실행 결과:


나쁘지 않습니다. FULL 모드에서는 나머지는 우리 인간이 읽는 순서대로 따라갈 수 있어요

위 내용은 asp.net에서 중국어 단어 분할 검색 도구 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿