KR20210026650A - 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램 - Google Patents

스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210026650A
KR20210026650A KR1020190107719A KR20190107719A KR20210026650A KR 20210026650 A KR20210026650 A KR 20210026650A KR 1020190107719 A KR1020190107719 A KR 1020190107719A KR 20190107719 A KR20190107719 A KR 20190107719A KR 20210026650 A KR20210026650 A KR 20210026650A
Authority
KR
South Korea
Prior art keywords
sentence
sports relay
event information
sports
embedding vector
Prior art date
Application number
KR1020190107719A
Other languages
English (en)
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 KR1020190107719A priority Critical patent/KR20210026650A/ko
Publication of KR20210026650A publication Critical patent/KR20210026650A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4888Data services, e.g. news ticker for displaying teletext characters
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

스포츠 중계 문장을 제공하는 서버는 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 추출부, 경기 이벤트 정보에 대한 데이터 타입에 기초하여 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하는 전처리부, 사용자 단말로부터 설정받은 문장 선호 타입에 따라 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하는 표현 제어부, 생성된 전처리 임베딩 벡터 및 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하는 입력 시퀀스 생성부, 생성된 입력 시퀀스 데이터에 기초하여 스포츠 중계 문장을 생성하는 스포츠 중계 문장 생성부 및 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 제공부를 포함할 수 있다.

Description

