[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리

[NLP] IMDB 영화리뷰 감정 분석을 통한 파이썬 텍스트 분석과 자연어 처리

(8개의 수강평)

2014명의 수강생
16,500원
지식공유자 · 박조은
17회 수업· 총 3시간 30분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 '초급, 중급'
묘기 프로필

멀티프로세싱이 작동하지 않습니다. 묘기 8일 전

윈도우7이구요..기다리면 되는 문제가 아닌 것 같습니다.

Anacona Prompt에

Attribute Error : Can't get attribute'_appply_df' on <module'__main__' <built in> 이라고 뜨는데 어떻게 하면 될까요... 

ㅠㅠㅠ

1
yeonsook kwak 프로필

widows xgboost yeonsook kwak 3달 전

안녕하세요 

저는 윈도우 운영체제이고 코랩환경에서 테스트를 해보고 있습니다. 

그런데, xgboost로 예측하면 결과값이 모두 0으로 나옵니다. 랜덤포레스트는 모두 정상적으로 동작하는데 xgboost에서만 이렇게 나오고 있습니다. 

무엇이 문제인지잘 모르겠습니다. 

dtest = xgb.DMatrix(X_test_tfidf_vector)

result = booster.predict(dtest)

print(result.shape)
result[0:20]
(25000,)
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
       0., 0., 0.], dtype=float32)

0
yeonsook kwak 프로필

시각화 한글깨지는 문제 yeonsook kwak 3달 전

안녕하세요

마지막에 리뷰별 단어 수 분포도와 리뷰별 고유한 단어 수 분포도를 그려보는과정에서 한글이 깨지는 문제가 생겼는데 한글폰트를 지정을 해주어도 왜 해결이 안되는지 궁금합니다. 

한글 폰트 코드는다음과 같이 작성했습니다. 

작업환경은 구글 코랩입니다. 

import matplotlib.font_manager as fm
fontpath = 'C:/Windows/Fonts/gulim.ttc'

font = fm.FontProperties(fname=fontpath, size = 9)

# 기본 글꼴 변경
import matplotlib as mpl
mpl.font_manager._rebuild()
mpl.pyplot.rc('font', family='gulim')

2
송윤호 프로필

튜토리얼1의 2/4 강의 중 lemmatize 관련 질문드립니다 송윤호 4달 전

lemmatization이란게 동음이의어가 있을 때, 문장의 앞뒤 문맥에서 단어의 의미를 찾는 것이라는 설명을 봤는데요. 여기 예제처럼 문장을 토큰화 해놓으면 앞뒤 문맥을 파악할 수 없는것 아닌지 궁금합니다! 그리고 여러가지 stemmer 들의 장단점이 있을텐데 그러한 설명도 해주셨으면 좋겠습니다! snowballstemmer를 이 상황에서 쓰신 이유같은 것이요!  

1
서정아 프로필

자꾸 올려서 죄송해요 -.,- 서정아 5달 전

저 튜토리얼 3 이후의 부분도 colab 링크 얻을 수 있을까요?

 

이 부분이 또 무한루프처럼 계속 돌아서 결과를 볼수가 없네요.., ㅠㅠ 

다음 진도를 뺼수가 없어요. 으악 ㅠㅠ

 

↓↓↓

# 단어 벡터에서 k-means를 실행하고 일부 크러스터를 찍어본다.

start =time.time() # 시작시간

 

# 클러스터의 크기 "k"를 어휘 크기의 1/5이나 평균 5단어로 설정한다.

word_vectors = model.wv.syn0 # 어휘의 feature vector

num_clusters = word_vectors.shape[0] / 5

num_clusters = int(num_clusters)

 

# K means를 정의하고 학습시킨다.

kmenas_clustering = KMeans( n_clusters = num_clusters )

idx = kmenas_clustering.fit_predict(word_vectors)

 

# 끝난시간에서 시작시간을 빼서 걸린 시간을 구한다.

end = time.time()

elapsed = end - start

print("Time taken for K Means clustering: ", elapsed, "seconds.")

 

1
서정아 프로필

수업을 따라가는데 있어서 어려움 서정아 5달 전

tutorial 2부터 강사님이 해주시는데로 따라하는데 생각되로 안되거나 문제가 발생되는 경우가 많네요..,ㅠ

첫번째로 이전에 올렸던 multiprocessing 관련 코드 부분도 그렇고

 

