티스토리 뷰
이번 글에서는 네이버 영화리뷰 데이터에서 실제 리뷰 문장을 읽어 명사만 추출하고자 한다.
형태소 분석기는 Mecab 형태소 분석기를 활용할 것이다.
실행환경은 윈도우즈10에서 파이참을 사용한다.
윈도우즈에서 Mecab을 사용하기 위한 방법은
https://joyhong.tistory.com/127
에서 설명한 적이 있다.
명사를 추출할 대상이 되는 파일은 이전 글에서 생성한 데이터를 활용할 것이다.
코드
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '1'
from konlpy.tag import Mecab
from tqdm import tqdm
from pykospacing import spacing
def tokenize(corpus_fname, output_fname, space=False):
tokenizer = Mecab(dicpath='C:/mecab/mecab-ko-dic')
toatal_lines = sum(1 for line in open(corpus_fname, 'r', encoding='utf-8'))
# tqdm에 입력할 total 값을 구하기 위해 사용,
with open(corpus_fname, 'r', encoding='utf-8') as f1, \
open(output_fname, 'w', encoding='utf-8') as f2:
for _, line in tqdm(enumerate(f1), total=toatal_lines):
sentence = line.replace('\n', '').strip()
if space:
sentence = spacing(line.replace('\n', '').strip())
# 띄어쓰기 교정을 수행.. 단, 시간이 오래 걸림
tokenized_sent = ' '.join(tokenizer.nouns(sentence))
f2.writelines(tokenized_sent + '\n')
tokenize('D:/Data/embedding/data/processed/processed_ratings.txt', 'D:/Data/embedding/data/tokenized/ratings_mecab.txt')
실행화면
위 코드를 실행하면 원 텍스트에서 명사를 추출하고
명사 목록을 띄어쓰기로 구분하여 나열한 결과를 확인할 수 있다.
형태소 분석기로 Mecab을 사용했는데 위의 결과는 mecab의 사용자 사전 구성에 따라 달라질 수 있으며,
위의 결과는 기본 사전만을 사용한 결과이며,
형태소 분석을 하기 전에 띄어쓰기 교정을 수행 후 분석을 한 결과이다.
참고:
위에서 사용한 코드는 https://github.com/ratsgo/embedding/blob/master/preprocess/supervised_nlputils.py 에서 가져와 일부 수정하여 사용하였습니다.
'ML&DL' 카테고리의 다른 글
Word2Vec - 시각화(t-SNE, PCA) (2) | 2020.08.12 |
---|---|
임베딩 - Word2Vec (5) | 2020.08.12 |
데이터 전처리 - 네이버 영화리뷰 (0) | 2020.08.11 |
pyeunjeon - koNLPy 스타일 mecab 래퍼 사용하기 (12) | 2020.07.24 |
윈도우 환경에서 mecab 사용자 사전 추가하기 (0) | 2020.07.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 스프링부트
- 트리플 변환
- pyvis
- cypher
- networkx
- neosemantics
- 트리플
- 타임리프
- RDF 변환
- Neo4j
- Linked Data
- LOD
- 그래프 데이터베이스
- 사이퍼
- RDF
- django
- TBC
- sparql
- 지식그래프
- TDB
- Ontology
- TopBraid Composer
- 장고
- rdfox
- 지식 그래프
- Knowledge Graph
- property graph
- stardog
- Thymeleaf
- 온톨로지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 |
글 보관함