Giter VIP home page Giter VIP logo

sks's Introduction

뉴빅 해커톤 api 서버

spring-boot
jpa

sks's People

Contributors

yoons6586 avatar

sks's Issues

화면 구성

액티비티

1번 페이지

name, image, description

2번 페이지

  1. wordCloud + 긍정적 데이터(+) / 부정적 데이터(-)
  2. 스팩트럼

3번 페이지

  • 뉴스 history
    • 연도별로 브랜드 관련 기사를 보여주기

쇼핑몰 페이지

open api

Brand News API 문서

API 문서


브랜드 긍정 뉴스 리스트

개요

  • 브랜드와 연관된 기사 본문에 긍정 단어가 파악 될 시, 관련 뉴스 리스트를 리턴
  • 해당 뉴스에 대한 고유 정보 및 url을 포함한다.

요청 URL

  • https://brand_news.com/analyze/access_news_list/good

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "brand_name" : "한국언론진흥재단",
    "brand_key" : "news_41230",
    "date_time" : "20190509"
    "date_type" : "daily",
    "top_count" : "5"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
brand_name x ${brand_name} 브랜드 대표 상호명
부 상호명은 노출하지 않음
brand_key x ${brand_key} 브랜드를 판별하는 키 값
date_time o YYYYMMDD 조회할 시간 선택
date_type o weekly or daily 조회할 시간의 타입 선택
top_count o 1 <= x <= 20 받을 긍정 뉴스 리스트 수
  • brand_name이나 brand_key의 경우 무조건 하나는 정확히 정의되어야 한다.
  • date_type의 경우 주단위 분석 결과(weekly), 일단위 분석 결과(daily) 설정이 가능하다.

응답 형식

{
    "pos_news_ids" : [
        {
            news_id : "news_1",
            news_pos_keywords : ["자선", "기부", ...]
            news_url : "http://www.naver.com",
            news_content : "뉴스 본문에 대한 정보를 리턴합니다...",
        },
        {
            news_id : "news_2",
            ...
        }
    ],
    "brand_name" : "한국언론진흥재단",
    "date_time" : "20190509",
}

응답 상세

key value Description
pos_news_ids json_array 받을 뉴스 리스트 배열
news_id ${news_id} 해당 뉴스의 고유 번호(openAPI 사용)
news_pos_keywords json_array 해당 뉴스에서 검출된 긍정 단어 리스트
news_url HTTP_URL 해당 뉴스 링크 정보
news_content ${text} 뉴스 본문 정보, 최대 200자 제한

브랜드 부정 뉴스 리스트

개요

  • 브랜드와 연관된 기사 본문에 부정 단어가 파악 될 시, 관련 뉴스 리스트를 리턴
  • 해당 뉴스에 대한 고유 정보 및 url을 포함한다.

요청 URL

  • https://brand_news.com/analyze/access_news_list/bad

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "brand_name" : "한국언론진흥재단",
    "brand_key" : "news_41230",
    "date_time" : "20190509"
    "date_type" : "daily",
    "top_count" : "5"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
brand_name x ${brand_name} 브랜드 대표 상호명
부 상호명은 노출하지 않음
brand_key x ${brand_key} 브랜드를 판별하는 키 값
date_time o YYYYMMDD 조회할 시간 선택
date_type o weekly or daily 조회할 시간의 타입 선택
top_count o 1 <= x <= 20 받을 부정 뉴스 리스트 수
  • brand_name이나 brand_key의 경우 무조건 하나는 정확히 정의되어야 한다.
  • date_type의 경우 주단위 분석 결과(weekly), 일단위 분석 결과(daily) 설정이 가능하다.

응답 형식

{
    "neg_news_ids" : [
        {
            news_id : "news_1",
            news_neg_keywords : ["전범", "횡령", ...]
            news_url : "http://www.naver.com",
            news_content : "뉴스 본문에 대한 정보를 리턴합니다...",
        },
        {
            news_id : "news_2",
            ...
        }
    ],
    "brand_name" : "한국언론진흥재단",
    "date_time" : "20190509",
}

