Upload
chang-yong-jung
View
487
Download
0
Embed Size (px)
Citation preview
과제 #2) 색인어 생성기 만들기
색인어 생성기는 아래의 동작을 해야 한다. (단, 입력 데이터는 html 문서임)
1) 입력된 문서에서 <body>~</body> Tag 내에 존재하는 데이터를 plain text로 변환한다.
(모든 tag를 삭제한다.)
2) 1)의 결과를 이용하여 token을 구분하고 불용어(stop words)를 제거한다.
이 때, 불용어 목록은 직접 정하여, 적용한다.
3) 2)의 결과를 이용하여 Porter stemming algorithm을 적용한 색인어 목록을 출력한다.
<프로그램의 동작 및 출력물>
1) 프로그램은 콘솔에서 동작하며 아래의 명령어 형식으로 작동한다.
$ makeindex.exe {입력파일명}
ex) $ makeindex.exe input.txt
2) 입력은 하나 혹은 다수의 파일명이 적힌 text파일이다. (파일명은 줄바꿈으로 구분)
[파일의 내용]
src\news01.html src\news02.html … src\news10.html
3) ./doc 폴더에 뉴스 기사만 plain text 형태로 저장된 *.txt 파일을 저장한다.
하나의 html 파일은 같은 이름의 text 파일 하나로 저장되어야 한다.
ex) 입력: news01.html 출력: news02.txt
4) ./words 폴더에 최종 색인어가 포함된 index_words.txt 파일을 저장한다.
색인어는 중복되지 않아야 하며, 모든 색인은 index_words.txt 파일 하나에 통합한다.
<제출내용>
① 프로그램 소스 코드 (C/C++, 컴파일이 가능한 형태)
② 코딩에 사용한 불용어(stop words) 목록과 해당 불용어를 선택한 간략한 이유(*.doc 파일)
<참고>
* C/C++를 이용하여 구현할 것 (STL 이외의 타인이 구현한 library 사용하지 말 것)
* 입력 데이터는 http://www.nytimes.com에서 수집한 뉴스 기사를 사용한다.
* <body>~</body> 태그 내에는 뉴스 기사뿐 아니라 메뉴 등의 텍스트가 포함되어 있어 색인어
로 적합하지 않은 단어들이 있다. 뉴스 본문만 읽어오도록 프로그램을 작성하라. (선택사항)
* 컴파일 되지 않는 소스는 채점에서 제외될 수 있음
* 다른 사람과 유사한 코드가 발견되면 감점 혹은 수업시간에 자신의 코드를 설명하도록 하고 그
결과를 점수에 반영함. (참조하여 작성한 경우 해당 reference를 밝힐 것. 정상참작)