스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD AND COMPUTER PROGRAM FOR PROVIDING SPORTS BROADCASTING SCRIPT}
본 발명은 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
기존에는 전문적인 지식을 가진 해설사와 캐스터가 수년간의 경험과 데이터 분석에 기반하여 스포츠 중계 서비스를 제공해왔다.
이러한 스포츠 중계 서비스의 제공 방식은 스포츠를 시청하는 청취자의 성향에 관계없이 해설사 또는 캐스터의 개인적인 취향에 의존하여 다소 편파적이거나 부정확한 해설을 제공하는 경우가 빈번했다. 또한 해설사 또는 캐스터를 초빙하는데 드는 비용도 상당하다는 문제점이 있었다.
한국공개특허공보 제2012-0007763호 (2012.01.25. 공개)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 추출된 경기 이벤트 정보를 이용하여 스포츠 중계 문장을 생성하고자 한다. 또한, 본 발명은 사용자 단말에 의해 설정된 문장 선호 타입에 따라 스포츠 중계 문장의 표현을 제어하여 사용자 단말에게 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 스포츠 중계 문장을 제공하는 서버는 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 추출부, 상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하는 전처리부, 사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하는 표현 제어부, 상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하는 입력 시퀀스 생성부, 상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하는 스포츠 중계 문장 생성부; 및 상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 제공부를 포함할 수 있다.
본 발명의 제 2 측면에 따른 스포츠 중계 문장 제공 서버에 의해 스포츠 중계 문장을 제공하는 방법은 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 단계; 상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하는 단계; 사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하는 단계; 상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하는 단계; 상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하는 단계; 및 상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 단계를 포함할 수 있다.
본 발명의 제 3 측면에 따른 스포츠 중계 문장을 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 추출하고, 상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하고, 사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하고, 상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하고, 상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하고, 상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 명령어들의 시퀀스를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 추출된 경기 이벤트 정보를 이용하여 스포츠 중계 문장을 생성할 수 있다. 또한, 본 발명은 사용자 단말에 의해 설정된 문장 선호 타입에 따라 스포츠 중계 문장의 표현을 제어하여 사용자 단말에게 제공할 수 있다. 이를 통해, 본 발명은 사용자가 선호하는 문장 표현 방식으로 사용자 맞춤형의 스포츠 중계 문장을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 스포츠 중계 문장 제공 서버의 블록도이다.
도 2a 내지 2b는 본 발명의 일 실시예에 따른, 경기 이벤트 정보를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 경기 이벤트 정보에 대한 전처리를 수행하는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른, 스포츠 중계 문장을 생성하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 스포츠 중계 문장의 생성을 위한 학습 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른, 스포츠 중계 문장 제공 방법을 나타낸 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 스포츠 중계 문장 제공 서버(10)의 블록도이다.
도 1을 참조하면, 스포츠 중계 문장 제공 서버(10)는 추출부(100), 전처리부(110), 표현 제어부(120), 문장 다양성 제어부(130), 입력 시퀀스 생성부(140), 스포츠 중계 문장 생성부(150), 제공부(160) 및 학습부(170)를 포함할 수 있다. 다만, 도 1에 도시된 스포츠 중계 문장 제공 서버(10)는 본 발명의 하나의 구현 예에 불과하며, 도 1에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
추출부(100)는 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출할 수 있다. 여기서, 추출된 경기 이벤트 정보는 경기 이벤트의 종류 및 경기 이벤트와 관련된 상황 데이터를 포함할 수 있다. 예를 들어, 야구 경기 이벤트의 종류는 타자가 1루타를 치는 경우나 파울볼을 치는 경우 등 야구 경기에서 발생하는 모든 이벤트를 포함할 수 있다. 야구 경기 이벤트와 관련된 상황 데이터는 예를 들어, 볼카운트, 스트라이크수, 볼수, 스코어, 타자번호, 이닝, 초/말, 아웃카운트 등을 포함할 수 있다.
스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 추출된 경기 이벤트 정보는 경기 이벤트 정보의 데이터 타입별로 테이블에 기록 및 저장될 수 있다. 도 2a를 참조하면, 숫자 타입의 경기 이벤트 정보가 기록된 제 1 테이블에는 숫자 타입의 이벤트명 별로 관련 이벤트의 입력 데이터명에 대응하는 데이터가 저장될 수 있다. 여기서, 숫자 타입의 이벤트명 별 관련 데이터의 입력 데이터명은 중계 문장의 생성을 위한 입력 데이터로 사용될 수 있다.
숫자 타입의 경기 이벤트 정보는 경기 기록을 나타내는 데이터를 포함할 수 있다. 예를 들어, 야구의 경우, 숫자 타입의 이벤트명은 타자 등판, 1루타, 홈런 등을 포함할 수 있다. 예를 들어, '타자 등판' 이벤트 명과 관련된 입력 데이터명에는 타순, 주자 상황, 아웃 카운트 등이 포함될 수 있다.
도 2b를 참조하면, 문자열 타입의 경기 이벤트 정보가 기록된 제 2 테이블에는 문자열 타입의 이벤트명 별로 관련 이벤트의 입력 데이터명에 대응하는 데이터가 저장될 수 있다. 여기서, 문자열 타입의 이벤트명 별 관련 데이터의 입력 데이터명은 중계 문장의 생성을 위한 입력 데이터로 사용될 수 있다.
문자열 타입의 경기 이벤트 정보는 경기 정보를 나타내는 데이터를 포함할 수 있다. 예를 들어, 야구의 경우, 문자열 타입의 이벤트명은 투수명, 타자명, 홈팀명, 방문팀명, 수비수명, 주자명 등을 포함할 수 있다. 예를 들어, '수비수' 이벤트 명과 관련된 입력 데이터명에는 플라이아웃, 그라운드아웃 등이 포함될 수 있다.
예를 들어, 추출부(100)는 스포츠 경기에 대한 영상 데이터로부터 선수 및 심판의 움직임 이미지, 전광판 현황 이미지 등을 추출하고, 추출된 이미지에 포함된 선수 및 심판 각각의 움직임을 토대로 경기 이벤트 정보를 추출할 수 있다.
예를 들어, 추출부(100)는 온라인으로 중계되는 스포츠 경기를 웹 크롤링을 통해 중계 문자 데이터로부터 문자 데이터를 획득하고, 획득된 문자 데이터로부터 스포츠 경기 중 현재 사건에 대한 상황 정보를 포함하는 경기 이벤트 정보를 추출할 수 있다.
전처리부(110)는 경기 이벤트 정보에 대한 데이터 타입에 기초하여 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성할 수 있다. 여기서, 경기 이벤트 정보에 대한 데이터 타입은 경기 기록을 나타내는 숫자 타입 및 경기 기록 이외의 경기 정보를 나타내는 문자열 타입 중 하나를 포함할 수 있다.
한편, 제 1 테이블(도 2a 참조)에 포함된 이벤트명 별 관련 이벤트의 입력 데이터명에 대응하는 데이터는 경기 기록을 나타내는 정수값이다. 이러한 정수값을 임베딩 벡터화하면 해당 정수값이 어떤 속성에 속하는지 구별되지 않고, 이벤트 별로 입력되는 필드도 변동되어 학습하기 어려워지는 문제점이 있다. 따라서, 숫자 타입을 갖는 경기 이벤트 정보의 경우, 해당 경기 이벤트 정보가 어떤 속성을 갖고 있는지 나타내는 구별자를 이용하여 해당 경기 이벤트 정보를 임베딩 벡터화해야 한다.
전처리부(110)는 경기 이벤트 정보에 대한 데이터 타입이 숫자 타입인 경우, 기설정된 길이의 구별자 벡터와 전처리 임베딩 벡터를 연결시킬 수 있다. 예를 들어, 도 3의 식별번호 301을 참조하면, 숫자타입의 경기 이벤트 정보가 전처리된 전처리 임베딩 벡터에 고정길이 구별자 벡터를 추가함으로써 해당 경기 이벤트 정보를 구분할 수 있다. 구별자 벡터는 원핫(one-hot) 벡터 또는 데이터 필드별로 고정된 난수 벡터로서 사용될 수 있다.
전처리부(110)는 경기 이벤트 정보에 대한 데이터 타입이 숫자 타입인 경우, 전처리 임베딩 벡터와 동일한 길이의 구별자 벡터를 더 생성하고, 구별자 벡터와 전처리 임베딩 벡터를 결합시킬 수 있다. 예를 들어, 도 3의 식별 번호 303을 참조하면, 전처리부(110)는 숫자타입의 경기 이벤트 정보가 전처리된 전처리 임베딩 벡터와 동일한 길이의 구별자 벡터를 생성하여 이를 전처리된 임베딩 벡터에 결합시킬 수 있다. 이 경우, 구별자 벡터는 벡터 공간상에서 거리가 최대가 될 수 있도록 구성될 수 있다.
전처리부(110)는 경기 이벤트 정보에 대한 데이터 타입이 숫자 타입인 경우, 경기 이벤트 정보 및 경기 이벤트 정보에 대한 단위값을 포함시키도록 전처리 임베딩 벡터를 생성할 수 있다. 예를 들어, 전처리부(110)는 숫자 타입의 경기 이벤트 정보에 대한 단위값을 문자화하여 전처리 임베딩 벡터에 워드 임베딩할 수 있다. 예를 들어, 전처리부(110)는 점수 1, 2, 3의 경기 이벤트 정보를 1점, 2점, 3점으로 변경하고, 변경된 경기 이벤트 정보를 문자화하여 임베딩할 수 있다.
전처리부(110)는 경기 이벤트 정보에 대한 데이터 타입이 문자열 타입인 경우, 경기 이벤트 정보와 관련된 속성별(예컨대, 투수, 타자, 주자, 수비수, 팀명 등)로 경기 이벤트에 대한 전처리를 수행하여 임베딩 벡터를 생성할 수 있다.
표현 제어부(120)는 사용자 단말로부터 설정받은 문장 선호 타입에 따라 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성할 수 있다. 예를 들어, 표현 제어부(120)는 문장 선호 타입을 설정하는 인터페이스를 통해 사용자 단말로부터 사용자가 선호하는 문장 선호 타입을 입력받을 수 있다. 여기서, 인터페이스를 통해 제공되는 문장 선호 타입은 예를 들어, 짧은 문장 타입, 긴문장 타입, 전문가 수준 타입, 초급수준 타입, 특정 해설사 말투 타입 등으로 구성될 수 있다. 표현 제어부(120)는 사용자 단말로부터 입력받은 문장 선호 타입을 워드 임베딩하여 생성될 스포츠 중계 문장의 표현을 제어하는 표현 제어 임베딩 벡터를 생성할 수 있다.
문장 다양성 제어부(130)는 스포츠 중계 문장에 대한 다양한 문장을 출력하도록 하기 위한 다양성 임베딩 벡터를 생성할 수 있다.
구체적으로, 문장 다양성 제어부(130)는 경기 이벤트 정보에 대한 난수 벡터를 랜덤으로 발생시키고, 발생된 난수 벡터에 따라 스포츠 중계 문장의 랜덤 길이를 산출할 수 있다. 문장 다양성 제어부(130)는 산출된 랜덤 길이에 기초하여 스포츠 중계 문장의 길이를 제어하는 다양성 임베딩 벡터를 생성할 수 있다.
입력 시퀀스 생성부(140)는 생성된 전처리 임베딩 벡터(숫자 타입 및 문자열 타입 각각이 구별된 전처리 임베딩 벡터) 및 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성할 수 있다. 또한, 입력 시퀀스 생성부(140)는 다양성 임베딩 벡터에 더 기초하여 입력 시퀀스 데이터를 생성할 수 있다.
스포츠 중계 문장 생성부(150)는 입력 시퀀스 생성부(140)에 의해 생성된 입력 시퀀스 데이터에 기초하여 스포츠 중계 문장을 생성할 수 있다.
예를 들어, 도 4를 참조하면, 스포츠 중계 문장 생성부(150)는 입력 시퀀스 데이터(401)의 입력에 대하여 고정된 길이의 은닉 상태 벡터를 생성하는 인코더부와 은닉 상태 벡터로부터 사전 내의 단어에 대한 벡터값을 도출하는 디코더부로 구성될 수 있다. 디코더부는 스포츠 중계 문장을 구성할 복수의 단어 생성 시, 가중치 결정 알고리즘에 기초하여 입력 시퀀스 데이터(401)의 특정 부분에 대한 가중치를 결정할 수 있다.
스포츠 중계 문장 생성부(150)는 입력 시퀀스 데이터(401)를 재귀 신경망 모델(403)에 입력하여 스포츠 중계 문장을 구성할 복수의 단어 각각에 대한 벡터값을 도출할 수 있다.
재귀 신경망 모델(403)에 입력되는 입력 시퀀스 데이터(401)의 배열 순서는 숫자 타입이 구별된 전처리 임베딩 벡터, 문자열 타입이 구별된 전처리 임베딩 벡터, 표현 제어 임베딩 벡터, 다양성 임베딩 벡터 순으로 구성될 수 있다.
입력 시퀀스 데이터(401)를 구성하는 숫자 타입이 구별된 전처리 임베딩 벡터에 대응하는 시퀀스 데이터, 문자열 타입이 구별된 전처리 임베딩 벡터에 대응하는 시퀀스 데이터, 표현 제어 임베딩 벡터에 대응하는 시퀀스 데이터, 다양성 임베딩 벡터에 대응하는 시퀀스 데이터가 순차적으로 재귀 신경망 모델(403)에 입력될 수 있다.
스포츠 중계 문장 생성부(150)는 도출된 복수의 단어 각각에 대한 벡터값을 사전 내의 단어로 변환하고, 변환된 단어(405)를 이용하여 스포츠 중계 문장을 생성할 수 있다. 스포츠 중계 문장 생성부(150)는 도출된 복수의 단어 각각에 대한 벡터값 중 선수명, 팀명으로 사용된 벡터값을 경기 이벤트에 적합한 선수명, 팀명으로 대체하여 최종 스포츠 중계 문장을 생성할 수 있다.
다시 도 1로 돌아오면, 제공부(160)는 생성된 스포츠 중계 문장을 사용자 단말에게 제공할 수 있다. 예를 들어, 제공부(160)는 생성된 스포츠 중계 문장을 스포츠 중계 영상과 동기화하여 음성 합성 또는 자막 형태로 사용자 단말에게 제공할 수 있다.
스포츠 중계 문장 생성에서 선수 이름, 팀이름은 시즌별 또는 연도별로 동적으로 변동될 수 있기 때문에, 스포츠 중계 문장의 생성을 위한 학습 시, 사전에 포함되지 않은 경기 이벤트 정보가 추가되는 경우, 문자 생성의 정확도가 낮아지게 된다. 이를 해결하기 위해, 도 5를 참조하면, 학습부(170)는 중계 문장 내의 팀, 투수, 타자, 주자, 수비수명을 각각 특정 고정된 서로 다른 벡터로 임베딩하여 학습할 수 있다. 즉, 스포츠 중계 문장의 생성 학습시, 입력 시퀀스 데이터(501) 및 출력 시퀀스 데이터(503)에 선수명, 팀명을 직접 입력하지 않고, 선수명 및 팀명 각각을 가리키는 구분자를 넣어서 학습하고, 포맷화된 출력 문장을 다시 원하는 팀명 및 선수명으로 변경하여 처리할 수 있다. 이 경우, 투수, 팀, 타자의 실제 입력되는 이름과 관계없이 각각 속성별로 고정값이 임베딩 벡터로 매핑처리될 수 있다. 또한, 학습시에 사용되는 출력 문장의 경우에도 투수, 타자명이 직접 포함되지 않고, 속성별로 고정값을 임베딩하여 학습되기 때문에 실제 경기 중에는 학습 시 사용되지 않은 선수 이름이 입력되더라도 중계 문장이 생성될 수 있다.
학습부(170)는 복수의 문장 선호 타입별로 구성된 문장 세트를 이용하여 복수의 문장 선호 타입에 따른 다양한 문장 표현 방식을 학습할 수 있다. 학습부(170)는 동일 이벤트 내에서 다양한 표현을 갖는 문장 세트를 학습할 수 있다.
한편, 당업자라면, 추출부(100), 전처리부(110), 표현 제어부(120), 문장 다양성 제어부(130), 입력 시퀀스 생성부(140), 스포츠 중계 문장 생성부(150), 제공부(160) 및 학습부(170) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 6은 본 발명의 일 실시예에 따른, 스포츠 중계 문장 제공 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 단계 S601에서 스포츠 중계 문장 제공 서버(10)는 스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출할 수 있다.
단계 S603에서 스포츠 중계 문장 제공 서버(10)는 경기 이벤트 정보에 대한 데이터 타입에 기초하여 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성할 수 있다.
단계 S605에서 스포츠 중계 문장 제공 서버(10)는 사용자 단말로부터 설정받은 문장 선호 타입에 따라 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성할 수 있다.
단계 S607에서 스포츠 중계 문장 제공 서버(10)는 생성된 전처리 임베딩 벡터 및 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성할 수 있다.
단계 S609에서 스포츠 중계 문장 제공 서버(10)는 생성된 입력 시퀀스 데이터에 기초하여 스포츠 중계 문장을 생성할 수 있다.
단계 S611에서 스포츠 중계 문장 제공 서버(10)는 생성된 스포츠 중계 문장을 사용자 단말에게 제공할 수 있다.
도 6에는 도시되지 않았으나, S609에서 스포츠 중계 문장 제공 서버(10)는 입력 시퀀스 데이터를 재귀 신경망 모델에 입력하여 스포츠 중계 문장을 구성할 복수의 단어 각각에 대한 벡터값을 도출할 수 있다. 또한, 스포츠 중계 문장 제공 서버(10)는 도출된 복수의 단어 각각에 대한 벡터값을 사전 내의 단어로 변환하고, 변환된 단어를 이용하여 스포츠 중계 문장을 생성할 수 있다.
상술한 설명에서, 단계 S601 내지 S611은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 스포츠 중계 문장 제공 서버
100: 추출부
110: 전처리부
120: 표현 제어부
130: 문장 다양성 제어부
140: 입력 시퀀스 생성부
150: 스포츠 중계 문장 생성부
160: 제공부
170: 학습부

