Example #1
0
def make_keyword(sample_data):
    '''
    :param sample_data: DataFrame
    :return: content column의 내용 토큰화-> 상위 10개 키워드 리스트 반환
    '''
    # 불용어 정의
    stopwords = ['어때','아하','어때요','니깐','니까','거든','을까','할까','거든요','많이','조금','습니당','습니다','입니다','니다','여러분','라도','만나','어디',
                 '이렇게','저렇게','은데','한데','응','아직','응응','그래','오키','든요','어떻게','왜','감사','고맙','죄송','랑','이랑','지만','하지만',
                 '화이팅','파이팅','습니다','슴당','아요','에요','예요','아용','가용','바로','그냥','수정','파일','보내','올려','이모티콘', '따로',
                 '다고', '구나', 'ㅠㅠㅠㅠ', 'ㅠㅠㅠ', '잖아', '그거', '부분', '어제', '내일', '오늘', '을까요', '괜찮', '으면', '해야',
                 'ㅇㅋ', '각자', '이건', '이거', '상관없', '사진', '께서', '드릴게요', '오후', '오전', '우선', '걸로', '이번', '해도', '할까요', '월요일',
                 '화요일', '수요일', '목요일', '금요일', '토요일', '일요일', '까지', '드려요', '너무', '해요', '네네', '오늘', '다음', '아서', '셔서', '올리',
                 '진짜', '오빠', '누나', '언니', '의', '가', '이', '은', '들', '는', '좀', '잘', '걍', '과', '도', '를', '으로', '자', '에',
                 '와', '한', '하다', '다', '고', '을', '하', '있', '게', '보', '없', '세요', '아요', '습니다', '이', '있', '하', '것', '들',
                 '그', '되', '수', '이', '보', '않', '없', '나', '사람', '주', '아니', '등', '같', '우리', '때', '년', '가', '한', '지', '어요',
                 '네요', '대하', '오', '말', '일', '그렇', '이나', '위하', '는데', '있', '하', '것', '들', '그', '되', '수', '이', '보', '않',
                 '없', '나', '사람', '주', '아니', '등', '같', '우리', '때', '년', '가', '한', '지', '대하', '오', '말', '일', '그렇', '위하',
                 '때문', '그것', '두', '말하', '알', '그러나', '받', '못하', '일', '그런', '또', '문제', '더', '사회', '많', '그리고', '좋', '크',
                 '따르', '중', '나오', '가지', '씨', '시키', '만들', '지금', '생각하', '그러', '속', '하나', '집', '살', '모르', '적', '월', '데',
                 '자신', '안', '어떤', '내', '내', '경우', '명', '생각', '시간', '그녀', '다시', '이런', '앞', '보이', '번', '나', '다른', '어떻',
                 '여자', '개', '전', '들', '사실', '이렇', '점', '싶', '말', '정도', '좀', '원', '잘', '통하', '소리', '놓', '그럼', '혹시', '니다',
                 '에서', '아침', '점심', '저녁', '해서', '어서', '감사', '수고', '저희', '근데', '일단', '나요', '부터', '합니다', '니까', '안녕', '입니다']
    file_extension_list=make_file_extension_list("resource\\filename_extension_list.txt")
    for extension in file_extension_list:
        x=extension.replace(".","")
        stopwords.append(x)

    # 토큰화 및 불용어 제거
    tokenizer = Mecab()
    tokenized = []
    for sentence in sample_data['Content']:
        temp = tokenizer.morphs(sentence)  # 토큰화
        temp = [word for word in temp if not word in stopwords]  # 불용어 제거
        temp = [word for word in temp if len(word) > 1]
        tokenized.append(temp)

    # 전처리한 단어 데이터 데이터 프레임 구조로 변환
    vocab = FreqDist(np.hstack(tokenized))
    vocab = pd.DataFrame(vocab, {'count': [1]})
    vocab = vocab.transpose()
    vocab = vocab.sort_values(by='count', ascending=False)
    vocab.reset_index(inplace=True)


    # 상위 언급 10개 단어 추출
    dataf_10 = vocab.iloc[0:10]
    dataf_10 = dataf_10.reset_index()
    data10_dic = dataf_10['index']
    data10_dic = pd.Series(data10_dic)
    data10_list = list(data10_dic)
    print("키워드 추출완료\n")
    return data10_list,vocab