KR102347328B1 - 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐 - Google Patents

빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐 Download PDF

Info

Publication number
KR102347328B1
KR102347328B1 KR1020200021101A KR20200021101A KR102347328B1 KR 102347328 B1 KR102347328 B1 KR 102347328B1 KR 1020200021101 A KR1020200021101 A KR 1020200021101A KR 20200021101 A KR20200021101 A KR 20200021101A KR 102347328 B1 KR102347328 B1 KR 102347328B1
Authority
KR
South Korea
Prior art keywords
data
diary
analysis
happiness
application
Prior art date
Application number
KR1020200021101A
Other languages
English (en)
Other versions
KR20210106209A (ko
Inventor
김희철
주문일
심종성
Original Assignee
인제대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인제대학교 산학협력단 filed Critical 인제대학교 산학협력단
Priority to KR1020200021101A priority Critical patent/KR102347328B1/ko
Publication of KR20210106209A publication Critical patent/KR20210106209A/ko
Application granted granted Critical
Publication of KR102347328B1 publication Critical patent/KR102347328B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본발명은 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템에 관한 것으로, 아키텍쳐 사용자들의 일기와 트위터들의 저장과 분석을 위해 비정형 데이터인 일기와 트윗의 텍스트들이 저장되는 단계;
저장된 텍스트 데이터들은 전처리과정을 거쳐서 한국어 감성 분석 알고리즘을 통해 데이터들이 분석되는 단계; 그 완료된 분석결과를 연산과 분석하는 단계;
행복도 다이어리 어플리케이션을 통해 행복도를 모니터링 하는 단계;를 포함하는 것으로,
본발명은 행 복도 다이어리 어플리케이션과 트위터의 크롤링을 통한 확보된 비정형 데이터 텍스트들을 저장하며 분석하여 정형적인 데이터로 나오는데 쉽고 빠르게 연산처리를 하며 범용적으로 사용할 수 있으며 사용자에게 결과를 실시간으로 보여줄 수 있는 현저한 효과가 있다.

Description

빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐{Personal emotion analysis monitoring system architecture using big data based text}
이 건 발명은 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐에 관한 것으로, 보다 상세하게는 행복도 다이어리 어플리케이션과 트위터의 크롤링을 통한 확보된 비정형 데이터 텍스트들을 저장하며 분석하여 정형적인 데이터로 나오는데 쉽고 빠르게 연산처리를 하며 범용적으로 사용할 수 있으며 사용자에게 결과를 실시간으로 보여줄 수 있는 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐에 관한 것이다.
현재의 텍스트 마이닝 기술은 소비자 또는 사용자의 영화의 흥행, 국내외의 사회적 이슈 등에 대한 정보를 소셜 빅 데이터를 통해 미래를 바라보는 형태의 기술로 많이 사용되고 있다. 이러한 소셜 빅 데이터에는 개인이 느끼는 감정과 표현들을 솔직하고 다양하게 기록되어 있으며, 그로써 개인의 느끼는 감정과 표현들을 보다 쉽게 접할 수 있다.
그로써 소셜 빅 데이터와 일기에 대한 개인의 데이터들을 수집하는 것과 분석하는 시스템이 중요해질 것이다. 하지만 수많은 SNS의 텍스트와 일기의 데이터가 업로드 되고 있지만 그 데이터들은 기록하는 것과 공유하는 것에 미치지 않는다. 일반적으로는 소셜빅데이터는 취향, 관심사 파악 등에 사용되고 있다. 취향과 관심사의 목적은 대부분 상업적인 용도에 이용되며 자신의 상태를 분석해주지는 않는다. 일기 쓰기라는 글쓰기는 자신의 감정을 표현하는 것을 해주지만 자신의 상태를 객관적으로 나타낼 수는 없다. 그 수많은 비정형 데이터를 저장하며 분석하여 사용자들에게 시각적으로 보여줄 수 있는 시스템이 필요하다. 일례로서 종래기술인 등록특허공보 등록번호 10-1561464호에는 통신망을 통해 수집되는 데이터에 대한 감성분석을 위한 방법에 있어서, 감성단어사전를 이용하여 상기 수집되는 데이터가 레이블 - 레이블은 극성정보를 나타냄 - 이 있는 데이터와 레이블이 없는 데이터로 분류하는 단계; 상기 레이블이 있는 데이터를 기반으로 기계학습방식을 통해 감성분석 모델을 생성하는 단계; 상기 생성된 감성분석모델을 이용하여 상기 레이블이 없는 데이터의 레이블을 예측하는 단계를 포함하되, 상기 레이블 예측 단계는, 상기 감성분석 모델의 분류경계로부터의 상기 레이블이 없는 데이터의 이격 거리와 임계값과의 비교를 통해 상기 레이블이 없는 데이터의 레이블을 예측하는 단계를 포함하는 것을 특징으로 하는 데이터 감성분석 방법이 공개되어 있다.
또한, 공개특허공보 공개번호 10-2019-0099973호에는 자연어처리를 통하여 1차 분류하여 기초DB를 확보하는 단계;
1차분류된 기초DB를 정제하며 오분류 수정을 통한 훈련업데이트로 기초DB를 보강하는 단계;
보강된 기초DB를 로 처리하여 보강DB를 생성하는 단계;
보강DB를 독립형 기계학습분류기로 갱신하여 메타DB를 축적하는 단계; 및
그래프, 도표 또는 그림의 시각화를 구현하는 단계;를 포함하는 것을 특징으로 하는 진화형 감성분석방법이 공개되어 있다.
그러나 상기 종래기술들은 비정형 데이터 텍스트들을 저장하고 분석하여 정형적인 데이터로 나오는데 시간이 많이 소요되어 범용적으로 사용하기가 어려우며 사용자에게 결과를 실시간으로 보여주거나 모니터링하기가 곤란하며 부정확하다는 단점이 있었다.
따라서 본 발명은 상기와 같은 문제점을 해결하고자 안출된 것으로, 행복도 다이어리 어플리케이션과 트위터의 크롤링을 통한 확보된 비정형 데이터 텍스트들을 저장하며 분석하여 정형적인 데이터로 나오는데 쉽고 빠르게 연산처리를 하며 범용적으로 사용할 수 있으며 사용자에게 결과를 실시간으로 보여줄 수 있는 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템을 제공하고자 하는 것이다.
본발명은 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템에 관한 것으로, 아키텍쳐 사용자들의 일기와 트위터들의 저장과 분석을 위해 비정형 데이터인 일기와 트윗의 텍스트들이 저장되는 단계;
저장된 텍스트 데이터들은 전처리과정을 거쳐서 한국어 감성 분석 알고리즘을 통해 데이터들이 분석되는 단계; 그 완료된 분석결과를 연산과 분석하는 단계;
행복도 다이어리 어플리케이션을 통해 행복도를 모니터링 하는 단계;를 포함하는 것을 특징으로 한다.
이 건 발명은 행 복도 다이어리 어플리케이션과 트위터의 크롤링을 통한 확보된 비정형 데이터 텍스트들을 저장하며 분석하여 정형적인 데이터로 나오는데 쉽고 빠르게 연산처리를 하며 범용적으로 사용할 수 있으며 사용자에게 결과를 실시간으로 보여줄 수 있는 현저한 효과가 있다.
도 1은 본발명의 행복도 분석 플랫폼 아키텍처
도 2는 본발명의 stemming algorithm 적용도
도 3는 본발명의 형태소 분석 소스도
도 4는 본발명의 형태소 분석 원문과 결과도
도 5는 본발명의 웹서비스
도 6은 본발명의 행복도 다이어리 리스트(트위터, 앱)도면
도 7은 본발명의 행복도 모니터링 시스템(트위터, 앱)도면
본발명은 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템에 관한 것으로, 아키텍쳐 사용자들의 일기와 트위터들의 저장과 분석을 위해 비정형 데이터인 일기와 트윗의 텍스트들이 저장되는 단계;
저장된 텍스트 데이터들은 전처리과정을 거쳐서 한국어 감성 분석 알고리즘을 통해 데이터들이 분석되는 단계; 그 완료된 분석결과를 연산과 분석하는 단계;
행복도 다이어리 어플리케이션을 통해 행복도를 모니터링 하는 단계;를 포함하는 것을 특징으로 한다.
또한, 상기 한국어 감성 분석 알고리즘은 stemming 알고리즘, 형태소 분석 알고리즘을 통해 데이터들이 분석되는 것이며, 그 완료된 분석결과를 Apache spark를 통해 연산과 분석하는 것을 특징으로 한다.
또한, 상기 행복도 다이어리 어플리케이션은 일기의 수집과 행복도의 모니터링을 맡은 어플리케이션으로, 다이어리 어플리케이션은 사용자가 일기만을 쓰고 싶을 때와 행복도 분석을 함께 할 수 있을 때로 나누어지는 것을 특징으로 한다.
본발명을 첨부도면에 의해 상세히 설명하면 다음과 같다. 도 1은 본발명의 행복도 분석 플랫폼 아키텍처, 도 2는 본발명의 stemming algorithm 적용도, 도 3는 본발명의 형태소 분석 소스도, 도 4는 본발명의 형태소 분석 원문과 결과도, 도 5는 본발명의 웹서비스, 도 6은 본발명의 행복도 다이어리 리스트(트위터, 앱)도면, 도 7은 본발명의 행복도 모니터링 시스템(트위터, 앱)도면이다.
본발명에서는 Happiness Diary 어플리케이션을 통해 얻어진 텍스트데이터를 수집하고 분석하기 위한 플랫폼에 대한 설명, 수집된 비정형화된 데이터를 감성분석 알고리즘을 통해 분석하는 방식, 분석하고 나타낸 결과 값을 분석한 후 나타나고 개인 행복도를 모니터링하는 보여주는 서비스에 대한 내용에 관한 것이다.
제안하는 발명은 행복도 분석 플랫폼을 통하여 얻은 일기와 트위터의 데이터를 SOAP 메시지를 통해 서버에 보낸 후 HBase DB에 Key/Value의 형식으로 저장한 후 하둡 HDFS를 통하여 각각의 노드에 분산 저장된다. 저장된 데이터를 통해서 전처리 과정인 Stemming Alogrithm과 형태소 분석기를 거친 후 감성 분석 알고리즘을 통하여 나타낸 행복도의 점수를 데이터베이스에 저장하였다. 데이터베이스에 저장된 행복도 점수들은 Apache spark를 통하여 주간·월간·연간 등의 행복도를 분석한다. 분석한 데이터를 어플리케이션을 통해 트위터와 개인을 모니터링하는 시스템이다. 그림6은 본 발명에서 행복도 분석을 위한 플랫폼 아키텍쳐이다.
텍스트 수집을 위한 플랫폼에 대해 설명하면 다음과 같다.
거대한 양의 텍스트 데이터를 저장하고 분산처리하기 위해서 자바 프레임워크인 하둡(Hadoop)을 사용한다. HDFS(Hadoop distributed file system)은 여러 기계에 파일들을 나눠서 저장함으로써 데이터들을 여러 서버에 중복 저장해 데이터의 유실이나 장애가 발생했을 경우 데이터 복구가 가능함으로써 데이터의 안정성을 얻을 수 있다. 수집된 데이터들은 HBase를 통해 Key / Value 형식으로 저장되어진다. HBase는 하둡의 HDFS위에 만들어진 분산 컬럼 기반의 데이터베이스이다. 구조화된 대용량의 데이터에 빠른 임의접근을 제공하는 구글의 빅 테이블과 비슷한 데이터 모델을 가지며, HDFS에 대한 실시간 임의 읽기/쓰기 기능을 제공하고 비구조화된 데이터를 다루기 위해 사용된다. 본 시스템에서는 Row Key는 해당 일기나 트윗의 내용이 생성된 날짜와 아이디 값으로 사용되고 있으며 아이디 값은 어플리케이션 아이디의 고유 값이다. Column Familiy로는 User의 트윗이나 자신의 일기를 판별과 사용자의 정보를 알 수 있는 userFamiliy 그리고 일기와 트윗의 내용에 대한 정보가 담긴 tweetFamiliy가 있다. 표1은 HBase 테이블의 구성 개요이다.
Row key userFamily tweetFamiliy
date+id nickname confirm date title text
20190623:zohb.. 은빛 application 2018/06/23 시험 오늘 시험을...
20190713:zohb.. 은빛 application 2018/07/13 방학 방학이 지난지...
20190820:zohb.. 은빛 tweet 2018/08/20 개강 지금까지 2달...
표 1은 HBase 테이블 구성 개요
해당 데이터의 테이블 경우에는 nickname 컬럼은 트윗에서 사용하는 닉네임 또는 어플리케이션에서 사용하는 닉네임이다. confirm의 컬럼과 같은 경우 트윗 사용자와 어플리케이션을 나누는 기준이다. 트윗의 내용을 분석하는 경우와 일기의 내용을 분석하는 경우이다.
1. 수집된 데이터의 분석 수집된 데이터를 분석을 위해서 텍스트 마이닝을 이용한 감성 분석 알고리즘을 사용하였다. 감성 분석 알고리즘을 사용하기 위해서 전처리 과정이 필요하며 전처리과정은 Stemming Algorithm과 형태소 분석을 이용하였다. Stemming Algorithm은 어형이 변형된 단어로부터 접사 등을 제거하고 그 단어의 어간을 분리해 내는 것이다. 같은 동사의 단어는 형용사의 형태에 따라 다른 뜻이 나타내는데 이것의 동사는 어간, 형용사는 어미라고 불려진다. 따라서 Stemming Algorithm은 이러한 어미에 따라 달라지는 단어를 어간을 분리해냄으로써 컴퓨터가 같은 단어로 인식할 수 있도록 어간을 추출하는 것이다.
그림 2를 볼 경우 먹으니, 먹고 등 모두 다른 형태지만 “먹는다.”라는 의미를 가지고 있다. 하지만 이 경우 컴퓨터는 모두 다른 의미를 가지고 있다고 판단한다. 그렇기 때문에 컴퓨터가 알아 볼 수 있도록 Stemming Algorithm을 사용하여 “먹다”로 형태를 바꾸어 동의어의 형태로 만들어 냈다.
형태소 분석은 어절을 최소의 의미 단위로 분석하는 것이다. 형태소 분석은 ‘내일의’, ‘내일에’와 같은 단어에서 ‘내일’이라는 단어를 추출하기에 매우 적합하다. 한국 감성 분석 알고리즘을 사용하기 위해서는 구축되어있는 감성 사전과 비교가 가능하여야하기 때문에 ‘내일’과 같은 단어로 단어의 원형을 찾아내는 작업이 필요하다. 그림??의 소스에서 ‘analyze’의 메소드에선 후 처리 없는 형태소를 분석한 후 ‘postProcess’에서 후 처리를 맡는다. ‘leaveJustBest’를 거친 후에는 깔끔한 형태소 분석으로 마지막으로 형태소 분석은 마무리 지어진다. ‘divideToSentences’로 인해 문장별로 형태소 분석을 끝낸다.
그림 4가 해당 프로세스를 돌렸을 때 나오는 형태소 분석의 결과이다. 해당 형태소 분석이 끝날 경우 구축되어있는 감성 분석 사전과 비교하여 감성분석이 이루어 진 후 긍정단어, 부정단어, 감성 점수의 결과를 데이터베이스에 저장한다.
2. 감성 점수의 분석 결과
감성 분석을 통해 나온 결과들을 통해 데이터베이스에 저장되어있는 값들은 시각적으로 보여주는 인터페이스가 필요하다. 본 발명에서는 해당 값들을 어플리케이션에 보여주기 위하여 분석을 위한 Apache spark를 사용하였고 전송과 메시지를 전송하고 받을 수 있게 웹서비스를 사용하였다.
Apache spark는 빠른 계산을 위해 설계된 빠른 클러스터 컴퓨팅이다. Hadoop 클러스터에서 어플리케이션을 실행할 수 있도록 도와주고, 메모리에서 최대 100배, 디스크에서 실행할 때 최대 100배 빠르다. 이는 읽기/쓰기 작업 수를 줄임으로써 가능하다. spark는 Java, Scala, Phython 내장된 API를 제공한다. 또한 Spark Streaming과 같은 도구에서 ‘실시간 스트리밍’데이터를 처리할 수 있도록 하는 도구가 있기 때문에 감성 분석 결과에서 나온 데이터를 통한 분석의 연산이 필요하고, 실시간 분석을 사용하기 위해서 spark를 사용하였다. 이를 통해서 같은 분석기능인 hive보다 spark가 더 적합하다고 판단하였다. 표2는 Apach spark와 Apache hive비교이다.
Apache spark Apache hive
Scala, Java, Python 및 R언어 Java
실시간 데이터 처리 큰 데이터를 한 번에 처리
대기시간이 비교적 작음 대기시간이 더 높음
처리속도가 비교적 빠름 처리속도 느림
표 2는 Apache spark와 Apache hive 비교
본 발명에서는 실시간성과 연산처리에 알맞은 apache spark가 더 적합하다고 판단하였고, Spark sql을 사용하여 데이터를 처리하고 가공하였다. Spark SQL은 구조화 된 데이터 처리를 위한 spark 모듈이다. 구조화된 데이터셋을 간단하고 효율적으로 다룰 수 있는 기능을 제공한다. 표3은 Spark sql의 대표적 함수들이다.
함수이름 목적
show() 데이터 프레임의 내용을 보여준다.
select() 지정한 필드나 함수 결과를 가져온다.
filter() 조건에 맞는 레코드만을 가져온다.
groupBy() 칼럼에 따라 그룹화한다. 이어서 min(), max(), mean(), age()같은 집합 연산이 필요하다.
표 3은 Spark sql 함수
웹서비스는 네트워크상에서 서로 다른 컴퓨터들 간에 상호작용을 위한 시스템이며 이진 부호화가 아닌 XML 유니코드 부호화를 사용함으로써 상호 운용성이 높다. 이 중 메시지 전송 수단인 SOAP을 이용하여 통신한다. SOAP은 클라이언트에서 서버 쪽으로 메시지를 요청 하고, 서버는 메시지를 즉시 응답하게 되어있다. 본 시스템에서 soap은 클라이언트에서 작성된 일기, 로그인한 트윗의 내용을 서버에 전송, 전송된 데이터를 저장 후 분석을 통해 나오는 결과 값이 apache spark를 통해 연산한 후 그 값을 다시 클라이언트에 전송하는데 사용되고 있다.
3. 모니터링 시스템
행복도 다이어리 어플리케이션은 일기의 수집과 행복도의 모니터링을 맡은 어플리케이션이다. 앞의 시스템에서 사용하였던 Soap Message를 통해서 저장되어있는 일기가 서버로 보내진다. 다이어리 시스템은 사용자가 일기만을 쓰고 싶을 때와 행복도 분석을 함께 할 수 있을 때로 나누어진다. 일기만 쓰고 싶을 때의 어플리케이션의 기능은 사용자가 자신의 일기를 저장과 분석을 원하지 않는 사람도 있기 때문에 단지 일기를 작성하는 용도로의 어플리케이션으로도 사용할 수 있다. 자신의 일기가 서버에 저장되어있어서 어플리케이션을 삭제하는 과정에서도 일기를 보관하고 싶거나 행복도가 궁금하고 분석을 원하는 사람은 로그인을 통해서 보관과 행복도를 볼 수 있다. 개인의 행복도는 Soap Message를 통해 원하는 기간의 분석 결과를 가져올 수 있다. 일간, 주간, 월간의 데이터들이 필요하다고 서버에 요청을 하면 spark를 통해 행복도 기간별로의 분석결과를 클라이언트에 보내주면 그래프를 통해 사용자에게 나타내어준다. 그래프에서는 기간 동안의 평균치의 행복도를 나타내는 원형 그래프, 기간 동안의 행복도를 한눈에 볼 수 있는 막대그래프로 행복도 플랫폼의 모니터링 시스템이 나누어져있다.
본발명의 구체적 실시례로서 적용 사례는 다음과 같다.
1. 텍스트 데이터 획득 및 저장
Happiness 다이어리 어플리케이션을 통해서 일기를 쓰거나 트윗을 저장하여 텍스트 데이터를 얻는다. 어플리케이션을 통해 쓰여진 데이터들은 안드로이드의 내부 데이터베이스에도 저장된다. 저장된 데이터들은 ksoap2 라이브러리를 통해서 SOAP Message로 서버로 전송된다. 서버로 전송 될 때는 ‘hbaseCon’의 메소드를 이용하게 된다.
그림 5와 같이 행복도 다이어리 클라이언트를 통해 일기의 내용을 적게되면 해당 글의 내용을 Soap Message를 통해서 아이디, 닉네임, 제목, 날짜, 내용의 형태로 행복도 다이어리 서버로 보내지게 된다.
그림 7과 같이 SOAP Message를 통해 서버에 전송된 데이터는 HBase와 연결되어있는 소스코드가 실행되며 각 사용자의 정보와 일기의 정보들이 HBase테이블에 저장되는 것과 HDFS에 저장한다.
2. 감성 분석 알고리즘
어플리케이션의 감성 분석 알고리즘의 시작은 HBase에 있는 일기 본문의 내용의 텍스트를 가져온다. HBase 테이블에 있는 원하는 값을 가져오기 위해서는 Key/Value 형식으로 되어있는 값을 찾아야한다. RowKey값을 가지고 있는 ‘rowStr’에서 날짜+id값으로 되어있는 고유의 값을 입력 한 후 원하는 컬럼의 값을 입력하면 원하는 값을 가지고 올 수 있다. 본 시스템에서는 일기의 본문 내용이 들어있는 컬럼의 이름을 입력한다.
가지고온 텍스트 데이터를 활용하여 먼저 형태소 분석을 한다. 전처리 작업이 끝나면 감성 분석을 위해 구축되어있는 감성 사전과 비교하여 긍정점수와 부정점수를 분석하여 데이터베이스에 저장한다.
분석이 끝난 감성분석 결과를 통해 얻어진 데이터를 통해 spark의 Spark SQL을 사용한다. ‘filter’함수를 통해서 조건에 맞는 데이터를 가져온다. 원하는 데이터를 얻기 위해서는 filter함수에 알맞은 조건을 입력해야하는데 해당 시스템 중 원하는 기간의 데이터의 결과들을 가져오는 함수이기 때문에 ‘gt’칼럼 데이터의 이상, ‘it’칼럼 데이터의 이하의 조건을 가지고서 정보를 가져오기 때문에 원하는 기간의 데이터들을 가지고 온다.
3. 데이터 전송 및 응답
데이터의 전송과 응답은 웹서비스를 이용해서 해결된다. 웹서비스에서 메시지를 전송하는 방식은 Soap Message를 사용한다. 본 서비스에서 대표적으로 사용하는 크게 일기의 내용을 저장하고 가지고 오는 것과 분석된 행복도의 결과물을 받을 수 있는 2가지로 나누어진다. 일기를 저장하고 가져오는 메소드는 ‘hbaseCon’와 ‘getDiaryList’가 있다 ‘hbaseCon’메소드는 사용자의 일기 데이터를 가지고와서 HBase를 통해 저장하는 메소드, ‘getDiaryList’는 사용자가 다른 곳이나 새롭게 로그인 하였을 때 기존 데이터를 복원하는 용도의 메소드로 사용하며 사용자의 일기데이터를 모두 가져온다. 분석된 행복도의 결과물을 가져오는 메소드는 ‘getHappinessData’와 ‘getHappinessTweetData’가 있으며 두 메소드 모두 사용자의 데이터와 원하는 기간이나 날짜의 입력이 있으면 Apache spark를 통해 분석된 기간 동안의 행복도의 데이터들과 평균값을 전송해준다.
Soap Message를 통해 가져온 행복도의 분석 값들은 어플리케이션을 통해서 그래프로 보여진다. 그림 7과 같이 그래프에서는 기간 동안의 평균치의 행복도를 나타내는 원형 그래프, 기간 동안의 트위터의 글을 통해서 분석되어있는 행복도를 한눈에 볼 수 있는 막대그래프로 또한 그 긍정단어와 부정단어의 키워드를 알려주는 행복도 플랫폼의 모니터링 시스템이 나누어져있다.
삭제

Claims (3)

  1. 사용자들의 일기와 트위터들의 저장과 분석을 위해 비정형 데이터인 일기와 트윗의 텍스트들이 행복도 다이어리 어플리케이션에 의해 저장되는 단계;
    저장된 텍스트 데이터들은 전처리과정을 거쳐서 행복도 다이어리 어플리케이션의 한국어 감성 분석 알고리즘을 통해 데이터들이 분석되는 단계; 그 완료된 분석결과를 연산과 분석하는 단계;
    상기 행복도 다이어리 어플리케이션을 통해 행복도를 모니터링 하는 단계;를 포함하며, 상기 한국어 감성 분석 알고리즘은 stemming 알고리즘, 형태소 분석 알고리즘을 통해 데이터들이 분석되는 것이며, 그 완료된 분석결과를 Apache spark를 통해 연산과 분석하는 것이며, 상기 행복도 다이어리 어플리케이션은 일기의 수집과 행복도의 모니터링을 맡은 어플리케이션으로, 다이어리 어플리케이션은 사용자가 일기만을 쓰고 싶을 때와 행복도 분석을 함께 할 수 있을 때로 나누어지는 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐에 있어서,
    상기 텍스트 데이터를 저장하고 분산처리하기 위해서 자바 프레임워크인 하둡(Hadoop)을 사용하는 것으로, HDFS(Hadoop distributed file system)은 여러 기계에 파일들을 나눠서 저장함으로써 데이터들을 여러 서버에 중복 저장해 데이터의 유실이나 장애가 발생했을 경우 데이터 복구가 가능함으로써 데이터의 안정성을 얻을 수 있고 수집된 데이터들은 HBase를 통해 Key / Value 형식으로 저장되어지고, HBase는 하둡의 HDFS위에 만들어진 분산 컬럼 기반의 데이터베이스이며, 구조화된 대용량의 데이터에 빠른 임의접근을 제공하는 데이터 모델을 가지며, HDFS에 대한 실시간 임의 읽기/쓰기 기능을 제공하고 비구조화된 데이터를 다루기 위해 사용되며, Row Key는 해당 일기나 트윗의 내용이 생성된 날짜와 아이디 값으로 사용되고 있으며 아이디 값은 어플리케이션 아이디의 고유 값이고 Column Familiy로는 User의 트윗이나 자신의 일기를 판별과 사용자의 정보를 알 수 있는 userFamiliy 그리고 일기와 트윗의 내용에 대한 정보가 담긴 tweetFamiliy가 있으며,
    데이터의 테이블 경우에는 nickname 컬럼은 트윗에서 사용하는 닉네임 또는 어플리케이션에서 사용하는 닉네임이고 confirm의 컬럼과 같은 경우 트윗 사용자와 어플리케이션을 나누는 기준이며, 트윗의 내용을 분석하는 경우와 일기의 내용을 분석하는 경우가 있으며, 수집된 데이터의 분석 수집된 데이터를 분석을 위해서 텍스트 마이닝을 이용한 감성 분석 알고리즘을 사용하는 것으로, 감성 분석 알고리즘을 사용하기 위해서 전처리 과정이 필요하며 전처리과정은 Stemming Algorithm과 형태소 분석을 이용하며, Stemming Algorithm은 어형이 변형된 단어로부터 접사 등을 제거하고 그 단어의 어간을 분리해 내는 것이고 같은 동사의 단어는 형용사의 형태에 따라 다른 뜻이 나타내는데 이것의 동사는 어간, 형용사는 어미라고 불려지므로 Stemming Algorithm은 이러한 어미에 따라 달라지는 단어를 어간을 분리해냄으로써 컴퓨터가 같은 단어로 인식할 수 있도록 어간을 추출하는 것이고,
    형태소 분석은 어절을 최소의 의미 단위로 분석하는 것으로, 해당 형태소 분석이 끝날 경우 구축되어있는 감성 분석 사전과 비교하여 감성분석이 이루어 진 후 긍정단어, 부정단어, 감성 점수의 결과를 데이터베이스에 저장하며,
    감성 분석을 통해 나온 결과들을 통해 데이터베이스에 저장되어있는 값들을 어플리케이션에 보여주기 위하여 분석을 위한 Apache spark를 사용하였고 전송과 메시지를 전송하고 받을 수 있게 웹서비스를 사용하며,
    웹서비스는 네트워크상에서 서로 다른 컴퓨터들 간에 상호작용을 위한 시스템이며 이진 부호화가 아닌 XML 유니코드 부호화를 사용함으로써 상호 운용성이 높고 이 중 메시지 전송 수단인 SOAP을 이용하여 통신하며, SOAP은 클라이언트에서 서버 쪽으로 메시지를 요청 하고, 서버는 메시지를 즉시 응답하게 되어있고 soap은 클라이언트에서 작성된 일기, 로그인한 트윗의 내용을 서버에 전송, 전송된 데이터를 저장 후 분석을 통해 나오는 결과 값이 apache spark를 통해 연산한 후 그 값을 다시 클라이언트에 전송하는데 사용되며,
    행복도 다이어리 어플리케이션은 일기의 수집과 행복도의 모니터링을 맡은 어플리케이션으로 Soap Message를 통해서 저장되어있는 일기가 서버로 보내지고 다이어리 모듈은 사용자가 일기만을 쓰고 싶을 때와 행복도 분석을 함께 할 수 있을 때로 나누어지되, 일기만 쓰고 싶을 때의 어플리케이션의 기능은 사용자가 자신의 일기를 저장과 분석을 원하지 않는 사람도 있기 때문에 단지 일기를 작성하는 용도로의 어플리케이션으로도 사용할 수 있고 자신의 일기가 서버에 저장되어있어서 어플리케이션을 삭제하는 과정에서도 일기를 보관하고 싶거나 행복도가 궁금하고 분석을 원하는 사람은 로그인을 통해서 보관과 행복도를 볼 수 있게 되며, 개인의 행복도는 Soap Message를 통해 원하는 기간의 분석 결과를 가져올 수 있으며, 일간, 주간, 월간의 데이터들이 필요하다고 서버에 요청을 하면 spark를 통해 행복도 기간별로의 분석결과를 클라이언트에 보내주면 그래프를 통해 사용자에게 나타내어는 것을 특징으로 하는 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐
  2. 삭제
  3. 삭제
KR1020200021101A 2020-02-20 2020-02-20 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐 KR102347328B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200021101A KR102347328B1 (ko) 2020-02-20 2020-02-20 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200021101A KR102347328B1 (ko) 2020-02-20 2020-02-20 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐

Publications (2)

Publication Number Publication Date
KR20210106209A KR20210106209A (ko) 2021-08-30
KR102347328B1 true KR102347328B1 (ko) 2022-01-04

Family

ID=77502145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200021101A KR102347328B1 (ko) 2020-02-20 2020-02-20 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐

Country Status (1)

Country Link
KR (1) KR102347328B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894194B1 (ko) 2017-08-23 2018-10-04 건국대학교 산학협력단 감성 기반의 사용자 관리 방법 및 이를 수행하는 장치들

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090017149A (ko) * 2007-08-14 2009-02-18 주식회사 케이티 감정 콘텐츠 제공 시스템 및 방법
KR101613259B1 (ko) * 2014-07-17 2016-04-19 건국대학교 산학협력단 소셜 네트워크 서비스 사용자의 감성 분석 시스템 및 그 방법
KR20180023351A (ko) * 2016-08-25 2018-03-07 건국대학교 산학협력단 뉴스 요약을 생성하는 방법 및 장치
KR20190086140A (ko) * 2018-01-12 2019-07-22 김용환 프로필 상태 정보와 일기 콘텐츠를 이용한 도서 추천 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101894194B1 (ko) 2017-08-23 2018-10-04 건국대학교 산학협력단 감성 기반의 사용자 관리 방법 및 이를 수행하는 장치들

Also Published As

Publication number Publication date
KR20210106209A (ko) 2021-08-30

Similar Documents

Publication Publication Date Title
US11720572B2 (en) Method and system for content recommendation
Neri et al. Sentiment analysis on social media
US20190102374A1 (en) Predicting future trending topics
US20150310352A1 (en) Systems and method for performing contextual classification using supervised and unsupervised training
Hettiarachchi et al. Embed2Detect: temporally clustered embedded words for event detection in social media
Ha et al. MapReduce functions to analyze sentiment information from social big data
Tutubalina et al. Exploring convolutional neural networks and topic models for user profiling from drug reviews
Tiwari et al. Ensemble approach for twitter sentiment analysis
El Abdouli et al. Sentiment analysis of moroccan tweets using naive bayes algorithm
Rafail et al. Natural language processing
Srividya et al. Aspect based sentiment analysis using POS tagging and TFIDF
Moh et al. On adverse drug event extractions using twitter sentiment analysis
Tang et al. Research on automatic labeling of imbalanced texts of customer complaints based on text enhancement and layer-by-layer semantic matching
Jawad et al. Advancement of artificial intelligence techniques based lexicon emotion analysis for vaccine of COVID-19
Fócil-Arias et al. A tweets classifier based on cosine similarity
Guven The comparison of language models with a novel text filtering approach for turkish sentiment analysis
Boulouard et al. Machine learning for hate speech detection in arabic social media
CN117591546A (zh) 查询语句生成方法和装置、电子设备、存储介质
Rakshitha et al. Machine Learning based Analysis of Twitter Data to Determine a Person's Mental Health Intuitive Wellbeing
KR102347328B1 (ko) 빅데이터 기반의 텍스트를 활용한 개인 감성분석 모니터링 시스템 아키텍쳐
Ramsingh et al. Data analytic on diabetic awareness with Hadoop streaming using map reduce in python
Belkaroui et al. Conversational based method for tweet contextualization
US20230252054A1 (en) Providing a state-of-the-art summarizer
Ren Emotion analysis of cross-media writing text in the context of big data
Saputra et al. C4. 5 and naive bayes for sentiment analysis Indonesian Tweet on E-Money user during pandemic

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant