KR102443914B1 - Method and apparatus for recommending hehavior of user - Google Patents

Method and apparatus for recommending hehavior of user Download PDF

Info

Publication number
KR102443914B1
KR102443914B1 KR1020200115542A KR20200115542A KR102443914B1 KR 102443914 B1 KR102443914 B1 KR 102443914B1 KR 1020200115542 A KR1020200115542 A KR 1020200115542A KR 20200115542 A KR20200115542 A KR 20200115542A KR 102443914 B1 KR102443914 B1 KR 102443914B1
Authority
KR
South Korea
Prior art keywords
user
behavior
recommendation algorithm
action
information
Prior art date
Application number
KR1020200115542A
Other languages
Korean (ko)
Other versions
KR20220033304A (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 KR1020200115542A priority Critical patent/KR102443914B1/en
Publication of KR20220033304A publication Critical patent/KR20220033304A/en
Application granted granted Critical
Publication of KR102443914B1 publication Critical patent/KR102443914B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Mushroom Cultivation (AREA)
  • Coloring Foods And Improving Nutritive Qualities (AREA)
  • Seasonings (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사용자의 현재 상태에 대한 타겟 행동을 사용자에게 추천하기 위해, 사용자의 행동에 대한 참조 정보를 획득하고, 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하고, 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 훈련 정보를 벡터화하고, 벡터화된 훈련 정보에 기초하여 사용자에 대한 행동 추천 알고리즘을 갱신하고, 갱신된 행동 추천 알고리즘에 기초하여 사용자의 현재 상태에 대한 타겟 행동을 사용자에게 추천한다.In order to recommend a target action to the user for the user's current state, obtain reference information on the user's action, generate training information by texturing or image the reference information, and at least among the time, place and situation where the action occurred The training information is vectorized based on one, the behavior recommendation algorithm for the user is updated based on the vectorized training information, and the target behavior for the current state of the user is recommended to the user based on the updated behavior recommendation algorithm.

Description

사용자의 행동 추천 방법 및 장치 {METHOD AND APPARATUS FOR RECOMMENDING HEHAVIOR OF USER}METHOD AND APPARATUS FOR RECOMMENDING HEHAVIOR OF USER

아래의 실시예들은 사용자의 행동을 추천하는 기술에 관한 것이다.The following embodiments relate to a technique for recommending a user's action.

일반적으로, 사용자는 사용자 단말을 통해 다양한 컨텐츠 또는 서비스를 제공받을 수 있는데, 사용자 단말을 사용하는 사용자는 서비스 서버를 통해 컨텐츠 또는 특정 서비스를 검색하거나, 구매하는 등의 소비 활동을 할 수 있다. 또한, 최근에는 무선 통신의 발달을 통해 다양한 사용자 단말들 간의 정보 교환이 용이해 졌고, 사용자 단말의 성능이 향상됨에 따라 사용자는 장소 및 시간에 구애 받지 않고 컨텐츠 또는 특정 서비스를 이용할 수 있게 되었다. 한편, 서비스 서버에서 제공하는 컨텐츠들의 수가 상당히 많고 다양한 반면에, 사용자가 필요로 하는 컨텐츠는 예를 들어, 사용자의 취향에 따라 제한되므로, 서비스 서버가 제공하는 컨텐츠들 중 사용자가 원하는 컨텐츠들을 검색하거나, 구매하는데 불필요하게 시간과 노력이 소모될 수 있다.In general, a user may be provided with various contents or services through a user terminal, and the user using the user terminal may perform consumption activities such as searching for or purchasing contents or a specific service through a service server. In addition, recently, through the development of wireless communication, information exchange between various user terminals has become easy, and as the performance of the user terminals is improved, users can use contents or specific services regardless of place and time. On the other hand, while the number of contents provided by the service server is quite large and diverse, the contents required by the user are limited according to, for example, the taste of the user. , time and effort may be consumed unnecessarily to purchase.

일 실시예는 사용자에게 행동을 추천하는 알고리즘을 개인화하는 방법을 제공할 수 있다.One embodiment may provide a method of personalizing an algorithm for recommending actions to a user.

일 실시예는 알고리즘을 통해 사용자에게 행동을 추천하는 방법을 제공할 수 있다.An embodiment may provide a method of recommending an action to a user through an algorithm.

일 측면에 따른, 서버에 의해 수행되는, 행동 추천 알고리즘을 개인화하는 방법은, 사용자의 행동에 대한 참조 정보를 획득하는 단계, 상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계, 상기 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계, 및 상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계를 포함하고, 상기 행동 추천 알고리즘은 상기 사용자의 현재 상태에 대한 타겟 행동을 상기 사용자에게 추천한다.According to one aspect, a method of personalizing a behavior recommendation algorithm, performed by a server, includes: obtaining reference information for a user's behavior; generating training information by texturing or imaging the reference information; the behavior Vectorizing the training information based on at least one of the generated time, place, and situation, and updating a behavior recommendation algorithm for the user based on the vectorized training information. Including, the behavior recommendation algorithm recommends a target behavior for the user's current state to the user.

상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계는, 상기 시각, 상기 장소 및 상기 상황 중 적어도 하나를 획득하는 단계, 및 상기 훈련 정보와 상기 시각, 상기 장소 및 상기 상황 중 적어도 하나를 연관시키는 단계를 포함할 수 있다.The step of vectorizing the training information based on at least one of a time, a place, and a situation at which the behavior occurred may include: obtaining at least one of the time, the place, and the situation; and the training information and the time, the place and associating at least one of the situations.

상기 사용자의 행동에 대한 참조 정보를 획득하는 단계는, 상기 사용자가 발화하는 음성을 사용자 단말의 마이크를 통해 수신함으로써 상기 참조 정보를 획득하는 단계를 포함할 수 있다.The obtaining of the reference information on the user's behavior may include obtaining the reference information by receiving a voice uttered by the user through a microphone of the user terminal.

상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는, 상기 음성을 NLP(natural language processing)을 통해 텍스트화함으로써 상기 훈련 정보를 생성하는 단계를 포함할 수 있다.The generating of the training information by texturing or imaging the reference information may include generating the training information by texturing the voice through natural language processing (NLP).

상기 사용자의 행동에 대한 참조 정보를 획득하는 단계는, 상기 사용자가 이용한 하나 이상의 서비스들의 이력에 대한 상기 참조 정보를 획득하는 단계를 포함할 수 있다.The obtaining of the reference information on the user's behavior may include obtaining the reference information on the histories of one or more services used by the user.

상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는, 상기 사용자가 이용한 서비스가 타겟 음원을 재생하는 서비스인 경우, 상기 타겟 음원의 스펙트로그램 이미지를 상기 훈련 정보로서 생성하는 단계를 포함할 수 있다.The step of generating the training information by converting the reference information into text or image may include generating a spectrogram image of the target sound source as the training information when the service used by the user is a service that reproduces a target sound source. can

상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계는, 상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 생활-스타일 그래프를 생성하는 단계를 포함하고, 상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계는, 상기 생활-스타일 그래프에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계를 포함할 수 있다.The vectorizing the training information based on at least one of a time, a place, and a situation in which the behavior occurred includes generating a life-style graph for the user based on the vectorized training information, wherein the vectoring includes: The updating of the behavior recommendation algorithm for the user based on the trained training information may include updating the behavior recommendation algorithm based on the life-style graph.

행동 추천 알고리즘을 개인화하는 방법은, 상기 사용자의 상기 현재 상태를 결정하는 단계, 상기 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계, 및 상기 타겟 행동을 상기 사용자에게 추천하는 단계를 더 포함할 수 있다.A method of personalizing a behavior recommendation algorithm includes: determining the current state of the user; determining the target behavior for the current state through the behavior recommendation algorithm; and recommending the target behavior to the user. may further include.

행동 추천 알고리즘을 개인화하는 방법은, 상기 타겟 행동에 대한 피드백을 상기 사용자로부터 수신하는 단계, 및 상기 피드백에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계를 더 포함할 수 있다.The method of personalizing the behavior recommendation algorithm may further include receiving feedback on the target behavior from the user, and updating the behavior recommendation algorithm based on the feedback.

다른 일 측면에 따른, 행동 추천 알고리즘을 개인화하는 방법을 수행하는, 서버는, 행동 추천 알고리즘을 개인화하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계, 상기 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계, 및 상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계를 수행하고, 상기 행동 추천 알고리즘은 상기 사용자의 현재 상태에 대한 타겟 행동을 상기 사용자에게 추천한다.According to another aspect, a server for performing a method for personalizing a behavior recommendation algorithm includes a memory in which a program for personalizing a behavior recommendation algorithm is recorded, and a processor for executing the program, wherein the program includes the reference information generating training information by texturing or imaging updating a behavior recommendation algorithm for the user based on the information, and the behavior recommendation algorithm recommends a target behavior for the user's current state to the user.

또 다른 일 측면에 따른, 서버에 의해 수행되는, 행동 추천 방법은, 사용자의 현재 상태를 결정하는 단계, 상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계, 및 상기 타겟 행동을 상기 사용자에게 추천하는 단계를 포함하고, 상기 행동 추천 알고리즘은 상기 사용자의 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 벡터화된 훈련 정보에 기초하여 갱신되고, 상기 훈련 정보는 상기 사용자의 상기 행동에 대해 획득된 참조 정보를 텍스트화 또는 이미지화함으로써 생성된다.According to another aspect, a behavior recommendation method, performed by a server, includes: determining a current state of a user; determining a target behavior for the current state through a behavior recommendation algorithm personalized for the user; and recommending the target behavior to the user, wherein the behavior recommendation algorithm is vectorized training information based on at least one of a time, a place, and an occurrence of the user's behavior. is updated based on , and the training information is generated by texturing or imaging the reference information obtained for the behavior of the user.

상기 사용자의 현재 상태를 결정하는 단계는, 상기 사용자가 이용한 하나 이상의 서비스들의 이력에 기초하여 상기 현재 상태를 결정하는 단계를 포함할 수 있다.The determining of the current status of the user may include determining the current status based on a history of one or more services used by the user.

상기 사용자의 현재 상태를 결정하는 단계는, 사용자의 행동에 대한 타겟 정보를 획득하는 단계, 및 상기 타겟 정보를 텍스트화 또는 이미지화함으로써 탐색 정보를 생성하는 단계를 포함하고, 상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나와 연관된 상기 탐색 정보가 상기 행동 추천 알고리즘에 입력될 수 있다.Determining the current state of the user includes obtaining target information on the user's behavior, and generating search information by converting the target information into text or image, the time and place where the behavior occurred and the search information associated with at least one of a situation may be input to the action recommendation algorithm.

상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계는, 상기 사용자에게 대해 생성된 생활-스타일 그래프에 기초하여 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계를 포함할 수 있다.The determining of the target behavior for the current state through the behavior recommendation algorithm personalized for the user may include determining the target behavior for the current state based on a life-style graph generated for the user. may include

상기 사용자에게 대해 생성된 생활-스타일 그래프에 기초하여 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계는, 상기 현재 상태의 행동에 대한 시각, 장소 및 상황 중 적어도 하나를 사용하여 상기 현재 상황에 대한 상기 타겟 행동을 결정하는 단계를 포함할 수 있다.The determining of the target behavior for the current state based on the life-style graph generated for the user may include: Using at least one of a time, a place, and a situation for the behavior of the current state, determining the target behavior.

상기 행동 추천 방법은, 상기 타겟 행동에 대한 피드백을 상기 사용자로부터 수신하는 단계, 및 상기 피드백에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계를 더 포함할 수 있다.The behavior recommendation method may further include receiving feedback on the target behavior from the user, and updating the behavior recommendation algorithm based on the feedback.

또 다른 일 측면에 따른, 사용자에게 행동을 추천하는 방법을 수행하는, 서버는, 행동을 추천하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 사용자의 현재 상태를 결정하는 단계, 상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계, 및 상기 타겟 행동을 상기 사용자에게 추천하는 단계를 수행하고, 상기 행동 추천 알고리즘은 상기 사용자의 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 벡터화된 훈련 정보에 기초하여 갱신되고, 상기 훈련 정보는 상기 사용자의 상기 행동에 대해 획득된 참조 정보를 텍스트화 또는 이미지화함으로써 생성된다.According to yet another aspect, a server for performing a method for recommending an action to a user includes a memory in which a program for recommending an action is recorded, and a processor for executing the program, wherein the program includes: determining a target behavior for the current state through a behavior recommendation algorithm personalized for the user, and recommending the target behavior to the user, wherein the behavior recommendation algorithm performs the steps of: is updated based on the vectorized training information based on at least one of a time, a place, and an occasion at which the behavior of It is created by texturing or imaging.

사용자에게 행동을 추천하는 알고리즘을 개인화하는 방법이 제공될 수 있다.A method may be provided for personalizing an algorithm that recommends actions to a user.

알고리즘을 통해 사용자에게 행동을 추천하는 방법이 제공할 수 있다.A method of recommending actions to the user through an algorithm may provide.

도 1은 일 예에 따른 사용자에게 행동을 추천하는 시스템의 구성도이다.
도 2는 일 실시예에 따른 서버의 구성도이다.
도 3은 일 예에 따른 행동 추천 알고리즘의 운용 방법의 흐름도이다.
도 4는 일 실시예에 따른 행동 추천 알고리즘을 초기 갱신하는 방법의 흐름도이다.
도 5는 일 예에 따른 사용자의 음성에 기초하여 훈련 정보를 생성하는 방법의 흐름도이다.
도 6는 일 예에 따른 음원의 스펙트로그램 이미지에 기초하여 훈련 정보를 생성하는 방법의 흐름도이다.
도 7은 일 예에 따른 벡터화된 훈련 정보에 기초하여 사용자에 대한 행동 추천 알고리즘을 갱신하는 방법의 흐름도이다.
도 8은 일 예에 따른 벡터화된 훈련 정보를 도시한다.
도 9는 일 예에 따른 사용자에 대한 생활-스타일 그래프에 기초하여 행동 추천 알고리즘을 갱신하는 방법의 흐름도이다.
도 10은 일 예에 따른 사용자에 대한 생활-스타일 그래프를 도시한다.
도 11은 일 실시예에 따른 행동 추천 알고리즘을 통해 타겟 행동을 사용자에게 추천하는 방법의 흐름도이다.
도 12는 일 예에 따른 사용자의 현재 상태를 결정하는 방법의 흐름도이다.
도 13은 일 예에 따른 생활-스타일 그래프에 기초하여 현재 상태에 대한 타겟 행동을 결정하는 방법을 도시한다.
도 14는 일 예에 따른 사용자의 피드백에 기초하여 행동 추천 알고리즘을 추가 갱신하는 방법의 흐름도이다.
1 is a configuration diagram of a system for recommending an action to a user according to an example.
2 is a configuration diagram of a server according to an embodiment.
3 is a flowchart of a method of operating a behavior recommendation algorithm according to an example.
4 is a flowchart of a method for initially updating a behavior recommendation algorithm according to an embodiment.
5 is a flowchart of a method of generating training information based on a user's voice according to an example.
6 is a flowchart of a method of generating training information based on a spectrogram image of a sound source according to an example.
7 is a flowchart of a method of updating a behavior recommendation algorithm for a user based on vectorized training information according to an example.
8 illustrates vectorized training information according to an example.
9 is a flowchart of a method of updating a behavior recommendation algorithm based on a life-style graph for a user according to an example.
10 illustrates a life-style graph for a user according to an example.
11 is a flowchart of a method of recommending a target behavior to a user through a behavior recommendation algorithm according to an embodiment.
12 is a flowchart of a method of determining a current state of a user according to an example.
13 illustrates a method of determining a target behavior for a current state based on a life-style graph according to an example.
14 is a flowchart of a method of additionally updating a behavior recommendation algorithm based on a user's feedback according to an example.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but between each component another component It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, descriptions described in one embodiment may be applied to other embodiments as well, and detailed descriptions within the overlapping range will be omitted.

도 1은 일 예에 따른 사용자에게 행동을 추천하는 시스템의 구성도이다.1 is a configuration diagram of a system for recommending an action to a user according to an example.

일 측면에 따르면, 협업 필터링(Collaborative filtering)에 기초하여 사용자에게 컨텐츠가 추천될 수 있다. 다만, 협업 필터링에 기초하여 사용자에게 컨텐츠를 추천하는 방법은 사용자의 개인 성향이 아닌 군집의 선호에 따른 대중성 편향 문제가 있을 수 있다. 또한, 상기의 방법은 군집에 소속된 개인들이 추천의 대상이 되는 모든 컨텐츠들을 소비하지 않음에 따른 희소성 문제가 있을 수 있다. 추가적으로, 상기의 방법은 새롭게 등록된 컨텐츠에 대한 추천이 일정 시간 이후에 가능함에 따른 추천 범위의 제약 문제(cold start)가 있다.According to an aspect, content may be recommended to a user based on collaborative filtering. However, the method of recommending content to a user based on collaborative filtering may have a problem of bias in popularity according to the preference of the group rather than the individual tendency of the user. In addition, the above method may have a scarcity problem because individuals belonging to the cluster do not consume all contents to be recommended. Additionally, the above method has a problem of a cold start of a recommendation range as a recommendation for newly registered content is possible after a predetermined time.

다른 일 측면에 따르면, 사용자에게 컨텐츠를 추천하기 위해, 사용자 개인의 성향/취향을 반영할 수 있도록 사용자의 행동과 관련된 정보를 수집하고, 수집된 정보에 기초하여 행동 추천 알고리즘을 훈련시키고, 훈련된 알고리즘을 통해 사용자에게 행동을 추천하는 방법이 고려될 수 있다.According to another aspect, in order to recommend content to the user, information related to the user's behavior is collected to reflect the user's personal inclination/preference, and based on the collected information, a behavior recommendation algorithm is trained, and the trained A method of recommending an action to a user through an algorithm may be considered.

구체적으로, 상기의 방법은 인공지능(AI) 분야의 알고리즘 갱신 기술(예를 들어, 딥러닝)을 통해 개인의 성향/취향 등에 기초하여 사용자의 개인화된 생활-스타일 그래프를 생성하고, 사용자의 시간(time), 장소(place), 상황(occasion)(TPO)에 적합한 행동을 추천할 수 있다.Specifically, the above method generates a personalized life-style graph of the user based on personal inclination/preference, etc. through algorithm update technology (eg, deep learning) in the field of artificial intelligence (AI), and the user's time (Time), place (place), situation (occasion) (TPO) can recommend appropriate actions.

서버(100)는 사용자(111)가 이용하는 사용자 단말들(112, 113)을 통해 사용자(111)의 행동과 관련된 정보를 수집할 수 있다. 사용자(111)를 중심으로 사용자(111)가 사용하는 사용자 단말들(112, 113)이 그룹(110)으로 설정될 수 있다. 예를 들어, 사용자 단말은 스마트폰, 커넥티드 카(connected car), IPTV 및 AI 스피커 등일 수 있고, 기재된 실시예로 한정되지 않는다. 서버(100)는 사용자(111)에 대해 개인화된 행동 추천 알고리즘을(105) 통해 사용자(111)에게 행동을 추천할 수 있다.The server 100 may collect information related to the behavior of the user 111 through the user terminals 112 and 113 used by the user 111 . With the user 111 as the center, the user terminals 112 and 113 used by the user 111 may be set as the group 110 . For example, the user terminal may be a smart phone, a connected car, an IPTV, an AI speaker, etc., and is not limited to the described embodiment. The server 100 may recommend actions to the user 111 through the action recommendation algorithm 105 personalized for the user 111 .

커넥티드 카를 통해 사용자에게 음원 추천, 컨텐츠 추천, 개인 일정에 따른 목적지 파악 및 길 찾기, 주변 PoI 추천 등이 수행될 수 있다.Through the connected car, sound source recommendation, content recommendation, destination identification and directions according to personal schedule, and nearby PoI recommendation can be performed to the user through the connected car.

IPTV를 통해 사용자에게 미디어 컨텐츠가 추천될 수 있다.Media content may be recommended to a user through IPTV.

AI 스피커를 통해 음원 추천, 개인화된 알람 출력, 뉴스 컨텐츠 재생 등이 수행될 수 있다.Sound source recommendation, personalized alarm output, news content playback, etc. can be performed through the AI speaker.

아래에서 도 2 내지 도 14를 참조하여 행동 추천 알고리즘을 운용하는 방법에 대해 상세히 설명된다.A method of operating a behavior recommendation algorithm will be described in detail below with reference to FIGS. 2 to 14 .

도 2는 일 실시예에 따른 서버의 구성도이다.2 is a configuration diagram of a server according to an embodiment.

서버(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 예를 들어, 서버(200)는 도 1을 참조하여 전술된 서버(100)일 수 있다.The server 200 includes a communication unit 210 , a processor 220 , and a memory 230 . For example, the server 200 may be the server 100 described above with reference to FIG. 1 .

통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The communication unit 210 is connected to the processor 220 and the memory 230 to transmit and receive data. The communication unit 210 may be connected to another external device to transmit/receive data. Hereinafter, the expression “transmitting and receiving “A” may indicate transmission and reception of “information or data representing A”.

통신부(210)는 서버(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 서버(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.The communication unit 210 may be implemented as circuitry in the server 200 . For example, the communication unit 210 may include an internal bus and an external bus. As another example, the communication unit 210 may be an element that connects the server 200 and an external device. The communication unit 210 may be an interface. The communication unit 210 may receive data from an external device and transmit the data to the processor 220 and the memory 230 .

프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The processor 220 processes data received by the communication unit 210 and data stored in the memory 230 . A “processor” may be a data processing device implemented in hardware having circuitry having a physical structure for performing desired operations. For example, desired operations may include code or instructions included in a program. For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.Processor 220 executes computer readable code (eg, software) stored in memory (eg, memory 230 ) and instructions issued by processor 220 .

메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 행동 추천 알고리즘을 운용할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다. 행동 추천 알고리즘의 운용은 행동 추천 알고리즘을 개인화하는 방법 및 사용자에게 행동을 추천하는 방법을 포함할 수 있다.The memory 230 stores data received by the communication unit 210 and data processed by the processor 220 . For example, the memory 230 may store a program (or an application, software). The stored program may be a set of syntaxes coded to operate the behavior recommendation algorithm and executable by the processor 220 . The operation of the behavior recommendation algorithm may include a method of personalizing the behavior recommendation algorithm and a method of recommending a behavior to a user.

일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, memory 230 may include one or more volatile memory, non-volatile memory and random access memory (RAM), flash memory, hard disk drive, and optical disk drive.

메모리(230)는 서버(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 서버(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.The memory 230 stores an instruction set (eg, software) for operating the server 200 . The instruction set for operating the server 200 is executed by the processor 220 .

통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 14를 참조하여 상세히 설명된다.The communication unit 210 , the processor 220 , and the memory 230 will be described in detail below with reference to FIGS. 3 to 14 .

도 3은 일 예에 따른 행동 추천 알고리즘의 운용 방법의 흐름도이다.3 is a flowchart of a method of operating a behavior recommendation algorithm according to an example.

행동 추천 알고리즘의 운용 방법은, 행동 추천 알고리즘을 초기 갱신하는 단계(310), 행동 추천 알고리즘을 통해 행동을 추천하는 단계(320), 및 행동 추천 알고리즘을 추가 갱신하는 단계(330)를 포함할 수 있다. 일 측면에 따르면, 서버(200)는 단계들(310, 320, 300)의 전부 또는 일부를 수행할 수 있다.The operation method of the behavior recommendation algorithm may include the step 310 of initially updating the behavior recommendation algorithm, the step 320 of recommending a behavior through the behavior recommendation algorithm, and the step 330 of further updating the behavior recommendation algorithm. have. According to one aspect, the server 200 may perform all or part of steps 310 , 320 , and 300 .

행동 추천 알고리즘을 초기 갱신하는 단계(310)에 대해 아래에서 도 4 내지 도 10을 참조하여 상세히 설명되고, 행동 추천 알고리즘을 통해 행동을 추천하는 단계(320)에 대해 아래에서 도 11 내지 도 13을 참조하여 상세히 설명되고, 행동 추천 알고리즘을 추가 갱신하는 단계(330)에 대해 아래에서 도 14를 참조하여 상세히 설명된다.The step 310 of initially updating the behavior recommendation algorithm will be described in detail with reference to FIGS. 4 to 10 below, and FIGS. 11 to 13 below for the step 320 of recommending a behavior through the behavior recommendation algorithm. The step 330 of further updating the action recommendation algorithm is described in detail with reference to FIG. 14 below.

도 4는 일 실시예에 따른 행동 추천 알고리즘을 초기 갱신하는 방법의 흐름도이다.4 is a flowchart of a method for initially updating a behavior recommendation algorithm according to an embodiment.

일 측면에 따르면, 도 3을 참조하여 전술된 단계(310)는 아래의 단계들(410 내지 440)을 포함한다.According to one aspect, the step 310 described above with reference to FIG. 3 includes the following steps 410 to 440 .

단계(410)에서, 서버(200)는 사용자의 행동에 대한 참조 정보를 획득한다. 일 측면에 따르면, 사용자가 이용한 하나 이상의 서비스들의 이력에 대한 참조 정보를 획득할 수 있다. 예를 들어, 사용자가 이용한 서비스들은 스마트폰, AI 스피커, IPTV, 및 커넥티드 카와 같은 사용자 단말을 통한 온라인을 통한 검색 서비스(이하에서, '온라인을 통한 검색 서비스'는 검색 서비스로 약칭됨), 음성 명령 서비스, VoD(video on demand) 서비스, 음원 재생 서비스, 네비게이션 서비스 등을 포함할 수 있고, 개시된 실시예로 한정되지 않는다. 제공된 서비스의 로그 등이 참조 정보로서 획득될 수 있다. 참조 정보의 일 예들에 대해 아래에서 도 5 및 도 6을 참조하여 상세히 설명된다.In step 410, the server 200 obtains reference information about the user's behavior. According to one aspect, reference information about the history of one or more services used by the user may be obtained. For example, the services used by the user are a search service through online through a user terminal such as a smartphone, AI speaker, IPTV, and a connected car (hereinafter, 'online search service' is abbreviated as a search service), It may include a voice command service, a video on demand (VoD) service, a sound reproduction service, a navigation service, and the like, but is not limited to the disclosed embodiment. A log of a provided service may be obtained as reference information. Examples of reference information are described in detail below with reference to FIGS. 5 and 6 .

단계(420)에서, 서버(200)는 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성한다. 일 측면에 따르면, 참조 정보가 텍스트 또는 이미지가 아닌 경우, 참조 정보를 텍스트 또는 이미지로 변환하여 나타낼 수 있다. 예를 들어, 참조 정보가 음성인 경우, 음성을 텍스트로 나타낼 수 있다. 다른 예로, 참조 정보가 소리 또는 음악인 경우, 소리 또는 음악을 스펙트로그램 이미지로 나타낼 수 있다. 참조 정보를 텍스트 또는 이미지로 변환하여 나타내는 방법에 대해 아래에서 도 5 및 도 6을 참조하여 상세히 설명된다.In step 420, the server 200 generates training information by texturing or imaging the reference information. According to an aspect, when the reference information is not text or an image, the reference information may be displayed by converting the reference information into text or an image. For example, when the reference information is a voice, the voice may be represented as text. As another example, when the reference information is sound or music, the sound or music may be represented as a spectrogram image. A method of converting reference information into text or an image and displaying it will be described in detail below with reference to FIGS. 5 and 6 .

단계(430)에서, 서버(200)는 사용자의 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 훈련 정보를 벡터화한다. 서버(200)는 훈련 정보 내의 단어들 간의 관계를 벡터화시킬 수 있다. 예를 들어, 단어의 사용 빈도 및 단어들 간의 연관성에 기초하여 Word2Vec를 이용하여 훈련 정보가 벡터화될 수 있다. 구체적으로, SGNS(Skip-Gram model with Negative Sampling) 및 CBOW(Contiguous Bag Of Words)를 훈련 정보가 벡터화될 수 있다. 훈련 정보를 벡터화하는 방법에 대해 아래에서 도 7 내지 도 9를 참조하여 상세히 설명된다.In step 430 , the server 200 vectorizes the training information based on at least one of a time, a place, and a situation in which the user's behavior occurs. The server 200 may vectorize the relationship between words in the training information. For example, training information may be vectorized using Word2Vec based on frequency of use of words and associations between words. Specifically, the training information may be vectorized for Skip-Gram model with Negative Sampling (SGNS) and Continuous Bag Of Words (CBOW). A method of vectorizing training information is described in detail below with reference to FIGS. 7 to 9 .

추가적으로, 벡터화된 훈련 정보는 추후에 사용자에게 타겟 행동을 추천하기 위해 검색 정보로서 서버(200)의 데이터베이스에 저장될 수도 있다.Additionally, the vectorized training information may be stored in the database of the server 200 as search information to recommend a target action to a user later.

단계(440)에서, 서버(200)는 벡터화된 훈련 정보에 기초하여 사용자에 대한 행동 추천 알고리즘을 갱신한다. 예를 들어, 신경망을 이용하여 행동 추천 알고리즘이 갱신될 수 있다.In step 440, the server 200 updates the behavior recommendation algorithm for the user based on the vectorized training information. For example, a behavior recommendation algorithm may be updated using a neural network.

일 측면에 따르면, CNN(convolution neural network) 모델을 이용하여 행동 추천 알고리즘이 갱신될 수 있다. 예를 들어, 훈련 정보가 스펙트로그램 이미지인 경우, CNN 모델이 알고리즘 갱신을 위해 이용될 수 있다.According to an aspect, a behavior recommendation algorithm may be updated using a convolution neural network (CNN) model. For example, when the training information is a spectrogram image, a CNN model may be used for algorithm update.

다른 일 측면에 따르면, RNN(recurrent neural network) 모델을 이용하여 행동 추천 알고리즘이 갱신될 수 있다. 예를 들어, 훈련 정보가 시계열로 표현될 수 있는 경우 RNN 모델이 알고리즘 갱신을 위해 이용될 수 있다. 더욱 구체적으로, LSTM(long short term memory) 모델이 이용될 수 있다.According to another aspect, the behavior recommendation algorithm may be updated using a recurrent neural network (RNN) model. For example, when training information can be expressed in a time series, an RNN model can be used for algorithm update. More specifically, a long short term memory (LSTM) model may be used.

RNN 모델을 이용하여 행동 추천 알고리즘이 갱신되는 경우, 사용자에 대한 생활-스타일 그래프가 생성될 수 있다. 행동 추천 알고리즘이 반복적으로 갱신되는 경우, 생성된 생활-스타일 그래프도 반복적으로 변화할 수 있다.When the behavior recommendation algorithm is updated using the RNN model, a life-style graph for the user may be generated. When the behavior recommendation algorithm is iteratively updated, the generated life-style graph may also be iteratively changed.

행동 추천 알고리즘을 갱신하기 위해 다양한 학습 방법이 적용될 수 있고, 특정한 실시예 또는 방법으로 한정되는 것은 아니다.Various learning methods may be applied to update the behavior recommendation algorithm, and it is not limited to a specific embodiment or method.

도 5는 일 예에 따른 사용자의 음성에 기초하여 훈련 정보를 생성하는 방법의 흐름도이다.5 is a flowchart of a method of generating training information based on a user's voice according to an example.

일 측면에 따르면, 도4를 참조하여 전술된 단계(410)는 아래의 단계(510)를 포함할 수 있고, 단계(420)는 아래의 단계(520)를 포함할 수 있다.According to one aspect, the step 410 described above with reference to FIG. 4 may include the following step 510 , and the step 420 may include the following step 520 .

단계(510)에서, 서버(200)는 사용자가 발화하는 음성을 사용자 단말의 마이크를 통해 수신함으로써 참조 정보를 획득한다. 사용자 단말은 스마트폰, AI 스피커, IPTV 또는 커넥티드 카일 수 있으나, 기재된 실시예로 한정되지 않는다. 사용자 단말은 획득한 사용자의 음성을 서버(200)로 전송할 수 있다. 예를 들어, 사용자는 날씨 문의, 일정 문의, 네비게이션 설정 명령, 및 음성 검색 등이 참조 정보로서 획득될 수 있고, 기재된 실시예로 한정되지 않는다.In step 510 , the server 200 obtains reference information by receiving the voice uttered by the user through the microphone of the user terminal. The user terminal may be a smartphone, an AI speaker, an IPTV, or a connected car, but is not limited to the described embodiment. The user terminal may transmit the acquired user's voice to the server 200 . For example, the user may obtain a weather inquiry, a schedule inquiry, a navigation setting command, a voice search, etc. as reference information, and is not limited to the described embodiment.

단계(520)에서, 서버(200)는 사용자 단말로부터 획득한 음성을 NLP(natural language processing)을 통해 텍스트화함으로써 훈련 정보를 생성한다.In step 520, the server 200 generates training information by converting the voice acquired from the user terminal into text through natural language processing (NLP).

일 측면에 따르면, 서버(200)는 획득한 음성을 TTS(text to speech)를 통해 텍스트화함으로써 스크립트(script)를 확보하고, 스크립트 내에 있는 학습에 불필요한 형용사, 부사, 및 조사를 제거함으로써 말뭉치를 생성할 수 있다. 훈련 정보는 말뭉치를 포함할 수 있다.According to one aspect, the server 200 secures a script by converting the acquired voice into text through text to speech (TTS), and builds a corpus by removing adjectives, adverbs, and propositions unnecessary for learning in the script. can create The training information may include a corpus.

말뭉치를 통해 출연 빈도수가 높은 단어가 파악될 수 있고, 단어 별 사용 횟수에 기반한 랭킹이 확보될 수 있고, 이는 학습 데이터로 활용될 수 있다. 추가적으로, 확보된 랭킹에 기초하여 명사를 중심으로 원시 데이터(raw data)(예를 들어, 음원, VoD 정보, 기사 정보, POI(point of interest))가 추가로 확보될 수 있고, 이는 추가 학습 데이터로 활용될 수 있다. 즉, 말뭉치 내의 단어와 관련된 다양한 정보들(해당 정보들도 말뭉치로 변환될 수 있음)이 원시 데이터로 확보될 수 있다. 예를 들어, 단어 "미술관 옆 동물원"와 관련된 영화 정보, 출연진 정보, 대본, 사용자 리뷰, 및 관련 음악 정보 등이 원시 데이터로서 확보될 수 있다. 훈련 정보는 원시 데이터를 더 포함할 수 있다.A word with a high frequency of appearance can be identified through the corpus, and a ranking based on the number of times used for each word can be secured, which can be used as learning data. Additionally, based on the secured ranking, raw data (eg, sound source, VoD information, article information, point of interest (POI)) centered on a noun may be additionally secured, which is additional learning data can be used as That is, various pieces of information related to words in the corpus (the corresponding information may also be converted into the corpus) may be secured as raw data. For example, movie information, cast information, script, user reviews, and related music information related to the word "zoo next to an art museum" may be secured as raw data. The training information may further include raw data.

도 6는 일 예에 따른 음원의 스펙트로그램 이미지에 기초하여 훈련 정보를 생성하는 방법의 흐름도이다.6 is a flowchart of a method of generating training information based on a spectrogram image of a sound source according to an example.

일 측면에 따르면, 도4를 참조하여 전술된 단계(410)는 아래의 단계(610)를 더 포함할 수 있고, 단계(420)는 아래의 단계(620)를 더 포함할 수 있다.According to one aspect, step 410 described above with reference to FIG. 4 may further include step 610 below, and step 420 may further include step 620 below.

단계(610)에서, 서버(200)는 사용자가 이용한 하나 이상의 서비스들의 이력에 대한 참조 정보를 획득한다. 서버(200)는 사용자가 사용자 단말을 통해 이용한 서비스를 확인할 수 있다. 예를 들어, 사용자가 사용자 단말을 통해 이용한 음원 재생 서비스 및 VoD 재생 서비스 등을 이력으로서 확인할 수 있고, 음원 재생 서비스를 통해 재생된 음원 및 VoD 재생 서비스를 통해 재생된 VoD에 대한 참조 정보가 획득될 수 있다.In step 610, the server 200 obtains reference information about the history of one or more services used by the user. The server 200 may check the service used by the user through the user terminal. For example, the user can check the sound source reproduction service and VoD reproduction service used through the user terminal as a history, and reference information about the sound source reproduced through the sound source reproduction service and VoD reproduced through the VoD reproduction service is obtained. can

단계(620)에서, 서버(200)는 사용자가 이용한 서비스가 음원을 재생하는 서비스인 경우, 재생된 타겟 음원의 스펙트로그램 이미지를 훈련 정보로서 생성할 수 있다. 다른 예로, 사용자가 이용한 서비스가 VoD를 재생하는 서비스인 경우, 재생된 타겟 VoD의 OST(original sound track)의 스펙트로그램 이미지가 훈련 정보로서 생성될 수 있다.In step 620, when the service used by the user is a service for reproducing a sound source, the server 200 may generate a spectrogram image of the reproduced target sound source as training information. As another example, when the service used by the user is a service for reproducing VoD, a spectrogram image of an OST (original sound track) of the reproduced target VoD may be generated as training information.

일 측면에 따르면, 서버(200)는 음악 및 VoD와 관련된 말뭉치를 전술된 단계(520)와 유사하게 생성할 수 있다.According to one aspect, the server 200 may generate a corpus related to music and VoD similar to the above-described step 520 .

도 7은 일 예에 따른 벡터화된 훈련 정보에 기초하여 사용자에 대한 행동 추천 알고리즘을 갱신하는 방법의 흐름도이다.7 is a flowchart of a method of updating a behavior recommendation algorithm for a user based on vectorized training information according to an example.

일 측면에 따르면, 도 4를 참조하여 전술된 단계(430)는 아래의 단계들(710 및 720)을 포함할 수 있고, 아래의 단계들(710 및 720)은 훈련 정보가 벡터화되기 전에 수행될 수 있다.According to one aspect, the step 430 described above with reference to FIG. 4 may include the following steps 710 and 720 , wherein the following steps 710 and 720 are to be performed before the training information is vectorized. can

단계(710)에서, 서버(200)는 참조 정보에 대한 사용자의 행동이 발생한 시각, 장소 및 상황 중 적어도 하나를 획득한다. 예를 들어, 사용자가 음성을 발화한 시각, 장소 및 상황 중 적어도 하나가 획득될 수 있다. 상황은 사용자 단말에 실행되고 있는 애플리케이션의 종류 또는 타겟 행동의 전후에 발생한 행동들일 수 있다.In step 710 , the server 200 acquires at least one of a time, a place, and a situation where the user's action with respect to the reference information occurred. For example, at least one of a time, a place, and a situation in which the user uttered a voice may be acquired. The situation may be a type of an application being executed on the user terminal or actions occurring before and after a target action.

단계(720)에서, 서버(200)는 훈련 정보와 획득된 시각, 장소 및 상황 중 적어도 하나를 연관한다. 단계(720)가 수행된 후, 서버(200)는 시각, 장소 및 상황 중 적어도 하나와 연관된 훈련 정보를 벡터화할 수 있다. 벡터화된 훈련 정보에 대해 아래에서 도 8을 참조하여 상세히 설명된다.In step 720, the server 200 associates the training information with at least one of the acquired time, place and situation. After step 720 is performed, the server 200 may vectorize training information associated with at least one of a time, a place, and a situation. The vectorized training information is described in detail below with reference to FIG. 8 .

도 8은 일 예에 따른 벡터화된 훈련 정보를 도시한다.8 illustrates vectorized training information according to an example.

일 측면에 따르면, 훈련 정보 내의 각 단어가 벡터화될 수 있다. 타겟 단어와 함께 많이 언급되고, 타겟 단어의 TPO와 유사한 TPO를 갖는 단어가 타겟 단어와 가까워지도록 벡터화될 수 있다. 예를 들어, 단어들 각각이 타겟 단어와 함께 언급된 빈도수를 나타내는 벡터 테이블이 생성될 수 있다. 벡터 테이블을 시각적으로 나타내기 위해서는 빈도수가 반영되도록 해당 단어의 크기가 조절될 수 있다.According to one aspect, each word in the training information may be vectorized. Words that are frequently mentioned with the target word and have a TPO similar to the TPO of the target word may be vectorized to be closer to the target word. For example, a vector table may be created indicating the frequency with which each of the words is mentioned with the target word. In order to visually represent the vector table, the size of the corresponding word may be adjusted to reflect the frequency.

도 9는 일 예에 따른 사용자에 대한 생활-스타일 그래프에 기초하여 행동 추천 알고리즘을 갱신하는 방법의 흐름도이다.9 is a flowchart of a method of updating a behavior recommendation algorithm based on a life-style graph for a user according to an example.

일 측면에 따르면, 도4를 참조하여 전술된 단계(430)는 아래의 단계(910)를 포함할 수 있고, 단계(440)는 아래의 단계(920)를 더 포함할 수 있다.According to one aspect, the step 430 described above with reference to FIG. 4 may include the following step 910 , and the step 440 may further include the following step 920 .

단계(910)에서, 서버(200)는 벡터화된 훈련 정보에 기초하여 사용자에 대한 생활-스타일 그래프를 생성한다. 예를 들어, 생활-스타일 그래프는 사용자의 행동 유형 별로 구분된 행동들을 시계열적으로 나타낼 수 있다. 행동 유형은 서비스의 종류에 대응할 수 있다. 생활-스타일 그래프는 일별로 복수 개가 생성될 수 있다. 생활-스타일 그래프는 사용자의 주기적인 생활-스타일을 반영하기 위해 요일 별로 생성될 수 있으나, 이에 한정되지 않는다. 생성된 생활-스타일 그래프는 초기 생활-스타일 그래프일 수 있다.In step 910, the server 200 generates a life-style graph for the user based on the vectorized training information. For example, the life-style graph may represent the behaviors classified according to the user's behavior type in time series. The behavior type may correspond to the type of service. A plurality of life-style graphs may be generated for each day. The life-style graph may be generated for each day of the week to reflect the user's periodic life-style, but is not limited thereto. The generated life-style graph may be an initial life-style graph.

생활-스타일 그래프에 대해 아래에서 도 10을 참조하여 상세하게 설명된다.A life-style graph is described in detail below with reference to FIG. 10 .

단계(920)에서, 서버(200)는 생활-스타일 그래프에 기초하여 행동 추천 알고리즘을 갱신한다.In step 920, the server 200 updates the behavior recommendation algorithm based on the life-style graph.

예를 들어, 생활-스타일 그래프에 기초하여 훈련 정보를 시계열로 분석하는 LSTM(long short term memory) 모델을 통해 행동 추천 알고리즘이 갱신될 수 있다. 갱신된 행동 추천 알고리즘을 통해 생활-스타일 그래프가 갱신될 수 있다. 갱신된 생활-스타일 그래프는 예측 생활-스타일 그래프일 수 있다.For example, the behavior recommendation algorithm may be updated through a long short term memory (LSTM) model that analyzes training information in a time series based on a life-style graph. The life-style graph may be updated through the updated behavior recommendation algorithm. The updated life-style graph may be a predictive life-style graph.

행동 추천 알고리즘을 갱신하는 중요 팩터로서, 행동의 TPO, 행동이 발생한 사용자 단말의 종류, 음성을 발화한 발화문의 개수, 서비스 이용 횟수 등이 고려될 수 있다.As an important factor for updating the behavior recommendation algorithm, the TPO of the behavior, the type of the user terminal in which the behavior occurred, the number of utterances uttering voice, the number of times of service use, and the like may be considered.

서버(200)는 갱신된 생활-스타일 그래프에 기초하여 행동 추천 알고리즘이 반복적으로 갱신될 수 있다.The server 200 may iteratively update the behavior recommendation algorithm based on the updated life-style graph.

도 10은 일 예에 따른 사용자에 대한 생활-스타일 그래프를 도시한다.10 illustrates a life-style graph for a user according to an example.

일 측면에 따르면, 사용자의 행동들이 행동 유형 별로 구분될 수 있다. 예를 들어, AI 스피커에 대한 행동들, 캘린더에 대한 행동들, 뉴스&날씨에 대한 행동들, VoD에 대한 행동들, 커넥티드 카에 대한 행동들, 검색에 대한 행동들, 음원에 대한 행동들, 및 서비스 로그에 대한 행동들의 유형 별로 구분될 수 있다.According to one aspect, the user's actions may be classified according to action types. For example, actions on AI speaker, actions on calendar, actions on news & weather, actions on VoD, actions on connected car, actions on search, actions on sound source , and may be classified by types of actions for the service log.

행동 유형 별로 구분된 사용자의 행동들이 시계열적으로 나타나도록 생활-스타일 그래프가 생성될 수 있다. 생활-스타일 그래프는 사용자의 하루의 행동 이력에 기초하여 일별로 복수개 생성될 수 있다. 일별로 생성된 복수의 생활-스타일 그래프들이 행동 추천 알고리즘을 갱신하기 위해 이용될 수 있다.A life-style graph may be generated so that the user's actions classified by action type appear in time series. A plurality of life-style graphs may be generated for each day based on the user's daily behavior history. A plurality of life-style graphs generated on a daily basis may be used to update the behavior recommendation algorithm.

도 11은 일 실시예에 따른 행동 추천 알고리즘을 통해 타겟 행동을 사용자에게 추천하는 방법의 흐름도이다.11 is a flowchart of a method of recommending a target behavior to a user through a behavior recommendation algorithm according to an embodiment.

일 측면에 따르면, 도 3을 참조하여 단계(320)는 아래의 단계들(110 내지 1130)을 포함한다.According to one aspect, with reference to FIG. 3 , step 320 includes the following steps 110 to 1130 .

단계(1110)에서, 서버(200)는 사용자의 현재 상태를 결정한다.In step 1110, the server 200 determines the current status of the user.

일 측면에 따르면, 사용자가 이용한 하나 이상의 서비스들의 이력에 기초하여 현재 상태가 결정될 수 있다. 예를 들어, 가장 최근에 사용자가 사용자 단말을 통해 뉴스를 검색한 행동에 기초하여 현재 상태가 결정될 수 있다. 다른 예로, 사용자가 어떠한 사용자 단말을 통해 서비스를 이용하였는지에 기초하여 현재 상태가 결정될 수 있다.According to an aspect, the current state may be determined based on a history of one or more services used by the user. For example, the current state may be determined based on the most recent behavior of the user searching for news through the user terminal. As another example, the current state may be determined based on which user terminal the user uses the service.

사용자의 현재 상태를 결정하는 방법에 대해, 아래에서 도 12를 참조하여 상세히 설명된다.A method of determining the user's current status is described in detail below with reference to FIG. 12 .

단계(1120)에서, 서버(200)는 사용자에게 대해 개인화된 행동 추천 알고리즘을 통해 현재 상태에 대한 타겟 행동을 결정한다.In step 1120 , the server 200 determines a target action for the current state through a personalized action recommendation algorithm for the user.

일 측면에 따르면, 서버(200)는 사용자에게 대해 생성된 생활-스타일 그래프에 기초하여 행동 추천 알고리즘을 통해 현재 상태에 대한 타겟 행동을 결정할 수 있다. 예를 들어, 현재 상태의 행동에 대한 시각, 장소 및 상황 중 적어도 하나를 사용하여 현재 상황에 대한 타겟 행동이 결정될 수 있다. 생활-스타일 그래프에 기초하여 타겟 행동을 결정하는 방법에 대해, 아래에서 도 13을 참조하여 상세히 설명된다.According to an aspect, the server 200 may determine a target behavior for the current state through a behavior recommendation algorithm based on the life-style graph generated for the user. For example, the target action for the current situation may be determined using at least one of a time, a place, and a situation for the action of the current state. A method of determining a target behavior based on the life-style graph is described in detail below with reference to FIG. 13 .

단계(1130)에서, 서버(200)는 타겟 행동을 사용자에게 추천한다. 서버(200)는 사용자 단말을 통해 타겟 행동을 사용자에게 추천한다. 예를 들어, 서버(200)는 AI 스피커를 통해 타겟 행동을 사용자에게 추천하는 음성을 출력할 수 있다. 다른 예로, 서버(200)는 디스플레이가 연결된 사용자 단말을 통해 타겟 행동을 사용자에게 추천하는 영상을 출력할 수 있다.In step 1130, the server 200 recommends the target action to the user. The server 200 recommends a target action to the user through the user terminal. For example, the server 200 may output a voice for recommending a target action to the user through the AI speaker. As another example, the server 200 may output an image for recommending a target action to a user through a user terminal to which a display is connected.

도 12는 일 예에 따른 사용자의 현재 상태를 결정하는 방법의 흐름도이다.12 is a flowchart of a method of determining a current state of a user according to an example.

일 측면에 따르면, 도 11을 참조하여 전술된 단계(1110)는 아래의 단계들(1210 내지 1230)을 포함할 수 있다.According to one aspect, the step 1110 described above with reference to FIG. 11 may include the following steps 1210 to 1230 .

단계(1210)에서, 서버(200)는 사용자의 행동에 대한 타겟 정보를 획득한다. 타겟 정보는 참조 정보에 대응할 수 있다. 즉, 행동 추천 알고리즘을 갱신하는 방법에서 이용되는 정보는 참조 정보로 명명되고, 타겟 행동을 추천하는 방법에서 이용되는 정보는 타겟 정보로 명명될 수 있다. 단계(410)에 대한 설명이 단계(1210)에 대한 설명으로 유사하게 적용될 수 있다.In step 1210 , the server 200 obtains target information about the user's behavior. The target information may correspond to reference information. That is, information used in the method of updating the behavior recommendation algorithm may be named reference information, and information used in the method of recommending the target behavior may be named target information. The description for step 410 may be similarly applied to the description for step 1210 .

단계(1220)에서, 서버(200)는 타겟 정보를 텍스트화 또는 이미지화함으로써 탐색 정보를 생성한다. 탐색 정보는 훈련 정보에 대응할 수 있다. 즉, 행동 추천 알고리즘을 갱신하는 방법에서 이용되는 정보는 훈련 정보로 명명되고, 타겟 행동을 추천하는 방법에서 이용되는 정보는 탐색 정보로 명명될 수 있다. 단계(420)에 대한 설명이 단계(1220)에 대한 설명으로 유사하게 적용될 수 있다.In step 1220, the server 200 generates the search information by converting the target information into text or image. The search information may correspond to the training information. That is, the information used in the method of updating the behavior recommendation algorithm may be named training information, and the information used in the method of recommending the target behavior may be named search information. The description of step 420 may be similarly applied to the description of step 1220 .

추가적으로, 서버(200)는 사용자의 행동이 발생한 시각, 장소 및 상황 중 적어도 하나와 탐색 정보를 연관시킬 수 있다.Additionally, the server 200 may associate the search information with at least one of a time, a place, and a situation in which the user's action occurred.

서버(200)는 행동에 대한 탐색 정보를 생성함으로써 사용자의 현재 상태를 결정할 수 있다.The server 200 may determine the current state of the user by generating search information about the action.

서버(200)는 연관된 탐색 정보를 행동 추천 알고리즘에 입력하고, 출력으로서 타겟 행동을 결정할 수 있다.The server 200 may input the related search information to the behavior recommendation algorithm and determine the target behavior as an output.

도 13은 일 예에 따른 생활-스타일 그래프에 기초하여 현재 상태에 대한 타겟 행동을 결정하는 방법을 도시한다.13 illustrates a method of determining a target behavior for a current state based on a life-style graph according to an example.

일 측면에 따르면, 서버(200)는 생활-스타일 그래프 상에서 현재 상태에 해당하는 지점을 결정할 수 있다. 예를 들어, 결정된 사용자의 현재 상태는 뉴스 검색(1310)의 행동일 수 있다. 구체적으로, 어떠한 뉴스가 검색되었는지가 탐색 정보로서 생성될 수 있다.According to one aspect, the server 200 may determine a point corresponding to the current state on the life-style graph. For example, the determined current state of the user may be the action of the news search 1310 . Specifically, what news was searched for may be generated as search information.

뉴스 검색(1310)의 행동 이후의 행동이 타겟 행동으로서 결정될 수 있다. 예를 들어, 유사 뉴스 연속 검색(1320), 오늘 일정 확인(1330), 음악 재생(1340) 등이 타겟 행동으로 결정될 수 있다. 하나 이상의 행동들이 타겟 행동으로 결정될 수 있다. 유사 뉴스 연속 검색(1320)이 타겟 행동으로 결정된 경우, 탐색 정보에 기초하여 사용자가 검색 또는 확인한 뉴스와 유사한 뉴스가 결정될 수 있다. 예를 들어, 서버(200) 내의 데이터베이스에 저장된 벡터화된 단어들에 기초하여 사용자가 검색한 뉴스와 유사한 뉴스가 결정될 수 있다.An action following the action of the news search 1310 may be determined as the target action. For example, a continuous search for similar news ( 1320 ), confirmation of today's schedule ( 1330 ), and playing music ( 1340 ) may be determined as target actions. One or more actions may be determined as the target action. When the similar news continuous search 1320 is determined as the target action, news similar to the news searched or confirmed by the user may be determined based on the search information. For example, news similar to the news searched by the user may be determined based on the vectorized words stored in the database in the server 200 .

다른 예로, 음악 재생(1340)이 타겟 행동으로 결정된 경우, 사용자의 취향이 반영된 타겟 음원이 결정될 수 있다. 사용자의 취향은 사용자가 이전에 재생한 음원들의 스펙트로그램 이미지들에 기초하여 결정될 수 있다. 이전에 재생한 음원들의 스펙트로그램 이미지들의 파형과 유사한 파형을 갖는 음원이 타겟 음원으로 결정될 수 있다.As another example, when the music reproduction 1340 is determined as the target action, the target sound source reflecting the user's taste may be determined. The user's taste may be determined based on spectrogram images of sound sources previously reproduced by the user. A sound source having a waveform similar to that of spectrogram images of previously reproduced sound sources may be determined as the target sound source.

타겟 행동을 결정하기 위해 사용자의 현재 상태에 대한 TPO가 고려되므로, 시간, 위치 및 상황 중 적어도 하나가 달라지는 경우 결정되는 타겟 행동이 달라질 수 있다.Since the TPO for the current state of the user is considered to determine the target behavior, the determined target behavior may be changed when at least one of time, location, and situation changes.

도 14는 일 예에 따른 사용자의 피드백에 기초하여 행동 추천 알고리즘을 추가 갱신하는 방법의 흐름도이다.14 is a flowchart of a method of additionally updating a behavior recommendation algorithm based on a user's feedback according to an example.

일 측면에 따르면, 아래의 단계들(1410 및 1420)은 도 11을 참조하여 전술된 단계(1130)가 수행된 후 수행될 수 있다.According to one aspect, the following steps 1410 and 1420 may be performed after the step 1130 described above with reference to FIG. 11 is performed.

단계(1410)에서, 서버(200)는 타겟 행동에 대한 피드백을 사용자로부터 수신한다. 서버(200)는 사용자 단말을 통해 사용자의 피드백을 수신할 수 있다. 예를 들어, 피드백은 별점 및 스코어의 형태일 수 있고, 기재된 실시예로 한정되지 않는다. 다른 예로, 피드백은 추천한 음원 또는 VoD의 재생 시간일 수 있다.In step 1410, the server 200 receives feedback on the target behavior from the user. The server 200 may receive the user's feedback through the user terminal. For example, feedback may be in the form of stars and scores, and is not limited to the examples described. As another example, the feedback may be a playback time of a recommended sound source or VoD.

단계(1420)에서, 서버(200)는 피드백에 기초하여 행동 추천 알고리즘을 갱신한다. 예를 들어, 피드백이 긍정적인 경우 행동 추천 알고리즘에서 타겟 행동이 결정되는 부분이 강화될 수 있고, 피드백이 부정적인 경우 행동 추천 알고리즘에서 타겟 행동이 결정되는 부분이 약화될 수 있다.In step 1420, the server 200 updates the action recommendation algorithm based on the feedback. For example, when the feedback is positive, a portion in which the target behavior is determined in the behavior recommendation algorithm may be strengthened, and when the feedback is negative, a portion in the behavior recommendation algorithm in which the target behavior is determined may be weakened.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

200: 서버
210: 통신부
220: 프로세서
230: 메모리
200: server
210: communication unit
220: processor
230: memory

Claims (19)

서버에 의해 수행되는, 행동 추천 알고리즘을 개인화하는 방법은,
사용자의 행동에 대한 참조 정보를 획득하는 단계;
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계;
상기 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계; 및
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계
를 포함하고,
상기 행동 추천 알고리즘은 상기 사용자의 현재 상태에 대한 타겟 행동을 상기 사용자에게 추천하고,
상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계는,
상기 상황을 획득하는 단계 - 상기 상황은 상기 사용자의 사용자 단말에 실행되고 있는 애플리케이션의 종류 또는 상기 행동의 전후에 발생한 행동들을 포함함 -; 및
상기 훈련 정보와 상기 상황을 연관시키는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
A method of personalizing an action recommendation algorithm, performed by the server, includes:
obtaining reference information about the user's behavior;
generating training information by texturing or imaging the reference information;
vectorizing the training information based on at least one of a time, a place, and an occurrence of the behavior; and
updating a behavior recommendation algorithm for the user based on the vectorized training information
including,
The behavior recommendation algorithm recommends a target behavior for the user's current state to the user,
Vectorizing the training information based on at least one of a time, a place, and a situation where the behavior occurred,
acquiring the situation, the situation including a type of an application being executed on the user terminal of the user or actions occurring before and after the action; and
associating the training information with the context;
containing,
How to personalize a behavioral recommendation algorithm.
삭제delete 제1항에 있어서,
상기 사용자의 행동에 대한 참조 정보를 획득하는 단계는,
상기 사용자가 발화하는 음성을 사용자 단말의 마이크를 통해 수신함으로써 상기 참조 정보를 획득하는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
According to claim 1,
The step of obtaining reference information about the user's behavior includes:
obtaining the reference information by receiving the voice uttered by the user through a microphone of the user terminal
containing,
How to personalize a behavioral recommendation algorithm.
제3항에 있어서,
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는,
상기 음성을 NLP(natural language processing)을 통해 텍스트화함으로써 상기 훈련 정보를 생성하는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
4. The method of claim 3,
The step of generating training information by texturing or imaging the reference information includes:
Generating the training information by texturing the voice through natural language processing (NLP)
containing,
How to personalize a behavioral recommendation algorithm.
제1항에 있어서,
상기 사용자의 행동에 대한 참조 정보를 획득하는 단계는,
상기 사용자가 이용한 하나 이상의 서비스들의 이력에 대한 상기 참조 정보를 획득하는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
According to claim 1,
The step of obtaining reference information about the user's behavior includes:
obtaining the reference information for the history of one or more services used by the user
containing,
How to personalize a behavioral recommendation algorithm.
제5항에 있어서,
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는,
상기 사용자가 이용한 서비스가 타겟 음원을 재생하는 서비스인 경우, 상기 타겟 음원의 스펙트로그램 이미지를 상기 훈련 정보로서 생성하는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
6. The method of claim 5,
The step of generating training information by texturing or imaging the reference information includes:
When the service used by the user is a service for reproducing a target sound source, generating a spectrogram image of the target sound source as the training information
containing,
How to personalize a behavioral recommendation algorithm.
제1항에 있어서,
상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계는,
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 생활-스타일 그래프를 생성하는 단계
를 포함하고,
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계는,
상기 생활-스타일 그래프에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계
를 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
According to claim 1,
Vectorizing the training information based on at least one of a time, a place, and a situation where the behavior occurred,
generating a life-style graph for the user based on the vectorized training information;
including,
Updating the behavior recommendation algorithm for the user based on the vectorized training information comprises:
updating the behavior recommendation algorithm based on the life-style graph
containing,
How to personalize a behavioral recommendation algorithm.
제1항에 있어서,
상기 사용자의 상기 현재 상태를 결정하는 단계;
상기 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계; 및
상기 타겟 행동을 상기 사용자에게 추천하는 단계
를 더 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
According to claim 1,
determining the current state of the user;
determining the target action for the current state through the action recommendation algorithm; and
recommending the target action to the user
further comprising,
How to personalize a behavioral recommendation algorithm.
제8항에 있어서,
상기 타겟 행동에 대한 피드백을 상기 사용자로부터 수신하는 단계; 및
상기 피드백에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계
를 더 포함하는,
행동 추천 알고리즘을 개인화하는 방법.
9. The method of claim 8,
receiving feedback on the target behavior from the user; and
updating the action recommendation algorithm based on the feedback.
further comprising,
How to personalize a behavioral recommendation algorithm.
제1항, 및 제3항 내지 제9항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
10. A computer-readable recording medium storing a program for performing the method of any one of claims 1 and 3 to 9.
행동 추천 알고리즘을 개인화하는 방법을 수행하는, 서버는,
행동 추천 알고리즘을 개인화하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
사용자의 행동에 대한 참조 정보를 획득하는 단계;
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계;
상기 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계; 및
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계
를 수행하고,
상기 행동 추천 알고리즘은 상기 사용자의 현재 상태에 대한 타겟 행동을 상기 사용자에게 추천하고,
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는,
상기 텍스트화된 참조 정보에 기초하여 스크립트를 생성하고, 상기 스크립트에 기초하여 말뭉치를 생성하는 단계;
상기 말뭉치 내의 단어들에 대한 사용 빈도 랭킹을 결정하는 단계;
상기 사용 빈도 랭킹에 기초하여 원시 데이터를 결정하는 단계; 및
상기 말뭉치 및 상기 원시 데이터를 훈련 정보로 생성하는 단계
를 포함하는,
서버.
A server that performs a method of personalizing a behavioral recommendation algorithm comprises:
a memory in which a program for personalizing a behavior recommendation algorithm is recorded; and
a processor that executes the program
including,
The program is
obtaining reference information about the user's behavior;
generating training information by texturing or imaging the reference information;
vectorizing the training information based on at least one of a time, a place, and an occurrence of the behavior; and
updating a behavior recommendation algorithm for the user based on the vectorized training information
do,
The behavior recommendation algorithm recommends a target behavior for the user's current state to the user,
The step of generating training information by texturing or imaging the reference information includes:
generating a script based on the textualized reference information, and generating a corpus based on the script;
determining a frequency-of-use ranking for words in the corpus;
determining raw data based on the frequency of use ranking; and
generating the corpus and the raw data as training information
containing,
server.
서버에 의해 수행되는, 행동 추천 방법은,
사용자의 현재 상태를 결정하는 단계;
상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계; 및
상기 타겟 행동을 상기 사용자에게 추천하는 단계
를 포함하고,
상기 행동 추천 알고리즘은,
사용자의 행동에 대한 참조 정보를 획득하는 단계;
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계;
상기 행동이 발생한 시각(time), 장소(place) 및 상황(occasion) 중 적어도 하나에 기초하여 상기 훈련 정보를 벡터화하는 단계; 및
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 행동 추천 알고리즘을 갱신하는 단계
를 통해 갱신되고,
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계는,
상기 텍스트화된 참조 정보에 기초하여 스크립트를 생성하고, 상기 스크립트에 기초하여 말뭉치를 생성하는 단계;
상기 말뭉치 내의 단어들에 대한 사용 빈도 랭킹을 결정하는 단계;
상기 사용 빈도 랭킹에 기초하여 원시 데이터를 결정하는 단계; 및
상기 말뭉치 및 상기 원시 데이터를 훈련 정보로 생성하는 단계
를 포함하는,
행동 추천 방법.
The action recommendation method, performed by the server, is:
determining the current status of the user;
determining a target action for the current state through a personalized action recommendation algorithm for the user; and
recommending the target action to the user
including,
The behavior recommendation algorithm is
obtaining reference information about the user's behavior;
generating training information by texturing or imaging the reference information;
vectorizing the training information based on at least one of a time, a place, and an occurrence of the behavior; and
updating a behavior recommendation algorithm for the user based on the vectorized training information
updated through
The step of generating training information by texturing or imaging the reference information includes:
generating a script based on the textualized reference information, and generating a corpus based on the script;
determining a frequency-of-use ranking for words in the corpus;
determining raw data based on the frequency of use ranking; and
generating the corpus and the raw data as training information
containing,
How to recommend action.
제12항에 있어서,
상기 사용자의 현재 상태를 결정하는 단계는,
상기 사용자가 이용한 하나 이상의 서비스들의 이력에 기초하여 상기 현재 상태를 결정하는 단계
를 포함하는,
행동 추천 방법.
13. The method of claim 12,
The step of determining the current state of the user,
determining the current status based on a history of one or more services used by the user
containing,
How to recommend action.
제12항에 있어서,
상기 사용자의 현재 상태를 결정하는 단계는,
사용자의 행동에 대한 타겟 정보를 획득하는 단계; 및
상기 타겟 정보를 텍스트화 또는 이미지화함으로써 탐색 정보를 생성하는 단계
를 포함하고,
상기 행동이 발생한 시각, 장소 및 상황 중 적어도 하나와 연관된 상기 탐색 정보가 상기 행동 추천 알고리즘에 입력되는,
행동 추천 방법.
13. The method of claim 12,
The step of determining the current state of the user,
obtaining target information about the user's behavior; and
generating search information by converting the target information into text or an image;
including,
The search information associated with at least one of a time, place, and situation in which the action occurred is input to the action recommendation algorithm,
How to recommend action.
제12항에 있어서,
상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계는,
상기 사용자에게 대해 생성된 생활-스타일 그래프에 기초하여 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계
를 포함하는,
행동 추천 방법.
13. The method of claim 12,
Determining the target behavior for the current state through a behavior recommendation algorithm personalized for the user,
determining the target behavior for the current state based on a life-style graph generated for the user;
containing,
How to recommend action.
제15항에 있어서,
상기 사용자에게 대해 생성된 생활-스타일 그래프에 기초하여 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계는,
상기 현재 상태의 행동에 대한 시각, 장소 및 상황 중 적어도 하나를 사용하여 상기 현재 상태에 대한 상기 타겟 행동을 결정하는 단계
를 포함하는,
행동 추천 방법.
16. The method of claim 15,
Determining the target behavior for the current state based on the life-style graph generated for the user comprises:
determining the target behavior for the current state by using at least one of a time, place, and situation for the behavior in the current state.
containing,
How to recommend action.
제12항에 있어서,
상기 타겟 행동에 대한 피드백을 상기 사용자로부터 수신하는 단계; 및
상기 피드백에 기초하여 상기 행동 추천 알고리즘을 갱신하는 단계
를 더 포함하는,
행동 추천 방법.
13. The method of claim 12,
receiving feedback on the target behavior from the user; and
updating the action recommendation algorithm based on the feedback.
further comprising,
How to recommend action.
제12항 내지 17항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
A computer-readable recording medium containing a program for performing the method of any one of claims 12 to 17.
사용자에게 행동을 추천하는 방법을 수행하는, 서버는,
행동을 추천하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
사용자의 현재 상태를 결정하는 단계;
상기 사용자에 대해 개인화된 행동 추천 알고리즘을 통해 상기 현재 상태에 대한 타겟 행동을 결정하는 단계; 및
상기 타겟 행동을 상기 사용자에게 추천하는 단계
를 수행하고,
상기 행동 추천 알고리즘은,
상기 사용자의 행동에 대한 참조 정보를 획득하는 단계;
상기 참조 정보를 텍스트화 또는 이미지화함으로써 훈련 정보를 생성하는 단계;
상기 사용자의 사용자 단말에 실행되고 있는 애플리케이션의 종류 또는 상기 행동의 전후에 발생한 행동들을 포함하는 상황(occasion)을 획득하는 단계;
상기 훈련 정보와 상기 상황을 연관시킴으로써 상기 훈련 정보를 벡터화하는 단계;
상기 벡터화된 훈련 정보에 기초하여 상기 사용자에 대한 상기 행동 추천 알고리즘을 갱신하는 단계
를 통해 갱신되는,
서버.
The server, which performs the method of recommending an action to the user,
a memory in which a program for recommending an action is recorded; and
a processor that executes the program
including,
The program is
determining the current status of the user;
determining a target action for the current state through a personalized action recommendation algorithm for the user; and
recommending the target action to the user
do,
The behavior recommendation algorithm is
obtaining reference information on the user's behavior;
generating training information by texturing or imaging the reference information;
acquiring an occurrence including the type of application being executed in the user terminal of the user or actions occurring before and after the action;
vectorizing the training information by associating the training information with the context;
updating the behavior recommendation algorithm for the user based on the vectorized training information;
updated through
server.
KR1020200115542A 2020-09-09 2020-09-09 Method and apparatus for recommending hehavior of user KR102443914B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200115542A KR102443914B1 (en) 2020-09-09 2020-09-09 Method and apparatus for recommending hehavior of user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200115542A KR102443914B1 (en) 2020-09-09 2020-09-09 Method and apparatus for recommending hehavior of user

Publications (2)

Publication Number Publication Date
KR20220033304A KR20220033304A (en) 2022-03-16
KR102443914B1 true KR102443914B1 (en) 2022-09-16

Family

ID=80937788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200115542A KR102443914B1 (en) 2020-09-09 2020-09-09 Method and apparatus for recommending hehavior of user

Country Status (1)

Country Link
KR (1) KR102443914B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101801250B1 (en) * 2016-02-02 2017-11-27 네이버 주식회사 Method and system for automatically tagging themes suited for songs
KR20190123362A (en) * 2018-04-06 2019-11-01 삼성전자주식회사 Method and Apparatus for Analyzing Voice Dialogue Using Artificial Intelligence
KR102064489B1 (en) * 2019-01-14 2020-02-11 주식회사 엘렉시 System for Recommendation of APP, User Terminal and Method Therefor

Also Published As

Publication number Publication date
KR20220033304A (en) 2022-03-16

Similar Documents

Publication Publication Date Title
US7640160B2 (en) Systems and methods for responding to natural language speech utterance
US8620659B2 (en) System and method of supporting adaptive misrecognition in conversational speech
US20190279618A1 (en) System and method for language model personalization
US11586689B2 (en) Electronic apparatus and controlling method thereof
US10049656B1 (en) Generation of predictive natural language processing models
US20220076674A1 (en) Cross-device voiceprint recognition
US20210217409A1 (en) Electronic device and control method therefor
US11514916B2 (en) Server that supports speech recognition of device, and operation method of the server
CN104704556A (en) Mapping an audio utterance to an action using a classifier
CN105190614A (en) Search results using intonation nuances
JP7525575B2 (en) Generate interactive audio tracks from visual content
US11853345B2 (en) Automated content generation and delivery
CN113113024B (en) Speech recognition method, device, electronic equipment and storage medium
EP3550449A1 (en) Search method and electronic device using the method
US20240185846A1 (en) Multi-session context
CN117474084B (en) Bidirectional iteration method, equipment and medium for pre-training model and downstream sequence task
CN110852801A (en) Information processing method, device and equipment
KR102443914B1 (en) Method and apparatus for recommending hehavior of user
US12002455B2 (en) Semantically-augmented context representation generation
CN111222011B (en) Video vector determining method and device
US20220138427A1 (en) System and method for providing voice assistant service regarding text including anaphora
US20240111487A1 (en) Information processing apparatus
KR20240073991A (en) Voice synthesis service provision method and system

Legal Events

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