Claims (18)

  1. 스포츠 중계 문장을 제공하는 서버에 있어서,
    스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 추출부;
    상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하는 전처리부;
    사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하는 표현 제어부;
    상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하는 입력 시퀀스 생성부;
    상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하는 스포츠 중계 문장 생성부; 및
    상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 제공부
    를 포함하는 것인, 서버.
  2. 제 1 항에 있어서,
    상기 스포츠 중계 문장에 대한 다양한 문장을 출력하도록 하기 위한 다양성 임베딩 벡터를 생성하는 문장 다양성 제어부
    를 더 포함하고,
    상기 입력 시퀀스 생성부는 상기 다양성 임베딩 벡터에 더 기초하여 상기 입력 시퀀스 데이터를 생성하는 것인, 서버.
  3. 제 2 항에 있어서,
    상기 문장 다양성 제어부는 상기 경기 이벤트 정보에 대한 난수 벡터를 랜덤으로 발생시키고, 상기 발생된 난수 벡터에 따라 상기 스포츠 중계 문장의 랜덤 길이를 산출하는 것인, 서버.
  4. 제 1 항에 있어서,
    상기 경기 이벤트 정보는 상기 경기 이벤트의 종류 및 상기 경기 이벤트와 관련된 상황 데이터를 포함하는 것인, 서버.
  5. 제 1 항에 있어서,
    상기 경기 이벤트 정보에 대한 데이터 타입은 경기 기록을 나타내는 숫자 타입 및 상기 경기 기록 이외의 경기 정보를 나타내는 문자열 타입 중 하나를 포함하는 것인, 서버.
  6. 제 5 항에 있어서,
    상기 전처리부는
    상기 경기 이벤트 정보에 대한 데이터 타입이 상기 숫자 타입인 경우, 기설정된 길이의 구별자 벡터와 상기 전처리 임베딩 벡터를 연결시키는 것인, 서버.
  7. 제 5 항에 있어서,
    상기 전처리부는
    상기 경기 이벤트 정보에 대한 데이터 타입이 상기 숫자 타입인 경우, 상기 전처리 임베딩 벡터와 동일한 길이의 구별자 벡터를 더 생성하고, 상기 구별자 벡터와 상기 전처리 임베딩 벡터를 결합시키는 것인, 서버.
  8. 제 5 항에 있어서,
    상기 전처리부는
    상기 경기 이벤트 정보에 대한 데이터 타입이 상기 숫자 타입인 경우, 상기 경기 이벤트 정보 및 상기 경기 이벤트 정보에 대한 단위값을 포함시키도록 상기 전처리 임베딩 벡터를 생성하는 것인, 서버.
  9. 제 1 항에 있어서,
    상기 스포츠 중계 문장 생성부는 상기 입력 시퀀스 데이터를 재귀 신경망 모델에 입력하여 상기 스포츠 중계 문장을 구성할 복수의 단어 각각에 대한 벡터값을 도출하는 것인, 서버.
  10. 제 9 항에 있어서,
    상기 스포츠 중계 문장 생성부는 상기 도출된 복수의 단어 각각에 대한 벡터값을 사전 내의 단어로 변환하고, 상기 변환된 단어를 이용하여 상기 스포츠 중계 문장을 생성하는 것인, 서버.
  11. 스포츠 중계 문장 제공 서버에 의해 스포츠 중계 문장을 제공하는 방법에 있어서,
    스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 단계;
    상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하는 단계;
    사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하는 단계;
    상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하는 단계;
    상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하는 단계; 및
    상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 단계
    를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  12. 제 11 항에 있어서,
    상기 스포츠 중계 문장에 대한 다양한 문장을 출력하도록 하기 위한 다양성 임베딩 벡터를 생성하는 단계를 더 포함하고,
    상기 입력 시퀀스 데이터를 생성하는 단계는 상기 다양성 임베딩 벡터에 더 기초하여 상기 입력 시퀀스 데이터를 생성하는 단계를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  13. 제 12 항에 있어서,
    상기 다양성 임베딩 벡터를 생성하는 단계는 상기 경기 이벤트 정보에 대한 난수 벡터를 랜덤으로 발생시키고, 상기 발생된 난수 벡터에 따라 상기 스포츠 중계 문장의 랜덤 길이를 산출하는 단계를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  14. 제 11 항에 있어서,
    상기 경기 이벤트 정보는 상기 경기 이벤트의 종류 및 상기 경기 이벤트와 관련된 상황 데이터를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  15. 제 11 항에 있어서,
    상기 경기 이벤트 정보에 대한 데이터 타입은 경기 기록을 나타내는 숫자 타입 및 상기 경기 기록 이외의 경기 정보를 나타내는 문자열 타입 중 하나를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  16. 제 11 항에 있어서,
    상기 스포츠 중계 문장을 생성하는 단계는 상기 입력 시퀀스 데이터를 재귀 신경망 모델에 입력하여 상기 스포츠 중계 문장을 구성할 복수의 단어 각각에 대한 벡터값을 도출하는 단계를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  17. 제 16 항에 있어서,
    상기 스포츠 중계 문장을 생성하는 단계는 상기 도출된 복수의 단어 각각에 대한 벡터값을 사전 내의 단어로 변환하고, 상기 변환된 단어를 이용하여 상기 스포츠 중계 문장을 생성하는 단계를 포함하는 것인, 스포츠 중계 문장 제공 방법.
  18. 스포츠 중계 문장을 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    스포츠 경기에 대한 영상 데이터 및 중계 문자 데이터로부터 경기 이벤트 정보를 추출하는 추출하고,
    상기 경기 이벤트 정보에 대한 데이터 타입에 기초하여 상기 경기 이벤트 정보에 대한 전처리를 수행하여 전처리 임베딩 벡터를 생성하고,
    사용자 단말로부터 설정받은 문장 선호 타입에 따라 상기 스포츠 중계 문장의 표현을 제어하기 위한 표현 제어 임베딩 벡터를 생성하고,
    상기 생성된 전처리 임베딩 벡터 및 상기 표현 제어 임베딩 벡터에 기초하여 입력 시퀀스 데이터를 생성하고,
    상기 생성된 입력 시퀀스 데이터에 기초하여 상기 스포츠 중계 문장을 생성하고,
    상기 생성된 스포츠 중계 문장을 상기 사용자 단말로 제공하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.