응답 상세

key value Description
pos_news_ids json_array 받을 뉴스 리스트 배열
news_id ${news_id} 해당 뉴스의 고유 번호(openAPI 사용)
news_neg_keywords json_array 해당 뉴스에서 검출된 부정 단어 리스트
news_url HTTP_URL 해당 뉴스 링크 정보
news_content ${text} 뉴스 본문 정보, 최대 200자 제한

브랜드 뉴스 리스트

개요

  • 브랜드와 연관된 뉴스 리스트를 출력
  • 해당 뉴스에 대한 고유 정보 및 url을 포함한다.

요청 URL

  • https://brand_news.com/analyze/access_news_list/all

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "brand_name" : "한국언론진흥재단",
    "brand_key" : "news_41230",
    "date_time" : "20190509"
    "date_type" : "daily",
    "top_count" : "5"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
brand_name x ${brand_name} 브랜드 대표 상호명
부 상호명은 노출하지 않음
brand_key x ${brand_key} 브랜드를 판별하는 키 값
date_time o YYYYMMDD 조회할 시간 선택
date_type o weekly or daily 조회할 시간의 타입 선택
top_count o 1 <= x <= 20 받을 뉴스 리스트 수
  • brand_name이나 brand_key의 경우 무조건 하나는 정확히 정의되어야 한다.
  • date_type의 경우 주단위 분석 결과(weekly), 일단위 분석 결과(daily) 설정이 가능하다.

응답 형식

{
    "news_ids" : [
        {
            news_id : "news_1",
            news_keywords : ["라인", "빅데이터", ...]
            news_url : "http://www.naver.com",
            news_content : "뉴스 본문에 대한 정보를 리턴합니다...",
        },
        {
            news_id : "news_2",
            ...
        }
    ],
    "brand_name" : "한국언론진흥재단",
    "date_time" : "20190509",
}

응답 상세

key value Description
pos_news_ids json_array 받을 뉴스 리스트 배열
news_id ${news_id} 해당 뉴스의 고유 번호(openAPI 사용)
news_keywords json_array 해당 뉴스에서 검출된 부정 단어 리스트
news_url HTTP_URL 해당 뉴스 링크 정보
news_content ${text} 뉴스 본문 정보, 최대 200자 제한

워드 클라우드

  • 브랜드와 연관된 키워드와 가중치를 리턴한다.
  • 해당 날짜 기준 가장 이슈가 되었던 단어 정보를 확인할 수 있다.

요청 URL

  • https://brand_news.com/analyze/access_word_cloud

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "brand_name" : "한국언론진흥재단",
    "brand_key" : "news_41230",
    "date_time" : "20190509"
    "date_type" : "weekly",
    "top_count" : "5",
    "sort" : "desc"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
brand_name x ${brand_name} 브랜드 대표 상호명
부 상호명은 노출하지 않음
brand_key x ${brand_key} 브랜드를 판별하는 키 값
date_time o YYYYMMDD 조회할 시간 선택
date_type o weekly or daily 조회할 시간의 타입 선택
top_count o 1 <= x <= 20 출력될 단어의 수를 리턴한다
sort x asc or desc 가중치에 따른 rank 기준을 정의한다.(기본값 : 내림차순)
  • brand_name이나 brand_key의 경우 무조건 하나는 정확히 정의되어야 한다.
  • date_type의 경우 주단위 분석 결과(weekly), 일단위 분석 결과(daily) 설정이 가능하다.

응답 형식

{
    "keywords" : [
        {
            "rank" : "1",
            "word" : "빅카인즈"
            "weight" : "74.48"
        },
        {
            "rank" : "2",
            "word" : "공공"
            "weight" : "69.12"
        },
        ...
    ],
    "brand_name" : "한국언론진흥재단",
    "date_time" : "20190509",
}

응답 상세

