반응형

프로그래밍 기술 604

9. 접근성 도구 만들기 - 15. ProjectSelectForm

9.3.3 ProjectSelectForm ProjectSelectForm은 메인 창이 있는 프로세스 목록을 보여주어 평가 대상을 선택하는 폼입니다. 그리고 선택한 평가 대상 프로세스로 평가 프로젝트를 생성하고 요소 정보를 수집하여 초기화 과정이 완료하는 것을 비동기적으로 처리하는 부분을 구현합시다. [그림 9.12] ProcessSelectForm 배치

9. 접근성 평가 도구 만들기 - 14.ProjectMakerControl

9.3.2 ProjectMakerControl 평가 프로젝트를 생성할 때 평가 제목을 입력하는 ProjectMakerControl를 제공합시다. 현재는 프로젝트 이름을 입력하는 기능 외에 특별한 점이 없지만 보다 편리한 평가 도구를 개발한다면 평가 대상 컨트롤 종류나 상태를 선별하여 필터링 수준을 정의하는 등의 작업이 있을 수 있을 것입니다. [그림 9.11] ProjectMakerControl 배치

9. 접근성 평가 도구 만들기 -13. 접근성 평가 도우미 폼, 컨트롤 구현, EHHighlight

9. 3 접근성 평가 도우미 폼, 컨트롤 구현 이제 접근성 평가 도우미의 폼과 컨트롤을 구현합시다. 구현 순서는 프로그램 방식의 하이라이트를 보여주는 EHHighlight, 생성할 프로젝트 이름을 정하는 ProjectMakerControl, 프로세스를 선택하는 ProcessSelectForm, 프로젝트 생성 정보를 보여주는 ProjectInfoControl, 이미지 보기 Form, InvokePattern Form 순으로 작성한 후에 MainForm을 작성합시다. 실제 프로그래밍을 하는 순서는 이와 다르지만 분석하기 쉽게 하려고 순서를 이와 같이 할게요. 9.3.1 EHHighlight EHHighlight 개체는 원하는 사각 영역을 감싸는 하이라이트로 프로그램 방식의 초점을 표시하기 위함입니다. 접근성..

11. 2 웹 검색 엔진 관리자 응용 만들기

11. 2 웹 검색 엔진 관리자 응용 만들기 이번에는 관리자 응용을 만듭시다. 관리자 응용은 Windows Form 형태의 응용 프로그램으로 WSEManager 이름으로 만듭시다. 관리자 응용에서 제공할 기능은 다음과 같습니다. 검색 서비스가 잘 동작하는지 확인할 수 있다. 웹 로봇을 설정할 수 있다. 수집 결과에 관한 상태 모니터링을 할 수 있다. 사이트로 탐색할 수 있다. 관리자 응용은 프로핑 단계에서 작성한 WSEManager 응용 프로그램 프로토 타이핑과 기본적인 구조는 유사합니다. 여기에서는 프로토 타이핑에서 구현하지 않았던 세부 기능을 구현할 것입니다. 11.2.1 폼 디자인 관리자 응용은 MainForm과 EHBrowser를 만들어서 사용할게요. MainForm은 관리자가 검색 서비스 동작 ..

11. 웹 검색 응용 만들기

11. 웹 검색 응용 만들기 이제 최종 사용자가 사용하는 검색 응용인 EH와 관리자가 사용할 응용인 WSE Manager를 만듭시다. 11.1 검색 응용 만들기 EH 검색 응용은 최종 사용자가 검색 서비스를 이용하는 Windows Form 응용입니다. 검색 질의문을 입력하여 검색 요청하면 검색 결과를 확인할 수 있고 검색 결과의 웹 페이지로 쉽게 이동할 수 있는 프로그램입니다. [그림 11.1] EH 실행 화면 EH 응용의 실행 화면은 [그림 11.1]과 같습니다. [그림 11.1]의 1은 검색 결과 목록을 보여주는 컨트롤이며 2는 검색 결과 하나를 보여주는 컨트롤입니다. 이 부분은 관리자가 사용하는 WSE Manager 응용에서도 사용할 것으로 사용자 정의 컨트롤로 만들 것입니다. 개발 순서는 검색 결..

10. 검색 서비스 만들기

