KR102458989B1 - 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치 - Google Patents

센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치 Download PDF

Info

Publication number
KR102458989B1
KR102458989B1 KR1020220094512A KR20220094512A KR102458989B1 KR 102458989 B1 KR102458989 B1 KR 102458989B1 KR 1020220094512 A KR1020220094512 A KR 1020220094512A KR 20220094512 A KR20220094512 A KR 20220094512A KR 102458989 B1 KR102458989 B1 KR 102458989B1
Authority
KR
South Korea
Prior art keywords
news
ticker
candidate
determining
vector
Prior art date
Application number
KR1020220094512A
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 KR1020220094512A priority Critical patent/KR102458989B1/ko
Application granted granted Critical
Publication of KR102458989B1 publication Critical patent/KR102458989B1/ko
Priority to US18/350,737 priority patent/US20240046039A1/en
Priority to US18/354,647 priority patent/US20240070396A1/en
Priority to US18/358,758 priority patent/US20240070175A1/en
Priority to US18/361,818 priority patent/US20240070387A1/en

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Abstract

본 발명은 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치에 관한 것이다. 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법은 뉴스 티커 매핑 장치는 복수의 센텐스 각각에 대한 복수의 센텐스 티커 각각을 결정하는 단계, 뉴스 티커 매핑 장치가 복수의 센텐스 티커 각각에 대한 가중치를 결정하는 단계와 뉴스 티커 매핑 장치가 복수의 센텐스 티커 및 복수의 센텐스 티커 각각에 대한 가중치를 기반으로 뉴스 티커를 결정하는 단계를 포함할 수 있다.

Description

