KR20230104787A - 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램 - Google Patents

기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR20230104787A
KR20230104787A KR1020210193656A KR20210193656A KR20230104787A KR 20230104787 A KR20230104787 A KR 20230104787A KR 1020210193656 A KR1020210193656 A KR 1020210193656A KR 20210193656 A KR20210193656 A KR 20210193656A KR 20230104787 A KR20230104787 A KR 20230104787A
Authority
KR
South Korea
Prior art keywords
user
storage
information
classifying
objects
Prior art date
Application number
KR1020210193656A
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 KR1020210193656A priority Critical patent/KR20230104787A/ko
Publication of KR20230104787A publication Critical patent/KR20230104787A/ko

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/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • 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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/45Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5846Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using extracted text
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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/50Business processes related to the communications industry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계, 상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 단계 및 상기 분류된 객체를 저장 공간에 저장하는 단계를 포함한다.

Description

기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR CLASSIFYING AND SAVING DATA BASED ON PRE-LEARNED OBJECT CLASSIFICATION MODEL}
본 발명의 다양한 실시예는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램에 관한 것으로, 보다 구체적으로 대화 공간을 통해 입력, 업로드 되는 각종 데이터들을 분류하여 저장 및 관리하는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램에 관한 것이다.
스마트 폰이나 스마트 패드와 같은 스마트 기기의 확산, 그리고 통신 인프라의 확대로, 온라인, 스마트 기기를 이용한 협업(Collaboration)이 활발히 이루어지고 있다.
즉, 오프라인 공간상에 함께 모여서 이루어지는 협업뿐만 아니라, 서로 다른 공간에서 인터넷 및 스마트 기기 등을 이용한 협업이 기술 발전과 함께 일반화되고 있고, 이에 따라 인터넷 망을 이용한 다양한 협업 도구들이 개발되고 이용되고 있다.
종래의 온라인 협업 도구는 프로젝트를 진행하기 위해 필요한 여러 기능들을 제공하였다. 예를 들어, 종래의 온라인 협업 도구는 동일한 프로젝트에 참여하여 프로젝트를 진행하는 참여자들 간의 메시징 서비스를 제공하거나, 프로젝트의 진행상황 관리, 일정관리 등 프로젝트 및 프로젝트 진행과 관련된 각종 기능을 제공하였다.
그러나, 종래의 협업 도구 특히, 제조 산업에서 기업내 부서간 협업이나 부서 내부에서의 협업을 위해 사용되는 협업 도구의 경우, 단순히 대화(예: 텍스트, 음성 등)나 자료(예: 영상, 이미지, 문서 등과 같은 파일)을 주고받는 1차원적인 기능에 한정되어 있어 대화나 자료 업로드가 단발성에 그치고 있다는 문제가 있다.
특히, 이와 같이 메시지 송수신이나 자료 업로드가 단발성에 그치고 있기 때문에, 과거에 입력된 대화 내용을 검색하거나, 과거에 업로드된 자료들을 검색하기 매우 어렵다는 문제가 있다.
또한, 종래의 협업 도구의 대화 기능의 경우, 사용자가 속해 있는 대화 공간(예: 대화방)이 많아지게 되면 개인의 인지능력을 벗어나 주로 대화하는 공간만이 남게 되어 데이터를 정리하는데 어려움이 있다.
본 발명이 해결하고자 하는 과제는 상술된 종래의 협업 도구 대화 기능에서의 문제점을 해소하기 위한 목적으로, 복수의 사용자가 속한 대화 공간에서 입력되는 대화 내용과 업로드 되는 자료들을 실시간으로 수집하고, 이를 기 설정된 룰에 따라 분류, 저장 및 관리함으로써, 데이터를 체계적으로 저장 및 관리할 수 있을 뿐만 아니라, 추후 검색어 입력과 같은 간단한 동작을 통해 검색어에 대응되는 대화 내용과 자료를 제공할 수 있는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터 프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계, 상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 단계 및 상기 분류된 객체를 저장 공간에 저장하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 파일(file)을 업로드 받는 경우, 속성으로서 상기 업로드된 파일의 확장자 정보를 추출하고, 상기 추출된 확장자 정보에 따라 상기 업로드된 파일을 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 파일을 업로드 받는 경우, 상기 업로드된 파일에 관한 텍스트 형태의 정보를 수집하는 단계, 기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 수집된 텍스트 형태의 정보를 분석하여 상기 수집된 텍스트 형태의 정보에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 업로드된 파일을 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 텍스트 정보를 포함하는 이미지 파일을 업로드 받는 경우, 상기 업로드된 이미지 파일에 대한 이미지 분석을 수행하여 상기 텍스트 정보를 추출하는 단계 및 기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 추출된 텍스트 정보를 분석하여 상기 추출된 텍스트 정보에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 업로드된 이미지 파일을 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 텍스트 메시지를 입력받는 경우, 상기 입력된 텍스트 메시지에 포함된 복수의 단어 각각을 토큰화(Tokenization)하는 단계, 상기 토큰화된 복수의 단어 각각에 대한 정보를 상기 토큰화된 복수의 단어 각각에 레이블링(Labeling)하여 가공된 텍스트 메시지를 생성하는 단계 및 상기 가공된 텍스트 메시지를 분석하여 상기 가공된 텍스트 메시지에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 입력된 텍스트 메시지를 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 파일을 업로드 받는 경우, 상기 업로드된 파일의 업로드 시점을 기준으로 소정의 기간 동안 상기 대화 공간을 통해 입력된 복수의 텍스트 메시지의 속성에 기초하여 상기 업로드된 파일의 속성을 결정하고, 상기 결정된 속성에 따라 상기 업로드된 파일을 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 획득된 객체를 분류하는 단계는, 상기 사용자로부터 상기 대화 공간을 통해 음성 메시지를 입력받는 경우, 상기 입력된 음성 메시지를 텍스트 메시지로 변환하고, 기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 변환된 텍스트 메시지를 분석하여 상기 변환된 텍스트 메시지에 대한 속성을 추출하고, 상기 추출된 속성에 따라 상기 입력된 음성 메시지를 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 입력된 음성 메시지를 분류하는 단계는, 상기 추출된 속성이 제1 속성 및 제2 속성을 포함하는 경우, 상기 제1 속성이 추출된 시점에 대응되는 상기 입력된 음성 메시지의 구간 정보와 상기 입력된 음성 메시지를 매칭하여 상기 제1 속성에 대응하는 카테고리로 분류하고, 상기 제2 속성이 추출된 시점에 대응되는 상기 입력된 음성 메시지의 구간 정보와 상기 입력된 음성 메시지를 매칭하여 상기 제2 속성에 대응하는 카테고리로 분류하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 분류된 객체를 저장 공간에 저장하는 단계는, 상기 저장 공간에 기 저장된 복수의 객체 각각의 속성에 기초하여, 상기 기 저장된 복수의 객체 중 상호 동일한 속성을 가지는 둘 이상의 객체 간의 연결 관계를 정의하는 매칭 정보를 생성하고, 상기 생성된 매칭 정보를 이용하여 객체 맵을 생성하는 단계 및 제1 사용자로부터 검색어를 입력받는 경우, 상기 기 저장된 복수의 객체 중 상기 입력된 검색어에 대응되는 제1 객체를 상기 제1 사용자에게 제공하되, 상기 생성된 객체 맵에 기초하여 상기 제1 객체와 연결된 제2 객체를 함께 제공하는 단계를 포함할 수 있다.
다양한 실시예에서, 제1 사용자로부터 검색어를 입력받는 경우, 상기 저장 공간에 저장된 복수의 객체 중 상기 입력된 검색어에 대응되는 적어도 하나의 객체를 상기 제1 사용자에게 제공하되, 상기 복수의 객체 중 상기 제1 사용자가 포함된 대화 공간으로부터 획득된 객체를 선택하고, 상기 선택된 객체 중 상기 입력된 검색어에 대응되는 적어도 하나의 객체를 상기 제1 사용자에게 제공하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 저장 공간은 복수의 저장 공간 - 상기 복수의 저장 공간 각각은 중요도에 기초하여 구분되며, 상기 복수의 저장 공간의 접근 권한, 상기 복수의 저장 공간에 저장된 객체의 이용 권한 및 상기 복수의 저장 공간에 저장된 객체의 저장 기간이 상이하게 설정된 것임 - 을 포함하며, 상기 분류된 객체를 저장 공간에 저장하는 단계는, 제1 객체의 속성에 기초하여 상기 제1 객체에 대한 중요도를 산출하는 단계 및 상기 산출된 중요도에 따라 상기 복수의 저장 공간 중 어느 하나의 저장 공간으로 상기 제1 객체를 분류하여 저장하고, 상기 어느 하나의 저장 공간에 기 설정된 접근 권한, 이용 권한 및 저장 기간에 따라 상기 저장된 제1 객체를 관리하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 저장 공간은 객체를 저장하는 제1 저장 공간 및 객체에 대한 정보를 저장하는 제2 저장 공간을 포함하며, 상기 분류된 객체를 저장 공간에 저장하는 단계는, 상기 대화 공간으로부터 획득되는 복수의 객체를 상기 제1 저장 공간에 저장하는 단계 및 상기 획득된 복수의 객체에 대한 속성에 기초하여 상기 획득된 복수의 객체를 분류하고, 상기 분류된 복수의 객체에 관한 정보를 상기 분류된 복수의 객체 각각에 대한 상기 제1 저장 공간에서의 저장 위치와 매칭하여 상기 제2 저장 공간에 저장하는 단계를 포함할 수 있다.
다양한 실시예에서, 제1 사용자로부터 검색어를 입력받는 경우, 상기 제2 저장 공간에 저장된 복수의 객체에 관한 정보 중 상기 입력된 검색어에 대응되는 객체에 관한 정보를 선택하고, 상기 선택된 객체에 관한 정보를 상기 제1 사용자에게 제공하는 단계 및 상기 제1 사용자로부터 상기 선택된 객체에 대한 제공 요청을 획득하는 경우, 상기 선택된 객체에 관한 정보와 기 매칭된 상기 제1 저장 공간에서의 저장 위치를 이용하여 상기 제1 사용자에게 상기 선택된 객체를 로드(load) 하여 제공하거나, 상기 선택된 객체의 저장 위치로 접근이 가능한 접속 링크를 제공하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 사용자로부터 복수의 대화 공간 중 하나 이상의 대화 공간에 대한 통계 정보 제공 요청을 획득하는 단계, 기 저장 공간에 기 저장된 복수의 객체 중 상기 하나 이상의 대화 공간으로부터 수집된 적어도 하나의 객체를 통계 분석하여 상기 하나 이상의 대화 공간에 대한 통계 정보를 생성하는 단계 및 상기 생성된 통계 정보를 상기 사용자에게 제공하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 상기 객체를 획득하는 단계는, 상기 사용자로부터 템플릿 제공 요청을 획득하는 단계, 상기 획득된 템플릿 제공 요청에 따라 상기 사용자에게 기 설정된 복수의 템플릿 중 어느 하나의 템플릿을 제공하고, 상기 사용자로부터 상기 제공된 어느 하나의 템플릿에 포함된 복수의 항목 각각에 대한 정보를 입력받는 단계 및 상기 정보가 입력된 어느 하나의 템플릿을 하나의 객체로서 획득하는 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 학습된 객체 분류 모델 기반 데이터 분류 및 저장장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 인스트럭션(instruction), 상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 인스트럭션 및 상기 분류된 객체를 저장 공간에 저장하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계, 상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 단계 및 상기 분류된 객체를 저장 공간에 저장하는 단계를 포함하는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 복수의 사용자가 속한 대화 공간에서 입력되는 대화 내용과 업로드 되는 자료들을 실시간으로 수집하고, 이를 기 설정된 룰에 따라 분류, 저장 및 관리함으로써, 데이터를 체계적으로 저장 및 관리할 수 있을 뿐만 아니라, 추후 검색어 입력과 같은 간단한 동작을 통해 검색어에 대응되는 대화 내용과 자료를 제공할 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법의 순서도이다.
도 4는 다양한 실시예에서, 객체가 대화 내용을 포함하는 메시지일 때의 분류 및 저장방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 대화 내용을 포함하는 메시지를 가공하는 과정을 도시한 도면이다.
도 6은 다양한 실시예에서, 객체가 파일일 때의 분류 및 저장방법을 설명하기 위한 순서도이다.
도 7은 다양한 실시예에서, 검색어에 따라 기 분류 및 저장된 객체를 제공하는 방법을 설명하기 위한 순서도이다.
도 8은 다양한 실시예에서, 대화 공간별 동향 정보를 제공하는 방법을 설명하기 위한 순서도이다.
도 9은 다양한 실시예에서, 대화 내용 기반의 통계 자료를 제공하는 방법을 설명하기 위한 순서도이다.
도 10 내지 13는 다양한 실시예에 적용 가능한 사용자 인터페이스(User Interface, UI)를 예시적으로 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장시스템은 데이터 분류 및 저장장치(100), 사용자 단말(200), 데이터베이스(Database, DB)(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 데이터 분류 및 저장장치(100)는 복수의 사용자 간의 메시지 송수신 서비스 등의 대화 기능을 제공하는 협업 툴을 제공할 수 있으며, 협업 툴의 대화 기능을 통해 제공되는 대화 공간 상에서 송수신되는 대화 내용과 업로드 되는 파일을 수집하여 자동으로 분류 및 저장할 수 있다.
일례로, 데이터 분류 및 저장장치(100)는 특정 대화 공간 내에서 복수의 사용자 간에 송수신되는 메시지의 내용을 분석하여 메시지에 대한 속성을 추출하고, 이에 따라 메시지를 기 설정된 카테고리로 분류하여 저장할 수 있다.
다른 예로, 데이터 분류 및 저장장치(100)는 특정 대화 공간 내에서 복수의 사용자 간에 업로드 되는 파일에 대한 정보를 분석하여 속성을 추출하고, 이에 따라 파일을 기 설정된 카테고리로 분류하여 저장할 수 있다.
다양한 실시예에서, 데이터 분류 및 저장장치(100)는 기 분류 및 저장된 대화 내용과 파일에 대한 검색 기능을 제공할 수 있고, 사용자로부터 검색어를 입력받는 것에 대응하여 검색어에 대응되는 대화 내용이나 파일을 포함하는 검색 결과를 제공할 수 있다.
다양한 실시예에서, 데이터 분류 및 저장장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 대화 기능 및 검색 기능을 포함하는 협업 툴을 제공할 수 있다. 여기서, 협업 툴은 웹(Web) 또는 애플리케이션(Application) 형태로 구현될 수 있으나, 이에 한정되지 않는다.
일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 데이터 분류 및 저장장치(100)로부터 협업 툴을 제공받을 수 있으며, 사용자는 사용자 단말(200)을 통해 데이터 분류 및 저장장치(100)의 협업 툴을 다운로드, 설치 및 실행함에 따라 협업 툴에 포함된 각종 기능을 이용할 수 있다.
다양한 실시예에서, 사용자 단말(200)은 웹 또는 애플리케이션 형태의 협업 툴을 구동하기 위한 운영체제(OS)를 포함하며, 협업 툴을 실행함에 따라 출력되는 사용자 인터페이스(User Interface, UI)(예: 도 10 내지 13의 10)를 출력하기 위하여 소정의 영역에 디스플레이를 포함할 수 있다. 예를 들어, 사용자 단말(200)은 도 1에 도시된 바와 같이 PC(Personal Computer) 또는 노트북 컴퓨터(notebook computer)일 수 있으나, 이에 한정되지 않고, 사용자 단말(200)은 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 컴퓨팅 장치들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.
또한, 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
일 실시예에서, 데이터베이스(300)는 데이터 분류 및 저장장치(100)가 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법을 수행함에 따라 분류된 복수의 대화 내용과 복수의 파일을 저장 및 관리할 수 있다. 예를 들어, 데이터베이스(300)는 객체의 종류 및 객체의 카테고리별로 분류하여 저장하기 위한 복수의 저장 공간을 포함할 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법을 수행하는 데이터 분류 및 저장장치(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장장치의 하드웨어 구성도이다.
도 2를 참조하면, 본 발명의 다른 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장장치(100)(이하, “컴퓨팅 장치(100)”)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장 프로세스를 수행하는 경우, 스토리지(150)는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계, 획득된 객체를 분석하여 속성을 추출하고, 추출된 속성에 기초하여 획득된 객체를 분류하는 단계 및 분류된 객체를 저장 공간에 저장하는 단계를 포함하는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 13을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법에 대해 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 대화 공간을 통해 객체를 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자의 요청에 따라 둘 이상의 사용자를 포함하는 대화 공간(예: 대화방)을 생성할 수 있고, 생성된 대화 공간을 통해 둘 이상의 사용자로부터 입력된 객체를 획득할 수 있다.
여기서, 객체(Object)는 대화 공간 내에 입력되는 모든 것을 의미하며, 예를 들어, 대화 공간을 통해 입력되는 메시지(예: 음성 또는 텍스트 등)나 업로드 되는 각종 파일(예: 동영상, 이미지, 워드(WORD), 엑셀(EXCEL), PDF 등)을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 객체의 종류에 따라 객체 획득 방식을 상이하게 설정할 수 있고, 설정된 객체 획득 방식에 따라 대화 공간을 통해 입력되는 객체를 획득할 수 있다.
일례로, 컴퓨팅 장치(100)는 대화 공간을 통해 수집되는 객체가 파일인 경우, 대화 공간을 통해 특정 사용자로부터 파일이 업로드 됨과 동시에 즉시 해당 파일을 수집할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 대화 공간을 통해 수집된 객체가 대화 내용을 포함하는 메시지인 경우, 대화 공간을 통해 특정 사용자로부터 메시지가 입력됨에 따라 즉시 해당 메시지를 수집하거나, 소정의 주기마다 대화 공간에 입력된 메시지 중 수집되지 않은 메시지들을 한꺼번에 수집하거나 또는 메시지를 입력한 사용자가 변동되는 것에 대응하여 이전까지 입력된 메시지를 한꺼번에 수집함으로써 메시지를 입력한 사용자별로 구분하는 등의 방식으로 메시지를 수집할 수 있다.
또 다른 예로, 컴퓨팅 장치(100)는 협업 툴에서 제공하는 일정 관리 기능에 기초하여, 특정 날짜 및 특정 시간에 대화 공간을 이용한 협업 일정이 기 등록된 경우, 특정 날짜 및 특정 시간동안 입력되는 객체만을 수집할 수 있다. 그러나, 이에 한정되지 않고, 대화 공간을 통해 입력되는 객체를 수집하는 어떠한 방법이든 적용이 가능하다.
S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 획득된 객체에 대한 속성을 추출할 수 있고, 추출된 속성에 따라 객체를 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 기 학습된 객체 분류 모델을 이용하여 객체를 분석함으로써, 객체의 속성을 추출할 수 있고, 추출된 속성에 따라 객체를 복수의 카테고리 중 어느 하나의 카테고리로 분류할 수 있다.
여기서, 속성은 객체의 특징이나 성질을 의미하는 것으로, 예를 들어, 객체의 속성은 객체를 입력한 사용자에 관한 정보(예: 기업명, 조직명, 개인정보 등), 객체의 주제, 의도, 객체가 어떠한 프로젝트 및 어떠한 업무와 관련이 있는지 등을 포함할 수 있으나, 이에 한정되지 않는다.
또한, 여기서, 객체 분류 모델은 속성 정보가 레이블링된 단어, 구, 절 및 문장을 학습데이터로 하여 학습 된 모델이며, 특정 단어, 구, 절 및 문장을 입력 데이터로 하여 입력된 단어, 구, 절 및 문장의 속성을 추출하는 모델일 수 있다.
객체 분류 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.
객체 분류 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 객체 분류 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 객체 분류 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 객체 분류 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 객체 분류 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 객체 분류 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 객체 분류 모델이 존재하는 경우, 두 개의 객체 분류 모델들은 서로 상이한 것으로 인식될 수 있다.
객체 분류 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 객체 분류 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 객체 분류 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 객체 분류 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 객체 분류 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 객체 분류 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 객체 분류 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 객체 분류 모델일 수 있다.
객체 분류 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.
다양한 실시예에서, 객체 분류 모델은 딥러닝(Deep learning) 모델일 수 있다.
딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 객체 분류 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.
딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 네트워크 함수는 오토 인코더를 포함할 수도 있다. 여기서, 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다.
오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 또한, 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.
뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 보다 구체적으로, 뉴럴 네트워크의 학습은 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다.
먼저, 교사 학습의 경우 각각의 학습 데이터에 정답이 레이블링 되어있는 학습 데이터를 사용하며(즉, 레이블링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 레이블링 되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 레이블링 된 데이터 일 수 있다. 레이블링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 레이블을 비교함으로써 오류(error)가 계산될 수 있다.
다음으로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 단어, 구, 절 및 문장에 속성 정보가 어노테이션(Annotation), 레이블링(Labeling)함으로써 학습 데이터를 생성할 수 있고, 생성된 학습 데이터를 이용하여 객체 분류 모델을 학습시킬 수 있다.
보다 구체적으로, 컴퓨팅 장치(100)는 학습 입력 데이터 세트 각각을 하나 이상의 네트워크 함수에 입력시키고, 하나 이상의 네트워크 함수로 연산된 출력 데이터 각각과 학습 입력 데이터 세트 각각의 레이블에 해당하는 학습 출력 데이터 세트 각각을 비교하여 오차를 도출할 수 있다. 즉, 객체 분류 모델의 학습에서 학습 입력 데이터는 하나 이상의 네트워크 함수의 입력 레이어에 입력될 수 있으며, 학습 출력 데이터는 하나 이상의 네트워크 함수의 출력과 비교될 수 있다. 컴퓨팅 장치(100)는 학습 입력 데이터에 대한 하나 이상의 네트워크 함수의 연산 결과와 학습 출력 데이터(레이블)의 오차에 기초하여 신경망을 학습시킬 수 있다.
또한, 컴퓨팅 장치(100)는 오차에 기초하여 하나 이상의 네트워크 함수의 가중치를 역전파 방식으로 조정할 수 있다. 즉, 컴퓨팅 장치(100)는 학습 입력 데이터에 대한 하나 이상의 네트워크 함수의 연산 결과와 학습 출력 데이터의 오차에 기초하여 하나 이상의 네트워크 함수의 출력이 학습 출력 데이터에 가까워지도록 가중치를 조정할 수 있다.
컴퓨팅 장치(100)는 하나 이상의 네트워크 함수의 학습이 사전 결정된 에폭 이상 수행된 경우, 검증 데이터를 이용하여 학습의 중단 여부를 결정할 수 있다. 사전 결정된 에폭은 전체 학습 목표 에폭의 일부일 수 있다. 검증 데이터는 레이블링된 학습 데이터 세트 중 적어도 일부로 구성될 수 있다. 즉, 컴퓨팅 장치(100)는 학습 데이터 세트를 통해 신경망의 학습을 수행하며, 객체 분류 모델의 학습이 사전 결정된 에폭 이상 반복된 후, 검증 데이터를 이용하여 객체 분류 모델의 학습 효과가 사전 결정된 수준 이상인지 여부를 판단할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 100개의 학습 데이터를 이용하여 목표 반복 학습 횟수가 10회인 학습을 수행하는 경우, 사전 결정된 에폭인 10회의 반복 학습을 수행한 후, 10개의 검증 데이터를 이용하여 3회의 반복 학습을 수행하여, 3회의 반복 학습 동안 객체 분류 모델 출력의 변화가 사전 결정된 수준 이하인 경우 더 이상의 학습이 무의미한 것으로 판단하고 학습을 종료할 수 있다. 즉, 검증 데이터는 객체 분류 모델의 반복 학습에서 에폭별 학습의 효과가 일정 이상인지 이하인지 여부에 기초하여 학습의 완료를 결정하는 데 이용될 수 있다. 전술한 학습 데이터, 검증 데이터의 수 및 반복 횟수는 하나의 예시일 뿐 이에 한정되지 않는다.
컴퓨팅 장치(100)는 테스트 데이터 세트를 이용하여 하나 이상의 네트워크 함수의 성능을 테스트하여 하나 이상의 네트워크 함수의 활성화 여부를 결정함으로써, 수면 평가 모델을 생성할 수 있다. 테스트 데이터는 객체 분류 모델의 성능을 검증하기 위하여 사용될 수 있으며, 학습 데이터 세트 중 적어도 일부로 구성될 수 있다. 예를 들어, 학습 데이터 세트 중 80%는 객체 분류 모델의 학습(즉, 레이블과 비슷한 결과값을 출력하도록 가중치를 조정하기 위한 학습)을 위해 활용될 수 있으며, 20%는 객체 분류 모델의 성능을 검증하기 위한 테스트 데이터로써 활용될 수 있다.
컴퓨팅 장치(100)는 학습이 완료된 객체 분류 모델에 테스트 데이터 세트를 입력하고 오차를 측정하여 사전 결정된 성능 이상인지 여부에 따라 객체 분류 모델의 활성화 여부를 결정할 수 있다.
컴퓨팅 장치(100)는 학습이 완료된 객체 분류 모델에 테스트 데이터를 이용하여 학습 완료된 객체 분류 모델의 성능을 검증하고 학습 완료된 객체 분류 모델의 성능이 사전 결정된 기준 이상인 경우 해당 객체 분류 모델을 다른 어플리케이션에서 사용하도록 활성화할 수 있다. 또한, 컴퓨팅 장치(100)는 학습 완료된 객체 분류 모델의 성능이 사전 결정된 기준 이하인 경우 해당 객체 분류 모델을 비활성화하여 폐기할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 정확도(accuracy), 정밀도(precision), 재현율(recall) 등의 요소를 기준으로 하여 생성된 객체 분류 모델의 성능을 판단할 수 있다. 전술한 성능 평가 기준은 예시일 뿐이며 본 발명은 이에 제한되지 않는다.
S130 단계에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 분류된 객체를 저장 공간에 저장할 수 있다. 예를 들어, 데이터베이스(300)에 복수의 객체를 저장하기 위한 저장 공간을 포함하되, 저장 공간은 복수의 속성 각각에 대응되는 카테고리별로 데이터를 저장하기 위한 복수의 저장 공간을 포함할 수 있다. 컴퓨팅 장치(100)는 데이터베이스(300)와 연결되어, 속성에 따라 분류된 객체를 객체의 속성에 따른 카테고리에 대응되는 저장 공간에 저장할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 객체의 중요도에 따라 객체를 분류하여 저장 공간에 저장할 수 있다.
먼저, 데이터베이스(300)의 저장 공간은 복수의 카테고리 각각에 대응되는 복수의 카테고리별 저장 공간을 포함할 수 있고, 복수의 카테고리별 저장 공간 각각은 중요도에 따라 복수의 중요도별 저장 공간을 포함할 수 있다. 예를 들어, 데이터베이스(300)에는 프로젝트 A와 관련된 객체를 저장하기 위한 프로젝트 A 저장 공간을 포함할 수 있고, 프로젝트 A와 관련된 객체의 중요도에 따라 분류 및 저장하기 위하여 프로젝트 A 저장 공간은 5개의 저장 공간을 포함할 수 있다.
이후, 컴퓨팅 장치(100)는 대화 공간 내에서 객체의 출현 빈도수, 사전에 설정된 객체별 중요도 중 적어도 하나를 고려하여 객체에 대한 중요도를 1 내지 5 등급 중 어느 하나의 등급으로 산출할 수 있고, 산출된 중요도에 따라 5개의 저장 공간 중 어느 하나의 저장 공간에 분류하여 저장할 수 있다.
이때, 5개의 저장 공간 각각은 중요도에 기초하여 구분되는 것이며, 저장 공간의 접근 권한, 저장 공간에 저장된 객체의 이용 권한 및 저장 공간에 저장된 객체의 저장 기간이 상이하게 설정될 수 있다.
일례로, 중요도가 1 내지 4 등급에 해당하는 객체가 저장되는 저장 공간들의 경우 소정의 기간동안 객체를 저장한 후 삭제되도록 설정될 수 있으나, 중요도가 가장 높은 5 등급에 해당하는 객체들이 저장되는 저장 공간의 경우 영구적으로 객체를 저장할 수 있다.
또한, 중요도가 5 등급에 해당하는 객체들이 저장되는 저장 공간의 경우, 사전에 설정된 관리자만이 접근 및 이용할 수 있도록 설정되고, 중요도가 3 및 4 등급에 해당하는 객체들이 저장되는 저장 공간의 경우 해당 객체들이 수집된 대화 공간에 참여한 사용자들만 접근 및 이용할 수 있도록 설정되며, 중요도가 1 및 2 등급에 해당하는 객체들이 저장되는 저장 공간의 경우 모든 사용자들이 접근 및 이용할 수 있도록 설정될 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 분류된 객체를 저장 공간에 저장하되, 객체와 해당 객체에 관한 정보를 분리하여 저장할 수 있다.
특정 객체의 속성에 기초하여 특정 객체가 다수의 카테고리에 해당할 경우, 특정 객체를 다수의 카테고리 각각에 대응되는 저장 공간에 모두 저장해야 하기 때문에 이를 위해 객체에 대한 다수의 복사본을 생성하고, 복사본들을 각각의 카테고리에 대응되는 저장 공간에 분류하여 저장하게 되며, 이에 따라 불필요하게 저장 공간을 많이 차지한다는 문제가 있다.
이러한 점을 고려하여, 데이터베이스(300)는 실제 객체 자체를 저장하는 제1 저장 공간과 객체에 대한 정보를 저장하는 제2 저장 공간을 포함할 수 있고, 컴퓨팅 장치(100)는 대화 공간을 통해 수집되는 객체의 원본을 제1 저장 공간에 저장하고, S120 단계를 거쳐 객체를 분류함에 따라 객체에 대한 정보를 분류하여 제2 저장 공간에 저장할 수 있다.
이때, 컴퓨팅 장치(100)는 제2 저장 공간에 분류 및 저장된 객체에 대한 정보와 제1 저장 공간에 저장된 객체의 저장 위치를 매칭하여 저장함으로써, 추후 사용자로부터 객체 제공 요청을 획득하는 경우, 객체의 정보와 기 매칭된 저장 위치를 기반으로 제1 저장 공간에 저장된 객체를 사용자에게 제공하거나, 객체의 저장 위치로 접근 가능한 접속 링크를 제공할 수 있다. 이하, 도 4 내지 6을 참조하여, 객체의 종류에 따른 객체 분류 및 저장 방법에 대하여 설명하도록 한다.
도 4는 다양한 실시예에서, 객체가 대화 내용을 포함하는 메시지일 때의 분류 및 저장방법을 설명하기 위한 순서도이며, 도 5는 다양한 실시예에서, 대화 내용을 포함하는 메시지를 가공하는 과정을 도시한 도면이다.
도 4 및 5를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 대화 공간을 통해 대화 내용을 포함하는 메시지를 입력받을 수 있다.
여기서, 대화 공간을 통해 입력된 메시지를 객체로서 획득 및 수집하는 방법은 도 3의 S110 단계에 따른 객체 획득 단계와 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 수집된 메시지를 분석하여 속성을 추출할 수 있고, 추출된 속성에 기초하여 메시지를 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 대화 공간을 통해 수집된 메시지가 텍스트 형태의 대화 내용을 포함하는 텍스트 메시지인 경우, 기 학습된 자연어처리 기반 객체 분류 모델을 이용하여 텍스트 메시지를 분석함으로써, 메시지의 속성을 추출할 수 있다.
여기서, 기 학습된 자연어처리 기반의 객체 분류 모델은 텍스트 형태의 대화 내용에 포함된 복수의 단어에 대한 자연어처리를 통해 복수의 단어 각각에 대한 속성을 추출하는 자연어처리 모델과 자연어처리 모델의 결과 데이터를 기반으로 복수의 단어 또는 복수의 단어를 포함하는 메시지의 속성을 결정하여 메시지를 분류하는 객체 분류 모델이 결합된 모델일 수 있다. 예를 들어, 기 학습된 자연어처리 기반의 객체 분류 모델은 BERT(Bidirectional Encoder Representations from Transformers) 기반의 자연어처리 모델과 상기의 객체 분류 모델이 결합된 것일 수 있으나, 이에 한정되지 않는다.
일례로, 컴퓨팅 장치(100)는 대화 공간을 통해 수집된 메시지가 텍스트 형태의 대화 내용을 포함하는 텍스트 메시지(예: 도 5의 20)인 경우, 텍스트 메시지에 포함된 복수의 단어 각각을 토큰화(Tokenization)할 수 있다(예: 도 5의 21). 예를 들어, 컴퓨팅 장치(100)는 WPM(Wordpiece model)을 통해 BPE(Byte Pair Encoding으로, 자연어 처리 모델에서 널리 활용되는 정보 압축 알고리즘)의 변형 알고리즘으로 코퍼스(corpus)의 우도(likelihood)를 최대화 하는 방식으로 복수의 단어 각각을 토큰화할 수 있으나, 이에 한정되지 않는다.
여기서, 토큰화되는 단어는 하나의 단어를 의미하는 것일 수 있으나, 이에 한정되지 않고, 둘 이상의 단어가 결합되어 의미를 생성하거나, 둘 이상의 단어가 결합되어 각각의 단어의 의미가 아닌 새로운 의미가 생성될 수 있는 바, 토큰화되는 단어는 둘 이상의 단어를 포함하는 구, 절 또는 문장을 의미할 수도 있다.
이후, 컴퓨팅 장치(100)는 토큰화된 복수의 단어 각각에 대하여, 복수의 단어 각각에 대한 정보(예: 속성 정보)를 어노테이션, 레이블링함으로써, 가공된 텍스트 메시지 즉, 복수의 단어 각각에 속성 정보가 레이블링된 텍스트 메시지를 생성할 수 있다(예: 도 5의 22). 예를 들어, 컴퓨팅 장치(100)는 개체명 인식(Named Entity Recognition) 알고리즘을 이용하여 토큰화된 복수의 단어 각각에 대한 레이블링을 수행할 수 있으나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 가공된 텍스트 메시지 즉, 복수의 단어 각각에 속성 정보가 레이블링된 텍스트 메시지를 분석하여, 복수의 단어를 포함하는 텍스트 메시지 자체의 속성을 추출할 수 있고, 추출된 속성에 기초하여 텍스트 메시지를 복수의 카테고리 중 어느 하나의 카테고리로 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 대화 공간을 통해 수집된 메시지가 음성 형태의 대화 내용을 포함하는 음성 메시지인 경우, 음성 메시지에 포함된 음성 형태의 대화 내용을 텍스트 형태로 변환함으로써 텍스트 메시지를 생성할 수 있고, 생성된 텍스트 메시지를 분석하여 추출된 속성에 따라 음성 메시지를 분류할 수 있다.
여기서, 음성 형태의 데이터를 텍스트 형태의 데이터로 변환하는 방법은 다양한 기술들이 기 공지되어 있고, 이러한 공지 기술들을 선택적으로 적용할 수 있는 바, 본 명세서에서는 음성 형태의 데이터를 텍스트 형태의 데이터로 변환하는 방법에 대해 구체적으로 서술하지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 음성 메시지에 포함된 대화 내용으로부터 둘 이상의 속성이 추출되는 경우 둘 이상의 속성 각각에 따른 카테고리에 대응되는 저장 공간으로 음성 메시지를 각각 분류하여 저장하되, 음성 메시지에 대하여 둘 이상의 속성 각각이 추출된 시점에 대한 정보를 음성 메시지와 매칭하여 저장할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 음성 메시지를 분석하여 추출된 속성이 제1 속성 및 제2 속성을 포함하는 경우, 제1 속성이 추출된 시점에 대응되는 음성 메시지의 구간 정보(예: x분x초~y분 y초)를 음성 메시지와 매칭하여 제1 속성에 따른 카테고리로 분류하여 저장할 수 있고, 제2 속성이 추출된 시점에 대응되는 음성 메시지의 구간 정보(예: y분 y초~z분 z초)를 음성 메시지와 매칭하여 제2 속성에 따른 카테고리로 분류하여 저장할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 대화 공간을 통해 수집된 메시지가 음성 형태의 대화 내용을 포함하는 음성 메시지인 경우, 음성 메시지 자체를 하나의 독립적인 파일로 인식하여 후술되는 도 6에 따른 분류 및 저장방법에 따라 분류 및 저장할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 특정 대화 내용을 포함하는 제1 메시지에 대한 속성이 추출되지 않는 경우, 제1 메시지가 입력된 시점을 기준으로 소정의 기간 동안 입력되는 복수의 제2 메시지의 속성에 기초하여 해당 제1 메시지에 대한 속성을 결정할 수 있고, 결정된 속성에 따라 제1 메시지를 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 특정 대화 내용을 포함하는 제1 메시지에 대한 속성이 추출되지 않는 경우, 제1 메시지를 입력한 사용자의 사용자 단말(200)로 제1 메시지에 대한 속성을 입력할 것을 안내할 수 있고, 안내에 따라 사용자로부터 입력된 속성에 기초하여 제1 메시지를 분류할 수 있다.
S230 단계에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 분류된 메시지를 저장할 수 있다. 여기서, 메시지 분류 결과에 기초하여 메시지를 분류 및 저장하는 방법은 도 3의 S130 단계에 따른 객체 분류 및 저장 방법과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
이때, 컴퓨팅 장치(100)는 메시지 분류 결과에 기초하여 메시지를 분류 및 저장하되, 후술되는 검색 기능을 통해 사용자가 입력한 검색어에 따라 대화 내용을 포함하는 메시지가 검색될 수 있도록 메시지 각각에 대응하는 속성을 검색 키워드로 설정하여 메시지 각각에 태그할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 특정 객체에 대한 속성이 추출되지 않아 분류가 되지 않은 경우, 분류되지 않은 특정 객체를 사전에 마련된 카테고리 미분류 저장 공간에 저장할 수 있고, 추후, 사용자에게 카테고리 미분류 저장 공간에 저장된 객체들을 제공하고, 분류되지 않은 객체들에 대한 속성(또는 카테고리)를 입력받음으로써, 사용자가 직접 분류되지 않은 객체들을 분류할 수 있도록 한다.
도 6은 다양한 실시예에서, 객체가 파일일 때의 분류 및 저장방법을 설명하기 위한 순서도이다.
도 6을 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 대화 공간을 통해 파일을 업로드 받을 수 있다.
여기서, 대화 공간을 통해 업로드된 파일을 객체로서 획득 및 수집하는 방법은 도 3의 S110 단계에 따른 객체 획득 단계와 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 템플릿 제공 요청을 획득함에 따라 사용자에게 기 설정된 복수의 템플릿 중 어느 하나의 템플릿을 제공할 수 있고, 사용자로부터 어느 하나의 템플릿에 포함된 복수의 항목 각각에 대한 정보를 입력받을 수 있으며, 정보가 입력된 어느 하나의 템플릿을 하나의 파일 형태의 객체로서 업로드받을 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자로부터 회의록 템플릿 제공 요청을 획득하는 경우, 사전에 설정된 회의록 템플릿을 사용자에게 제공할 수 있고, 사용자로부터 회의록 템플릿의 내용을 자연어 형태로 입력받을 수 있으며, 내용이 입력된 회의록 템플릿을 회의록 파일로서 획득할 수 있다.
이때, 기 설정된 복수의 템플릿 각각은 해당 템플릿들에 대한 속성(예: 객체의 종류, 객체가 어떤 업무와 관련이 있는지 등)이 사전에 설정될 수 있는 바, 컴퓨팅 장치(100)는 상기와 같이 사용자로부터 템플릿 기반으로 정보를 직접 입력받아 이를 객체로서 획득할 경우, 별도의 속성 추출 동작 없이 템플릿에 기 설정된 속성에 따라 해당 객체를 분류할 수 있다.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 수집된 파일을 분석하여 업로드된 파일에 대한 속성을 추출할 수 있고, 추출된 속성에 따라 파일을 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 업로드된 파일의 속성으로서, 업로드된 파일의 확장자 정보(예: MP3, MP4, JPEG, PDF, WORD, EXCEL 등)를 추출할 수 있고, 추출된 확장자 정보에 따라 업로드된 파일을 분류할 수 있다. 즉, 컴퓨팅 장치(100)는 파일의 속성으로서 확장자 정보를 추출하고, 이를 기반으로 파일을 분류함으로써, 문서, 영상, 음성, 사진 등 파일의 종류에 따라 분류할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 파일을 업로드 받는 경우, 업로드 파일에 관한 텍스트 형태의 정보를 수집할 수 있고, 수집된 텍스트 형태의 정보를 분석하여 업로드된 파일의 속성을 추출할 수 있으며, 추출된 속성에 기초하여 업로드된 파일을 분류할 수 있다.
일례로, 컴퓨팅 장치(100)는 사용자로부터 특정 파일을 업로드받는 경우, 업로드된 파일의 파일명을 텍스트 형태로 수집할 수 있고, 수집된 파일명을 분석하여 특정 파일의 속성을 추출할 수 있다.
다른 예로, 컴퓨팅 장치(100)는 사용자로부터 텍스트 정보를 포함하는 이미지 파일(예: 이미지 형태의 문서 또는 텍스트 문서를 촬영함으로써 생성되는 이미지 등)을 업로드 받는 경우, 업로드된 이미지 파일에 대한 이미지 분석(예: 이미지 분석 알고리즘을 통한 분석 또는 문자열 판독 알고리즘(Optical Character Reader, OCR)을 통한 분석 등)을 통해 이미지 파일로부터 텍스트 정보를 추출하고, 추출된 텍스트 정보를 분석하여 텍스트 정보에 대한 속성을 추출할 수 있다.
여기서, 이미지 파일로부터 추출된 텍스트 정보를 분석하여 속성을 추출하고, 이에 따라 파일을 분류하는 방법은 도 4의 S220 단계와 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 대화 공간을 통해 파일을 업로드 받는 경우, 업로드된 파일의 업로드 시점을 기준으로 소정의 기간 동안 대화 공간을 통해 입력된 복수의 텍스트 메시지의 속성에 기초하여 업로드된 파일의 속성을 결정하고, 결정된 속성에 따라 업로드된 파일을 분류할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 업로드된 복수의 파일의 확장자 정보에 기초하여 복수의 파일에 대한 1차 분류함으로써, 복수의 파일을 확장자별로 분류할 수 있고, 해당 파일을 업로드한 사용자, 주제, 의도, 어떠한 프로젝트 및 업무와 관련이 있는지 등에 따라 1차 분류된 복수의 파일 각각을 2차 분류할 수 있다.
S330 단계에서, 컴퓨팅 장치(100)는 S320 단계를 거쳐 분류된 파일을 저장 공간에 저장할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 상기의 방법에 따라 파일을 분류한 결과에 따라 분류된 파일을 저장하기 위한 폴더를 생성할 수 있고, 생성된 폴더에 파일을 분류 및 저장할 수 있다. 이때, 컴퓨팅 장치(100)는 특정 파일을 분류 및 저장하기 위한 폴더가 기 생성된 경우, 기 생성된 폴더에 저장하며, 기 생성된 폴더가 없는 경우, 분류 및 저장하고자 하는 파일의 속성에 따라 폴더를 생성하여 해당 파일을 분류 및 저장할 수 있다.
이때, 컴퓨팅 장치(100)는 후술되는 검색 기능을 통해 사용자가 입력한 검색어에 따라 파일 또는 파일을 포함하는 폴더가 검색될 수 있도록, 폴더명을 해당 폴더에 저장된 객체들의 속성으로 구성할 수 있다. 이하, 도 7 및 8을 참조하여, 컴퓨팅 장치(100)가 기 분류 및 저장된 객체를 이용하여 제공 가능한 기능에 대해 설명하도록 한다.
도 7은 다양한 실시예에서, 검색어에 따라 기 분류 및 저장된 객체를 제공하는 방법을 설명하기 위한 순서도이다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자로부터 검색어를 입력받는 것에 대응하여 기 분류 및 저장된 객체 중 검색어에 대응되는 객체를 제공하는 검색 기능을 제공할 수 있다.
도 7을 참조하면, S410 단계에서, 컴퓨팅 장치(100)는 사용자로부터 검색어를 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로 검색 기능을 포함하는 UI(예: 도 10 및 11의 10)을 제공할 수 있고, UI(10)를 통해 검색어를 입력받을 수 있다. 여기서, 검색어는 하나의 단어일 수 있으나, 이에 한정되지 않고, 둘 이상의 단어를 포함하는 구, 절 및 문장일 수 있다.
S420 단계에서, 컴퓨팅 장치(100)는 사용자로부터 입력된 검색어에 기초하여 기 분류 및 저장된 복수의 객체 중 검색어에 대응하는 하나 이상의 객체를 선택할 수 있고, 선택된 객체를 포함하는 검색 결과를 사용자에게 제공할 수 있다(예: 도 13).
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 사용자로부터 검색어를 입력받는 경우, 저장 공간에 저장된 복수의 객체 중 검색어에 대응되는 적어도 하나의 객체를 제1 사용자에게 제공하되, 복수의 객체 중 제1 사용자가 포함된 대화 공간으로부터 획득된 객체를 선택하고, 선택된 객체들 중 검색어에 대응되는 적어도 하나의 객체를 제1 사용자에게 제공함으로써, 제1 사용자가 포함된 대화 공간들로부터 수집 및 저장된 객체들 만을 제1 사용자에게 제공할 수 있다. 그러나, 이에 한정되지 않고, 검색어를 입력하는 사용자에게 기 부여된 권한에 따라 검색 범위를 조절할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 별도의 권한이 부여되지 않은 사용자로부터 검색어를 입력받는 경우, 검색어 입력에 따라 해당 사용자가 포함된 대화 공간에서 추출된 객체만을 제공할 수 있다. 한편, 컴퓨팅 장치(100)는 모든 객체를 이용할 수 있는 권한이 부여된 사용자로부터 검색어를 입력받는 경우, 해당 사용자가 포함된 대화 공간으로부터 수집된 객체뿐만 아니라, 해당 사용자의 요청(예: 검색 범위 설정)에 따라 해당 사용자가 포함되지 않은 대화 공간으로부터 수집된 객체들도 제공할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 저장 공간에 기 저장된 복수의 객체 각각의 속성에 기초하여, 기 저장된 복수의 객체 중 상호 동일한 속성을 가지는 둘 이상의 객체 간의 연결 관계를 정의하는 매칭 정보를 생성하고, 생성된 매칭 정보를 이용하여 객체 맵을 생성할 수 있으며, 객체 맵에 기초하여 사용자에게 추천 객체를 제공할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 복수의 객체 각각을 독립적인 노드로 설정하고, 객체 간의 매칭 정보에 따라 상호 연관되는 노드들을 선으로 연결함으로써 그래프 또는 트리 형태의 객체 맵을 생성할 수 있다.
이후, 컴퓨팅 장치(100)는 특정 사용자로부터 검색어를 입력받는 것에 대응하여 검색어에 대응하는 객체를 선택하여 사용자에게 제공하되, 객체 맵에 기초하여 선택된 객체의 노드와 선으로 연결된 다른 객체들을 추천 객체로서 사용자에게 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 사용자로부터 입력된 검색어에 대응하는 객체 및 해당 객체와 연결된 추천 객체들이 표시된 객체 맵을 사용자에게 제공함으로써, 사용자가 다른 객체를 찾기 위해 추가적으로 검색어를 입력하지 않더라도 객체 맵을 통해 객체를 찾을 수 있도록 한다.
도 8은 다양한 실시예에서, 대화 공간별 동향 정보를 제공하는 방법을 설명하기 위한 순서도이다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 요청에 따라 대화 공간별 동향 정보를 제공할 수 있다.
도 8을 참조하면, S510 단계에서, 컴퓨팅 장치(100)는 사용자로부터 복수의 대화 공간 중 하나 이상의 대화 공간에 대한 통계 정보로서, 동향 정보 제공 요청을 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로 동향 자료 제공 기능을 포함하는 UI을 제공할 수 있고, UI를 통해 특정 대화 공간에 대한 동향 정보 제공 요청을 입력받을 수 있다. 그러나, 이에 한정되지 않는다.
S520 단계에서, 컴퓨팅 장치(100)는 특정 대화 공간에 대한 동향 정보 제공 요청에 기초하여, 기 분류 및 저장된 복수의 객체 중 특정 대화 공간에서 수집된 객체를 선택하고, 선택된 객체를 통계 분석함으로써, 특정 대화 공간에 대한 동향 자료를 생성할 수 있다.
예를 들어, 컴퓨팅 장치(100)는 기 분류 및 저장된 복수의 객체 중 특정 대화 공간으로부터 수집된 객체들(특정 대화 공간으로부터 수집된 전체 객체 또는 소정의 기간 동안 특정 대화 공간으로부터 수집된 객체)의 통계 분석하여, 객체들에 포함된 복수의 키워드 각각에 대한 빈도수를 산출하고, 산출된 빈도수가 높은 순서대로 상위 N개의 키워드(예: 빈도수가 높은 상위 40개의 키워드)를 선정하여 동향 자료로서 사용자에게 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 특정 대화 공간으로부터 수집된 객체들을 분석하여, 요일 및 시간별 중요 키워드(요일 및 시간별 빈도수가 높은 N개의 키워드)를 선정하여 동향 자료로서 사용자에게 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 특정 대화 공간으로부터 수집된 객체(텍스트 문장)에 대한 카운트 벡터 2차원 분포를 추출하거나, 토픽모델링을 하거나, 키워드 간의 연관 분석을 수행하거나, 워드클라우딩을 수행할 수 있고, 이에 따른 결과를 특정 대화 공간에 대한 동향 정보로서 사용자에게 제공할 수 있다.
여기서, 동향 자료는 특정 대화 공간에서 수집되는 객체들을 분석함으로써 도출되는 통계적 분석 결과 정보로서, 기간별 전체 채팅 분석, 각 객체(또는 키워드)별 빈도수, 요일 및 시간 별 중요 키워드 빈도수, 문장 카운터벡터 2차원 분포, 토픽모델링, 연관분석, 워드클라우딩을 수행한 결과인 것으로 설명하고 있으나, 이에 한정되지 않는다.
도 9은 다양한 실시예에서, 대화 내용 기반의 통계 자료를 제공하는 방법을 설명하기 위한 순서도이다.
다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 요청에 따라 대화 내용에 따른 통계 자료를 제공할 수 있다.
도 9를 참조하면, S610 단계에서, 컴퓨팅 장치(100)는 사용자로부터 통계 정보 제공 요청을 획득할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결되어 사용자 단말(200)로 통계 자료 제공 기능을 포함하는 UI을 제공할 수 있고, UI를 통해 통계 정보 제공 요청을 입력받을 수 있다. 그러나, 이에 한정되지 않는다.
S620 단계에서, 컴퓨팅 장치(100)는 사용자로부터 통계 정보 제공 요청을 획득하는 것에 대응하여, 지 저장 및 분류된 복수의 객체 중 대화 내용을 포함하는 메시지를 선택된 메시지를 양식화 및 문서화할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 메시지에 포함된 대화 내용을 분석하고, 분석 결과에 따라 대화 내용을 템플릿에 포함된 복수의 항목 각각에 배치시킴으로써, 메시지를 양식화 및 문서화할 수 있다.
여기서, 템플릿은 사용자로부터 사전에 설정받는 문서 양식으로서, 예를 들어, 템플릿은 고객명, 프로젝트명(모델명), 투입자재 규격(수입회사명, 수입제품명, ser.no,(Lot no.)), 생산자재 Lot no/Lot size, 공정명, 작업자, 작업시간, 투입수량, 양품수량, 불량수량, 불량내역, 특이사항 등을 포함하는 공정진행표 양식일 수 있으나, 이에 한정되지 않고, 설비점검표, 초중동검사표 다양한 양식이 적용될 수 있다.
또한, 여기서, 메시지를 양식화 및 문서화하는 과정이 사용자로부터 통계 확인 요청을 획득하는 것에 대응하여 수행되는 것으로 설명하고 있으나, 이에 한정되지 않고, 메시지로부터 속성을 추출하고, 추출된 속성에 따라 메시지를 분류 및 저장하는 과정에서 수행되어 메시지들이 양식화 및 문서화된 상태로 저장 공간에 저장되는 형태로 구현될 수 있다.
또한, 여기서, 사용자에게 템플릿을 제공한 것에 대응하여 사용자로부터 템플릿 상에 정보를 직접 입력받고, 정보가 입력된 템플릿을 객체로서 획득, 분류 및 저장한 경우, 해당 객체는 이미 양식화 및 문서화 된 상태로 저장된 것인 바, 해당 객체에 대해서는 별도의 양식화 및 문서화 동작을 수행하지 않을 수 있다.
또한, 여기서, 본 발명의 다양한 실시예에 따른 대화 내용 기반의 통계 자료를 제공하는 방법은 저장 공간에 기 분류 및 저장된 모든 객체를 양식화 및 문서화한 후, 이를 통계적 분석하여 통계 정보를 생성하는 것으로 설명하고 있으나, 이에 한정되지 않고, 사용자로부터 템플릿 기반으로 정보를 직접 입력받아 이를 객체로서 획득함으로써, 양식화 및 문서화된 객체들만을 통계 분석하여 통계 자료를 생성할 수 있다.
일례로, 컴퓨팅 장치(100)는 저장 공간에 기 저장된 복수의 객체 중 공정진행표, 설비점검표, 초중동검사표 등 통계 자료를 추출하고자 하는 분야와 관련된 객체나 사용자로부터 공정진행표, 설비점검표, 초중동검사표 등 통계 자료를 추출하고자 하는 분야와 관련된 템플릿을 제공하고, 해당 템플릿을 기반으로 정보를 입력받음으로써 획득된 객체만을 통계 분석하여 통계 자료를 생성할 수 있다. 그러나, 이에 한정되지 않는다.
S630 단계에서, 컴퓨팅 장치(100)는 S620 단계를 거쳐 양식화 및 문서화된 메시지를 분석하여 통계 자료를 생성할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자가 입력한 규격, 작업 시간, 투입 수량, 양품 수량 등에 따라 양식화 및 문서화된 메시지를 회귀 모델링을 하거나, 표준편차, 분포, 수치적 데이터 상관분석, 분산 분석 등을 통하여 통계적 수치를 산출할 수 있고, 이러한 정보 및 값들을 포함하는 통계 자료를 생성하여 사용자에게 제공할 수 있다.
이 밖에도, 컴퓨팅 장치(100)는 협업 툴을 통해, 대화 내용을 포함하는 메시지를 분석하여 대화 내용에 포함된 복수의 단어 각각에 대한 속성을 추출하되, 복수의 단어 중 사용자로부터 기 설정된 단어(예: 알림, 즉시, 추천 등)가 식별되는 경우, 기 설정된 단어가 식별된 대화 내용을 사전에 설정된 담당자에게 안내하는 안내 기능을 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 협업 툴을 통해, 사용자로부터 특정 작업(task)에 대한 불량, 에러 등 이슈 발생을 알리는 키워드를 검색어로서 입력받는 경우, 해당 검색어에 대응되는 객체들을 선택 및 분석하여, 특정 작업에 대한 불량 및 에러를 해결하기 위한 추천 솔루션을 제공하는 솔루션 제공 기능을 제공할 수 있다.
또한, 컴퓨팅 장치(100)는 협업 툴을 통해, 사용자로부터 특정 검색어를 입력받는 경우, 특정 검색어와 과거 검색 이력 및 과거 작업 수행 이력에 기초하여 해당 사용자에게 업무 절차를 추천하는 기능을 제공할 수 있다.
전술한 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 데이터 분류 및 저장장치(컴퓨팅 장치)
200 : 사용자 단말
300 : 데이터베이스
400 : 네트워크

Claims (17)

  1. 컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계;
    상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 단계; 및
    상기 분류된 객체를 저장 공간에 저장하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  2. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 파일(file)을 업로드 받는 경우, 속성으로서 상기 업로드된 파일의 확장자 정보를 추출하고, 상기 추출된 확장자 정보에 따라 상기 업로드된 파일을 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  3. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 파일을 업로드 받는 경우, 상기 업로드된 파일에 관한 텍스트 형태의 정보를 수집하는 단계; 및
    기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 수집된 텍스트 형태의 정보를 분석하여 상기 수집된 텍스트 형태의 정보에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 업로드된 파일을 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  4. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 텍스트 정보를 포함하는 이미지 파일을 업로드 받는 경우, 상기 업로드된 이미지 파일에 대한 이미지 분석을 수행하여 상기 이미지 파일에 포함된 텍스트 정보를 추출하는 단계; 및
    기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 추출된 텍스트 정보를 분석하여 상기 추출된 텍스트 정보에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 업로드된 이미지 파일을 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  5. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 텍스트 메시지를 입력받는 경우, 상기 입력된 텍스트 메시지에 포함된 복수의 단어 각각을 토큰화(Tokenization)하는 단계;
    상기 토큰화된 복수의 단어 각각에 대한 정보를 상기 토큰화된 복수의 단어 각각에 레이블링(Labeling)하여 가공된 텍스트 메시지를 생성하는 단계; 및
    상기 가공된 텍스트 메시지를 분석하여 상기 가공된 텍스트 메시지에 대한 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 입력된 텍스트 메시지를 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  6. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 파일을 업로드 받는 경우, 상기 업로드된 파일의 업로드 시점을 기준으로 소정의 기간 동안 상기 대화 공간을 통해 입력된 복수의 텍스트 메시지의 속성에 기초하여 상기 업로드된 파일의 속성을 결정하고, 상기 결정된 속성에 따라 상기 업로드된 파일을 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  7. 제1항에 있어서,
    상기 획득된 객체를 분류하는 단계는,
    상기 사용자로부터 상기 대화 공간을 통해 음성 메시지를 입력받는 경우, 상기 입력된 음성 메시지를 텍스트 메시지로 변환하고, 기 학습된 자연어처리 기반 객체 분류 모델을 통해 상기 변환된 텍스트 메시지를 분석하여 상기 변환된 텍스트 메시지에 대한 속성을 추출하고, 상기 추출된 속성에 따라 상기 입력된 음성 메시지를 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  8. 제7항에 있어서,
    상기 입력된 음성 메시지를 분류하는 단계는,
    상기 추출된 속성이 제1 속성 및 제2 속성을 포함하는 경우, 상기 제1 속성이 추출된 시점에 대응되는 상기 입력된 음성 메시지의 구간 정보와 상기 입력된 음성 메시지를 매칭하여 상기 제1 속성에 대응하는 카테고리로 분류하고, 상기 제2 속성이 추출된 시점에 대응되는 상기 입력된 음성 메시지의 구간 정보와 상기 입력된 음성 메시지를 매칭하여 상기 제2 속성에 대응하는 카테고리로 분류하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  9. 제1항에 있어서,
    상기 분류된 객체를 저장 공간에 저장하는 단계는,
    상기 저장 공간에 기 저장된 복수의 객체 각각의 속성에 기초하여, 상기 기 저장된 복수의 객체 중 상호 동일한 속성을 가지는 둘 이상의 객체 간의 연결 관계를 정의하는 매칭 정보를 생성하고, 상기 생성된 매칭 정보를 이용하여 객체 맵을 생성하는 단계; 및
    제1 사용자로부터 검색어를 입력받는 경우, 상기 기 저장된 복수의 객체 중 상기 입력된 검색어에 대응되는 제1 객체를 상기 제1 사용자에게 제공하되, 상기 생성된 객체 맵에 기초하여 상기 제1 객체와 연결된 제2 객체를 함께 제공하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  10. 제1항에 있어서,
    제1 사용자로부터 검색어를 입력받는 경우, 상기 저장 공간에 저장된 복수의 객체 중 상기 입력된 검색어에 대응되는 적어도 하나의 객체를 상기 제1 사용자에게 제공하되, 상기 복수의 객체 중 상기 제1 사용자가 포함된 대화 공간으로부터 획득된 객체를 선택하고, 상기 선택된 객체 중 상기 입력된 검색어에 대응되는 적어도 하나의 객체를 상기 제1 사용자에게 제공하는 단계를 더 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  11. 제1항에 있어서,
    상기 저장 공간은 복수의 저장 공간 - 상기 복수의 저장 공간 각각은 중요도에 기초하여 구분되며, 상기 복수의 저장 공간의 접근 권한, 상기 복수의 저장 공간에 저장된 객체의 이용 권한 및 상기 복수의 저장 공간에 저장된 객체의 저장 기간이 상이하게 설정된 것임 - 을 포함하며,
    상기 분류된 객체를 저장 공간에 저장하는 단계는,
    제1 객체의 속성에 기초하여 상기 제1 객체에 대한 중요도를 산출하는 단계; 및
    상기 산출된 중요도에 따라 상기 복수의 저장 공간 중 어느 하나의 저장 공간으로 상기 제1 객체를 분류하여 저장하고, 상기 어느 하나의 저장 공간에 기 설정된 접근 권한, 이용 권한 및 저장 기간에 따라 상기 저장된 제1 객체를 관리하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  12. 제1항에 있어서,
    상기 저장 공간은 객체를 저장하는 제1 저장 공간 및 객체에 대한 정보를 저장하는 제2 저장 공간을 포함하며,
    상기 분류된 객체를 저장 공간에 저장하는 단계는,
    상기 대화 공간으로부터 획득되는 복수의 객체를 상기 제1 저장 공간에 저장하는 단계; 및
    상기 획득된 복수의 객체에 대한 속성에 기초하여 상기 획득된 복수의 객체를 분류하고, 상기 분류된 복수의 객체에 관한 정보를 상기 분류된 복수의 객체 각각에 대한 상기 제1 저장 공간에서의 저장 위치와 매칭하여 상기 제2 저장 공간에 저장하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  13. 제12항에 있어서,
    제1 사용자로부터 검색어를 입력받는 경우, 상기 제2 저장 공간에 저장된 복수의 객체에 관한 정보 중 상기 입력된 검색어에 대응되는 객체에 관한 정보를 선택하고, 상기 선택된 객체에 관한 정보를 상기 제1 사용자에게 제공하는 단계; 및
    상기 제1 사용자로부터 상기 선택된 객체에 대한 제공 요청을 획득하는 경우, 상기 선택된 객체에 관한 정보와 기 매칭된 상기 제1 저장 공간에서의 저장 위치를 이용하여 상기 제1 사용자에게 상기 선택된 객체를 로드(load) 하여 제공하거나, 상기 선택된 객체의 저장 위치로 접근이 가능한 접속 링크를 제공하는 단계를 더 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  14. 제1항에 있어서,
    상기 사용자로부터 복수의 대화 공간 중 하나 이상의 대화 공간에 대한 통계 정보 제공 요청을 획득하는 단계;
    상기 저장 공간에 기 저장된 복수의 객체 중 상기 하나 이상의 대화 공간으로부터 수집된 적어도 하나의 객체를 통계 분석하여 상기 하나 이상의 대화 공간에 대한 통계 정보를 생성하는 단계; 및
    상기 생성된 통계 정보를 상기 사용자에게 제공하는 단계를 더 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  15. 제1항에 있어서,
    상기 객체를 획득하는 단계는,
    상기 사용자로부터 템플릿 제공 요청을 획득하는 단계;
    상기 획득된 템플릿 제공 요청에 따라 상기 사용자에게 기 설정된 복수의 템플릿 중 어느 하나의 템플릿을 제공하고, 상기 사용자로부터 상기 제공된 어느 하나의 템플릿에 포함된 복수의 항목 각각에 대한 정보를 입력받는 단계; 및
    상기 정보가 입력된 어느 하나의 템플릿을 하나의 객체로서 획득하는 단계를 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법.
  16. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 컴퓨터 프로그램은,
    컴퓨팅 장치에 의해 수행되는 방법에 있어서,
    대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 인스트럭션(instruction);
    상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 인스트럭션; 및
    상기 분류된 객체를 저장 공간에 저장하는 인스트럭션을 포함하는,
    기 학습된 객체 분류 모델 기반 데이터 분류 및 저장장치.
  17. 컴퓨팅 장치와 결합되어,
    대화 공간을 통해 사용자로부터 입력된 객체를 획득하는 단계;
    상기 획득된 객체를 분석하여 속성을 추출하고, 상기 추출된 속성에 기초하여 상기 획득된 객체를 분류하는 단계; 및
    상기 분류된 객체를 저장 공간에 저장하는 단계를 포함하는 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020210193656A 2021-12-31 2021-12-31 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램 KR20230104787A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210193656A KR20230104787A (ko) 2021-12-31 2021-12-31 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210193656A KR20230104787A (ko) 2021-12-31 2021-12-31 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR20230104787A true KR20230104787A (ko) 2023-07-11

Family

ID=87159955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210193656A KR20230104787A (ko) 2021-12-31 2021-12-31 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR20230104787A (ko)

Similar Documents

Publication Publication Date Title
US20190180196A1 (en) Systems and methods for generating and updating machine hybrid deep learning models
WO2020238783A1 (zh) 一种信息处理方法、装置及存储介质
CN111680165B (zh) 信息匹配方法、装置、可读存储介质和电子设备
CN108920448B (zh) 一种基于长短期记忆网络的比较关系抽取的方法
CN111242710A (zh) 业务的分类处理方法、装置、服务平台及存储介质
KR20240072100A (ko) 메시지 분석을 통해 추출된 요약문을 이용한 프로젝트 일정 관리 서비스 제공방법, 서버 및 컴퓨터프로그램
CN113868419B (zh) 基于人工智能的文本分类方法、装置、设备及介质
KR20230104788A (ko) 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램
CN113742482B (zh) 基于多重词特征融合的情感分类方法、介质
CN116595191A (zh) 一种交互式低代码知识图谱的构建方法及装置
KR20230104787A (ko) 기 학습된 객체 분류 모델 기반 데이터 분류 및 저장방법, 장치 및 컴퓨터프로그램
KR20220088252A (ko) 협업툴 작업자를 위한 프로젝트 일정관리 서비스 제공방법
CN111242519B (zh) 用户特征数据生成方法、装置及电子设备
KR20220114780A (ko) 실험 데이터 자동 수집을 통한 정형화된 연구 기록 데이터 자동생성 방법
KR20220114779A (ko) 정형화된 연구 기록 데이터를 이용한 인공지능 모델의 학습 방법
KR102536290B1 (ko) 1차 콘텐츠의 댓글 분석 기반 사용자의 니즈가 반영된 2차 콘텐츠 예측방법
KR102483916B1 (ko) 인공지능 모델의 학습을 위한 정형화된 연구 기록 데이터 자동생성 방법, 장치 및 컴퓨터프로그램
KR102637198B1 (ko) 인공지능 모델 제작 플랫폼을 통한 인공지능 모델 공유, 대여 및 판매방법, 장치 및 컴퓨터프로그램
KR102464356B1 (ko) 인공지능 기반 유저에게 상품을 자동으로 추천하는 셀러와 유저를 매칭시키는 오픈마켓 플랫폼의 운영방법
KR20220088253A (ko) 메시지 중요도에 따른 요청사항 관리 서비스 제공방법
KR20230102728A (ko) 협업 데이터 분석을 통한 카테고리별 활동 분석 정보 제공방법, 장치 및 컴퓨터 프로그램
KR20230102727A (ko) 협업 데이터 분석을 통한 하이라이트 정보 제공방법, 장치 및 컴퓨터 프로그램
KR20230102729A (ko) 협업 데이터 히스토리에 기초한 리플레이 정보 제공방법, 장치 및 컴퓨터 프로그램
KR20230102730A (ko) 협업 데이터의 이동경로 분석을 통한 워크플로우 제공방법, 장치 및 컴퓨터 프로그램
KR20230006440A (ko) 인공지능 모델의 학습을 위한 정형화된 연구 기록 데이터 자동생성 방법, 장치 및 컴퓨터프로그램