key value Description
keywords json_array 관련 단어 리스트, 각 단어마다의 상세 정보를 jsonArray형태로 리턴
rank ${integer} 워드클라우드에서 차지하는 단어의 가중치 순위(기본값:내림차순)
word ${string} 키워드
weight ${float} 해당 키워드의 가중치 정보
brand_name ${brand_name} 브랜드명
date_time YYYYMMDD 요청한 날짜 정보

특정 시간대 키워드

  • 단순히 해당 브랜드에 대한 top..이 아니라 특정 시간별 검색이 가능함
  • 특정 시간과 기간을 입력받아, 해당 시점의 이슈가 되었던 키워드 정보를 리턴한다.
  • 이벤트의 홍보 효과 또는 사업 동향등의 정보를 이 API를 통해 확인할 수 있다.

요청 URL

  • https://brand_news.com/analyze/time_keyword

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "date_time" : "20190509"
    "date_type" : "weekly",
    "top_count" : "10"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
date_time o YYYYMMDD 조회할 시간 선택
date_type o weekly or daily 조회할 시간의 타입 선택
top_count o 1 <= x <= 20 출력될 단어의 수를 리턴한다
  • date_type의 경우 주단위 분석 결과(weekly), 일단위 분석 결과(daily) 설정이 가능하다.

응답 형식

{
    "keywords" : [
        {
            "rank" : "1",
            "word" : "빅카인즈"
            "weight" : "74.48"
            "brand_name": "",
            "brand_category": ""
        },
        {
            "rank" : "2",
            "word" : "공공"
            "weight" : "69.12"
            "brand_name" : "맥도날드",
            "brand_category": "식사"
        },
        ...
    ],
    "date_time" : "20190509"
}

응답 상세

key value Description
keywords json_array 관련 단어 리스트, 각 단어마다의 상세 정보를 jsonArray형태로 리턴
rank ${integer} 워드클라우드에서 차지하는 해당 단어의 가중치 순위를 나타낸다.(기본값:내림차순)
brand_name ${brand_name} 해당 브랜드의 이름을 리턴
brand_category 식사, 카페, 의류, ... 브랜드의 관련 사업 분야 리턴
date_time YYYYMMDD 요청한 날짜 정보를 리턴한다.

사업 분야별 이슈 정도

  • 각종 사업 카테고리별 이슈도를 확인
  • 뉴스를 기반으로 어느 사업분야가 많이 노출되고 있는지 파악할 수 있다.
  • 기본적으로 입력받은 날짜 기준 주단위 통계를 제공한다(weekly)

요청 URL

  • https://brand_news.com/analyze/issue_category

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "date_time" : "20190509"
    "top_count" : "10"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
date_time o YYYYMMDD 조회할 시간 선택
top_count o 1 <= x <= 20 출력될 단어의 수를 리턴한다

응답 형식

{
    "categories" : [
        {
            "brand_category_index" : "cat_00001",
            "brand_category" : "카페",
            "user_click": "128402"
        },
        {
            "brand_category_index" : "cat_00002",
            "brand_category" : "식사",
            "user_click": "102833",
        },
        ...
    ],
    "date_range_start" : "20190506",
    "date_range_end" : "20190512"
}

응답 상세

key value Description
categories json_array Brand-NEWs가 제공하는 사업 분야 리스트
brand_category_index ${hash} 내부적으로 저장되어 있는 고유 카테고리 번호
brand_category ${brand_category} 카테고리명
user_click ${integer} 해당 카테고리와 관련된 뉴스 기사의 수
date_range_start ${YYYYMMDD} 조회하는 해당 주의 시작 날짜(Monday)
date_range_end ${YYYYMMDD} 조회하는 해당 주의 마지막 날짜(Sunday)

실시간 이슈 지역 지도

  • 실시간 분석을 통해 지역 정보가 포함된 정보를 기준으로 이슈 발생 지역을 확인한다.
  • 지역 정보는 행정 구역상 중심 좌표를 기준으로 출력
  • 지역명이 포함되는 뉴스의 수에 따라 지표가 변화할 수 있다.
  • 뉴스 발행 수 기준 내림차순으로 정렬되어 리턴한다.

