제4장: 형태소 분석

제공되는 스크립트 download_alice.py를 이용하면, Project Gutenberg에서 루이스 캐럴 저 이상한 나라의 앨리스를 다운로드 받아, alice.txt라는 파일로 저장한다. 형태소 분석기를 이용하여 텍스트를 분석하고, 그 결과를 alice.txt.pos에 저장한다. 하기 문제들은 alice.txt.pos를 입력 받아, 주어진 과제를 해결하면 된다.

추가적으로,37번, 38번, 39번 문제는 matplotlib 또는 Gnuplot 이용을 권장한다.

30. 형태소 분석기 처리 결과 읽어오기

형태소 분석기 출력 결과물 alice.txt.pos 파일을 읽는 프로그램을 작성하시오. 작성시, 읽어온 파일에서 정보를 추출하여, 대상 문자열, 원형, 그리고 품사 정보를 각각 surface, base, pos의 키를 갖는 객체의 값으로 부여하고, 이 객체를 나열한 배열로 표현하시오. alice.txt.pos를 입력받아 상기 형태로 표현하는 프로그램을 이용하여, 나머지 문제를 푸시오.

31. 동사

동사의 표층형을 모두 추출하시오.

32. 동사 원형

동사의 원형을 모두 추출하시오.

33. “A of B”

두 명사가 of 로 연결되어 있는 명사구를 찾으시오. (이때 A와 B는 모두 명사.)

34. 명사의 연접

명사의 연접(연속해서 출현하는 명사)중 가장 긴 것을 추출하시오.

35. 단어의 출현 빈도

문장 중에 출현하는 단어와 그 출현빈도를 구하고, 출현빈도가 높은 순서대로 정렬하시오.

36. 빈도 상위 10개 단어

출현빈도가 높은 10개 단어와 그 출현빈도를 그래프(예를 들면 막대그래프 등)로 시각화하시오.

37. “cat”과 공기 빈도가 높은 상위 10개 단어

“cat”과 자주 공기하는(공기 빈도가 높은) 10 단어와 그 출현빈도를 그래프(예를 들면 막대그래프 등)로 시각화하시오. (여기서 말하는 공기는 co-occurence, 같이 출현한 경우를 의미합니다.)

38. 히스토그램

단어의 출현빈도의 히스토그램(가로축에는 출현빈도, 세로축에 해당 출현빈도를 갖는 고유한 단어의 수를 막대 그래프로 플롯)을 플롯하시오.

##39. Zipf의 법칙 단어의 출현 빈도 순위를 가로축, 그 출현 빈도 값을 세로축으로 갖는 양대수 그래프를 플롯하시오. (양대수 그래프는 일반적으로 log-log graph라고도 불리고, 가로와 세로축이 모두 logarthimic scale인 그래프를 의미합니다.)