티스토리 뷰

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from konlpy.tag import Okt
from konlpy.tag import Hannanum
from collections import Counter
from bs4 import BeautifulSoup
 
import requests
import re
import pandas as pd
import csv 
 
filename = "riss국내학술지.txt"
= open(filename, 'r', encoding='utf-8')
news = f.read()
 
okt = Okt()
okt = Hannanum()
noun = okt.nouns(news)
count = Counter(noun)
 
noun_list = count.most_common(1000)
for v in noun_list:
    print(v)
 
with open("noun_list.csv""w", newline='', encoding='utf-8'as f:
    csvw = csv.writer(f)
    for v in noun_list:
        csvw.writerow(v)
cs

konlpy의 Okt와 Hannamum를 이용해서 어제 riss에서 추출한 학술지 논문 제목을 명사로 빈도분석했다. 

 

뿌-듯(그러나...)

논문의 영문 제목을 일일이 제거하는 방법을 몰라서 그냥 두었는데, VOSviewer를 이용할 때 의외의 이점이 되었다.

.txt 파일 자체로 다음과 같은 네트워크를 그릴 수 있었던 것.

물론 항목들의 명칭을 한국어로 나오게 하려면 결국 영어를 없애야겠지만... 

일단 오전 업무는 여기까지. 

 

 

 

20.11.25. 추가

영어와 특수문자를 없애는 코드는 이거다. 

full_word_list = []
full_sentence_list = []
for j in data['프로그램 명']:
    word_list = []
    sentence = ''
    text_analyze = hannanum.pos(j)
    for i in text_analyze:
        if 'N' in i:
            if i[0].isalpha() == True: #문자로만 구성되어 있는지 확인
                hangul = re.compile('[^ a-z ㄱ-ㅣ가-힣]+') #기호 모두 삭제 한글만 남기기
                word = hangul.sub('', i[0])
                re.sub('[^A-Za-z0-9가-힣]', '', i[0])
                if word != '' and word != ' ' and len(word) != 1:
                    word_list.append(word)
                    sentence = sentence + ' '+ word
        
    full_word_list.append(word_list)
    full_sentence_list.append(sentence)