자연어 처리 중 불용어가 삭제되지 않는 문제 (수정)

조회수 391회

안녕하세요, 주피터 노트북으로 자연어 전처리 중 불용어가 삭제되지 않아 문의드립니다.

import konlpy
import re

def tokenize_korean_text(text):
    text = re.sub(r'[^,.?!\w\s]','', text)

    okt = konlpy.tag.Okt()
    Okt_morphs = okt.pos(text)

    words = []
    for word, pos in Okt_morphs:
        if pos == 'Verb' or pos == 'Noun':
            words.append(word)

    return words


tokenized_list = []

for text in df['Keyword']:
    tokenized_list.append(tokenize_korean_text(text))

print(len(tokenized_list))
print(tokenized_list[1800])

여기서 tokenized_list를 설정하고,

stop_words = ['입니다','있습니다','우리','할','수','하는','합니다','여러분','대한','하는','수','있다','한다']

위와 같이 불용어를 지정하고,

clean_words = [i for i in tokenized_list if i not in stop_words]

이렇게 실행해줬습니다.

그리고 텍스트 분석을 실행하기 위해

dictionary = corpora.Dictionary(clean_words)  
dictionary.filter_extremes(no_below=2, no_above=0.05) 
corpus = [dictionary.doc2bow(text) for text in clean_words]

ldamodel = LdaModel(corpus, num_topics=8, id2word=dictionary, passes=20, iterations=500) 
ldamodel.print_topics(num_words=8) 

위의 코드를 실행했는데요. 불용어로 지정되었던 '하는' '수'와 같은 불용어들이 여전히 결과에 나옵니다.

코드가 잘못된 걸까요?

도움 주시면 정말 감사드리겠습니다.

  • tokenized_list도 올려주세요. 초보자 2022.5.31 13:49
  • 올렸습니다! Honeybee 2022.5.31 14:02

2 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)