word2vec 학습관련 질문드려요

조회수 63회

안녕하세요. 한국어 형태소 분석기인 khaiii를 사용하여 문장을 분해하고 있습니다(최종적으로 word2vec을 적용하고자 합니다). 코드를 사용하는 중에 오류가 발생하여 도움을 구하고자 글을 올립니다. 아래와 같이 코드를 사용하고 있으며 "khaiii 적용 + 불용어 처리" 부분에서 오류가 나타나고 있습니다. 선생님들의 검토를 부탁드립니다.

import numpy as np 
import pandas as pd 
import itertools as it 
from khaiii import KhaiiiApi

df = pd.read_csv('https://raw.githubusercontent.com/DoosanB/files/master/usa1.csv', encoding = 'utf-8') 
df = pd.DataFrame(df) 
api = KhaiiiApi()

#khaiii  
def parse(sentence):
    pos = ((morph.lex, morph.tag) for word in api.analyze(sentence) for morph in word.morphs if morph.tag in ['NNG', 'VV', 'VA', 'NNP'])    
    words = [item[0] if item[1] == 'NNG' or item[1] == 'NNP' else f'{item[0]}다' for item in pos] 

# 쉼표, 따옴표 날리기 
df['내용'] = df["내용"].str.replace(",", "")  
df['내용'] = df["내용"].str.replace("'", "") 
df['내용'] = df["내용"].str.replace("‘", "")

# 문단을 문장 단위로 나누기 
split = df.내용.str.split(".") 
split = split.apply(lambda x: pd.Series(x))
split = split.stack().reset_index(level=1, drop=True).to_frame('sentences') 
df = df.merge(split, left_index=True, right_index=True, how='left') 
df = df.drop(['내용'], axis = 1) 
df['sentences'].replace('', np.nan, inplace= True)   # 결측값 삭제 
df['sentences'].replace(' ', np.nan, inplace= True) 
df.dropna(subset=['sentences'], inplace=True) 
df = df.reset_index(drop=True) # 인덱스 초기화

# khaiii 적용 + 불용어 처리
df['reconstruct'] = df['sentences'].apply(parse) # NNG, NNP, VV, VA만 추출  
stopwords = "되다 대하다 위하다" 
df['corpus'] = df['reconstruct'].apply(lambda x : [item for item in x if item not in stopwords])

df.to_csv('result_usa1.csv', encoding= 'utf-8')
  • 오류 메시지를 같이 적어봐 주시겠어요? daewon 2020.7.28 12:44

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

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.