KR1020190107719A 2019-08-30 2019-08-30 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램 KR20210026650A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190107719A KR20210026650A (ko) 2019-08-30 2019-08-30 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190107719A KR20210026650A (ko) 2019-08-30 2019-08-30 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20210026650A true KR20210026650A (ko) 2021-03-10

Family

ID=75148829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190107719A KR20210026650A (ko) 2019-08-30 2019-08-30 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20210026650A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024014509A1 (ja) * 2022-07-14 2024-01-18 株式会社電通 実況音声リアルタイム生成システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120007763A (ko) 2010-07-15 2012-01-25 에스케이플래닛 주식회사 운동 경기의 중계 방송 제공 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120007763A (ko) 2010-07-15 2012-01-25 에스케이플래닛 주식회사 운동 경기의 중계 방송 제공 방법 및 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024014509A1 (ja) * 2022-07-14 2024-01-18 株式会社電通 実況音声リアルタイム生成システム

Similar Documents

Publication Publication Date Title
US11550998B2 (en) Method and apparatus for generating a competition commentary based on artificial intelligence, and storage medium
US10293263B2 (en) Custom content feed based on fantasy sports data
CN104821934B (zh) 基于人工智能的声纹登录方法和装置
US9028260B2 (en) Automated quiz generation system
CN110622240B (zh) 语音向导生成装置、语音向导生成方法及广播系统
JP5488475B2 (ja) トピック遷移解析システム、トピック遷移解析方法およびプログラム
WO2019214456A1 (zh) 一种肢体语言翻译系统、方法及服务器
US20120216115A1 (en) System of automated management of event information
JP2002259720A (ja) コンテンツ要約システム、映像要約システム、ユーザ端末、要約映像生成方法、要約映像受信方法、およびプログラム
CN111263227A (zh) 一种多媒体播放方法、装置和存储介质
CN111953910A (zh) 基于人工智能的视频处理方法、装置及电子设备
US11523176B1 (en) System and method to identify and recommend media consumption options based on viewer suggestions
CN111968678A (zh) 一种音频数据处理方法、装置、设备及可读存储介质
JP3923932B2 (ja) 映像要約装置、映像要約方法及びプログラム
KR20210026650A (ko) 스포츠 중계 문장을 제공하는 서버, 방법 및 컴퓨터 프로그램
KR20200001246A (ko) 심층 신경망을 이용한 캡션 생성 시스템
CN113923475B (zh) 一种视频合成方法及视频合成器
WO2021240679A1 (ja) 映像処理装置、映像処理方法、及び、記録媒体
JP2019008779A (ja) テキスト抽出装置、コメント投稿装置、コメント投稿支援装置、再生端末および文脈ベクトル計算装置
WO2021240644A1 (ja) 情報出力プログラム、装置、及び方法
JP2019160071A (ja) 要約作成システム、及び要約作成方法
JP6671672B1 (ja) 対話装置、発話生成方法、及びプログラム
JP2017068046A (ja) 歌唱基準データ修正装置、カラオケシステム、プログラム
WO2021240678A1 (ja) 映像処理装置、映像処理方法、及び、記録媒体
JP7486871B1 (ja) シーン抽出システム、シーン抽出方法及びシーン抽出プログラム