인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jiyun pyun님의 프로필 이미지
jiyun pyun

작성한 질문수

파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지

<실습> TfidfVectorizer 사용하기

토크나이징을 할 때 불용어 처리를 함께 하는 코드는?

작성

·

921

0

토크나이징을 할 때 불용어 처리를 함께 하는 코드는 무엇인가요?ㅜㅜㅜ

답변 1

0

My Incizor님의 프로필 이미지
My Incizor
지식공유자

안녕하십니까, 인사이저 입니다.

아무래도 수강하고 계신 부분을 보고 판단하건데,

사이킷런의 TFIDFVectorizer 사용 시 같이 쓰인 토크나이저에서 불용어 처리가 어떻게 진행되었는 지 궁금하신 것으로 보입니다.

강의 내용에서 tokenizer 함수를 보시면 mecab.nouns()라고 하여,

mecab 형태소 분석기를 사용해 명사만 추출하는 모습을 확인하실 수 있습니다.

어떻게 보면 이 부분에서(tokenizer 함수에서) 불용어 처리가 한번 이루어졌다고 보시면 되겠습니다.

하나의 문장에 다양한 품사(명사, 동사, 형용사 등) 표현들이 존재하는데, 다른 품사 표현은 다 버리고 명사만 가져온 상황이니까요.

아래 예제를 가져왔습니다.

아이유 노래 가사에 대해 tokenize를 진행했습니다.

두번째는 출력은 형태소 분석만(품사 태깅/pos tagging) 만 진행했을 때 입니다. 하나의 문장에 다양한 품사 표현들이 있는 것을 알 수 있습니다.

마지막 출력은 강의에서 쓰인 tokenizer(명사만 추출/단어 길이 2개 이상) 를 가사에 적용한 모습입니다.

두번째 출력과 달리 명사만 가져온 것을 확인할 수 있습니다.

불용어 처리에는 정답이 없습니다.

비록 강의에서는 명사만 추출+단어 길이 2 이상 로직으로 불용어 처리를 진행했으나,

데이터의 특성에 맞게 tokenizer 함수를 수정하여 불용어 처리를 진행할 수 있겠습니다.

아래 예제 이미지를 확인해보시기 바랍니다.

아래 이미지는 불용어 사전을 만들어서

형태소 분석을 통해 명사 추출 후 불용어 사전에 있는 표현을 뺀 결과입니다.

이렇게 사전을 만들어서 불용어를 임의로 제거하는 방법도 있겠습니다.

한번 내용 확인해보시고

추가 궁금사항이 있을 시 재문의 부탁드리겠습니다.

감사합니다.

jiyun pyun님의 프로필 이미지
jiyun pyun

작성한 질문수

질문하기