두번째는 KaggleWord2VecUtility 이 부분은 제가 관련 소스를 찾아서 로딩을 하고

중간에 apply_by_multiprocessing 관련 함수도 있어서 이 함수가 들어간 소스를 찾아 중간에 소스도 수정해서 다시 import를 했습니다.

그리고 마지막으로 세번째는 word2vec모델을 학습시키는데 있어서 정말 엄청나게 많은 시간이 걸렸습니다.

 

* p.s.

그냥 강사님이 올려주신 colab을 바탕으로 실습안하고 눈으로만 보는게 나을까요? ㅠㅠ

실습하는데 어려움이 너무 많이 따르네요.., ㅠㅠ

저는 처음 수업을 시작했을 때 생각은 머신러닝 관련된 기법에 대해서 이해하는 방향으로 수업을 듣고 이해하고 싶었는데,

텍스트 데이타라는 비정형 데이터의 처리법의 어려움 때문인지 아니면 관련 처리를 하는 라이브러리를 다루는데 있어서 어려움 때문인지.., 머신러닝 기법들의 개념들이 정리가 안되고 갈수록 어렵네요.., ㅠㅠ

시간이 오래걸리거나 하는 라이브러리라던가 아니면 수업 중 애로사항들은 개선이 되었으면 합니다.

뭔가 많이 아쉽습니다. ㅠㅠ

 

/******************************************************/

↓ 관련 내용들

/******************************************************/

prob 3> word2vec모델을 학습

: 거의 15시간 하루에 반나절 가량 걸렸던 것 같습니다.

len(sentences) 가 795538 인데

데이타 양이 많아서 이렇게 오래걸리는건가요? 이 정도로 시간이 오래 걸리는게 맞나요?

그리고 학습을 시킨 후 모델결과를 탐삭해는데 있어서 데이타가 stemming 처리가 안됬는데 이 부분은 제가 앞에서 처리를 잘못한 문제일까요? 모델 학습시키는것과 관련이 있나요?

 

제가 궁금한거는 ① 학습시간이 15시간이나 걸림. 이렇게 오래 걸리는게 맞음?

그리고 ② stemming 처리가 안됨. 모델 학습관련 문제인지 아니면 앞전에서 내가 무언가 처리를 빠뜨린건지?

입니다.

 

 

prob 2> KaggleWord2VecUtility.apply_by_multiprocessing?

관련 함수가 있는 소스를(KaggleWord2VecUtility.py) 다시 구글링에서 찾은 후 저의 현재 작업디렉토리에 해당 파일을 열어 해당 소스로 수정해주고 해당 라이브러리를 다시 임포트 후 실행을 해도 계속 apply_by_multiprocessing 함수를 찾을수 없다는 에러가 나옵니다.

혹시 파이썬 노트북을 새로 고침해야 한다거나 아니면 파일을 지우고 다시 해당 파일을 다운받는다거나 하는 작업이 필요할까요?

새로고침을 하고 싶은데 앞전에 modelling에서 15시간가량 걸린작업을 또 해야 할 것 같은 두려움에 새로고침은 하지 못했습니다. 지금 이틀동안 노트북도 끄지 않았습니다. ㅠㅠ

어떤 문제인지 모르겠습니다.

1
서정아 프로필

KaggleWord2VecUtility 패키지 관련 서정아 5달 전

import가 되지 않아서 구글링을 해보았더니 KaggleWord2VecUtility.py 형태로 돌아다니는 소스가 있어서, 제 쥬피터 노트북에 그대로 소스를 복붙해서 실행시키긴 했는데 너무 지저분해져서, 아나콘다 lib 경로에 넣으면 실행될까 싶어서 시도해보았는데 이 방법으로는 import가 되지 않습니다.

 

from distutils.sysconfig import get_python_lib

print(get_python_lib())

하면 제 Anaconda3 의 python libliry가 있는 경로가 나오는데 여기에 해당 파일을 넣어서 import를 시도해보았지만 되지않습니다.

 

tutorial-part-2 강의에 1번째 강좌인데

from KaggleWord2VecUtility import KaggleWord2VecUtility

from distutils.sysconfig import get_python_lib

print(get_python_lib())

 

이 코드 이전에 설치를 해야한다거나 작업해줘야 하는거는 없는지요?

2
이준호 프로필

