더북(TheBook)

split으로 문자열을 분리해 토큰 형태로 생성한다.

불용어 목록을 리스트로 만든다.

문서의 토큰이 불용어에 해당되지 않는 것을 리스트로 반환한다.

불용어를 제거했다면 다시 문장 하나로 합쳐 준다.

def remove_stopwords(text):
    tokens = text.split(' ') ————➊
    stops = ['합니다', '하는', '할', '하고', '한다', '그리고', '입니다', '그 ', ' 등', '이런', ' 것 ', ' 및 ',' 제 ', ' 더 '] ————➋
    meaningful_words = [w for w in tokens if not w in stops] ————➌
    return ' '.join(meaningful_words) ————➍

불용어 선정이 모두 끝나면 map() 메서드로 위에서 만든 함수를 일괄 적용해 준다.

df["title"] = df["title"].map(remove_stopwords)

map() 메서드는 각 원소에 함수를 적용해, 새로운 Series 객체를 반환한다. 여기서는 remove_stopwords로 지정된 단어를 "title" 열의 각 원소에 적용해, 결과를 반환한 후 df["title"]에 대입했다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.