요청 URL

  • https://brand_news.com/analyze/issue_map

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "top_count" : "10"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
top_count o 1 <= x <= 20

응답 형식

{
    "regions" : [
        {
            "region_index" : "...",
            "latitude" : "cat_00001",
            "longitude" : "카페", ### TODO 여기서부터 작업시작
            "news_count": "128402"
            "rank" : "1"
        },
        {
            "region_index" : "...",
            "latitude" : "cat_00001",
            "longitude" : "카페", ### TODO 여기서부터 작업시작
            "news_count": "128402"
            "rank" : "2"
        },
        ...
    ]
}

응답 상세

key value Description
regions json_array 지역 정보를 포함하는 json_array
region_index ${region_index} 지역 고유 인덱스 번호
latitude ${float, 37.1203124} 지역 위도(원 중심)
longitude ${float, 128.1234521} 지역 경도(원 중심)
news_count ${integer} 해당 지역 정보를 포함하는 뉴스 기사의 수
rank ${integer} news_count 별 정렬시 리턴되는 카운트의 수

사업 분야별 사용자 뉴스 피드백

  • 사업 카테고리별로 뉴스 기사의 사용자의 반응 정도를 확인할 수 있다.
  • 특정 메인 포털 사이트의 지표에 의존적

요청 URL

  • https://brand_news.com/analyze/category_feedback

요청 형식

{
    "access_key" : "abcde-fghij-12345-67890",
    "date_time" : "20190509",
    "top_count" : "4"
}

요청 상세

key required value Description
access_key o ${access_key} 사업자가 발급받은 고유 키
date_time o YYYYMMDD 조회할 시간
top_count o 1 <= x <= 20 출력될 카테고리 수

응답 형식

{
    "categories" : [
        {
            "brand_category_index" : "cat_00001",
            "brand_category" : "카페",
            "favorite_count": "1042",
        },
        {
            "brand_category_index" : "cat_00002",
            "brand_category" : "식사",
            "favorite_count": "922",
        },
        ...
    ],
    "date_range_start" : "20190506",
    "date_range_end" : "20190512"
}

응답 상세

key value Description
categories json_array Brand-NEWs가 제공하는 사업 분야 리스트
brand_category_index ${hash} 내부적으로 저장되어 있는 고유 카테고리 번호
brand_category ${brand_category} 카테고리명
favorite_count ${integer} 해당 카테고리와 관련된 사용자 반응 수
date_range_start ${YYYYMMDD} 조회하는 해당 주의 시작 날짜(Monday)
date_range_end ${YYYYMMDD} 조회하는 해당 주의 마지막 날짜(Sunday)

무엇을 만들까..?

브랜드 이름 검색시

  1. 뉴스 기사들을 연도별로 보내줘야 함
  2. 기사를 분석해서 착한기사 나쁜기사를 판단한 뒤 + / -(갯수) 로 보여줘야 한다.
  3. 키워드만 나오는 것(ex. 전범기업, 기부 ...) == word cloud
  4. name, image, description
  5. 기사를 클릭시 전체 기사로 보내줄 수 있게 해줘야 함 (provider_link_page)

윤성 개발 업무

해야할 일...

  • swagger-ui
  • jpa 이용하여 db 연동
  • jpa로 db연동해서 brands정보 반환
  • 처음에 요청할 모든 뉴스 정보 반환
  • + / - 점수를 위한 기사의 content 가져오기 -> 분석은 찬욱이가...

업무 분담

윤성

  • db에 기업정보 넣기(이름, 이미지, description)
  • 뉴스검색 api
  • 상세검색 api
  • api로 만들어서 json뿌리기

찬욱

  • 상세검색 결과 분석
  • 워드클라우드 api
  • 워드클라우드 키워드 분석

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.