멀티 프로세스 코드가 작동하지 않습니다 이준호 5달 전

# 참고 : https://gist.github.com/yong27/7869662
# http://www.racketracer.com/2016/07/06/pandas-in-parallel/
from multiprocessing import Pool
import numpy as np

def _apply_df(args):
    df, func, kwargs = args
    return df.apply(func, **kwargs)

def apply_by_multiprocessing(df, func, **kwargs):
    # 키워드 항목 중 workers 파라메터를 꺼냄
    workers = kwargs.pop('workers')
    # 위에서 가져온 workers 수로 프로세스 풀을 정의
    pool = Pool(processes=workers)
    # 실행할 함수와 데이터프레임을 워커의 수 만큼 나눠 작업
    result = pool.map(_apply_df, [(d, func, kwargs)
            for d in np.array_split(df, workers)])
    pool.close()
    # 작업 결과를 합쳐서 반환
    return pd.concat(list(result))


%time clean_train_reviews = apply_by_multiprocessing(\
    train['review'], review_to_words, workers=8)  

%time clean_test_reviews = apply_by_multiprocessing(\
    test['review'], review_to_words, workers=4)    

 

위 코드를 돌리면 무한하게 돌아가고, cpu 사용량은 1자릿수로 유지됩니다.

2
서정아 프로필

multiprocessing 관련 서정아 5달 전

 

 

 

바로 앞의 코드에서 속도가 느려서 개선된 형태의 multiprocessing이 출력이 안됩니다. ㅠㅠ

메모리만 잡아먹고 계속 무한루프 상태가 지속되네요..,제가 코딩을 하면서 오류가 났을까 싶어서 

코랩에 있는 소스를 그대로 갖고와서 복붙해 실행을 해도 동일한 현상이 지속됩니다.

바로 앞의 속도가 느린 코드들은 시간이 걸리더라도 모두 실행이 됩니다.

 

 

1
송진영 프로필

제출 오류 송진영 5달 전

colab으로 작업한 뒤 csv를 제출하였는데 이러한 에러가 발생합니다.

 

어떻게 해야 해결할 수 있을지 잘 모르겠습니다. 도움을 부탁드립니다.

4
Ki-Sung Kim 프로필

br태그 정제 Ki-Sung Kim 5달 전

from bs4 import BeautifulSoup

 

example1 = BeautifulSoup(train['review'][0], "html5lib")

print(train['review'][0][:700])

example1.get_text()[:700]

이 코드를 실행하려고 하는데 

 

File "<pyshell#69>", line 1, in <module>

    example1 = BeautifulSoup(train['review'][0], "html5lib")

  File "C:\Users\Ki-Sung Kim\AppData\Local\Programs\Python\Python37-32\lib\site-packages\bs4\__init__.py", line 208, in __init__

    % ",".join(features))

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to install a parser library?

 

이런식으로 에러가 납니다. 어떻게 해결 해야 하나요...

1
김지수 프로필

강좌 순서 김지수 7달 전

안녕하세요:) 강좌를 들으려고 하는데, 올리신 강좌들을 들을 때 추천 순서는 어떻게 되나요?

0
Hyunkyung Bae 프로필

nltk is not defined 에러메시지 Hyunkyung Bae 8달 전

KaggleWord2VecUtility 모듈을 호출해서 매서드 실행시키면 NameError: name 'nltk' is not defined 라는 에러 메시지가 뜹니다. nltk.download('punkt') 나 import nltk 를 해도 해결이 되지 않는데 조언 부탁드릴게요!

1
이해인 프로필

CountVectorizer 파라미터 값 질문 이해인 8달 전

안녕하세요.

countvectorizer의 파라미터 값에 대해 궁금해 질문 남깁니다.

찾아보니, tokenizer, analyzer, token_pattern 의 인수가 모두 토큰 생성기 선택에 관한 인수라고 나와있던데 각각의 인수가 뜻하는 게 뭔지 정확히 알고 싶습니다. 

찾아본 바로는

tokenizer: 함수 또는 None(default), 토큰 생성 함수
analyzer: 문자열 {'word', 'char', 'char_wb'} 또는 함수
token_pattern: string, 토큰 정의용 정규표현식

이라고 설명되어있던데 정확한 설명을 구할 수 없어 질문 드립니다. 답변 부탁드립니다.

0
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스