센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치{Method for determining news ticker related to news based on sentence ticker and apparatus for performing the method}
본 발명은 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치에 관한 것이다. 보다 상세하게는 뉴스를 구성하는 복수의 센텐스 각각에 대한 센텐스 티커의 가중치를 고려하여 뉴스 티커를 결정하기 위한 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치에 관한 것이다.
인터넷의 발달에 따라 정보 공유가 활발해지고 데이터의 양이 증가하고 있다. 인터넷 상의 데이터는 누구나 손쉽게 접근할 수 있는 뉴스 기사, 블로그, 웹 문서 뿐만 아니라, 일반인이 다룰 수 없는 전문적으로 다뤄지는 문서들도 분야별로 내부 시스템에 증가된다. 인터넷 상의 데이터들의 발행 속도 및 발행량이 증가할수록 인간에 의한 분석보다는 인공 지능을 기반으로 한 데이터의 분석 기술이 발달되고 있다.
종래의 기술에서는 기업명만을 키워드로 뉴스를 검색하고 수집하여 요약 제공하는 기술이 개시되어 있다(출원번호:1020200055691, 특허명 : 기업뉴스 제공방법). 이런 방식은 기업명이 포함되지 않는 뉴스들은 수집하지 못한다는 문제점이 존재한다. 또한, 뉴스 크롤링 시스템 및 뉴스 크롤링 방법(출원번호 : 102020012346)은 크롤링된 뉴스들 중에서 중복 뉴스를 제거할 수 있다 하더라도 제목이 완전히 일치하는 동일한 뉴스만을 제거할 수 있을 뿐, 내용적으로 유사한 제목이지만 제목 내의 단어들이 상이한 경우는 중복 뉴스로 필터링할 수 없다는 한계가 있다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 불특정 다수의 뉴스를 기업별로 분류하고, 중복을 제거하여 사용자가 특정 기업과 관련된 뉴스들을 효율적으로 파악할 수 있도록 뉴스를 기업별로 분류하는 기술을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 다양한 키워드로 수집한 뉴스들을 자연어 처리 기술인 개체명 연결과 엘라스틱 서치의 색인(indexing)을 활용하여 기업명이 뉴스에 없더라도 관련이 있는 뉴스면 기업에 매핑될 수 있도록 하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 실시예에 따르면, 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법은 뉴스 티커 매핑 장치는 복수의 센텐스 각각에 대한 복수의 센텐스 티커 각각을 결정하는 단계, 상기 뉴스 티커 매핑 장치가 상기 복수의 센텐스 티커 각각에 대한 가중치를 결정하는 단계와 상기 뉴스 티커 매핑 장치가 상기 복수의 센텐스 티커 및 상기 복수의 센텐스 티커 각각에 대한 상기 가중치를 기반으로 상기 뉴스 티커를 결정하는 단계를 포함할 수 있다.
한편, 상기 가중치는 상기 뉴스를 구성하는 상기 복수의 센텐스의 위치 및 상기 센텐스가 제목인지 여부를 기반으로 결정될 수 있다.
또한, 상기 가중치는 역할 결정 모델을 기반으로 상기 센텐스 내의 평가자와 평가 대상을 분류하여 결정될 수 있다.
본 발명의 다른 실시예에 따르면, 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 뉴스 티커 매핑 장치는 복수의 센텐스 각각에 대한 복수의 센텐스 티커 각각을 결정하도록 구현되는 후보 티커 스코어 결정부와 상기 복수의 센텐스 티커 각각에 대한 가중치를 결정하고, 상기 복수의 센텐스 티커 및 상기 복수의 센텐스 티커 각각에 대한 상기 가중치를 기반으로 상기 뉴스 티커를 결정하도록 구현되는 뉴스 티커 결정부를 포함할 수 있다.
한편, 상기 가중치는 상기 뉴스를 구성하는 상기 복수의 센텐스의 위치 및 상기 센텐스가 제목인지 여부를 기반으로 결정될 수 있다.
또한, 상기 가중치는 역할 결정 모델을 기반으로 상기 센텐스 내의 평가자와 평가 대상을 분류하여 결정될 수 있다.
본 발명에 의하면, 불특정 다수의 뉴스가 기업별로 분류되고, 중복을 제거하여 특정 기업과 관련된 뉴스들을 효율적으로 파악할 수 있도록 뉴스가 기업별로 분류될 수 있다.
또한, 본 발명에 의하면, 다양한 키워드로 수집한 뉴스들이 자연어 처리 기술인 개체명 연결과 엘라스틱 서치의 색인(indexing)을 활용하여 기업명이 뉴스에 없더라도 관련이 있는 뉴스면 기업에 매핑되도록 할 수 있다.
도 1은 본 발명의 실시예에 따른 뉴스 티커 매핑 장치를 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 개체명 추출부의 동작을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 후보 티커 결정부의 동작을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 후보 티커 스코어 결정부의 동작을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 뉴스 티커 결정부의 동작을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 뉴스 클러스터링부의 동작을 나타낸 개념도이다.
도 7은 본 발명의 실시예에 따른 개체명 추출부의 동작을 나타낸 개념도이다.
도 8은 본 발명의 실시예에 따른 지식 그래프를 나타낸 개념도이다.
도 9는 본 발명의 실시예에 따른 지식 그래프를 나타낸 개념도이다.
도 10은 본 발명의 실시예에 따른 후보 티커 스코어 결정부의 동작을 나타낸 개념도이다.
도 11은 본 발명의 실시예에 따른 후보 티커 스코어 결정부에서 벡터값을 결정하는 방법을 나타낸 개념도이다.
도 12는 본 발명의 실시예에 따른 후보 티커 스코어를 결정하는 방법을 나타낸 개념도이다.
도 13은 본 발명의 실시예에 따른 역할 결정 모델의 동작을 나타낸 개념도이다.
도 14는 본 발명의 실시예에 따른 뉴스 클러스터링부의 클러스터링 동작을 나타낸 개념도이다.
도 15는 본 발명의 실시예에 따른 클러스터링을 나타낸 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 발명의 실시예에 따른 뉴스 티커 매핑 방법은 다양한 키워드로 수집한 뉴스들을 자연어 처리 기술인 개체명 연결과 엘라스틱 서치의 색인(indexing)을 활용하여 기업명이 뉴스에 없더라도 관련이 있는 뉴스면 기업에 매핑될 수 있도록 하는 방법이다. 이러한 방법을 기반으로 더 다양한 뉴스들이 수집되어 사용자에게 효과적으로 제공될 수 있다.
본 발명에서 티커라는 용어는 기업을 나타내는 식별자의 하나의 예시로서 사용될 수 있다. 본 발명에서 티커는 기업뿐만 아니라 텍스트와 다른 객체를 연결하기 위해 객체의 식별자를 지칭하는 용어로서 해석될 수 있다.
즉, 본 발명의 실시예에 따른 뉴스 티커 매핑 방법은 설명의 편의상 뉴스와 기업의 티커를 매칭하기 위한 방법을 예시적으로 설명하나, 정형 데이터 또는 비정형 데이터를 특정 객체와 매칭하기 위한 방법으로서 범용적으로 사용될 수도 있고 이러한 실시예는 본 발명의 권리 범위에 포함될 수 있다.
종래의 뉴스 제공 시스템은 정확한 기업명이 들어가 있는 뉴스만 수집할 수 있다. 따라서, 뉴스 내에 정확한 기업명이 들어가 있지 않으면 해당 기업의 뉴스로 보여주기 힘들다. 이뿐만 아니라 종래의 뉴스 제공 시스템은 해당 기업명이 단순히 포함되었다는 이유만으로 뉴스를 수집하기 때문에 수집된 뉴스와 기업 간의 관련도가 높지 않을 수 있다.
따라서, 본 발명의 실시예에 따른 뉴스 티커 매핑 방법은 다양한 키워드로 뉴스를 수집할 수 있도록 기업명 뿐만 아니라, 기업의 자회사, 브랜드, 전자 공시, 공공 데이터에 나오는 다양한 키워드를 엘라스틱 서치 엔진에 추가하여 뉴스와 티커를 매핑할 수 있다. 즉, 다양한 키워드로 뉴스를 수집하고, 정확한 기업명이 뉴스에 없더라도 그 뉴스가 특정 기업에 매핑되어 사용자에게 제공될 수 있다.
또한, 본 발명의 실시예에 따른 뉴스 티커 매핑 방법은 엘라스틱 서치와 딥러닝을 활용한 자연어 처리 기술인 개체명 연결을 결합하여 중첩된 키워드들 중에서 어느 키워드가 특정 뉴스에 해당되는 기업인지를 분류할 수 있다.
이뿐만 아니라, 본 발명의 실시예에 따른 뉴스 티커 매핑 방법은 뉴스 클러스터링을 통해 비슷한 뉴스들은 하나로 묶어, 여러 언론사에서 중복으로 배포하는 뉴스들을 쉽게 관리할 수 있다.
도 1은 본 발명의 실시예에 따른 뉴스 티커 매핑 장치를 나타낸 개념도이다.
도 1에서는 뉴스 티커 매핑 장치에서 입력된 뉴스를 기업에 대응되는 기업 티커와 매핑하는 방법이 개시된다.
도 1을 참조하면, 뉴스 티커 매핑 장치는 뉴스 입력부(100), 센텐스 분할부(110), 개체명 추출부(120), 후보 티커 결정부(130), 후보 티커 스코어 결정부(140), 뉴스 티커 결정부(150), 뉴스 클러스터링부(160), 뉴스 티커 서비스부(170)를 포함할 수 있다.
뉴스 입력부(100)는 분석 대상인 뉴스를 입력받기 위해 구현될 수 있다. 뉴스 입력부(100)는 다양한 키워드를 기반으로 불특정 다수의 뉴스를 수집하기 위해 구현될 수 있다.
센텐스 분할부(110)는 뉴스를 구성하는 텍스트를 센텐스 단위로 분할하기 위해 구현될 수 있다.
개체명 추출부(120)는 추출된 문장을 자연어 처리 기술인 NER(named entity recognition)을 기반으로 개체명이 있는지 여부를 판단하여 추출하기 위해 구현될 수 있다. 개체명 추출부(120)는 기업 티커를 찾기 위한 n개의 태그에 해당되는 개체명을 센텐스에서 인식하여 추출하고 분류하기 위해 구현될 수 있다.
후보 티커 결정부(130)는 엘라스틱 서치 엔진(elastic search engine)을 기반으로 후보 티커를 결정하기 위해 구현될 수 있다.
후보 티커 스코어 결정부(140)는 후보 티커 결정부에 의해 결정된 적어도 하나의 후보 티커 각각에 대한 후보 티커 스코어를 결정하기 위해 구현될 수 있다. 또한, 후보 티커 스코어 결정부는 적어도 하나의 후보 티커 각각에 대한 후보 티커 스코어를 기반으로 센텐스에 대응되는 티커인 센텐스 티커를 결정할 수 있다. 예를 들어, 후보 티커 스코어 중 임계 스코어를 넘는 후보 티커 스코어가 센텐스 티커로 결정될 수 있다.
뉴스 티커 결정부(150)는 뉴스를 구성하는 복수의 센텐스 각각에 대한 센텐스 티커를 기반으로 뉴스에 대응되는 뉴스 티커가 결정될 수 있다. 예를 들어, 뉴스 티커 결정부는 티커 스코어가 임계값을 넘은 경우에만 해당 센텐스 티커를 뉴스 티커로 결정할 수 있다. 뉴스 티커는 뉴스에 대응되는 기업의 티커일 수 있다.
뉴스 클러스터링부(160)는 뉴스의 중복 여부를 클러스터링을 기반으로 결정하기 위해 구현될 수 있다. 예를 들어, 뉴스 클러스터링부(160)는 뉴스에 대응되는 뉴스 티커가 동일 유사한 뉴스에 대하여 클러스터링을 수행하여 중복된 뉴스를 하나의 클러스터로 묶어줄 수 있다. 뉴스 클러스터링부(160)는 뉴스에 대한 형태소 벡터값과 기업 벡터값을 결정하고, 뉴스에 대한 형태소 벡터값과 기업 벡터값을 기반으로 한 클러스터링을 통해 중복된 뉴스를 하나의 클러스터로 형성할 수 있다.
뉴스 티커 서비스부(170)는 특정 기업에 대한 뉴스를 매핑하여 서비스하기 위해 구현될 수 있다.
뉴스 입력부(100), 센텐스 분할부(110), 개체명 추출부(120), 후보 티커 결정부(130), 후보 티커 스코어 결정부(140), 뉴스 티커 결정부(150), 뉴스 클러스터링부(160), 뉴스 티커 서비스부(170)의 동작은 프로세서(180)를 기반으로 수행될 수 있다.
도 2는 본 발명의 실시예에 따른 개체명 추출부의 동작을 나타낸 개념도이다.
도 2에서는 개체명 추출부의 개체명 추출의 및 분류 동작이 개시된다.
도 2를 참조하면, 개체명 추출부는 추출된 문장을 자연어 처리 기술인 NER(named entity recognition)을 기반으로 개체명이 있는지 체크한다.
본 발명의 실시예에 따른 NER(200)은 센텐스(또는 문장)에서 인물(Person), 조직(Organization), 위치(Location), Other proper noun(그외 고유 명사), Date(날짜), Time(시간), Duration(기간), Money(돈), Percentage(퍼센트), Other number representation(그외 숫자 표현)과 같은 10개의 태그(210)에 해당되는 개체명(220)을 센텐스에서 인식하여 추출하고 분류할 수 있다. 본 발명의 실시예에 따른 NER(200)에서 사용되는 태그(210)는 후술할 뉴스 티커를 찾기 위한 것으로써 본 발명에서 별도로 정의되어 사용되는 태그이다.
즉, 본 발명에서는 NER(200)을 기반으로 입력된 센텐스에서 관심 대상이 되는 개체명(220)을 찾는 것으로써 뉴스와 기업을 매칭하기 위해 일반적으로 기업과 관련된 뉴스의 텍스트에서 사용되는 사람, 조직, 지리적 위치와 같은 대상들이나 브랜드 이름과 같은 명사적 표현 등을 태그(210)로 설정하여 개체명(220)을 찾을 수 있다.
위의 NER(200)을 기반으로 한 개체명 추출 동작은 전체 뉴스 텍스트에 포함되는 복수의 센텐스 각각에 대해 수행될 수 있다. 구체적인 NER 동작은 후술한다.
도 3은 본 발명의 실시예에 따른 후보 티커 결정부의 동작을 나타낸 개념도이다.
도 3에서는 엘라스틱 서치 엔진(elastic search engine)을 기반으로 후보 티커를 결정하는 후보 티커 결정부의 동작이 개시된다.
도 3을 참조하면, 개체명 추출부에 의해 결정된 개체명은 키워드(300)와 인포(310)로 분류되어 엘라스틱 서치 엔진(320)으로 입력될 수 있다.
키워드(300)는 조직(Organization)으로 분류된 개체명에 대응되는 단어일 수 있다. 키워드를 결정하기 위한 개체명은 제1 개체명이라는 용어로 표현될 수 있다.
인포(310)는 조직으로 분류된 개체명 외의 다른 모든 개체명에 대응되는 단어일 수 있다. 인포를 결정하기 위한 개체명은 제2 개체명이라는 용어로 표현될 수 있다.
다른 표현으로 개체명은 제1 개체명 및 제2 개체명을 포함하고, 후보 티커는 제1 개체명을 기반으로 결정된 키워드 및 상기 제2 개체명을 기반으로 결정된 인포를 기반으로 결정될 수 있다.
엘라스틱 서치 엔진(320)은 엘라스틱 서치를 이용하여 기업정보전자공시시스템(DART), 공공 데이터, 위키백과 등과 같은 외부 서버로부터 수집한 비정형 데이터, 정형 데이터의 속성 정보를 색인(Indexing) 처리하여 구축된 데이터베이스(340)를 기반으로 동작할 수 있다. 엘라스틱 서치(Elastic Search)는 RESTful 인터페이스를 기반으로 형태소 분석을 통한 데이터 검색 및 분석 서비스를 커스터마이징하는데 사용될 수 있는 분산 실시간 검색 및 분석 엔진을 제공하는 검색 엔진이다. 엘라스틱 서치는 클라우드 컴퓨팅을 위해 설계되어 실시간 검색이 가능하고, 안정적이며 신뢰성이 높고 빠르며, 설치가 용이하다는 특징을 갖는다.
개체명 추출부를 기반으로 통해 획득된 개체명은 키워드(300) 또는 인포(310)로 분류되어 엘라스틱 서치 엔진(320)으로 전달될 수 있다. 엘라스틱 서치 엔진(320)은 데이터베이스(340)를 조회하여 키워드(300) 및 인포(310)에 대응되는 후보 티커(350)를 결정할 수 있다. 후보 티커(350)는 센텐스에 대응되는 후보 기업의 티커일 수 있다.
본 발명의 실시예에 따르면 엘라스틱 서치 엔진(320)은 데이터베이스(340)를 기반으로 키워드(300)를 유의어로 확장할 수 있고, 인포(310)를 관계 정보를 기반으로 확장할 수 있다.
예를 들어, 키워드(300)가 삼성인 경우, 키워드(300)에 대응되는 삼성에 대응되는 유의어로의 확장이 이루어질 수 있다. 예를 들어, 키워드의 유의어는 삼성 전자, 삼성 물산, 삼성 증권, 삼전, Samsung electronics와 같은 키워드(300)에 관련된 단어일 수 있다.
인포(310)는 후보 티커(350)를 결정하기 위한 관계 정보로서 활용될 수 있다. 기업과 관련된 다른 다양한 부가적인 정보들이 지식 그래프(330)를 형성하고, 인포(310)에 대응되는 정보가 특정 키워드(즉, 기업)과 관련되었는지 여부에 대한 확인이 지식 그래프(330)를 기반으로 수행될 수 있다.
예를 들어, 개체명 중 인물(person)으로서 이재용이 존재하는 경우, '이재용=삼성 전자=부회장'이라는 지식 그래프(330)를 기반으로 인포(310)는 특정 후보 티커(350)를 결정하기 위해 활용될 수 있다.
지식 그래프(330)는 내부 데이터 지식그래프와 외부 데이터 지식 그래프를 포함할 수 있다.
내부 데이터 지식 그래프는 정형화되어 있는 기업의 속성과 기업 간의 관계 정보를 표현할 수 있도록 시맨틱 웹 표준에 맞는 온톨로지를 생성하고 이를 이용하여 생성된 기업별 지식 그래프이다. 외부 데이터 지식그래프는 지식 그래프의 확장성을 위하여 외부 서버의 외부 데이터(예를 들어, 위키 데이터)를 수집하고 해당 데이터를 파싱(parsing)하여 표제어들의 속성과 표제어들 간의 정보를 추출하여 구축될 수 있다.
내부 데이터 지식 그래프와 외부 데이터 지식 그래프들 중에 동일 객체에 대한 자동, 수동 두가지 방법을 통한 링킹(linking)을 기반으로 복수의 내부 데이터 지식 그래프와 복수의 외부 데이터 지식 그래프를 연결하여 지식 그래프가 결정될 수 있다. 지식 그래프는 구체적으로 후술된다.
위의 후보 티커 결정부의 후보 티커 결정 동작은 전체 뉴스 텍스트에 포함되는 복수의 센텐스 각각에 대해 수행될 수 있다.
도 4는 본 발명의 실시예에 따른 후보 티커 스코어 결정부의 동작을 나타낸 개념도이다.
도 4에서는 후보 티커 스코어 결정부가 후보 티커 결정부에 의해 결정된 후보 티커에 대한 스코어를 결정하는 동작이 개시된다.
도 4를 참조하면, 후보 티커 결정부를 기반으로 획득된 후보 티커 및 센텐스에 대한 정보는 후보 티커 스코어 결정부로 전달될 수 있다.
후보 티커 스코어 결정부는 센텐스와 가장 관련도가 높은 후보 티커(또는 임계 스코어 이상의 후보 티커)를 센텐스 티커로서 결정하기 위해 적어도 하나의 후보 티커 각각에 대한 후보 티커 스코어를 결정할 수 있다.
후보 티커 스코어 결정부는 지식 그래프 벡터(knowledge vector)(410), 센텐스 벡터(sentence vector)(420) 및 디스턴스 벡터(distance vector)(430)를 기반으로 최종적으로 후보 티커 각각에 대한 후보 티커 스코어(440)를 결정할 수 있다. 즉, 복수의 센텐스 각각에 대한 적어도 하나의 후보 티커가 결정될 수 있고, 적어도 하나의 후보 티커 각각에 대한 후보 티커 스코어(440)가 결정될 수 있다.
지식 그래프 벡터(410), 센텐스 벡터(420) 및 디스턴스 벡터(430)는 구체적으로 후술된다.
후보 티커 스코어 결정부는 개체명 연결을 기반으로 후보 티커 스코어를 결정할 수 있다. 개체명 연결은 센텐스 내에 개체명을 후보 티커와 연결하는 것이다.
예를 들어, '삼성에서 발표한 갤럭시 S22에 사용된 CPU 모델은 무엇인가요?'라는 질문에 사용된 '삼성'은 기업 '삼성전자'를 의미한다. 이에 반해, '삼성, 미국 ETF운용사의 2대주주가 됐다.'라는 뉴스 제목에서 사용된 '삼성'은 기업 '삼성증권'을 의미한다. 이와 같이, 두 가지 이상의 의미를 가진 개체명은 문장에서 동시에 사용된 단어들의 의미와 연관이 있는 것으로 개체명의 의미가 결정된다. 이와 같은 방식으로, 개체명과 후보 티커 간의 관계를 고려하여 문장에 대응되는 후보 티커의 스코어가 결정될 수 있다.
후보 티커 스코어 결정부는 센텐스에 대응되는 복수의 후보 티커 스코어(440)를 기반으로 센텐스에 대응되는 센텐스 티커(450)를 결정할 수 있다. 이하, 센텐스에 대응되는 티커는 센텐스 티커(450)라는 용어로 표현될 수 있다.
도 5는 본 발명의 실시예에 따른 뉴스 티커 결정부의 동작을 나타낸 개념도이다.
도 5에서는 휴리스틱 개체 스코어 처리부가 뉴스(또는 뉴스 텍스트)를 구성하는 복수의 센텐스 각각에 대응되는 센텐스 티커를 기반으로 뉴스에 대응되는 뉴스 티커를 결정하는 동작이 개시된다.
도 5를 참조하면, 하나의 뉴스는 복수의 센텐스를 포함할 수 있다. 따라서, 뉴스를 구성하는 복수의 센텐스에 대응되는 센텐스 티커(510)는 서로 다를 수 잇다. 즉, 센텐스 기준으로 분석시 하나의 뉴스에 해당되는 기업의 종류가 다양해질 수 있다. 따라서, 본 발명에서는 뉴스를 구성하는 센텐스의 위치에 따라 가중치(520)를 다르게 주어서 기업 점수가 차별화되도록 하여 뉴스에 대한 뉴스 티커(530)가 결정될 수 있다.
또한, 뉴스의 제목에 대응되는 센텐스 티커(510)에 최고 등급의 가중치(320)가 할당되고, 첫 문단이나 마지막 요약 문단에 포함되는 센텐스에 대응되는 센텐스 티커(510)에도 상대적으로 높은 등급의 가중치(520)를 할당할 수 있다.
예를 들어, '갤럭시 S22 출시'라는 제목의 기사에서 제목에 대응되는 센텐스 티커(510)는 삼성전자이고, 상대적으로 높은 가중치(520)가 할당되어, 뉴스에 대응되는 티커로서 삼성전자의 스코어는 96점일 수 있다. 또한 동일한 뉴스의 본문에 포함되는 센텐스에 대응되는 센텐스 티커(510)인 대덕전자는 보통 수준의 가중치(520)가 할당되어 뉴스에 대응되는 티커로서 대덕전자의 스코어는 54점일 수 있다.
뉴스 티커 결정부는 티커 스코어가 임계값을 넘은 경우에만 해당 센텐스 티커를 뉴스 티커(530)로서 결정할 수 있다. 뉴스 티커(530)에 대응되는 기업이 뉴스에 대응되는 기업으로 결정될 수 있다.
또한, 본 발명의 실시예에 따르면, 뉴스 티커 결정부는 추가적으로 역할 결정 모델을 활용하여, 문장 내에서 평가자와 평가 대상을 분류하여 뉴스에 대응되는 티커를 결정할 수 있다. 예를 들어, '삼성증권이 하이닉스의 목표가를 상향했다'라는 문장에서 삼성증권은 평가자이며 하이닉스는 평가 대상이다. 이 문장이 포함된 뉴스는 삼성증권이랑 연결되는 것 보다는 대상인 하이닉스와 연결되는 것이 적합하기 때문에, 역할 결정 모델을 기반으로 평가자인 삼성증권은 해당 문장과 연결이 되지 않도록 했다. 역할 결정 모델의 구체적인 동작은 후술된다.
도 6은 본 발명의 실시예에 따른 뉴스 클러스터링부의 동작을 나타낸 개념도이다.
도 6에서는 뉴스 클러스터링부의 중복 뉴스를 제거하기 위한 클러스터링 동작이 개시된다.
도 6을 참조하면, 뉴스 클러스터링부는 뉴스에 대응되는 뉴스 티커를 결정한 이후, 내용 상으로 중복되는 중복 뉴스를 묶어주기 위한 뉴스 클러스터링을 수행할 수 있다. 뉴스 클러스터링은 뉴스 티커가 유사한 뉴스에 대해서만 수행될 수도 있고, 전체 뉴스에 대해 수행될 수도 있다.
뉴스 클러스터링부는 뉴스 텍스트를 형태소 분석기를 활용하여 토큰 단위로 생성할 수 있다.
생성된 복수의 토큰(600)은 fasttext를 활용하여 벡터화될 수 있고, 복수의 토큰 각각에 대한 벡터값들의 평균값을 기반으로 뉴스의 제1 벡터값(610)이 결정될 수 있다. 제1 벡터값(610)은 형태소 벡터값이라는 용어로도 표현될 수 있다.
다음으로 지식 그래프를 활용하여 뉴스에 해당되는 기업들의 제2 벡터값(620)이 결정될 수 있다. 제2 벡터값(620)는 기업 벡터값이라는 용어로 표현될 수도 있다.
제1 벡터값(610)과 제2 벡터값(620)을 기반으로 복수의 뉴스에 대한 클러스터링이 수행될 수 있다. 하나의 클러스터로 결정된 복수의 뉴스는 중복된 뉴스로 판단될 수 있다. 형태소 벡터값 및 기업 벡터값의 결정 방법 및 클러스터링 방법은 후술된다.
이를 통해 중첩된 키워드들 중에서 어느 키워드가 특정 뉴스에 해당되는 기업인지 분류해냈다. 이뿐만 아니라 뉴스 클러스터링을 통해 비슷한 뉴스들은 하나로 묶어, 여러 언론사에서 중복으로 배포하는 뉴스들을 쉽게 관리할 수 있도록 하였다. 즉, 다양한 키워드로 뉴스를 수집하고, 정확한 기업명이 뉴스에 없더라도 그 뉴스를 특정 기업에 매핑하여 사용자에게 보여줄 수 있다.
도 7은 본 발명의 실시예에 따른 개체명 추출부의 동작을 나타낸 개념도이다.
도 7에서는 개체명 추출부의 NER 동작이 개시된다.
도 7을 참조하면, 본 발명에서 입력된 센텐스에 대응되는 각 토큰들의 E값은 3개의 임베딩 값이 결합되어 생성된 값이다.
제1 임베딩으로서 토큰 임베딩(710)은 센텐스 피스(sentence piece) 알고리즘을 활용하여 자주 등장하는 가장 긴 길이의 서브-워드(sub-word)를 하나의 단위로 만들어서 제1 임베딩값을 결정할 수 있다.
제2 임베딩으로서 세그먼트 임베딩(720)은 문장 단위의 마스킹을 기반으로 제2 임베딩값을 결정할 수 있다. 첫 문장인 Ea에는 0, 그 이후 문장인 Eb에는 1값을 부여한다.
제3 임베딩으로서 포지션 임베딩(730)은 문장 내의 입력 토큰의 위치 정보를 주기 위해 sigmoid 함수를 이용한 포지션 인코딩(position encoding)을 기반으로 제3 임베딩값을 결정할 수 있다.
복수의 토큰 각각에 대한 제1 임베딩값, 제2 임베딩값 및 제3 임베딩값은 더해져서 제1 센텐스 벡터화 엔진의 입력 벡터(700)로서 사용될 수 있다.
제1 센텐스 벡터화 엔진은 N개의 트랜스포머 인코더 블럭으로 구성된 모델이다. 본 발명에서는 2개의 모델이 선택적으로 사용될 수 있다. 2개의 제1 센텐스 벡터화 엔진은 베이스(base) 모델 또는 라지(large) 모델이다. 베이스 모델은 12개의 트랜스포머 인코더 레이어, 라지 모델은 24개의 트랜스포머 인코더 레이어(740)으로 구성된다. 복수의 트랜스포머 인코더 레이어(740)는 입력값 전체의 의미를 N번만큼 반복적으로 인코딩하는 과정을 진행한다. 트랜스포머 인코더 레이어(740)가 많을수록 단어 사이의 복잡한 관계를 잘 포착할 수 있다. 하지만, 트랜스포머 인코더 레이어(740)의 개수가 너무 많아지면 속도가 저하되는 문제점이 발생한다. 따라서, 선택적으로 베이스 모델 또는 라지 모델을 사용할 수 있다. 예를 들어, 분류별 정확도를 기반으로 임계 정확도 이상이 필요한 경우, 라지 모델이 사용될 수 있다. 또한, 뉴스에 포함되는 전체 텍스트의 양이 상대적으로 많아질수록 노이즈가 많아지게 되고 이러한 노이즈를 고려하여 라지 모델이 사용될 수도 있다.
이하, 설명의 편의상 베이스 모델을 기준으로 설명된다.
도 7의 하단과 같이 베이스 모델은 12개의 트랜스포머 인코더 레이어(740)가 쌓여있는 구조이다. 각 트랜스포머 인코더 레이어(740)는 도 7의 하단의 우측과 같이 구성될 수 있다. 각 트랜스포머 인코더 레이어(740)는 멀티-헤드 셀프-어텐션(multi-head self-attention)(750), 피드 포워드 네트워크(Feed Forward Network)(770)를 포함할 수 있다.
본 발명의 트랜스포머 인코더 레이어(740)의 멀티헤드 셀프 어텐션(750)은 헤드가 복수개인 어텐션이다. 멀티헤드 셀프 어텐션(750)은 서로 다른 어텐션 가중치를 이용해 헤드의 개수만큼 어텐션을 계산한 다음에 이를 서로 연결(concatenate)하는 레이어이다.
즉, 멀티 헤드 셀프 어텐션(750)을 통해 E1부터 En까지 모든 입력 벡터(700)들을 참고하여 문맥을 반영한 벡터값(760)을 생성한다. 이 값들은 다시 포지션 와이즈 피드 포워드 신경망(Position wise Feed-Forward Network)(770)을 거치게 된다. FFNN(770)은 GELU라는 활성화 함수를 활용하여 해당 벡터값을 미분하여 기울기(그래디언트)를 구해 전달한다. 각 트랜스포머 인코더 레이어에서 구해진 값들은 다음 트랜스포머 인코더 레이어(740)에 전달되며, 베이스 모델의 경우, 이러한 과정이 총 12번 반복될 수 있다. 이러한 과정을 통해 복수의 입력 토큰 각각에 대응되는 최종 벡터(780) T값이 결정될 수 있다.
최종 벡터(780)는 태그화 엔진(790)을 통해서 본 발명에서 정의된 태그와 BIO 태그로 표현될 수 있다.
BIO 태그는 Begin의 약자인 B, Intermediate의 약자인 I, Outside의 약자인 O를 의미한다. 예를 들면 영화 제목을 인식해보면, 범(B) 죄(I) 도(I) 시(I) 볼(O) 까(O)와 같이 영화 제목의 시작인 범에는 B, 영화 제목이 끝날 때까지는 I, 그 외의 부분은 O가 사용된다. 이처럼 B와 I는 개체명을 위해 사용되고, O는 개체명이 아니라는 의미를 갖게 된다.
태그화 엔진(790)은 데이터 X가 주어졌을 때, 결과 Y가 나타날 확률을 직접적으로 계산하는 알고리즘이다. 본 발명의 태그화 엔진(790)의 모델 파라미터들은 실제의 P(Y|X)를 최대화시키는 쪽으로 학습하게 된다.
예를 들면, 삼성(TAG1) 전자(TAG2) 의(TAG3) 홍길동(TAG4) 부장(TAG5)이라는 문장이 있을 때, 태그화 엔진(790)를 활용하면 삼성이라는 TAG1은 앞에 B 태그가 없기 때문에 I는 불가능하다는 사실을 알 수 있다. 따라서, 1/2의 확률로 B, O의 태그가 가능하게 된다. 태그화 엔진(790)을 활용하지 않았다면 T값만을 활용하여 1/3의 확률로 B, I, O태그를 부여하게 되지만, 태그화 엔진(790)을 활용한다면 T값과 더불어 주변 이웃 토큰의 BIO태그 정보를 활용하여 해당 토큰의 BIO 태그 확률을 계산할 수 있게 된다.
본 발명에서 태그화 엔진(790)를 통해 주어지는 제약의 일부는 아래와 같다.
(1) 문장의 첫번째 단어에서는 I가 나오지 않는다.
(2) O-I 패턴은 나오지 않는다.
(3) B-I-I 패턴에서 개체명은 일관성을 유지한다. 예를 들어 PER-B 다음에 ORG-I는 나오지 않는다.
본 발명에서 정의된 10개의 태그인 인물(Person), 조직(Organization), 위치(Location), Other proper noun(그외 고유 명사), Date(날짜), Time(시간), Duration(기간), Money(돈), Percentage(퍼센트), Other number representation(그외 숫자 표현)를 결정하기 위한 학습 방법이 개시된다.
여러 문장들과 문장 내의 개체명들로 구성된 학습 데이터셋을 기반으로 학습이 수행될 수 있다. 총 태그의 개수는 21개 (10개의 태그에서 +B와 +I 태그가 가능, O태그)로 정의될 수 있다. 예를 들면, PER-B, PER-I, ORG-B, ORG-I, O와 같은 태그들이 정의될 수 있다.
특정 문장이 본 발명의 NER모델에 입력되면, 해당 문장은 토큰 단위로 쪼개져서 제1 센텐스 벡터화 엔진과 태그화 엔진을 통과하고, 해당 토큰에 대응하는 태그들이 부여될 수 있다. 태그가 부여된 토큰들은 B부터 I까지 재결합하여 하나의 개체명이 되도록 할 수 있다. 예를 들어, 삼성(ORG-B) 전(ORG-I) 자(ORG-I) 부장(O) 직책(O) 홍(PER-B) 길동(PER-I)는 삼성전자(ORG) 부장(O) 직책(O) 홍길동(PER)로 결정될 수 있다. 모델의 학습은 부여된 개체명과 정답 데이터 셋이 맞는 방향으로 진행된다.
도 8은 본 발명의 실시예에 따른 지식 그래프를 나타낸 개념도이다.
도 8에서는 내부 데이터 지식 그래프를 생성하는 방법이 개시된다.
도 8을 참조하면, 내부 데이터 지식 그래프는 정형화되어 있는 기업의 속성과 기업 간의 관계 정보를 표현할 수 있도록 시맨틱 웹 표준에 맞는 온톨로지의 생성을 기반으로 결정될 수 있다.
시맨틱 웹은 컴퓨터가 웹에 있는 데이터를 사람처럼 이해하도록 의미론적 해석이 가능하도록 만들 수 있다. 예를 들면 "나는 8월 28일에 태어났다" 와 "내 생일은 8월 28일이다"라는 문장은 의미론적으로는 같은 문장이지만 컴퓨터는 이를 같은 문장이라고 생각하지 않는다. 따라서, 시멘틱 웹 온톨로지는 위의 두 문장을 같게 만들어줄 수 있다. 온톨로지를 정의하고, 이에 맞춰서 (나, 태어남, 8월 28일) 과 (나, 생일, 8월 28일)로 데이터를 추출하여 지식 그래프가 구축될 수 있다. 온톨로지에는 '태어남'과 '생일'이 같은 의미라는 것을 정의해두었기 때문에, 컴퓨터는 두 데이터가 같은 의미라는 것을 파악할 수 있게 된다.
본 발명의 실시예에 따르면, 시맨틱 웹 표준 온톨로지는 클래스, 오브젝트(object), 데이터(data) 등을 기반으로 정의될 수 있다.
도 8의 상단을 참조하면, 본 발명에서는 클래스 계층, 오브젝트 계층, 데이터 계층이 정의되고, 클래스 계층, 오브젝트 계층, 데이터 계층을 기반으로 지식 그래프가 생성될 수 있다.
클래스는 데이터 속성(property)을 가지는 집합의 개념으로서 회사(예를 들어, 삼성 전자)에 대응될 수 있다.
데이터는 회계년도, 주소, 기업 등록번호, ceo이름, 전화번호, 주소와 같은 클래스에 대응되는 기업에 대한 데이터를 포함할 수 있다.
오브젝트는 클래스 간의 관계나 데이터 간의 관계를 나타내는 정보일 수 있다. 예를 들어, 오브젝트는 서플라이 체인, 산업 분류 등을 기반으로 한 클래스 간의 관계 정보를 나타낼 수 있다. 삼성 전자라는 기업의 클래스와 KH바텍이라는 기업의 클래스가 있다고 가정하면, 삼성전자는 CEO에 이재용, 주소지에 수원과 같은 데이터 속성을 가지고, 삼성 전자와 kh바텍은 has_supply_chain이라는 오브젝트 속성을 기반으로 연결될 수 있다.
도 8의 하단을 참조하면, 클래스, 데이터, 오브젝트를 기반으로 한 내부 데이터 지식 그래프가 개시된다.
애플(Apple)과 마이크로소프트(Microsoft)는 기업이라는 클래스를 가지며, Steve jobs, Bill Gates, 2011/10/05는 데이터에 해당될 수 있다. 그리고 클래스들이나 데이터들을 연결해주는 'is a competitor of', 'is founded by', 'is a friend of' 와 같은 오브젝트가 존재할 수 있다.
도 9는 본 발명의 실시예에 따른 지식 그래프를 나타낸 개념도이다.
도 9에서는 외부 데이터 지식 그래프를 생성하는 방법이 개시된다.
도 9를 참조하면, 외부 데이터 지식 그래프(950)는 외부 데이터(예를 들어, 위키 데이터)를 수집하고 외부 데이터를 파싱하여 표제어들의 속성과 표제어들 간의 정보를 추출하여 구축될 수 있다. 표제어는 기업과 같은 지식 그래프의 생성 대상일 수 있다.
데이터 파싱은 아래와 같은 방법으로 수행될 수 있다.
a) 데이터 파싱
(1) 외부 데이터 수신 단계(910)
후보 티커 결정부는 외부 데이터 서버(예를 들어, wikipedia)에서 제공하는 외부 데이터(예를 들어, 한국어 위키 덤프 데이터)와 온톨로지 양식을 수신할 수 있다.
(2) 관계, 속성 수집 단계(920)
외부 데이터에서 정보가 포함된 인포 박스(Infobox) 영역만을 파싱(parsing)하여, 표제어에 대한 관계, 속성 정보를 수집할 수 있다. 인포 박스 영역은 외부 데이터에서 관계 정보와 속성 정보를 포함하는 영역일 수 있다.
관계 정보는 산업 분야, 창립일, 창립자, 본사 소재지 등일 수 있고, 속성 정보는 전자재료, 1969년 1월 13일, 이병철, 대한민국 경기도 수원시 등일 수 있다. 관계 정보와 속성 정보가 수집되어 (삼성전자, 창립자, 이병철)과 같은 데이터가 수집될 수 있다.
외부 데이터 중 표제어가 가진 분류 정보와 멘션된 외부 링크 정보가 수집될 수 있다. 예를 들어, 삼성 전자의 분류 정보는 '한국 거래소 상장 기업', '런던 증권 거래소 상장 기업', '반도체 기업', '로봇 기업', '휴대 전화 제조사' 등과 같은 삼성 전자를 분류하기 위한 카테고리에 대한 정보일 수 있다. 외부 링크 정보는 삼성 전자와 관련된 외부 링크(예를 들어, 삼성 그룹에 대한 정보를 포함하는 외부 링크)에 대한 정보를 포함할 수 있다.
수집 정보 중 중복 정보는 중복 정보 제거를 위한 온톨로지(예를 들어, dbpedia ontology)를 기반으로 제거될 수 있다.
(3) 유의어 수집 단계(930)
표제어에 대한 정규화(예를 들어, 괄호 등을 제거하는 과정)가 수행되고, 동음이의어에 대한 정보도 추가될 수 있다. 외부 데이터 서버에서 하나의 대상으로 검색되는 다른 다양한 검색어들, 상호 링크를 통해 동일한 대상을 지시하는 경우 동음이의어로서 판단하여 유의어로서 수집될 수 있다.
예를 들어, 삼성 갤럭시 노트 10.1과 유의어로 갤럭시 노트 10.1이 유의어로서 존재할 수 있고, 아이폰 SE에 대해서는 아이폰 SE 1세대, 아이폰 SE 2세대, 아이폰 SE 3세대가 유의어로서 존재할 수 있다.
위와 같은 단계를 통한 데이터 파싱 이후, 표제어들의 속성과 표제어들 간의 정보의 추출은 마찬가지로 인포 박스의 표제어에 대한 관계, 속성 정보, 외부 링크와 유의어 등을 활용하여 표제어들 간의 정보를 추출할 수 있다.
이러한 표제어들 간의 정보의 추출을 통해 기업에 대한 정보는 클래스, 데이터, 오브젝트로 정리되어 외부 데이터 지식 그래프(950)가 생성될 수 있다.
본 발명의 실시예에 따른 지식 그래프 간의 연결이 수행될 수 있다. 지식 그래프 간의 연결을 위해서 주식 코드를 기반으로 연결이 수행될 수 있다. 기존에 생성된 온톨로지 데이터 상의 지식 그래프에 대응되는 기업의 주식 코드와 새롭게 생성된 지식 그래프에 대응되는 기업의 주식 코드를 비교하고, 주식 코드가 동일할 경우, 두 기업은 자동으로 같은 기업으로서 지식 그래프가 연결될 수 있다. 만약, 구축된 온톨로지 데이터 상에 지식 그래프가 존재하나, 주식 코드가 없어서 링킹이 되지 않을 수도 있다. 이러한 경우, 기업 간의 관계를 RDB(relational database)로 구축하여 지식 그래프 간의 연결이 수행될 수 있다.
도 10은 본 발명의 실시예에 따른 후보 티커 스코어 결정부의 동작을 나타낸 개념도이다.
도 10에서는 후보 티커 스코어 결정부의 구체적인 동작이 개시된다.
도 10을 참조하면, 후보 티커 스코어 결정부는 개체명 추출부를 개량한 모델일 수 있다.
후보 티커 스코어 결정부에서 사용되는 제2 센텐스 벡터화 엔진(1000)은 제1 센텐스 벡터화 엔진과 다른 방식의 학습이 수행될 수 있다.
제1 센텐스 벡터화 엔진은 앞 뒤 단어를 활용하여 비어있는(마스킹된) 단어를 예측하는 제1 학습 방식(MLM, Masked Language Model)과 이어지는 문장이 2개 주어졌을 때, 두 문장이 올바르게 연결되어 있는지 예측하는 제2 학습 방식(NSP, Next Sentence Prediction)을 기반으로 학습이 수행될 수 있다.
제2 센텐스 벡터화 엔진(1000)은 마스킹된 단어를 다른 단어로 치환한 후 원본과 맞는지 확인하는 방식인 RTD(Replaced Token Detection)방식으로 학습될 수 있다.
후보 티커 스코어 결정부의 센텐스 임베딩 값의 결정은 아래와 같은 방식으로 수행될 수 있다.
제2 센텐스 벡터화 엔진(1000)으로 입력되는 토큰의 종류에는 CLS(전체 문장의 시작), SEP(문장 간의 분류)와 같은 특수한 토큰과 Tok 1 내지 Tok N과 같은 일반적인 토큰이 존재한다. Tok 1 내지 Tok N은 제2 센텐스 벡터화 엔진(1000)을 통과하면 해당 토큰(token)이 문맥상에서 갖는 의미를 나타내는 Tn값이 나온다. 하지만, CLS는 제2 센텐스 벡터화 엔진(1000)을 통과하면 Tok1 내지 Tok N 모두를 아우르는 센텐스 임베딩 값인 C로 결정될 수 있다. 따라서, CLS토큰으로부터 나온 센텐스 임베딩 값(C)은 입력된 문장 자체에 대한 임베딩값이다.
예를 들면, '삼성 전자의 실적은 000이다'라는 문장을 토큰화하고 임베딩했을 때, T1 ~ TN은 각 토큰(Tok1 ~ Tok N)의 의미를 나타내지만 CLS 토큰으로부터 나온 센텐스 임베딩값(C)은 '삼성 전자의 실적은 000이다'라는 문장을 벡터로 임베딩한 값이다.
제2 센텐스 벡터화 엔진(1000)을 통해 센텐스 임베딩 값(1005)이 결정되고, 센텐스 임베딩 값(1005)은 양방향 학습모델(1060)을 통해 센텐스 벡터(1020)로 생성될 수 있다.
양방향 학습모델(1060)은 데이터의 정방향, 역방향 전달을 기반으로 학습을 수행하는 모델이다. 양방향 학습모델(1060)은 정방향, 역방향으로 각각 1개씩 LSTM을 쌓아 총 2개의 LSTM으로 이뤄진 구조이다. LSTM은 이전 시점의 정보뿐만 아니라 과거의 정보까지 해서 2가지의 정보를 전달하기 때문에 X0의 데이터를 H t+1 시점까지 안정적으로 전달할 수 있다. LSTM은 X0 -> X t 시점으로 단방향으로만 데이터를 전달하기 때문에, X t -> X 0 시점으로 역방향 데이터를 전달하는 LSTM을 추가해준 구조가 양방향 학습 모델의 구조이다.
"캠핑을 가서 밥을 먹기 위해 필요한 도구는 그릇, 숟가락, 젓가락, 버너, 코펠 등이 있다"라는 문장에서 정방향 LSTM만 사용한다면 코펠을 파악할 때 캠핑이라는 단어를 활용할 수 있지만 캠핑이라는 단어를 파악할 때 코펠이라는 단어를 활용할 수 없습니다. 따라서, 역방향으로 진행되는 LSTM을 통해 캠핑이라는 단어를 파악할 때 코펠이라는 단어를 참고할 수 있도록 해준다.
제2 센텐스 벡터화 엔진(1000)을 통해 획득한 C ~ Tn은 양방향 학습 모델(1060)을 통해 Yc 내지 Yn로 생성될 수 있다. 센텐스 임베딩값(1005)인 C를 기반으로 결정된 Yc가 토큰 전체의 임베딩 값을 아우르는 센텐스 벡터(1020)일 수 있다.
도 11은 본 발명의 실시예에 따른 후보 티커 스코어 결정부에서 벡터값을 결정하는 방법을 나타낸 개념도이다.
도 11에서는 후보 티커 스코어 결정부에서 지식 그래프 벡터, 센텐스 벡터 및 디스턴스 벡터를 결정하는 방법이 개시된다.
도 11을 참조하면, 지식 그래프 벡터(1103)는 전술한 지식 그래프(1100)를 학습하여 만들어진 지식 그래프 임베딩(Knowledge Graph Embedding, KGE)을 기반으로 획득될 수 있다.
지식 그래프(1100)는 (h, l, t)와 같이 트리플(triple)의 형태로 표현될 수 있다.
(h, l, t)는 헤드(head), 관계(relation), 테일(tail)을 의미하고, 헤드와 테일이 특정 관계라는 것을 의미한다. 예를 들면, (삼성전자, 부회장, 이재용)이라는 트리플은 '삼성전자와 이재용은 부회장이라는 관계가 있다'라는 의미를 포함할 수 있다.
이와 같이 헤드와 테일의 다양한 관계를 저차원의 벡터 공간에 표현 가능하도록 하는 것이 지식 그래프 임베딩이다. 지식 그래프 임베딩을 위해 다양한 방법이 사용될 수 있다.
본 발명에서는 지식 그래프 임베딩을 위해 헤드 임베딩 벡터(head embedding vector)(1110)에 관계 임베딩 벡터(relation embeddimg vector)(1120)를 더하여 테일 임베딩 벡터(tail embedding vector)(1130)가 되도록 하는 지식 그래프 학습 과정이 수행될 수 있다. 예를 들면, 'h1=이재용, h2=정의선, t1=삼성, t2=현대, r1=CEO' 라면 h1+r=t1, h2+r=t2에 근접해지도록 지식 그래프를 학습하는 과정이다.
지식 그래프 벡터(1103)는 지식 그래프 임베딩을 기반으로 결정된 후보 기업명(또는 후보 티커)에 해당하는 벡터값이다.
센텐스 벡터(1106)는 전술한 바와 같이 CLS 토큰을 제2 센텐스 벡터화 엔진(1140)을 통과시켜 얻은 센텐스 임베딩 값(1150)을 다시 한번 양방향 학습 모델을 통해 획득한 벡터값이다.
디스턴스 벡터(1109)는 문자열 간의 유사도를 기반으로 결정될 수 있다. 문자열 간의 유사도는 두 개의 문자열 A, B가 주어졌을 때 두 문자열이 얼마나 유사한 지를 알아낼 수 있는 알고리즘을 사용하여 결정될 수 있다. 문자열 A가 문자열 B와 같아지기 위해서는 몇번의 삽입, 대체를 해야하는지를 계산하여 유사도가 결정될 수 있다. 예를 들면, process와 professor가 있다고 가정하면, 문자열 A의 4번째 문자 c를 f로 대체하고, 마지막 위치에 o, r를 삽입한다면 process가 professor로 바뀔 수 있다. 여기서 1번의 대체와 2번의 삽입을 했기 때문에, process와 professor의 거리는 3이 된다. 이러한 알고리즘을 이용하여 후보 티커가 얼마나 정답에 가까운지를 체크하여 디스턴스 벡터가 결정될 수 있다.
도 12는 본 발명의 실시예에 따른 후보 티커 스코어를 결정하는 방법을 나타낸 개념도이다.
도 12에서는 후보 티커 스코어 결정부의 후보 티커 스코어의 결정 방법이 개시된다.
도 12를 참조하면, 지식 그래프 벡터(1210), 센텐스 벡터(1220) 및 디스턴스 벡터(1230)를 기반으로 후보 티커 스코어(1290)를 결정하는 방법이 개시된다.
후보 티커 스코어 결정부는 지식 그래프 벡터(1210), 센텐스 벡터(1220) 및 디스턴스 벡터(1230)를 연결(concatenate)할 수 있다.
지식 그래프 벡터(1210), 센텐스 벡터(1220) 및 디스턴스 벡터(1230)의 연결을 기반으로 한 연결 벡터(1240)의 차원 사이즈는 지식 그래프 벡터의 차원 사이즈, 센텐스 벡터의 차원 사이즈 및 디스턴스 벡터의 차원 사이즈를 합한 값이다.
연결 벡터(1240)의 벡터값은 FC(Fully Connected) 레이어(1250)로 전달되고 FC 레이어(1250)는 연결 벡터(1240)의 벡터값을 1차원으로 축소시켜줄 수 있다. 1차원 벡터(1260)는 Softmax 활성화 함수(1270)를 기반으로 확률값(1280)으로 추출될 수 있다.
추출된 확률값(1280)은 특정 후보 티커가 정답에 가까울지에 대한 확률값이고, 이 확률값(1280)을 기반으로 후보 티커 스코어(1290)가 결정될 수 있다. 즉, 후보 티커 결정부에 의해 결정된 적어도 하나의 후보 티커에 대한 확률값(1280)을 기반으로 후보 티커가 얼마나 정답에 가까운지를 스코어링 한 후보 티커 스코어(1290)가 결정될 수 있다.
도 13은 본 발명의 실시예에 따른 역할 결정 모델의 동작을 나타낸 개념도이다.
도 13에서는 뉴스 티커 결정부의 역할 결정 모델에서 평가자와 평가 대상을 분류하여 뉴스에 대응되는 티커를 결정하는 방법이 개시된다.
도 13을 참조하면, 역할 결정 모델은 문장 내에 포함된 서술어와 해당 서술어의 수식을 받는 논항 간의 의미 관계를 인식하고, 그 역할을 분류할 수 있다. 이를 통해 "누가, 무엇을, 어떻게, 왜" 등의 의미 관계를 찾아내는 것을 목적으로 합니다. 논항은 문장의 구조가 바뀌어도 의미 논항(행위주, 피동작주)은 유지된다.
따라서, 올바른 의미역 결정을 한다는 것은 문장의 의미를 이해하고, 나아가 문서 또는 대화의 의미를 이해하기 위한 처리에서 주요한 역할을 한다. 예를 들어, "그는 경찰에게 신분증을 보였다"라는 문장에서 '그'는 행위주(용언을 행하고 느끼고 경험하는 대상)이고 '경찰'은 도착점(용언이 행해진 결과 및 도착점)이며 '신분증'은 피동작주(용언을 함께하는 대상)으로 분류될 수 있다.
역할 결정 모델은 우선 문장에 대해 형태소 분석기를 기반으로 한 형태소 분석을 진행한다. 형태소 분석이란 형태소를 비롯하여, 어근, 접두사, 접미사, 품사 등 다양한 언어적 속성의 구조를 파악하는 것이다.
다음으로 토큰과 형태소 분석 결과를 묶어서 개체명 추출부에서 사용된 제1 센텐스 벡터화 엔진(1310)으로 전달할 수 있다. 즉, 센텐스를 토큰화하여 제1 센텐스 벡터 엔진(1310)으로 전달하여 임베딩할 수 있다. 이후, LSTM 태그화 엔진(1320)으로 전달할 수 있다. LSTM 태그화 엔진(1320)은 개체명 추출부에서 사용된 태그화 엔진에 대하여 LSTM 기반의 학습을 수행한 것일 수 있다. LSTM 태그화 엔진(1320)을 기반으로 토큰의 의미역이 무엇인지에 대한 분류가 수행될 수 있다.
개체명 추출부와 다르게 입력값에 토큰만 들어가는 것이 아니라 형태소 분석 결과가 함께 전달되어 해당 토큰이 어떠한 형태소인지도 알 수 있다.
도 14는 본 발명의 실시예에 따른 뉴스 클러스터링부의 클러스터링 동작을 나타낸 개념도이다.
도 14에서는 뉴스 클러스터링부의 중복 뉴스를 제거하기 위한 클러스터링 동작이 구체적으로 개시된다.
도 14를 참조하면, 뉴스 클러스터링부는 뉴스 본문을 구성하는 센텐스 전체를 형태소 분석기를 활용하여 토큰 단위로 생성할 수 있다.
이후, 뉴스 클러스터링부는 조사(예를 들어, 을, 를, 이, 가)와 어미 표현을 삭제하고, 어근에 해당하는 형태소만을 남길 수 있다.
뉴스 클러스터링부는 조사와 어미 표현을 제외하고 남겨진 나머지 형태소를 n차원의 벡터값으로 표현될 수 있다.
구체적으로 벡터값은 각 단어를 캐릭터 단위 n-gram으로 쪼개서 표현될 수 있다. 예를 들어, 토마토주스를 n=3 을 기준으로 나눈다면, [토마, 토마토, 마토주, 토주스, 주스]로 표현될 수 있다. 한국어와 같이 조사/어미가 발달한 언어는 위와 같은 캐릭터 단위로 분할될 경우, 좋은 성능이 나올 뿐만 아니라 한 단어를 쪼개서 훈련시키기 때문에 다양한 단어의 변용에도 잘 작동하게 된다.
위와 같은 나머지 형태소에 대한 벡터값 치환 이후, 모든 벡터값들의 평균값을 구하면 뉴스에 대한 벡터값이 결정될 수 있다. 나머지 형태소를 기반으로 결정된 뉴스의 벡터값은 형태소 백터값(1400)이라는 용어로 표현될 수 있다.
기업 벡터값(1420)은 지식 그래프를 학습하여 만들어진 지식 그래프 임베딩에서 결정된 뉴스와 매칭되는 기업의 임베딩값이다. 뉴스에 해당되는 기업이 복수개가 존재한다면, 복수의 기업들의 복수의 기업 벡터값(1420)의 평균값이 기업 벡터값일 수 있다.
예를 들어, 뉴스에 존재하는 나머지 형태소 각각의 벡터값이 [A, B, C, D], 뉴스에 해당되는 기업들의 벡터값이 [X, Y]라고 한다면, 형태소 벡터값은 (A+B+C+D)/4, 기업 벡터값은 (X+Y)/2이다.
형태소 백터값(1400)은 문서 내에 존재하는 유의미한 형태소들의 평균값이고, 평균값이라는 것은 형태소 백터값이 더 많이 언급된 단어를 더 많이 반영함을 의미한다. 예를 들어, 뉴스에 반도체라는 단어가 많이 언급되었다면 뉴스의 형태소 벡터값(1400)은 반도체에 가까운 벡터값을 갖지게 된다.
마찬가지로 뉴스의 기업 벡터값(1420)의 결정을 위해 기업의 평균 벡터값을 활용한다는 의미는 기업 벡터값(1420)이 뉴스 상에서 더 많이 언급된 기업을 반영함을 의미한다. 삼성전자와 하이닉스가 관련된 뉴스라면 이 뉴스의 기업 벡터값은 두 기업의 중간을 나타낼 수 있다.
위와 같이 결정된 뉴스에 대한 형태소 벡터값(1400)과 뉴스에 대한 기업 벡터값(1420)은 합쳐질 수 있다. n 차원의 형태소 벡터값(1400)과 m 차원의 기업 벡터값(1420)은 합쳐져서 (m+n) 차원의 벡터값으로 표현될 수 있다.
복수의 뉴스에 대한 (m+n) 차원의 벡터값은 클러스터링을 통해 클러스터를 형성할 수 있고 형성된 클러스터는 중복 뉴스로 판단될 수 있다.
도 15는 본 발명의 실시예에 따른 클러스터링을 나타낸 개념도이다.
도 15에서는 뉴스를 클러스터링하기 위한 클러스터링 방법이 개시된다.
도 15를 참조하면, 본 발명에서는 벡터값을 기준으로 반경 x내에 점이 n개 있다면 하나의 군집으로 인식하는 방식이 사용될 수 있다.
유사한 데이터는 서로 근접하게 분포하기 때문에 이러한 반경을 기준으로 한 클러스터링이 수행될 수 있다. 중심점 P에서부터 거리 eps(epsilon)내에 점이 m(minimum point)개 만큼 있다면 이는 하나의 군집으로 인식되어 클러스터가 형성될 수 있다.
예를 들어, M이 4로 설정된 경우, 뉴스P1를 기준으로 eps 내에 5개의 뉴스(P2, P3, P4, P5)가 존재하기 때문에 (P1, P2, P3, P4, P5)는 하나의 군집인 제1 클러스터로 인식될 수 있다.
또한, P3를 기준으로 eps 내에 4개의 뉴스(P3, P4, P1, P6)가 존재하기 때문에 4개의 뉴스(P3, P4, P1, P6)는 하나의 군집인 제2 클러스터로 인식될 수 있다.
또한, P1 및 P3는 하나의 군집 내에 존재하기 때문에 제1 클러스터와 제2 클러스터는 묶여서 제3 클러스터를 형성할 수 있다. 제3 클러스터에 포함되는 (P1, P2, P3, P4, P5, P6)는 하나의 뉴스 클러스터로서 묶일 수 있다.
위와 같은 방식으로 중복된 뉴스는 하나의 클러스터로 묶여서 제공될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (6)

  1. 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법으로서,
    뉴스 티커 매핑 장치는 복수의 센텐스 각각에 대한 복수의 센텐스 티커 각각을 결정하는 단계;
    상기 뉴스 티커 매핑 장치가 상기 복수의 센텐스 티커 각각에 대한 가중치를 결정하는 단계; 및
    상기 뉴스 티커 매핑 장치가 상기 복수의 센텐스 티커 및 상기 복수의 센텐스 티커 각각에 대한 상기 가중치를 기반으로 상기 뉴스 티커를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 가중치는 상기 뉴스를 구성하는 상기 복수의 센텐스의 위치 및 상기 센텐스가 제목인지 여부를 기반으로 결정되는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 가중치는 역할 결정 모델을 기반으로 상기 센텐스 내의 평가자와 평가 대상을 분류하여 결정되는 것을 특징으로 하는 방법.
  4. 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 뉴스 티커 매핑 장치로서,
    복수의 센텐스 각각에 대한 복수의 센텐스 티커 각각을 결정하도록 구현되는 후보 티커 스코어 결정부 및
    상기 복수의 센텐스 티커 각각에 대한 가중치를 결정하고, 상기 복수의 센텐스 티커 및 상기 복수의 센텐스 티커 각각에 대한 상기 가중치를 기반으로 상기 뉴스 티커를 결정하도록 구현되는 뉴스 티커 결정부를 포함하는 것을 특징으로 하는 뉴스 티커 매핑 장치.
  5. 제4항에 있어서,
    상기 가중치는 상기 뉴스를 구성하는 상기 복수의 센텐스의 위치 및 상기 센텐스가 제목인지 여부를 기반으로 결정되는 것을 특징으로 하는 뉴스 티커 매핑 장치.
  6. 제5항에 있어서,
    상기 가중치는 역할 결정 모델을 기반으로 상기 센텐스 내의 평가자와 평가 대상을 분류하여 결정되는 것을 특징으로 하는 뉴스 티커 매핑 장치.