10. 검색 서비스 만들기 이번에는 랭커 라이브러를 이용하여 검색 서비스를 만듭시다. 아키텍쳐링 단계에서 검색 서비스는 웹 서비스로 약속하였는데 여기에서는 .NET 리모팅 서비스로 만들게요. .NET 리모팅 서비스를 만들려면 먼저 리모팅 서버와 리모팅 클라이언트에서 공통으로 참조하는 라이브러리가 필요합니다. 따라서 여기에서는 공통으로 참조하는 라이브러리 작성 후에 리모팅 서버를 작성하고 이를 사용하는 클라이언트 예광탄을 만듭시다. 10.1 공통 라이브러리 만들기 검색 서비스와 클라이언트에서 사용할 공통 라이브러리를 만듭시다. 공통 라이브러리 이름은 GenericSearchLib라고 할게요. 공통 라이브러리로 랭커 라이브러리를 직접 사용하는 것은 클라이언트 측에 주요 라이브러리를 배포하는 결과를 초래하므로..

9. 2 랭커 라이브러리 만들기

9. 2 랭커 라이브러리 만들기 이제 랭커 라이브러리를 만듭시다. 랭커 클래스도 내부에 개체의 상태를 기억할 것이 없으므로 정적 클래스로 정의할게요. public static class Ranker 검색 요청 메서드를 작성합시다. 검색 요청 메서드는 검색 질의를 입력 인자로 받아 검색 후에 순위를 부여하여 순위화 한 결과 목록을 반환합니다. public static List Request(string query) 결과를 보관할 컬렉션 개체를 생성합니다. List result = new List(); 검색 질의를 형태소 분석합니다. int total_count = 0; List list = null; list = MorphemeParser.Parse(query); total_count = list.Coun..

9. 랭커 만들기

9. 랭커 만들기 랭커는 검색 요청이 오면 검색 질의에 근접한 웹 페이지를 순위화 해주는 엔진입니다. 여기에서는 라이브러리 형태로 제작할 것입니다. 수 많은 자료 중에서 원하는 결과를 검색하면 검색 결과도 많을 수 있습니다. 이 때 사용자는 검색 결과에서 다시 원하는 결과를 검색하는 비용이 들 수 있습니다. 자료의 양이 많아지면서 검색 엔진도 보다 효과적으로 검색 결과를 제공하기 위해 똑똑해지고 있습니다. 이를 위해 시멘틱 처리의 알고리즘이 필요한데 여기서 다루는 랭커는 시멘틱 처리를 하는 기본적인 알고리즘을 사용할 것입니다. 랭커에서 순위를 매기는 방법은 다양한데 여기에서는 TF IDF 방식을 사용할 것입니다. TF는 Term Frequency의 약어로 특정 단어가 얼마나 자주 나오는지에 관한 값입니다..

8. 역 파일 생성기 만들기

8. 역 파일 생성기 만들기 역 파일 생성기는 검색 효율을 높이기 위해 형태소 이름으로 포함하는 웹 페이지를 빠르게 검색할 수 있는 역 파일을 생성하는 엔진입니다. 역 파일 생성기는 웹 로봇에서 수집한 내용을 형태소 분석기로 분석한 결과를 역 파일 목록에 추가하는 작업을 수행합니다. 역 파일 목록에 추가하는 작업에서는 새로운 형태소를 발견하면 역 파일 목록에 형태소를 추가하고 추가한 형태소마다 테이블을 동적으로 생성합니다. 그리고 생성한 동적 테이블에 웹 페이지 주소와 참조 개수를 추가합니다. 대부분의 이를 수행할 수 있는 작업은 저장 프로시저로 만들었습니다. 여기에서는 미리 작성한 저장 프로시저를 이용하는 역 파일 생성기를 만듭시다. 역 파일 생성기에서는 검색 질의 내용에 포함한 형태소 이름으로 포함하..

7. 형태소 분석기 만들기

7. 형태소 분석기 만들기 이번에는 문자열의 내용을 분석하는 형태소 분석기를 만들어봅시다. 형태소 분석기는 원본 내용을 형태소 단위로 분할하는 엔진입니다. 형태소 분석기는 웹 검색 엔진의 일부로 웹 로봇이 수집한 페이지의 내용을 분석하거나 검색 질의를 분석할 때 사용합니다. 형태소 분석기도 라이브러리로 만들기로 했는데 여기에서는 라이브러리 작성과 함께 정상적으로 만들어졌는지 확인하는 예광탄도 만듭시다. 7.1 형태소 분석기 예광탄 만들기 [그림 7.1] 형태소 분석기 메인 폼 자식 컨트롤 배치 using System; using System.Collections.Generic; using System.Windows.Forms; using WSE_Core; using MorphemeParserLib; na..

반응형