KR1020220094512A 2022-07-13 2022-07-29 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치 KR102458989B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020220094512A KR102458989B1 (ko) 2022-07-29 2022-07-29 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치
US18/350,737 US20240046039A1 (en) 2022-07-13 2023-07-11 Method for News Mapping and Apparatus for Performing the Method
US18/354,647 US20240070396A1 (en) 2022-07-13 2023-07-19 Method for Determining Candidate Company Related to News and Apparatus for Performing the Method
US18/358,758 US20240070175A1 (en) 2022-07-13 2023-07-25 Method for Determining Company Related to News Based on Scoring and Apparatus for Performing the Method
US18/361,818 US20240070387A1 (en) 2022-07-13 2023-07-29 Method for Determining News Ticker Related to News Based on Sentence Ticker and Apparatus for Performing the Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094512A KR102458989B1 (ko) 2022-07-29 2022-07-29 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치

Publications (1)

Publication Number Publication Date
KR102458989B1 true KR102458989B1 (ko) 2022-10-26

Family

ID=83784430

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094512A KR102458989B1 (ko) 2022-07-13 2022-07-29 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치

Country Status (1)

Country Link
KR (1) KR102458989B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent

Similar Documents

Publication Publication Date Title
Jung Semantic vector learning for natural language understanding
Chan et al. A text-based decision support system for financial sequence prediction
RU2686000C1 (ru) Извлечение информационных объектов с использованием комбинации классификаторов, анализирующих локальные и нелокальные признаки
KR101136007B1 (ko) 문서 감성 분석 시스템 및 그 방법
CN110888991B (zh) 一种弱标注环境下的分段式语义标注方法
Zhou et al. Simplified dom trees for transferable attribute extraction from the web
CN111737560B (zh) 内容搜索方法、领域预测模型训练方法、装置及存储介质
US20220358379A1 (en) System, apparatus and method of managing knowledge generated from technical data
Weerasinghe et al. Feature vector difference based neural network and logistic regression models for authorship verification
Jayasiriwardene et al. Keyword extraction from Tweets using NLP tools for collecting relevant news
CN114997288A (zh) 一种设计资源关联方法
Siklósi Using embedding models for lexical categorization in morphologically rich languages
Figueroa et al. Contextual language models for ranking answers to natural language definition questions
Zhou et al. Learning transferable node representations for attribute extraction from web documents
Velmurugan et al. Mining implicit and explicit rules for customer data using natural language processing and apriori algorithm
Sanyal et al. Natural language processing technique for generation of SQL queries dynamically
KR102458989B1 (ko) 센텐스 티커를 기반으로 뉴스에 대한 뉴스 티커를 결정하는 방법 및 이러한 방법을 수행하는 장치
Albukhitan et al. Arabic ontology learning from un-structured text
KR102524691B1 (ko) 뉴스에 관련된 후보 기업을 결정하는 방법 및 이러한 방법을 수행하는 장치
KR102519763B1 (ko) 스코어링을 기반으로 뉴스에 관련된 기업을 결정하는 방법 및 이러한 방법을 수행하는 장치
KR102524690B1 (ko) 뉴스 티커 매핑 방법 및 이러한 방법을 수행하는 장치
Sariki et al. A book recommendation system based on named entities
Chou et al. On the Construction of Web NER Model Training Tool based on Distant Supervision
US20240070396A1 (en) Method for Determining Candidate Company Related to News and Apparatus for Performing the Method
US20240070175A1 (en) Method for Determining Company Related to News Based on Scoring and Apparatus for Performing the Method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant