KR102418260B1 - Method for analyzing customer consultation record - Google Patents

Method for analyzing customer consultation record Download PDF

Info

Publication number
KR102418260B1
KR102418260B1 KR1020200063780A KR20200063780A KR102418260B1 KR 102418260 B1 KR102418260 B1 KR 102418260B1 KR 1020200063780 A KR1020200063780 A KR 1020200063780A KR 20200063780 A KR20200063780 A KR 20200063780A KR 102418260 B1 KR102418260 B1 KR 102418260B1
Authority
KR
South Korea
Prior art keywords
data
product
information
product recommendation
text data
Prior art date
Application number
KR1020200063780A
Other languages
Korean (ko)
Other versions
KR20210146671A (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 KR1020200063780A priority Critical patent/KR102418260B1/en
Publication of KR20210146671A publication Critical patent/KR20210146671A/en
Application granted granted Critical
Publication of KR102418260B1 publication Critical patent/KR102418260B1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0281Customer communication at a business location, e.g. providing product or service information, consulting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/08Insurance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Technology Law (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Machine Translation (AREA)

Abstract

본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 신경망을 이용하여 고객 상담 기록 분석을 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하는 동작; 상기 텍스트 데이터 및 상품 계약 정보를 기초로 학습 데이터 세트를 생성하는 동작; 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하는 동작; 및 신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하는 동작; 을 포함하며, 그리고 상기 상품 계약 정보는, 적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함할 수 있다.A computer program stored in a computer-readable storage medium is disclosed according to an embodiment of the present disclosure. When the computer program is executed in one or more processors, the following operations are performed for analyzing customer consultation records using a neural network, and the operations are: In a deep learning-based transformation model trained to convert voice information into text information obtaining text data by inputting the received customer call voice data; generating a training data set based on the text data and product contract information; learning the product recommendation model to generate product recommendation information by inputting the training data set into a deep learning-based product recommendation model; and inputting new customer call voice data into the learned transformation model to obtain new text data, and inputting new data based thereon into the product recommendation model to generate product recommendation information. It includes, and the product contract information may include information on at least one product and a result of whether each product is contracted.

Description

고객 상담 기록 분석 방법{METHOD FOR ANALYZING CUSTOMER CONSULTATION RECORD}METHOD FOR ANALYZING CUSTOMER CONSULTATION RECORD

본 개시는 데이터 분석 기술에 관한 것으로서, 보다 구체적으로 고객 상담 기록을 분석하기 위한 기술에 관한 것이다.The present disclosure relates to data analysis technology, and more particularly, to technology for analyzing customer consultation records.

인터넷 및 모바일을 통한 금융 상품, 보험 상품의 판매가 증가하면서 당 업계에서는 고객의 상담 내용을 수집하여 이를 마케팅에 활용하고자 하는 수요가 존재한다. 예를 들어, 콜센터에서 고객과의 상담 자료를 바탕으로 어떤 고객에게 어떠한 상품을 추천했을 때 계약 확률이 증가할지 알 수 있다면 마케팅에 소요되는 비용, 인적 자원을 절감하면서 그 효과는 극대화될 수 있다. 상기한 바와 같은 마케팅 타겟팅 및 마케팅 효율 극대화를 위해 상담 데이터를 효율적으로 처리할 수 있는 방법 및 마케팅 방법에 관한 요구가 당업계에 존재한다.As the sales of financial products and insurance products through the Internet and mobile increase, there is a demand in the industry to collect customer consultations and use them for marketing. For example, if it is known that the probability of a contract will increase when a customer recommends a product to a customer based on customer consultation data in a call center, the effect can be maximized while reducing marketing costs and human resources. There is a need in the art for a method and a marketing method that can efficiently process consultation data for maximizing marketing targeting and marketing efficiency as described above.

대한민국 등록특허 KR2110495호는 “빅데이터 기반 인플루언서 광고를 이용한 할인 마케팅 서비스 제공 시스템”을 개시한다.Korean Patent Registration No. KR2110495 discloses “a system for providing discount marketing services using big data-based influencer advertisements”.

본 개시는 전술한 배경기술에 대응하여 안출 된 것으로, 고객 상담 기록 분석 방법을 제공하기 위함이다.The present disclosure has been devised in response to the above-described background technology, and is intended to provide a method for analyzing customer consultation records.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 신경망을 이용하여 고객 상담 기록 분석을 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하는 동작; 상기 텍스트 데이터 및 상품 계약 정보를 기초로 학습 데이터 세트를 생성하는 동작; 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하는 동작; 및 신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하는 동작; 을 포함하며, 그리고 상기 상품 계약 정보는, 적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함할 수 있다.A computer program stored in a computer-readable storage medium is disclosed according to an embodiment of the present disclosure for realizing the above-described problems. When the computer program is executed in one or more processors, the following operations are performed for analyzing customer consultation records using a neural network, and the operations are: In a deep learning-based transformation model trained to convert voice information into text information obtaining text data by inputting the received customer call voice data; generating a training data set based on the text data and product contract information; learning the product recommendation model to generate product recommendation information by inputting the training data set into a deep learning-based product recommendation model; and inputting new customer call voice data into the learned transformation model to obtain new text data, and inputting new data based thereon into the product recommendation model to generate product recommendation information. It includes, and the product contract information may include information on at least one product and a result of whether each product is contracted.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 텍스트 데이터를 토큰화(Tokenization)하는 작업을 포함하는 전처리 동작; 을 더 포함할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing a customer consultation record, a preprocessing operation comprising tokenizing the text data; may further include.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 텍스트 데이터에 대한 형태소 분석, 파싱 트리(parsing tree) 기반 구문 분석 및 상기 텍스트 데이터에 대한 불용어 처리 중 적어도 하나를 포함하는 전처리 동작; 을 더 포함할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, at least one of morphological analysis of the text data, parsing tree-based syntax analysis, and stopword processing on the text data A preprocessing operation comprising; may further include.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 텍스트 데이터에 대한 토큰화 작업 결과로 획득된 적어도 하나의 토큰에 기초하여 벡터(vector) 데이터를 생성하는 동작을 더 포함하며, 상기 벡터 데이터는 토큰 간 의미 유사도를 반영할 수 있도록 생성될 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing a customer consultation record, generating vector data based on at least one token obtained as a result of a tokenization operation on the text data It further includes, and the vector data may be generated to reflect the semantic similarity between tokens.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 텍스트 데이터에 포함된 문장에 대해 사전 결정된 개수의 인자를 추출하여 배열을 생성하는 동작을 더 포함할 수 있다.In an alternative embodiment of the computer program operations for performing the following operations for analyzing the customer consultation record, the operation may further include generating an array by extracting a predetermined number of factors for a sentence included in the text data. .

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 사전 결정된 개수의 인자는, 연산 기여도에 기초하여 추출될 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing a customer consultation record, the predetermined number of factors may be extracted based on a computational contribution.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 배열은 사전 결정된 크기를 입력으로 받는 합성곱(Covolutional) 신경망에 입력하는 동작; 을 더 포함할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing a customer consultation record, the arrangement comprises: inputting a predetermined magnitude into a convolutional neural network; may further include.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 상품 추천 모델은, 상기 학습 데이터에 포함된 발화내용의 특징을 추출하도록 학습되며, 상기 발화내용의 특징은 학습 데이터에 포함된 개별 데이터의 중요도를 포함할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, the product recommendation model is trained to extract features of utterances included in the learning data, and the characteristics of utterances include: It may include the importance of individual data included in the training data.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 발화내용의 특징에 기초한 불용어 처리를 포함하는 전처리 동작; 및 상기 발화내용의 특징에 기초하여 연산 기여도를 산출하는 동작; 중 적어도 하나를 더 포함할 수 있다.In an alternative embodiment of the computer program operations for performing the following operations for analyzing a customer consultation record, a pre-processing operation including stopword processing based on a characteristic of the utterance content; and calculating a calculation contribution based on the characteristics of the utterance content. It may further include at least one of.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 상품 추천 모델은, 상기 학습 데이터에 포함된 벡터 데이터에 기초하여 상품 추천 정보를 생성하도록 학습될 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, the product recommendation model may be trained to generate product recommendation information based on vector data included in the learning data.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 상품 추천 모델은, 적어도 하나 이상의 합성곱(Convolutional) 신경망 및 적어도 하나 이상의 순환(Recurrent) 신경망의 조합으로 이루어질 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, the product recommendation model may be formed of a combination of at least one or more convolutional neural networks and at least one or more recurrent neural networks. can

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 순환 신경망은 LSTM(Long Short Term Memory) 모델이 적용될 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, the recurrent neural network may be applied with a Long Short Term Memory (LSTM) model.

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 상품 추천 모델은, 상기 학습 데이터의 파싱 트리(parsing tree) 기반 구문 분석 정보로부터 키워드를 추출하고, 상기 키워드에 기초하여 상품 추천 정보를 생성할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, the product recommendation model extracts a keyword from a parsing tree-based syntax analysis information of the learning data, and the keyword Product recommendation information may be generated based on the .

고객 상담 기록 분석을 위한 이하의 동작들을 수행하는 컴퓨터 프로그램 동작들의 대안적인 실시예에서, 상기 상품 추천 정보에 기반하여 고객이 상품을 계약한 경우, 해당 고객의 텍스트 데이터를 이용하여 상기 상품 추천 모델을 재학습 할 수 있다.In an alternative embodiment of computer program operations for performing the following operations for analyzing customer consultation records, when a customer contracts a product based on the product recommendation information, the product recommendation model is created using the text data of the customer can relearn.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 신경망을 이용한 고객 상담 기록 분석 방법이 개시된다. 고객 상담 기록 분석 방법은: 음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하는 단계; 상기 텍스트 데이터 및 상품 계약 정보를 기초로 학습 데이터 세트를 생성하는 단계; 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하는 단계; 및 신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하는 단계를 포함하며, 그리고 상기 상품 계약 정보는, 적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함할 수 있다.According to an embodiment of the present disclosure for realizing the above-described problem, a method for analyzing customer consultation records using a neural network is disclosed. The customer consultation record analysis method includes: acquiring text data by inputting the received customer call voice data into a deep learning-based transformation model trained to convert voice information into text information; generating a training data set based on the text data and product contract information; learning the product recommendation model to generate product recommendation information by inputting the training data set into a deep learning-based product recommendation model; and inputting new customer call voice data into the learned transformation model to obtain new text data, and inputting new data based thereon into the product recommendation model to generate product recommendation information, and the product contract information includes: It may include information on at least one product and a result of whether each product is contracted.

전술한 바와 같은 과제를 실현하기 위한 본 개시의 일 실시예에 따라 고객 상담 기록 분석을 위한 서버가 개시된다. 상기 서버는 하나 이상의 코어를 포함하는 프로세서; 및 메모리를 포함하고, 상기 프로세서는, 음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하고, 상기 텍스트 데이터 및 상품 계약 정보를 기초로 학습 데이터 세트를 생성하고, 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하고, 신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하고, 그리고 상기 상품 계약 정보는, 적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함할 수 있다.According to an embodiment of the present disclosure for realizing the above-described problem, a server for analyzing customer consultation records is disclosed. The server includes a processor including one or more cores; and a memory, wherein the processor acquires text data by inputting the received customer call voice data into a deep learning-based transformation model trained to convert voice information into text information, and based on the text data and product contract information to generate a training data set, and input the training data set to a deep learning-based product recommendation model to learn the product recommendation model to generate product recommendation information, and input new customer call voice data to the learned transformation model. Obtaining new text data and inputting new data based thereon into the product recommendation model to generate product recommendation information, and the product contract information may include information on at least one product and a result of whether each product is contracted.

본 개시는 고객 상담 기록 분석 방법을 제공할 수 있다.The present disclosure may provide a method for analyzing customer consultation records.

도 1은 본 개시의 일 실시예에 따라 마케팅 대상자를 산출하기 위한 동작을 수행하는 컴퓨팅 장치의 블록 구성도를 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따른 고객 상담 기록 분석 시스템의 순서도이다.
도 3은 본 개시의 일 실시예에 따른 파싱 트리의 예시도이다.
도 4는 본 개시의 일 실시예에 따른 텍스트 데이터에 관한 배열의 예시도이다.
도 5는 본 개시의 일 실시예에 따른 상품 추천 모델의 최종 결과 중 일부 데이터를 도시한 예시도이다.
1 is a diagram illustrating a block diagram of a computing device that performs an operation for calculating a target for marketing according to an embodiment of the present disclosure.
2 is a flowchart of a customer consultation record analysis system according to an embodiment of the present disclosure.
3 is an exemplary diagram of a parsing tree according to an embodiment of the present disclosure.
4 is an exemplary diagram of an arrangement related to text data according to an embodiment of the present disclosure.
5 is an exemplary diagram illustrating some data of a final result of a product recommendation model according to an embodiment of the present disclosure.

다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.Various embodiments are now described with reference to the drawings. In this specification, various descriptions are presented to provide an understanding of the present disclosure. However, it is apparent that these embodiments may be practiced without these specific descriptions.

본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.The terms “component,” “module,” “system,” and the like, as used herein, refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or execution of software. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, a thread of execution, a program, and/or a computer. For example, both an application running on a computing device and the computing device may be a component. One or more components may reside within a processor and/or thread of execution. A component may be localized within one computer. A component may be distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored therein. Components may communicate via a network such as the Internet with another system, for example, via a signal having one or more data packets (eg, data and/or signals from one component interacting with another component in a local system, distributed system, etc.) may communicate via local and/or remote processes depending on the data being transmitted).

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless otherwise specified or clear from context, "X employs A or B" is intended to mean one of the natural implicit substitutions. That is, X employs A; X employs B; or when X employs both A and B, "X employs A or B" may apply to either of these cases. It should also be understood that the term “and/or” as used herein refers to and includes all possible combinations of one or more of the listed related items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Also, the terms "comprises" and/or "comprising" should be understood to mean that the feature and/or element in question is present. However, it should be understood that the terms "comprises" and/or "comprising" do not exclude the presence or addition of one or more other features, elements and/or groups thereof. Also, unless otherwise specified or unless it is clear from context to refer to a singular form, the singular in the specification and claims should generally be construed to mean “one or more”.

그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", "B 만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다. And, the term "at least one of A or B" should be interpreted as meaning "when including only A", "when including only B", and "when combined with the configuration of A and B".

당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시 적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시 적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.Those skilled in the art will further appreciate that the various illustrative logical blocks, configurations, modules, circuits, means, logics, and algorithm steps described in connection with the embodiments disclosed herein may be implemented in electronic hardware, computer software, or combinations of both. It should be recognized that they can be implemented with To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. However, such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.Descriptions of the presented embodiments are provided to enable those skilled in the art to use or practice the present invention. Various modifications to these embodiments will be apparent to those skilled in the art of the present disclosure. The generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present invention is not limited to the embodiments presented herein. This invention is to be interpreted in its widest scope consistent with the principles and novel features presented herein.

본 개시에서 네트워크 함수와 인공 신경망 및 뉴럴 네트워크(neural network)는 상호 교환 가능하게 사용될 수 있다. In the present disclosure, a network function, an artificial neural network, and a neural network may be used interchangeably.

도 1은 본 개시의 일 실시예에 따라 마케팅 대상자를 산출하기 위한 동작을 수행하는 컴퓨팅 장치의 블록 구성도를 도시한 도면이다.1 is a diagram illustrating a block diagram of a computing device that performs an operation for calculating a target for marketing according to an embodiment of the present disclosure.

도 1에 도시된 컴퓨팅 장치(100)의 구성은 간략화 하여 나타낸 예시일 뿐이다. 본 개시의 일 실시예에서 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 컴퓨팅 장치(100)를 구성할 수도 있다. The configuration of the computing device 100 shown in FIG. 1 is only a simplified example. In an embodiment of the present disclosure, the computing device 100 may include other components for performing the computing environment of the computing device 100 , and only some of the disclosed components may configure the computing device 100 .

컴퓨팅 장치(100)는 프로세서(110), 메모리(130), 네트워크부(150)를 포함할 수 있다.The computing device 100 may include a processor 110 , a memory 130 , and a network unit 150 .

본 명세서에 걸쳐 고객 콜 음성 데이터는 대화가 녹음된 음성 파일을 포함한다. 상기 대화는 상담원과 고객의 영업상 모든 종류의 대화를 포함한다. 상기 음성 데이터는 디지털 오디오 데이터를 저장하기 위한 임의의 파일 포맷으로 저장될 수 있다. 상기 임의의 파일 포맷은 WAV, FLAC, MP3, TTA, VOX 등의 포맷을 포함한다. 전술한 파일 포맷 유형은 일 예시에 불과할 뿐 본원 발명을 제한하지 않는다.Customer call voice data throughout this specification includes voice files in which conversations are recorded. The conversation includes all kinds of business conversations between the agent and the customer. The voice data may be stored in any file format for storing digital audio data. The arbitrary file format includes formats such as WAV, FLAC, MP3, TTA, and VOX. The above-described file format type is merely an example and does not limit the present invention.

도 2는 본 개시의 일 실시예에 따른 고객 상담 기록 분석 방법의 순서도이다. 프로세서(110)는 네트워크부(150) 또는 별도의 수신부(미도시)를 통해 고객의 콜 음성 데이터를 수신(210)할 수 있다. 그 후 프로세서(110)는 상기 음성 데이터를 학습된 딥러닝 기반 음성-문자 변환 모델에 입력하여 텍스트 데이터를 획득(230)할 수 있다. 프로세서(110)는 상기 텍스트 데이터 및 상품 계약 정보를 기초로 학습 데이터 세트를 생성(250)할 수 있다. 프로세서(110)는 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습(270)시킬 수 있다. 학습이 완료되면 최종적으로 프로세서(110)는 신규 고객 콜 음성 데이터를 상기 변환 모델 및 상기 상품 추천 모델에 순차 입력하여 상품 추천 정보를 생성(290)하고 이를 기반으로 고객에게 상품을 추천할 수 있다.2 is a flowchart of a method for analyzing customer consultation records according to an embodiment of the present disclosure. The processor 110 may receive 210 the customer's call voice data through the network unit 150 or a separate receiving unit (not shown). Thereafter, the processor 110 may acquire text data by inputting the voice data into the learned deep learning-based voice-to-text conversion model ( 230 ). The processor 110 may generate 250 a training data set based on the text data and product contract information. The processor 110 may input the training data set into a deep learning-based product recommendation model to train the product recommendation model to generate product recommendation information (270). When the learning is completed, finally, the processor 110 may sequentially input new customer call voice data into the conversion model and the product recommendation model to generate product recommendation information (290), and recommend products to the customer based thereon.

본 개시의 일 실시예에 따르면, 프로세서(110)는 음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득할 수 있다. 상기 학습된 딥러닝 기반 변환 모델은 적어도 하나 이상의 네트워크 함수를 포함할 수 있다. 상기 변환 모델은 연속적으로 입력되는 음성을 사전 결정된 시간 단위로 쪼개어 입력 받아 이를 문자로 변환할 수 있다. 상기 변환 모델은 입력되는 음성의 시퀀스를 문자의 시퀀스로 출력하기 위해 Many To Many의 입출력 구조를 갖는 네트워크 함수를 포함할 수 있다. 상기 변환 모델은 음성 정보를 문자 정보로 변환시키기 위해 적어도 하나 이상의 은닉층(hidden layer)을 포함하는 순환 신경망으로 이루어질 수 있다. 프로세서(110)는 변환 모델을 통해 획득된 텍스트 데이터를 메모리(130)에 저장할 수 있다. 상기 음성정보를 문자정보로 변환하는 변환 모델은 당해 기술 분야에 널리 알려진 STT(Speech To Text) 기술로 구현될 수 있다.According to an embodiment of the present disclosure, the processor 110 may acquire text data by inputting the received customer call voice data into a deep learning-based transformation model trained to convert voice information into text information. The learned deep learning-based transformation model may include at least one or more network functions. The conversion model may divide a continuously input voice into a predetermined time unit, receive the input, and convert it into a text. The transformation model may include a network function having a many-to-many input/output structure in order to output an input voice sequence as a character sequence. The transformation model may be formed of a recurrent neural network including at least one hidden layer to convert voice information into text information. The processor 110 may store the text data obtained through the transformation model in the memory 130 . The conversion model for converting the voice information into text information may be implemented by STT (Speech To Text) technology widely known in the art.

본 개시의 일 실시예에 따르면 프로세서(110)는 상기 텍스트 데이터 및 상품 계약 정보에 기초하여 학습 데이터 세트를 생성할 수 있다. 이 때 각 텍스트 데이터에 상품 계약 정보를 라벨링하여 학습 데이터 세트를 생성할 수 있다. 프로세서(110)는 학습 데이터 세트를 생성하기 위해 상기 텍스트 데이터를 전처리하는 동작을 더 포함할 수 있다. 상기 전처리 동작에는 텍스트 데이터에 대한 토큰화 작업, 텍스트 데이터에 대한 형태소 분석, 텍스트 데이터에 대한 파싱 트리(parsing tree) 기반 구문 분석 및 텍스트 데이터에 대한 불용어 처리 등이 포함될 수 있다. According to an embodiment of the present disclosure, the processor 110 may generate a training data set based on the text data and product contract information. At this time, a training data set can be created by labeling each text data with product contract information. The processor 110 may further include an operation of preprocessing the text data to generate a training data set. The preprocessing operation may include tokenization of text data, morphological analysis of text data, parsing tree-based syntax analysis of text data, and stopword processing of text data.

프로세서(110)는 텍스트 데이터를 토큰화(Tokenization)하는 작업을 포함하는 전처리 동작을 수행할 수 있다. 상기 토큰화 작업은 연속된 텍스트 데이터를 토큰이라는 단위로 분해하는 것을 의미할 수 있다. 상기 토큰은 텍스트 데이터에 포함된 단어, 구, 문장 또는 사전 결정된 길이를 갖는 문자열을 포함하는 텍스트 데이터 분리를 위한 일 단위일 수 있다. 상기 토큰은 후술할 딥러닝 기반 상품 추천 모델의 학습의 기본 단위가 될 수 있다. 상기 토큰화 작업은 주어진 텍스트 데이터에 포함된 문자열 내의 띄어쓰기를 위한 공백을 기준으로 수행될 수 있다. 예를 들어, "해지 환급금은 없는 순수 보장형으로, 낮은 보험료로 큰 보장이 가능합니다."라는 문장에 대해 띄어쓰기를 위한 공백을 기준으로 토큰화 작업이 수행되는 경우, ['해지', '환급금은', '없는', '순수', '보장형으로,', '낮은', '보험료로', '큰', '보장이', '가능합니다.']와 같이 토큰화 될 수 있다. The processor 110 may perform a pre-processing operation including tokenization of text data. The tokenization operation may mean decomposing continuous text data into units called tokens. The token may be a unit for separating text data including a word, a phrase, a sentence, or a character string having a predetermined length included in the text data. The token may be a basic unit of learning of a deep learning-based product recommendation model, which will be described later. The tokenization operation may be performed based on a space for spacing in a character string included in the given text data. For example, if tokenization is performed based on a space for spaces for the sentence “It is a pure insurance type with no cancellation refund, and a large insurance is possible with a low premium”, ['Cancellation', 'Refund is ', 'no', 'pure', 'insured,', 'low', 'as premium', 'large', 'guaranteed', 'can be tokenized'].

프로세서(110)는 텍스트 데이터에 대한 형태소 분석, 파싱 트리(parsing tree) 기반 구문 분석 및 텍스트 데이터에 대한 불용어 처리 중 적어도 하나를 포함하는 전처리 동작을 수행할 수 있다. The processor 110 may perform a preprocessing operation including at least one of morpheme analysis on text data, parsing tree-based syntax analysis, and stopword processing on text data.

형태소란 뜻을 가진 말의 단위로, 혼자 자립해서 사용될 수 있는지 유무에 따라 자립 형태소와 의존 형태소로 나누어질 수 있다. 또는 어휘적 의미의 유무에 따라 실질 형태소와 형식 형태소로 구분될 수 있다. 자연어 처리 기술 분야에 통상적으로 알려진 바와 같이 한국어의 경우 5언 9품사로 분류될 수 있다. 상기 5언 9품사는 체언(명사, 대명사, 수사), 수식언(관형사, 부사), 관계언(조사), 독립언(감탄사), 용언(동사, 형용사)를 의미할 수 있다. 또한 용언에 해당하는 동사와 형용사는 어간(stem)과 어미(ending)의 결합으로 구성될 수 있다. 본 개시에 있어서 텍스트 데이터에 대한 형태소 분석은 상기 토큰화 작업의 기초가 되기 위해 수행될 수 있으며, 상기 형태소의 분류를 기준으로 하여 텍스트 데이터를 토큰화 한 뒤, 각 토큰에 대해 라벨링이 이루어질 수 있다. 상기 토큰화 및 라벨링은 적어도 하나의 인공 신경망을 포함하는 별도의 네트워크 함수에 의해 이루어질 수 있다. 즉, 상기 별도의 네트워크 함수는 텍스트 데이터 및 상기 텍스트 데이터를 분해하여 각 형태소 단위의 토큰에 대해 분류결과가 라벨링 된 학습 데이터 세트를 입력 받아 형태소 단위의 토큰화 작업 및 라벨링 작업이 가능하도록 학습될 수 있다. 형태소 분석에 기초한 토큰화 및 라벨링의 예로써 "해지 환급금은 없는 순수 보장형으로, 낮은 보험료로 큰 보장이 가능합니다."라는 문장을 형태소 분석한 경우, ['해지'(명사), '환급금'(명사), '은'(보조사), '없'(형용사), '는'(관형형 어미), '순수'(명사), '보장'(명사), '형'(명사 파생 접미사), '으로'(부사격 조사), ','(쉼표), '낮'(형용사), '은'(보조사), '보험료'(명사), '로'(부사격 조사), '크'(형용사), 'ㄴ'(관형형 어미), '보장'(명사), '이'(주격 조사), '가능'(어근), '하'(형용사 파생 접미사), 'ㅂ니다'(종결 어미), '.'(마침표) ]와 같이 토큰화 및 라벨링 될 수 있다. 전술한 형태소 분석의 기준 및 방법은 일 예시에 불과할 뿐 본 개시를 제한하지 않는다.A morpheme is a unit of speech with a meaning, and can be divided into independent morpheme and dependent morpheme depending on whether it can be used independently or not. Alternatively, depending on the presence or absence of a lexical meaning, it can be divided into a real morpheme and a formal morpheme. As is commonly known in the field of natural language processing technology, in the case of Korean, it can be classified into 5 words and 9 parts of speech. The five words and nine parts of speech may mean an adjective (noun, pronoun, rhetoric), a modifier (adjective, adverb), a related word (exposition), an independent word (exclamation), and a verb (verb, adjective). Also, verbs and adjectives corresponding to verbs may be composed of a combination of a stem and an ending. In the present disclosure, morphological analysis of text data may be performed to become the basis of the tokenization operation, and after tokenizing text data based on the classification of the morpheme, labeling may be performed for each token. . The tokenization and labeling may be performed by a separate network function including at least one artificial neural network. That is, the separate network function decomposes text data and the text data to receive a training data set in which classification results are labeled for tokens of each morpheme unit, and can be learned to enable tokenization and labeling operations in units of morphemes. have. As an example of tokenization and labeling based on morpheme analysis, when morpheme analysis of the sentence "It is a pure guarantee type with no cancellation refund, and a large guarantee is possible with a low insurance premium", ['cancellation' (noun), 'refund' ( Noun), 'silver' (auxiliary), 'without' (adjective), 'is' (tubular ending), 'pure' (noun), 'guaranteed' (noun), 'form' (noun derivation suffix), as ' '(adverbial investigation), ',' (comma), 'day' (adjective), 'silver' (auxiliary), 'insurance' (noun), 'lo' (adverbial investigation), 'k' (adjective), ' ㄴ' (tubular ending), 'guarantee' (noun), 'i' (nominative participle), 'possible' (root), 'ha' (adjective derivation suffix), 'b' (final ending), '.' (period) ] can be tokenized and labeled. The above-described standards and methods of morphological analysis are merely exemplary and do not limit the present disclosure.

프로세서(110)는 데이터 전처리에 있어서 파싱 트리(parsing tree) 기반 구문 분석을 수행할 수 있다. 상기 파싱 트리에 있어서 내부 노드는 문장의 구조(예를 들어, 명사구(noun phrase), 동사구(verb phrase), 형용사구(Adjective phrase) 등)에 관한 정보를 포함하고, 외부 노드는 실제 텍스트 데이터의 토큰일 수 있다. 상기 내부 노드는 리프(leaf) 노드가 아닌 노드를 의미하고, 외부 노드는 리프 노드를 의미할 수 있다. 프로세서(110)는 파싱 트리 기반 구문 분석을 위해 각 문장을 표현한 트리의 노드를 재귀적으로 방문할 수 있다. 각 노드의 데이터는 노드 자신의 정보와 자식 노드의 정보를 포함할 수 있다. 또는 손자 노드의 정보를 추가로 포함할 수도 있다.The processor 110 may perform parsing tree-based syntax analysis in data preprocessing. In the parsing tree, the inner node includes information about the structure of the sentence (eg, noun phrase, verb phrase, adjective phrase, etc.), and the outer node is a token of actual text data. can be The internal node may mean a node other than a leaf node, and the external node may mean a leaf node. The processor 110 may recursively visit a node of a tree representing each sentence for parsing tree-based syntax analysis. The data of each node may include information of the node itself and information of child nodes. Alternatively, information on the grandchild node may be additionally included.

이하에서는 도 3을 참조하여 파싱 트리에 관하여 예시적으로 설명한다. 도 3은 본 개시의 일 실시예에 따른 파싱 트리의 예시도이다. 예를 들어, 프로세서(110)가"좋은 상담원의 상품"과 같은 문장에 상기 파싱 트리 기반 구문 분석을 수행한 경우, 루트 노드(311)는 문장 전체 데이터를 포함하고, 루트 노드의 왼쪽 자식 노드(313)는 "좋은 상담원의"이라는 텍스트 데이터를 갖는 명사구를 포함하며, 루트 노드의 오른쪽 자식 노드(315)는 "상품"이라는 텍스트 데이터를 갖는 명사구를 포함할 수 있다. 이 때 프로세서(110)는 상기 루트 노드의 오른쪽 자식 노드(315)에 있어서 "상품"에 대해 더 이상 구문 분석을 수행할 수 없다고 판단하고 이 노드를 리프 노드로 확정할 수 있다. 그 다음 다른 노드에 대해 파싱 트리 구문 분석을 위한 재귀적 호출을 계속하여 수행할 수 있다. 상기 루트 노드의 왼쪽 자식 노드(313)는 프로세서(110)에 의해 계속하여 파싱 트리 기반 구문 분석이 수행되어, "좋은"이라는 형용사구를 왼쪽 자식 노드(317)로 갖고 "상담원의"이라는 명사구를 오른쪽 자식 노드(319)로 가질 수 있다. 프로세서(110)는 상기 "좋은"이라는 형용사구 또는 "상담원의"라는 명사구에 대해 추가 구문 분석을 수행할 수 있으나, 음절 수가 사전 결정된 기준보다 작거나 구문 분석의 최소 단위로 더 이상 쪼개지지 않는 경우, 구문 분석 수행을 중단하고 해당 노드를 리프 노드로 확정할 수 있다. 프로세서(110)는 상기한 파싱 트리 기반 구문 분석을 통해 형태소 및 단어의 집합으로 표현되는 구문을 학습에 사용할 수도 있다. 즉, 개별 단어, 형태소 또는 토큰이 갖는 상품의 계약 확률을 학습에 고려할 수 있을 뿐만 아니라, 구문 자체의 구조가 갖는 상품의 계약 확률을 학습에 고려할 수 있고 또는 구문 분석에 기초하여 텍스트 데이터의 중요도를 파악할 수 있어, 입력 텍스트 데이터를 다양한 측면에서 분석하여 최종적으로 상품 추천 모델의 성능이 높아진다. 파싱 트리 기반 구문 분석에 의해 전처리된 텍스트 데이터를 딥러닝 기반 상품 추천 모델이 학습에 사용하는 방법은 후술하여 자세히 설명한다. 전술한 파싱 트리 기반 구문 분석의 예는 일 예시에 불과하며 본 개시를 제한하지 않는다.Hereinafter, a parsing tree will be exemplarily described with reference to FIG. 3 . 3 is an exemplary diagram of a parsing tree according to an embodiment of the present disclosure. For example, when the processor 110 performs the parsing tree-based parsing analysis on a sentence such as "good agent's product", the root node 311 includes the entire sentence data, and the left child node ( 313) includes a noun phrase having text data “of a good agent”, and the right child node 315 of the root node may include a noun phrase having text data “product”. At this time, the processor 110 may determine that parsing can no longer be performed on the "product" in the right child node 315 of the root node, and determine this node as a leaf node. You can then continue making recursive calls to parse the parsing tree for other nodes. The left child node 313 of the root node is continuously subjected to parsing tree-based parsing by the processor 110, so that the adjective phrase “good” is the left child node 317 and the noun phrase “agent’s” to the right It may have as a child node 319 . The processor 110 may perform additional syntactic analysis on the adjective phrase "good" or the noun phrase "of the agent", but if the number of syllables is less than a predetermined criterion or is no longer split into the minimum unit of parsing, You can stop parsing and determine the node as a leaf node. The processor 110 may use a phrase expressed as a set of morphemes and words for learning through the parsing tree-based syntax analysis. In other words, not only can the contract probability of products possessed by individual words, morphemes or tokens be considered for learning, but also the contract probability of products having the structure of the phrase itself can be considered for learning or the importance of text data based on syntax analysis By analyzing the input text data from various aspects, the performance of the product recommendation model is finally improved. How the deep learning-based product recommendation model uses text data preprocessed by parsing tree-based syntax analysis for training will be described later in detail. The above-described parsing tree-based parsing example is merely an example and does not limit the present disclosure.

프로세서(110)는 데이터 전처리에 있어서 불용어(stopword) 처리를 수행할 수 있다. 불용어는 텍스트 데이터의 처리에 큰 영향이 없는 단어를 포함한다. 프로세서(110)는 학습 데이터의 크기를 줄여 학습 시간을 최소화하고 요구되는 메모리 자원을 절약하기 위해 텍스트 데이터에서 불용어를 삭제할 수 있다. 상기 불용어 처리는 토큰화된 텍스트 데이터에서 불용어와 관련된 토큰을 삭제하는 것으로 수행될 수 있다. 텍스트 데이터에서 처리되어야 하는 불용어와 관련한 리스트는 임의의 텍스트 파일로 메모리(130)에 기 저장되어 있을 수 있다. 상기 불용어 리스트는 보험업, 금융업 또는 마케팅 관련 분야에 있어서 불용어로 처리되는 단어의 집합일 수 있다. 다른 실시예로서 상기 불용어는 인공 신경망에 의해 산출 및 관리될 수 있다. 즉, 인공 신경망을 통해 전체 텍스트 데이터에서 모든 상품의 계약 확률과 연관성이 낮은 단어 또는 단어의 집합을 불용어로 관리하도록 할 수 있다. 불용어 처리의 구체적 예시로서 프로세서(110)가 "해지 환급금은 없는 순수 보장형으로, 낮은 보험료로 큰 보장이 가능합니다."와 같은 문장에 대해 불용어 처리를 수행하는 경우, '보장형으로'에 포함된'으로'와 같은 조사 또는 '가능합니다'에 포함된 '합니다'와 같은 동사구는 데이터 분석에 큰 영향을 미치지 않으므로 이를 불용어로 인식하여 해당 텍스트 데이터에서 삭제할 수 있다. 상기 삭제는 토큰화된 텍스트 데이터에서 해당 데이터의 토큰을 삭제하는 방식을 포함할 수 있다. 프로세서(110)에 의한 불용어 처리의 다른 실시예에서, 프로세서(110)는 형태소 분석을 수행한 뒤 명사, 대명사, 수사를 포함하는 체언 및 동사와 형용사를 포함하는 용언 이외에 다른 형태소(예를 들어 감탄사를 포함하는 독립언 또는 조사를 포함하는 관계언 등)는 모두 텍스트 데이터 분석에 큰 의미를 갖지 않는다고 판단하여 불용어 처리를 수행할 수 있다. 전술한 불용어 처리 방법은 일 예시일 뿐 본 개시를 제한하지 않는다. 이와 같은 프로세서(110)의 불용어 처리를 통해 전체 텍스트 데이터에 매우 높은 비율로 등장하지만 실제 텍스트 내용의 특징을 추출하는데 큰 가치가 없는 데이터(예를 들면 '은', '는', '이', '가' 와 같은 주어격 조사 등)를 삭제함으로써 전체 상품 추천 프로세스의 속도를 향상시킬 수 있고 또는 메모리 자원의 낭비를 막을 수 있다.The processor 110 may perform stopword processing in data preprocessing. Stop words include words that do not significantly affect the processing of text data. The processor 110 may delete stopwords from the text data in order to minimize the learning time by reducing the size of the training data and to save required memory resources. The stopword processing may be performed by deleting a token related to the stopword from the tokenized text data. A list related to stopwords to be processed in text data may be pre-stored in the memory 130 as an arbitrary text file. The stopword list may be a set of words treated as stopwords in an insurance business, a finance business, or a marketing-related field. As another embodiment, the stopword may be calculated and managed by an artificial neural network. That is, through the artificial neural network, it is possible to manage a word or a set of words that have low correlation with the contract probability of all products in full-text data as stopwords. As a specific example of stop-word processing, when the processor 110 performs stop-word processing for a sentence such as "a pure guarantee type without cancellation refund, a large guarantee is possible with a low insurance premium." Probes such as 'to' or verb phrases such as 'do' included in 'it is possible' do not significantly affect data analysis, so they can be recognized as stopwords and deleted from the corresponding text data. The deletion may include a method of deleting a token of the corresponding data from the tokenized text data. In another embodiment of the stop word processing by the processor 110 , the processor 110 performs morpheme analysis and then morphemes other than a noun, a pronoun, a verb including a verb, and a verb including an adjective (for example, an interjection) It is judged that all independent words including , or relational words including proposition) do not have a great meaning in text data analysis, so that stopword processing can be performed. The above-described stopword processing method is only an example and does not limit the present disclosure. Data that appears at a very high rate in the entire text data through the stopword processing of the processor 110, but has no great value in extracting the features of the actual text content (for example, 'silver', 'is', 'this', By deleting the subject proposition such as 'a'), the speed of the entire product recommendation process can be improved or the waste of memory resources can be prevented.

프로세서(110)에 의한 상기 전처리 동작에는 학습에 불필요한 데이터의 삭제 작업이 포함될 수 있다. 상기 삭제 작업은 텍스트 데이터의 노이즈 제거 작업을 포함할 수 있다. 상기 텍스트 데이터의 노이즈는 실제로 음성 정보 자체의 노이즈가 그대로 텍스트로 변환된 경우 및 변환 과정에서 생성된 노이즈를 모두 포함한다. 전술한 전처리 동작들은 데이터 정제를 위한 전처리 동작의 예시에 불과하여 본 개시를 제한하지 않으며 나아가 프로세서(110)는 딥러닝 기반 상품 추천 모델의 효과적 학습 및 모델 성능 향상을 위해 상기 언급한 전처리 동작 외에도 자연어 처리에 관한 당해 기술분야에서 통상적으로 사용되는 임의의 전처리 기술을 포함할 수 있다.The pre-processing operation by the processor 110 may include a deletion operation of data unnecessary for learning. The deletion operation may include a noise removal operation of text data. The noise of the text data includes both a case in which the noise of the voice information itself is converted into text as it is and noise generated in the conversion process. The above-described pre-processing operations are merely examples of pre-processing operations for data purification and do not limit the present disclosure, and further, the processor 110 performs natural language in addition to the above-mentioned pre-processing operations to effectively learn a deep learning-based product recommendation model and improve model performance. Any pretreatment technique commonly used in the art of treatment may be included.

본 개시의 일 실시예에 따르면 프로세서(110)는 텍스트 데이터에 상품 계약 정보를 라벨링하여 학습 데이터 세트를 생성할 수 있는데 상기 상품 계약 정보는, 적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함할 수 있다. 상기 상품 계약 정보에 포함된 상품의 개수는 하나일 수 있다. 상기 상품에 대한 정보는 보험 상품, 금융 상품 등을 포함할 수 있다. 상기 상품 계약 여부 결과는 최종 계약 여부, 상품 계약 기간, 상품 계약 조건, 계약 성사 시점, 해지 여부, 계약자 인적 정보 등을 포함할 수 있다. According to an embodiment of the present disclosure, the processor 110 may generate a learning data set by labeling product contract information in text data, wherein the product contract information includes information on at least one product and a result of each product contract. may include The number of products included in the product contract information may be one. Information on the product may include insurance products, financial products, and the like. The result of whether the product contract has been made may include whether the final contract has been made, the product contract period, product contract conditions, the time of contract completion, whether or not to cancel, personal information of the contractor, and the like.

본 개시의 일 실시예에 따라 프로세서(110)는 상기 텍스트 데이터를 표현하는 벡터(vector) 데이터를 생성할 수 있다. 즉, 텍스트 데이터 및 상품 계약 정보를 기초로 딥러닝 기반 인공 신경망에 입력하기 위한 학습 데이터 세트를 생성함에 있어서, 텍스트 데이터를 표현하는 벡터 데이터를 생성하여 상품 계약 정보를 라벨링한 후, 이를 학습 데이터 세트로 사용할 수 있다. 프로세서(110)는 상기 텍스트 데이터에 대한 토큰화 작업 결과로 획득된 적어도 하나의 토큰에 기초하여 벡터 데이터를 생성할 수 있다. 이 때 벡터 데이터는 토큰 간 의미 유사도를 반영할 수 있도록 생성될 수 있다. 프로세서(110)는 상기 텍스트 데이터를 각 단어의 어절별로 토큰화한 후, 각 토큰을 벡터화 될 수 있다. 또는 상기 텍스트 데이터는 전술한 토큰화 작업의 예시에 따라 일정한 기준으로 분리된 이후, 토큰 별로 벡터화 될 수 있다. 나아가 상기 텍스트 데이터는 형태소 분석에 따라 토큰화되고 각 토큰 별로 대응되는 벡터 데이터를 생성할 수 있다. 프로세서(110)는 텍스트 데이터를 표현하는 벡터 데이터를 생성하기 위해 단어 또는 토큰 간 의미 유사도를 반영할 수 있도록 각 단어 또는 토큰을 벡터화 할 수 있다. 벡터의 차원은 텍스트 데이터의 사이즈 및 사용되는 단어의 종류 등에 따라 100, 1000 등과 같이 임의의 크기로 사전 결정될 수 있다. 이하 의미 유사도를 반영한 벡터 데이터 생성의 구체적 예시를 서술한다. 벡터의 차원이 2인 경우 프로세서(110)는, "가입"이라는 단어에 대해 (10,10)이라는 벡터 데이터를 생성할 수 있다. 그 후, 입력된 "해지"라는 단어에 대해 프로세서(110)는 상기 "가입"이라는 단어와 의미적 유사도에 기초하여 벡터 데이터를 생성할 수 있다. 즉, "가입"과 "해지"는 그 의미 및 사용되는 상황이 정반대이므로 프로세서(110)는 상기 "해지"에 대해 (-10, -10)을 부여할 수 있다. 나아가 "해약"이라는 단어는 상기 "해지"라는 단어와 높은 유사도를 가지므로 프로세서(110)는 "해약"에 대응시켜 (-9.5, -10)의 값을 갖는 벡터 데이터를 생성할 수 있다. 전술한 벡터 데이터의 차원 및 벡터 데이터 생성 방법은 일 예시에 불과하며 본 개시를 제한하지 않는다. 상기 벡터화 방법으로는 당 업계에 일반적으로 알려진 원-핫 인코딩 방법 또는 워드투벡터(Word2Vec) 방법이 사용될 수 있다. 일반적으로 단어간 의미의 유사성이라는 개념 자체는 수학적으로 연산이 불가능한 텍스트 데이터에 내재된 속성이다. 그러나 본 개시에 따라 전술한 바와 같이 토큰간 의미의 유사도를 반영하여 텍스트 데이터를 벡터 데이터로 변환함으로써, 단어간 의미의 유사성을 수치화, 정량화하여 표현함으로써 인공 신경망의 학습에 제공할 수 있다. 또한, 벡터 좌표의 상대적인 거리 차이로 단어간 의미의 유사도를 수치 비교에 따라 빠르게 비교, 판단할 수 있는 효과를 가진다.According to an embodiment of the present disclosure, the processor 110 may generate vector data representing the text data. That is, in generating a training data set for input to a deep learning-based artificial neural network based on text data and product contract information, vector data representing text data is generated to label product contract information, and then the training data set can be used as The processor 110 may generate vector data based on at least one token obtained as a result of a tokenization operation on the text data. In this case, the vector data may be generated to reflect the semantic similarity between tokens. After the processor 110 tokenizes the text data for each word of each word, each token may be vectorized. Alternatively, the text data may be vectorized for each token after the text data is separated by a predetermined criterion according to the above-described tokenization operation example. Furthermore, the text data may be tokenized according to morphological analysis, and vector data corresponding to each token may be generated. The processor 110 may vectorize each word or token to reflect semantic similarity between words or tokens to generate vector data representing text data. The dimension of the vector may be predetermined as an arbitrary size such as 100 or 1000 according to the size of text data and the type of word used. Hereinafter, a specific example of generating vector data reflecting semantic similarity will be described. When the dimension of the vector is 2, the processor 110 may generate vector data of (10,10) for the word “join”. Thereafter, with respect to the input word "cancellation", the processor 110 may generate vector data based on a semantic similarity to the word "subscription". That is, since the meaning and usage of "subscription" and "cancellation" are opposite to each other, the processor 110 may assign (-10, -10) to the "cancellation". Furthermore, since the word "cancellation" has a high degree of similarity to the word "cancellation", the processor 110 may generate vector data having values of (-9.5, -10) in response to the word "cancellation". The above-described dimension of vector data and a method of generating vector data are merely examples and do not limit the present disclosure. As the vectorization method, a one-hot encoding method or a word-to-vector (Word2Vec) method generally known in the art may be used. In general, the concept of similarity in meaning between words is a property inherent in text data that cannot be calculated mathematically. However, according to the present disclosure, as described above, by converting text data into vector data by reflecting the similarity of meaning between tokens, it is possible to provide for learning of artificial neural networks by quantifying, quantifying, and expressing the similarity of meanings between words. In addition, it has the effect of quickly comparing and judging the degree of similarity in meaning between words due to the difference in the relative distances of the vector coordinates according to the numerical comparison.

본 개시의 일 실시예에 따라 프로세서(110)는 상기 텍스트 데이터에 포함된 문장에 대해 사전 결정된 개수의 인자를 추출하여 배열을 생성할 수 있다. 상기 인자는 음절, 어절, 단어 또는 토큰 등일 수 있다. 프로세서(110)는 전처리된 텍스트 데이터에서 사전 결정된 개수를 기준으로 인자들을 추출하여 배열을 생성할 수 있다. 여기서 사전 결정된 개수는 추출될 수 있는 인자의 최대 개수일 수 있다. 프로세서(110)는 주어진 텍스트 데이터에서 마침표, 온점 등을 인식하여 문장을 인식할 수 있고, 이에 기초하여 배열을 생성할 수 있다. 이에 관하여 도 4를 참조하여 설명한다. 도 4는 본 개시의 일 실시예에 따른 텍스트 데이터에 관한 배열의 예시도이다. “무배당 A 통합보험입니다. 보험료 10만원, 100세 만기 25년납 상품입니다. 또한 추가로 운전자 보험도 들어가 있습니다.”라는 예시적 텍스트 데이터 포함된 문장에 대해 사전 결정된 개수의 인자를 추출하여 배열을 생성하는 구체적 예시이다. 예시에 있어서 배열은 행(411)과 열(413)을 갖는 2차원 배열(400)일 수 있으며 배열에 포함된 각 데이터(415)의 위치는 순서쌍(i,j)으로 표현될 수 있다. 예시에 있어서 상기 사전 결정된 개수는 5로 설정될 수 있다. 이 경우 사전 결정된 개수가 5 이므로 상기 예시 문장의 열의 수(j)는 5로 설정되었다. 프로세서(110)는 우선 상기 텍스트 데이터를 마침표, 온점 등을 기준으로 문장으로 분해한 뒤, 각 문장에서 5개의 인자를 추출한다. 5 개의 인자를 추출할 수 없는 인자 수로 문장이 구성된 경우, 나머지 열(413)의 값은 NULL 또는 <PAD>로 채워 패딩(padding)한다. 상기 패딩을 위해 배열에 채워지는 값은 사용자가 선택한 임의의 값일 수 있다. 예시의 2차원 배열(400)에 있어서 "무배당 A 통합보험입니다."라는 문장에 대해 생성된 i번째 행(411)은 추출된 인자가 "무배당", "A", "통합보험"으로 3개뿐이므로 나머지 열(413)은 <PAD>로 채워졌다. 상기 "무배당 A 통합보험입니다."라는 문장에서 "입니다."라는 인자는 프로세서(110)에 의해 불용어 처리에 의해 전처리 과정에서 삭제될 수 있다. i+1 번째 행(411), i+2 번째 행(411) 역시 같은 방법으로 프로세서(110)에 의해 각 문장에 대한 불용어 처리, 형태소 분석 등의 전술한 전처리 과정을 거친 결과일 수 있다. 전술한 배열의 크기 및 차원은 일 예시에 불과할 뿐 본 개시를 제한하지 않는다. 배열은 1차원의 선형 배열일 수도 있다. According to an embodiment of the present disclosure, the processor 110 may generate an array by extracting a predetermined number of factors from a sentence included in the text data. The factor may be a syllable, a word, a word, or a token. The processor 110 may generate an array by extracting factors from the preprocessed text data based on a predetermined number. Here, the predetermined number may be the maximum number of factors that can be extracted. The processor 110 may recognize a sentence by recognizing a period, a dot, etc. in the given text data, and may generate an array based thereon. This will be described with reference to FIG. 4 . 4 is an exemplary diagram of an arrangement related to text data according to an embodiment of the present disclosure. “It is a non-dividend A integrated insurance. It is a product with a premium of 100,000 won and a 25-year payment at the age of 100. In addition, driver's insurance is also included." This is a specific example of creating an array by extracting a predetermined number of factors for a sentence with exemplary text data. In an example, the array may be a two-dimensional array 400 having a row 411 and a column 413 , and the position of each data 415 included in the array may be expressed as an ordered pair (i, j). In an example, the predetermined number may be set to five. In this case, since the predetermined number is 5, the number (j) of the columns of the example sentence is set to 5. The processor 110 first decomposes the text data into sentences based on a period, a dot, and the like, and then extracts five factors from each sentence. When a sentence is composed of the number of factors from which 5 factors cannot be extracted, the value of the remaining column 413 is padded with NULL or <PAD>. The value filled in the array for the padding may be an arbitrary value selected by the user. In the example two-dimensional array 400, the i-th row 411 generated for the sentence "Non-dividend A is integrated insurance." has only three extracted factors: “Non-dividend”, “A”, and “Comprehensive insurance”. Therefore, the remaining column 413 is filled with <PAD>. In the sentence "non-dividend A integrated insurance.", the factor "is." may be deleted in the pre-processing process by processing a stopword by the processor 110 . The i+1-th row 411 and the i+2-th row 411 may also be results of the above-described preprocessing such as stopword processing and morpheme analysis for each sentence by the processor 110 in the same manner. The size and dimension of the above arrangement are merely exemplary and do not limit the present disclosure. The array may be a one-dimensional linear array.

프로세서(110)는 상기 사전 결정된 개수의 인자를 연산 기여도에 기초하여 추출할 수 있다. 프로세서(110)는 임의의 문장을 분해하여 2차원 배열(400)의 각 행(411)과 열(413)을 생성할 때 각 문장에 따라 상품 계약 확률을 도출할 때 모델에 대한 연산 기여도가 큰 상위 5개의 인자를 추출하여 배열로 생성할 수 있다. 상기 연산 기여도는 별도의 네트워크 함수에 의해 산출될 수 있다. 상기 연산 기여도는 후술되는 상품 추천 모델의 결과로부터 feeding 될 수도 있다. 또한 상품 추천 모델에서 추출된 발화내용의 특징에 기초하여 연산 기여도를 산출할 수 있다. 구체적으로, 발화내용의 특징이 포함하는 텍스트 데이터 내 개별 데이터의 중요도 순서를 상기 연산 기여도로 활용할 수도 있다. 발화내용의 특징 추출방법에 대해서는 후술하여 자세히 서술한다. 이 때, 상품 추천 모델의 결과로부터 각 인자의 연산 시 기여도가 feeding 되면 텍스트 데이터에서 인자를 추출하여 배열을 생성할 때 실제 상품 추천 모델이 추론 과정에서 결론 도출에 유의미하게 사용되는 인자만을 그 입력 데이터로 제공할 수 있게 되어, 추론의 정확성이 향상되는 효과가 있다. 또한, 사전 결정된 개수의 인자만 추출하여 배열을 구성할 수 있으므로 학습 데이터의 크기를 사용자의 선택에 따라 조절할 수 있다. 프로세서(110)는 상기 배열을 생성한 후, 배열 내부에 존재하는 데이터를 벡터 데이터로 치환할 수 있다. 상기 배열은 벡터 데이터를 각 행렬의 값으로 가지고 있을 수 있다. 즉, 벡터 데이터를 값으로 갖는 배열은 수학적 연산이 가능한 행렬이므로, 행렬간 덧셈, 행렬곱 등이 가능해져 행렬간 연산이 가능해지고, 나아가 행렬의 중첩을 통해 딥러닝 기반 상품 추천 모델이 더 넓은 범위의 학습 데이터로부터 의미를 추출할 수 있도록 도와준다. The processor 110 may extract the predetermined number of factors based on the calculation contribution. When the processor 110 decomposes an arbitrary sentence to generate each row 411 and column 413 of the two-dimensional array 400, when deriving the product contract probability according to each sentence, the computational contribution to the model is large You can create an array by extracting the top 5 arguments. The calculation contribution may be calculated by a separate network function. The calculation contribution may be fed from a result of a product recommendation model to be described later. In addition, it is possible to calculate the calculation contribution based on the characteristics of the utterances extracted from the product recommendation model. Specifically, the order of importance of individual data in the text data included in the feature of the speech content may be utilized as the calculation contribution. The method of extracting features of speech content will be described later in detail. At this time, when the contribution of each factor is fed from the result of the product recommendation model, when the factor is extracted from the text data to generate an array, only the factors that the actual product recommendation model is used to draw conclusions in the inference process are the input data. can be provided, which has the effect of improving the accuracy of inference. In addition, since an array can be configured by extracting only a predetermined number of factors, the size of the training data can be adjusted according to a user's selection. After creating the array, the processor 110 may replace data existing in the array with vector data. The array may have vector data as values of each matrix. In other words, since an array having vector data as a value is a matrix that can be operated mathematically, inter-matrix addition and matrix multiplication are possible, making it possible to operate between matrices. It helps to extract meaning from the learning data of

프로세서(110)는 상기 배열을 사전 결정된 크기를 입력으로 받는 합성곱 신경망에 입력할 수 있다. 일반적으로 합성곱(Convolutional) 인공 신경망은 고정된 크기의 학습 데이터를 입력받는다. 따라서 문장, 텍스트 등을 포함하는, 즉 순서에 의미가 있는 순차(Sequential) 데이터에 대해서는 별도의 연산이 없다면 합성곱 신경망에 데이터를 입력할 수 없을뿐더러 입력하더라도 정상적인 출력을 기대하기 어렵다. 그러나 본 개시에 있어서 전술한 바와 같이 프로세서(110)가 텍스트 데이터에 포함된 문장에 대해 사전 결정된 개수의 인자를 추출하여 배열을 생성하게 되면, 프로세서(110)는 연속된 텍스트 데이터를 순환(Recurrent) 신경망에 입력할 수 있을 뿐만 아니라 전술한 바와 같이 텍스트 데이터를 사전 결정된 크기의 배열로 배열화 함으로써 합성곱 신경망에 입력할 수도 있다. 다시 말해, 프로세서(110)는 상기 2차원 배열(400)의 행(411)의 수와 열(413)의 수를 조정하여 다양한 크기의 배열을 생성할 수 있고 따라서 서로 다른 크기의 입력 데이터를 지원하는 여러 인공 신경망을 학습 모델로 사용할 수 있다. 또한 서로 다른 윈도우 크기를 갖는 필터를 상기 배열된 텍스트 데이터에 적용할 수 있게 된다. 그 결과 다양한 특성맵(feature map)을 생성할 수 있음으로써 상기 상품 추천 모델은 텍스트 데이터에 대해 보다 많은 특징을 추출할 수 있고 최종적으로 모델의 성능이 향상된다.The processor 110 may input the array into a convolutional neural network that receives a predetermined size as an input. In general, a convolutional artificial neural network receives training data of a fixed size. Therefore, data cannot be input to the convolutional neural network unless there is a separate operation for sequential data including sentences, texts, etc., that is, meaningful in order, and it is difficult to expect a normal output even if it is input. However, as described above in the present disclosure, when the processor 110 generates an array by extracting a predetermined number of factors from a sentence included in the text data, the processor 110 circulates the continuous text data (Recurrent) Not only can it be input to the neural network, but it can also be input to the convolutional neural network by arranging text data into an array of a predetermined size as described above. In other words, the processor 110 adjusts the number of rows 411 and the number of columns 413 of the two-dimensional array 400 to generate arrays of various sizes, and thus supports input data of different sizes. Several artificial neural networks can be used as learning models. Also, filters having different window sizes can be applied to the arranged text data. As a result, by being able to generate various feature maps, the product recommendation model can extract more features from text data, and finally, the performance of the model is improved.

본 개시의 일 실시예에 따라 프로세서(110)는 상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습시킬 수 있다. 상기 학습 데이터는 텍스트 데이터 및 각 텍스트 데이터에 대한 상품 계약 정보 라벨로 이루어져, 이를 이용하여 프로세서(110)는 딥러닝 기반 상품 추천 모델이 새로운 텍스트 데이터의 입력에 대해 상품 추천 정보를 도출하도록 학습할 수 있다. 상기 상품 추천 모델에 의해 생성된 상품 추천 정보는 하나 이상의 상품에 대해 산출된 상품 계약 확률을 포함할 수 있다. 상기 계약 확률은 임의의 구간 내에 존재하는 실수값으로 표현될 수 있다. 상기 임의의 구간은 [0,1]일 수도 있다. 상기 상품 추천 정보는 텍스트 데이터에 기초하여 딥러닝 기반 상품 추천 모델이 연산한 하나 이상의 상품에 대한 계약 확률과 사전 결정된 확률값을 비교하여 상품 추천 여부에 대한 정보를 포함할 수 있다. 상기 사전 결정된 확률값은 각 상품별로 상이할 수 있으며, 각 상품별 모델이 산출하는 계약 확률의 평균값, 중위값 또는 사분위값 등으로 결정될 수 있다. 예를 들어 A 상품은 실제 계약으로 잘 이어지지 않는 비인기 상품으로서 상기 상품 추천 모델의 연산 결과로 얻어지는 A 상품 계약 확률 분포가 전체적으로 낮은 구간에 집중되어 있을 수 있다. 이 경우, A 상품에 대한 사전 결정된 확률값으로 고정된 값이 아닌 전체 확률 분포에 대한 제 1 사분위값을 사용할 경우, 데이터가 입력된 고객들 중 계약 확률이 높다고 판단되는 최소 1/4의 고객들에게 상품을 추천해볼 수 있어 상품 계약 확률이 낮다고 하여 전혀 추천되지 않거나, 상품이 폐지되는 것을 막을 수 있다. 나아가 프로세서(110)가 각 상품에 대한 추천 모델의 출력인 계약 확률과 사전 결정된 확률값을 비교하여 상품 추천 여부를 도출하는 경우 그 최종 출력은 추천 또는 비추천을 의미하는 이진값으로 나타날 수 있다. According to an embodiment of the present disclosure, the processor 110 may input the training data set into a deep learning-based product recommendation model to train the product recommendation model to generate product recommendation information. The learning data consists of text data and product contract information labels for each text data, and using this, the processor 110 learns the deep learning-based product recommendation model to derive product recommendation information for input of new text data. have. The product recommendation information generated by the product recommendation model may include product contract probabilities calculated for one or more products. The contract probability may be expressed as a real value existing within an arbitrary section. The arbitrary interval may be [0,1]. The product recommendation information may include information on whether to recommend a product by comparing a contract probability for one or more products calculated by a deep learning-based product recommendation model based on text data with a predetermined probability value. The predetermined probability value may be different for each product, and may be determined as an average value, a median value, or a quartile value of contract probabilities calculated by a model for each product. For example, product A is an unpopular product that does not lead to an actual contract, and the product A contract probability distribution obtained as a result of the calculation of the product recommendation model may be concentrated in an overall low section. In this case, if the first quartile value for the entire probability distribution is used as the predetermined probability value for product A, rather than a fixed value, the product is provided to at least 1/4 of the customers who have entered the data, who are judged to have a high contract probability. It is possible to recommend the product, so that it is not recommended at all or the product is abolished even if the probability of contracting the product is low. Furthermore, when the processor 110 compares the contract probability, which is the output of the recommendation model for each product, with a predetermined probability value to derive whether to recommend the product, the final output may be displayed as a binary value indicating recommendation or non-recommendation.

본 개시의 일 실시예에 따라, 프로세서(110)는 상기 상품 추천 모델이 상기 학습 데이터에 포함된 발화내용의 특징을 추출하도록 학습시킬 수 있다. 상기 발화내용의 특징은 학습 데이터에 포함된 개별 데이터의 중요도를 포함할 수 있다. 상기 개별 데이터의 중요도는 텍스트 데이터에 포함된 단어별 중요도, 토큰별 중요도 또는 구문별 중요도 등을 포함할 수 있다. 프로세서(110)는 딥러닝 기반 상품 추천 모델 학습시 연산되는 오차 역전파(back-propagation) 방법에 기초하여 개별 데이터의 중요도를 추출할 수 있다. 구체적으로, 상품 추천 모델 학습 과정에서 인공 신경망 내부 가중치(weight) 및 편향값(bias)에 대해 각 에포크(epoch)마다 조정이 이루어질 수 있다. 상기 가중치 및 편향값 조정은 연쇄 법칙에 역전파될 수 있고 이때 가중치 및 편향값의 조정은 인공 신경망 내부의 각 층(layer) 및 필터(filter)에 대해 출력단에서 입력단 방향으로 역순으로 이루어지며 최종적으로 최초 입력단에 도달한다. 이 때 프로세서(110)는 최초 입력 데이터에 포함된 각 개별 데이터에 대응되는 입력단의 가중치에 기초하여 개별 데이터의 중요도를 결정할 수 있다. 프로세서(110)는 개별 데이터의 중요도를 입력 데이터의 각 개별 데이터에 대응되는 가중치의 합으로 결정할 수 있다. 예를 들어 "새로 나온 A 상품 가입 조건이 무엇인가요?"라는 질문에 있어서 "새로 나온", "조건" 등과 같은 텍스트는 복수의 상품에 대해 반복적으로 나타나 A 상품 추천 정보와 약한 상관관계를 가져 중요도가 낮은 단어일 수 있다. 반면 "A 상품"이라고 직접 A 상품을 고객이 언급하거나 "가입"과 같은 단어를 사용하는 것은 A 상품추천 정보와 높은 상관관계를 가지는 중요도가 높은 단어일 수 있고, 따라서 프로세서(110)는 상품 추천 모델 학습 시 이를 발화내용의 특징으로 인식하고 추출할 수 있다. 또한, 상기 예시에 있어서 "가입" 등과 같은 계약 확률과 강한 양의 상관관계에 있는 단어 외에도 "탈퇴", "해지", "다른 상품 추천" 등과 같이 계약 확률과 강한 음의 상관관계에 있는 단어 또는 문장 역시 해당 상품을 가입하지 않겠다는 의미로서 중요도가 높은 단어로 인식되어 발화내용의 특징으로 추출될 수 있다. 전술한 단어 및 문장은 일 예시에 불과하여 본 개시를 제한하지 않는다.According to an embodiment of the present disclosure, the processor 110 may train the product recommendation model to extract features of utterances included in the learning data. The characteristics of the utterance content may include the importance of individual data included in the learning data. The importance of the individual data may include an importance for each word, an importance for each token, or an importance for each phrase included in the text data. The processor 110 may extract the importance of individual data based on an error back-propagation method that is calculated when learning a deep learning-based product recommendation model. Specifically, in the course of learning the product recommendation model, adjustments may be made for each epoch with respect to the internal weight and bias of the artificial neural network. The adjustment of the weight and bias values can be propagated back to the chain rule. In this case, the adjustment of the weight and bias values is performed in the reverse order from the output end to the input end for each layer and filter inside the artificial neural network, and finally The first input is reached. In this case, the processor 110 may determine the importance of the individual data based on the weight of the input terminal corresponding to each individual data included in the initial input data. The processor 110 may determine the importance of individual data as the sum of weights corresponding to each individual data of the input data. For example, in the question "What are the conditions for joining the new product A?", texts such as "new" and "condition" repeatedly appear for multiple products and have a weak correlation with product A recommendation information. may be a low word. On the other hand, if the customer directly mentions product A as “product A” or uses a word such as “subscription”, it may be a highly important word having a high correlation with product A recommendation information, so the processor 110 recommends product When learning the model, it can be recognized and extracted as a feature of the speech content. In addition, in the above example, in addition to words that have a strong positive correlation with the contract probability, such as "join", words that have a strong negative correlation with the contract probability, such as "withdrawal", "cancellation", "recommend other products", or The sentence is also recognized as a high-importance word as a meaning not to subscribe to the product and can be extracted as a feature of the utterance. The above-described words and sentences are merely examples and do not limit the present disclosure.

프로세서(110)는 발화내용의 특징에 기초하여 불용어 처리를 포함하는 전처리 동작을 수행하거나 발화내용의 특징에 기초하여 연산 기여도를 산출할 수 있다. 여기서 연산 기여도는 전술한 바와 같이 프로세서(110)가 텍스트 데이터로부터 사전 결정된 개수의 인자를 추출하여 배열을 생성할 때, 추출 기준이 될 수 있다. 본 개시에 있어서 프로세서(110)가 상품 추천 모델을 학습하는 과정에서 학습 데이터에 포함된 발화내용의 특징을 추출하는 것은 사용자에게 모델의 최종 출력에 대한 이해를 높이는 효과가 있다. 또한 실제 상품 계약과 강한 상관관계를 갖는 발화내용의 특징을 얻게 됨으로써 이를 전술한 전처리 과정에 제공하여 불용어 처리를 포함한 데이터 정제에 활용할 수 있다. 예를 들어, "새로 나온", "조건" 등과 같은 단어는 텍스트 데이터의 전처리 과정에서 불용어로 처리되지 않았으나, 상품 추천 모델에서 발화내용 추출 결과 중요도가 낮은 단어로 분류된 경우 전처리 과정의 불용어 리스트에 추가되어 데이터를 효과적으로 압축하고 전처리 시간 및 추론 시간을 단축할 수도 있다. 나아가, 발화내용의 특징에 포함된 개별 데이터의 중요도를 기준으로 입력 텍스트 데이터에 대한 배열 생성시 연산 기여도 산출에 활용됨으로써 상품 추천 모델이 실제 사용하는 학습 데이터와 그 학습 데이터에 대한 전처리 과정이 유기적으로 결합되어 모델의 성능이 향상될 수 있다.The processor 110 may perform a pre-processing operation including stopword processing based on the characteristics of the utterance content or calculate the contribution to calculation based on the characteristics of the utterance content. Here, the calculation contribution may be an extraction criterion when the processor 110 generates an array by extracting a predetermined number of factors from text data as described above. In the present disclosure, extracting the features of the utterances included in the learning data while the processor 110 learns the product recommendation model has the effect of increasing the user's understanding of the final output of the model. In addition, by acquiring the characteristics of speech content that have a strong correlation with the actual product contract, it can be provided to the above-mentioned pre-processing and used for data purification including stopword processing. For example, if words such as "new" and "condition" were not treated as stopwords in the text data preprocessing process, but were classified as low-importance words as a result of extracting utterances from the product recommendation model, they are added to the stopword list in the preprocessing process. It can also be added to effectively compress data and reduce pre-processing time and inference time. Furthermore, the learning data actually used by the product recommendation model and the pre-processing process for the learning data are organically used by the product recommendation model to calculate the calculation contribution when generating an array for the input text data based on the importance of the individual data included in the characteristics of the speech content. Combined, the performance of the model can be improved.

프로세서(110)는 상기 학습 데이터에 포함된 벡터 데이터에 기초하여 상품 추천 정보를 생성할 수 있다. 상기 상품 추천 모델은 적어도 하나 이상의 네트워크 함수를 포함하는 딥러닝 기반 모델일 수 있다. 이하에서는 본 개시에 따라 딥러닝 기반 상품 추천 모델이 벡터 데이터에 기초하여 상품 추천 정보를 생성하는 구체적 실시예를 설명한다.The processor 110 may generate product recommendation information based on the vector data included in the learning data. The product recommendation model may be a deep learning-based model including at least one or more network functions. Hereinafter, a specific embodiment in which a deep learning-based product recommendation model generates product recommendation information based on vector data according to the present disclosure will be described.

본 개시의 일 실시예에 따라, 상기 상품 추천 모델은 적어도 하나 이상의 합성곱(Convolutional) 신경망 및 적어도 하나 이상의 순환(Recurrent) 신경망의 조합으로 이루어질 수 있다. 이 때 상기 순환 신경망은 LSTM(Long Short Term Memory) 모델이 적용된 순환 신경망일 수 있다. 예를 들어, 상기 상품 추천 모델은 CNN 구조의 인공 신경망과 RNN 구조의 인공 신경망을 이어 붙인 구조일 수 있다. 구체적으로, 프로세서(110)는 상품 추천 모델에 텍스트 데이터를 표현하는 벡터 데이터에 관한 배열을 입력할 수 있다. 상기 배열은 1차원의 선형 배열로 텍스트 데이터의 각 인자의 단순 나열일 수도 있고, 전술한 바와 같은 행렬로써 2차원 배열일 수 있다. 프로세서(110)는 상기 텍스트 데이터에 관련한 배열을 상품 추천 모델에 포함된 적어도 하나 이상의 합성곱 신경망에 입력한 후 그 출력을 적어도 하나 이상의 순환 신경망에 입력할 수 있다. According to an embodiment of the present disclosure, the product recommendation model may be formed of a combination of at least one or more convolutional neural networks and at least one or more recurrent neural networks. In this case, the recurrent neural network may be a recurrent neural network to which a Long Short Term Memory (LSTM) model is applied. For example, the product recommendation model may have a structure in which an artificial neural network of a CNN structure and an artificial neural network of an RNN structure are connected. Specifically, the processor 110 may input an array related to vector data representing text data to the product recommendation model. The array may be a one-dimensional linear array, a simple arrangement of each factor of text data, or a two-dimensional array as a matrix as described above. The processor 110 may input an arrangement related to the text data to at least one or more convolutional neural networks included in the product recommendation model, and then input the output to at least one or more recurrent neural networks.

상품 추천 모델의 최종 결과 값은 도 5를 참조하여 설명된다. 도 5는 본 개시의 일 실시예에 따른 상품 추천 모델의 최종 결과 중 일부 데이터를 도시한 예시도이다. 프로세서(110)는 상품 추천 모델의 출력인 상품 추천 정보에 포함된 각 상품에 대한 계약 확률(510)과 학습 데이터의 상품 계약 정보에 포함된 각 상품에 대한 실제 계약 여부(530)를 비교하여 상품 추천 모델이 그 차이를 오차로서 학습하도록 역전파(backpropagation)시킬 수 있다. 이에 따라 상품 추천 모델은 합성곱 신경망을 포함함으로써 입력되는 텍스트 데이터의 특성을 다양하고 깊이 있게 이해 및 분석할 수 있을 뿐만 아니라 이를 순차적으로 순환 신경망에 입력한 뒤 결과를 도출함으로써 연속되는 텍스트 데이터 간의 관계까지 고려하여 상품 계약 확률을 출력할 수 있다. 일반적으로 합성곱 신경망으로만 인공 신경망이 구성된 경우 이미지 등을 포함하는 특정 시점(time)을 갖는 입력 데이터에 대한 분석 능력이 증가하나 여러 시점의 서로 다른 입력 데이터 상호간 영향을 해석하는데 한계가 있다. 한편 순환 신경망으로만 인공 신경망이 구성된 경우 텍스트 데이터를 포함한 시간 순서에 따른 순차 데이터를 분석하는 데 있어서 데이터 상호간 영향 및 의미를 분석하는데 높은 성능을 보이나, 개별 데이터에 대한 깊은 분석은 한계가 있다. 따라서 본 개시에 있어서 프로세서(110)는 전술한 바와 같이 적어도 하나 이상의 합성곱 신경망 및 적어도 하나 이상의 순환 신경망의 조합을 상품 추천 모델로 사용함으로써 합성곱 신경망 단독으로 또는 순환 신경망 단독으로 신경망을 구성하는 것보다 텍스트 데이터에 대한 분석 효율이 증가된다. 즉, 텍스트 데이터의 개별 단위에 대해 깊은 분석 및 의미 추출을 수행한 뒤, 이를 전후 텍스트 데이터와 상호 의미 분석까지 수행하므로 상품 추천 모델의 성능을 증가시킬 수 있다.The final result value of the product recommendation model will be described with reference to FIG. 5 . 5 is an exemplary diagram illustrating some data among final results of a product recommendation model according to an embodiment of the present disclosure. The processor 110 compares the contract probability 510 for each product included in the product recommendation information, which is the output of the product recommendation model, with whether or not the actual contract is 530 for each product included in the product contract information of the learning data. The recommendation model can be backpropagated to learn the difference as an error. Accordingly, by including the convolutional neural network, the product recommendation model can not only understand and analyze the characteristics of input text data in a variety and depth, but also sequentially input it into the recurrent neural network and derive the results, thereby the relationship between continuous text data. It is possible to output the product contract probability by considering up to . In general, when an artificial neural network is configured only with a convolutional neural network, the analysis ability for input data having a specific time including an image increases, but there is a limit in interpreting the mutual influence of different input data at different time points. On the other hand, when an artificial neural network is composed of only a recurrent neural network, it shows high performance in analyzing the mutual influence and meaning of data in analyzing sequential data according to time order including text data, but deep analysis of individual data is limited. Therefore, in the present disclosure, as described above, the processor 110 uses a combination of at least one or more convolutional neural networks and at least one or more recurrent neural networks as a product recommendation model to configure a neural network alone or with a recurrent neural network alone. The analysis efficiency for text data is increased. In other words, since deep analysis and semantic extraction are performed on individual units of text data, and then cross-semantic analysis is also performed with before and after text data, the performance of the product recommendation model can be increased.

본 개시의 일 실시예에 따르면 프로세서(110)는 상기 상품 추천 모델이 상기 학습 데이터의 파싱 트리(parsing tree) 기반 구문 분석 정보로부터 키워드를 추출하고 상기 키워드에 기초하여 상품 추천 정보 생성하도록 학습시킬 수 있다. 상기 파싱 트리는 전술한 바와 같이 텍스트 데이터를 구성하는 각 문장의 구성요소(명사구, 동사구, 형용사구 등)를 내부 노드의 값으로 보유할 수 있다. 따라서 프로세서(110)는 파싱 트리의 분석 결과에 포함된 문장 구조에 기초하여 상기 딥러닝 기반 상품 추천 모델을 학습할 수 있다. 예를 들어, "안녕하세요", "감사합니다." 등의 단순 동사구로 이루어진 문장보다 "가능 할까요?", "계약을 원합니다."등의 명사구에 동사구가 결합된 형태의 문장이 상품 계약과 관련하여 보다 많은 의미를 가질 수 있다. 따라서 프로세서(110)는 파싱 트리 기반 구문 분석의 결과 각 문장의 구조를 텍스트 데이터와 함께 딥 러닝 기반 상품 추천 모델에 입력하여, 상기 상품 추천 모델이 더 높은 가중치를 두어 인식해야 하는 문장구조 및 단어의 위치를 제공하고 이를 통해 키워드를 추출할 수 있다. 상기 키워드는 문장, 구, 단어, 형태소 등을 포함한다. 그리고 프로세서(110)는 키워드를 추출하여 텍스트 데이터에 포함된 키워드의 수, 출현 빈도 등에 기초하여 최종 상품 추천 정보를 생성할 수 있다. 전술한 바와 같이 파싱 트리 기반 구문 분석에 따른 문장 구조를 상품 추천 모델에 추가적으로 입력하거나 feeding 함으로써 상품 추천 모델은 방대한 양의 텍스트 데이터가 입력될 경우 다른 부분보다 중요한 문장 및 단어의 후보를 보다 빠르게 추출할 수 있고, 이는 추천 모델의 성능 및 출력 속도를 향상시키는 효과가 있다.According to an embodiment of the present disclosure, the processor 110 may train the product recommendation model to extract a keyword from parsing tree-based syntax analysis information of the learning data and generate product recommendation information based on the keyword. have. As described above, the parsing tree may hold elements (noun phrases, verb phrases, adjective phrases, etc.) of each sentence constituting text data as internal node values. Accordingly, the processor 110 may learn the deep learning-based product recommendation model based on the sentence structure included in the analysis result of the parsing tree. For example, "Hello", "Thank you." A sentence in which a verb phrase is combined with a noun phrase such as “Is it possible” or “I want a contract” can have more meaning in relation to a product contract than a sentence composed of simple verb phrases such as “Is it possible?” Therefore, the processor 110 inputs the structure of each sentence together with the text data as a result of the parsing tree-based syntax analysis into the deep learning-based product recommendation model, and the product recommendation model places a higher weight on the sentence structure and word to be recognized. You can provide a location and extract keywords from it. The keywords include sentences, phrases, words, morphemes, and the like. In addition, the processor 110 may extract the keyword and generate final product recommendation information based on the number of keywords included in the text data, the frequency of appearance, and the like. As described above, by additionally inputting or feeding the sentence structure according to the parsing tree-based syntax analysis to the product recommendation model, the product recommendation model can extract important sentences and word candidates faster than other parts when a large amount of text data is input. This has the effect of improving the performance and output speed of the recommendation model.

본 개시의 일 실시예에 따라 프로세서(110)는 신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고, 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성할 수 있다. 상기 학습된 변환 모델에서 음성 데이터로부터 텍스트 데이터를 얻고, 상품 추천 모델에 의해 텍스트 데이터에서 상품 추천 정보를 획득할 수 있게 됨으로써, 본 개시는 직접 텍스트 데이터를 작성하거나, 해당 텍스트 데이터를 하나하나 분석할 필요없이, 음성 데이터의 수신만으로 상품 추천이 가능해지는 효과가 있다. 또다른 실시예에서 프로세서(110)는 상기 상품 추천 정보에 기반하여 고객이 상품을 계약한 경우, 해당 고객의 텍스트 데이터를 이용하여 상기 상품 추천 모델을 재학습 할 수 있다. 상기 모델 재학습은 최종적으로 계약을 진행한 고객의 텍스트 데이터를 학습 데이터로 입력하여 적어도 1 회 이상 모델의 학습을 반복함으로써 수행될 수 있다. 전술한 바와 같은 모델 재학습은 방대한 양의 텍스트 데이터에서 마케팅 수행 결과 계약에 성공한 고객의 발화 내용을 모델이 수 차례 더 학습하게 함으로써 계약 확률이 높은 고객의 발화내용의 특징을 상품 추천 모델이 보다 잘 이해하고 높은 가중치를 두게 되어 모델의 성능을 향상시키는 효과를 가져온다.According to an embodiment of the present disclosure, the processor 110 inputs new customer call voice data into the learned transformation model to obtain new text data, and inputs new data based on this into the product recommendation model to generate product recommendation information. can do. By obtaining text data from voice data in the learned transformation model and obtaining product recommendation information from text data by the product recommendation model, the present disclosure provides a method for directly creating text data or analyzing the text data one by one. There is an effect that product recommendation becomes possible only by receiving voice data without any need. In another embodiment, when a customer contracts for a product based on the product recommendation information, the processor 110 may re-learn the product recommendation model using text data of the customer. The model re-learning may be performed by repeating the learning of the model at least once by inputting the text data of the customer who finally made the contract as training data. As described above, model re-learning allows the model to learn the utterances of customers who have succeeded in contracting as a result of marketing from a large amount of text data several more times, so that the product recommendation model can better understand the characteristics of the utterances of customers with high contract probability. It has the effect of improving the performance of the model by understanding it and giving it a high weight.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.One of ordinary skill in the art of this disclosure will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, instructions, information, signals, bits, symbols, and chips that may be referenced in the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical field particles or particles, or any combination thereof.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those of ordinary skill in the art of the present disclosure will recognize that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein include electronic hardware, (convenience For this purpose, it will be understood that it may be implemented by various forms of program or design code (referred to herein as software) or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. A person skilled in the art of the present disclosure may implement the described functionality in various ways for each specific application, but such implementation decisions should not be interpreted as a departure from the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.The various embodiments presented herein may be implemented as methods, apparatus, or articles of manufacture using standard programming and/or engineering techniques. The term article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device. For example, computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash drives. memory devices (eg, EEPROMs, cards, sticks, key drives, etc.). Also, various storage media presented herein include one or more devices and/or other machine-readable media for storing information.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. Based on design priorities, it is to be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of the present disclosure. The appended method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not intended to be limited to the embodiments presented herein, but is to be construed in the widest scope consistent with the principles and novel features presented herein.

Claims (16)

컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 신경망을 이용하여 고객 상담 기록 분석을 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은:
음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하는 동작;
상기 딥러닝 기반 변환 모델을 통해 획득된 상기 텍스트 데이터에 상품 계약 정보가 라벨링된 학습 데이터 세트를 생성하는 동작;
상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하는 동작; 및
신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하는 동작;
을 포함하며, 그리고
상기 상품 계약 정보는,
적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium, wherein the computer program, when executed on one or more processors, performs the following operations for analyzing customer consultation records using a neural network, the operations comprising:
obtaining text data by inputting the received customer call voice data into a deep learning-based transformation model trained to convert voice information into text information;
generating a training data set in which product contract information is labeled in the text data obtained through the deep learning-based transformation model;
learning the product recommendation model to generate product recommendation information by inputting the training data set into a deep learning-based product recommendation model; and
inputting new customer call voice data into the learned transformation model to obtain new text data, and inputting new data based thereon into the product recommendation model to generate product recommendation information;
includes, and
The product contract information is
Including information on at least one product and the result of each product contract,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 텍스트 데이터를 획득하는 동작 이후, 상기 텍스트 데이터를 토큰화(Tokenization)하는 작업을 포함하는 전처리 동작;
을 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
a preprocessing operation including tokenization of the text data after the operation of acquiring the text data;
further comprising,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 텍스트 데이터를 획득하는 동작 이후, 상기 텍스트 데이터에 대한 형태소 분석, 파싱 트리(parsing tree) 기반 구문 분석 및 상기 텍스트 데이터에 대한 불용어 처리 중 적어도 하나를 포함하는 전처리 동작;
을 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
a preprocessing operation including at least one of morpheme analysis on the text data, parsing tree-based syntax analysis, and stopword processing on the text data after the operation of acquiring the text data;
further comprising,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 텍스트 데이터를 획득하는 동작 이후, 상기 텍스트 데이터에 대한 토큰화 작업 결과로 획득된 적어도 하나의 토큰에 기초하여 벡터(vector) 데이터를 생성하는 동작;
을 더 포함하며,
상기 벡터 데이터는 토큰 간 의미 유사도를 반영할 수 있도록 생성되는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
after obtaining the text data, generating vector data based on at least one token obtained as a result of a tokenization operation on the text data;
further comprising,
The vector data is generated to reflect the semantic similarity between tokens,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 텍스트 데이터를 획득하는 동작 이후, 상기 텍스트 데이터에 포함된 문장에 대해 사전 결정된 개수의 인자를 추출하여 배열을 생성하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
generating an array by extracting a predetermined number of factors from a sentence included in the text data after the operation of acquiring the text data;
further comprising,
A computer program stored on a computer-readable storage medium.
제 5 항에 있어서,
상기 사전 결정된 개수의 인자는, 연산 기여도에 기초하여 추출되는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
6. The method of claim 5,
The predetermined number of factors are extracted based on the calculation contribution,
A computer program stored on a computer-readable storage medium.
제 5 항에 있어서,
상기 배열을 생성하는 동작 이후, 상기 배열을 사전 결정된 크기를 입력으로 받는 합성곱(Convolutional) 신경망에 입력하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
6. The method of claim 5,
after generating the array, inputting the array into a convolutional neural network receiving a predetermined size as an input;
further comprising,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 상품 추천 모델은,
상기 학습 데이터에 포함된 발화내용의 특징을 추출하도록 학습되며,
상기 발화내용의 특징은 학습 데이터에 포함된 개별 데이터의 중요도를 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The product recommendation model mentioned above,
It is learned to extract the characteristics of the speech content included in the learning data,
The characteristics of the utterance include the importance of individual data included in the learning data,
A computer program stored on a computer-readable storage medium.
제 8 항에 있어서,
상기 학습 데이터 세트를 생성하는 동작 이후, 상기 발화내용의 특징에 기초한 불용어 처리를 포함하는 전처리 동작; 및
상기 발화내용의 특징에 기초하여 연산 기여도를 산출하는 동작;
중 적어도 하나를 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
9. The method of claim 8,
After the operation of generating the learning data set, a pre-processing operation including stopword processing based on the characteristics of the utterance content; and
calculating a calculation contribution based on the characteristics of the utterance content;
further comprising at least one of
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 상품 추천 모델은,
상기 학습 데이터에 포함된 벡터 데이터에 기초하여 상품 추천 정보를 생성하도록 학습되는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The product recommendation model mentioned above,
Learned to generate product recommendation information based on the vector data included in the learning data,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 상품 추천 모델은,
적어도 하나 이상의 합성곱(Convolutional) 신경망 및 적어도 하나 이상의 순환(Recurrent) 신경망의 조합으로 이루어진,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The product recommendation model mentioned above,
Consisting of a combination of at least one or more convolutional neural networks and at least one or more recurrent neural networks,
A computer program stored on a computer-readable storage medium.
제 11 항에 있어서,
상기 순환(Recurrent) 신경망은 LSTM(Long Short Term Memory) 모델이 적용된,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
12. The method of claim 11,
The recurrent neural network is a Long Short Term Memory (LSTM) model applied,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 상품 추천 모델은,
상기 학습 데이터의 파싱 트리(parsing tree) 기반 구문 분석 정보로부터 키워드를 추출하고, 상기 키워드에 기초하여 상품 추천 정보를 생성하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
The product recommendation model mentioned above,
Extracting a keyword from the parsing tree-based syntax analysis information of the learning data, and generating product recommendation information based on the keyword,
A computer program stored on a computer-readable storage medium.
제 1 항에 있어서,
상기 상품 추천 정보에 기반하여 고객이 상품을 계약한 경우, 해당 고객의 텍스트 데이터를 이용하여 상기 상품 추천 모델을 재학습하는 동작;
을 더 포함하는,
컴퓨터 판독가능 저장매체에 저장된 컴퓨터 프로그램.
The method of claim 1,
re-learning the product recommendation model using text data of the customer when a customer contracts for a product based on the product recommendation information;
further comprising,
A computer program stored on a computer-readable storage medium.
서버에서 수행되는 신경망을 이용한 고객 상담 기록 분석 방법으로서,
음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하는 단계;
상기 딥러닝 기반 변환 모델을 통해 획득된 상기 텍스트 데이터에 상품 계약 정보가 라벨링된 학습 데이터 세트를 생성하는 단계;
상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하는 단계; 및
신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하는 단계;
를 포함하며, 그리고
상기 상품 계약 정보는,
적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함하는,
서버에서 수행되는 신경망을 이용한 고객 상담 기록 분석 방법.
As a method for analyzing customer consultation records using a neural network performed on a server,
acquiring text data by inputting the received customer call voice data into a deep learning-based transformation model trained to convert voice information into text information;
generating a training data set in which product contract information is labeled in the text data obtained through the deep learning-based transformation model;
learning the product recommendation model to generate product recommendation information by inputting the training data set into a deep learning-based product recommendation model; and
generating product recommendation information by inputting new customer call voice data into the learned transformation model to obtain new text data and inputting new data based thereon into the product recommendation model;
includes, and
The product contract information is
Including information on at least one product and the result of each product contract,
A method of analyzing customer consultation records using a neural network performed on the server.
신경망을 이용한 고객 상담 기록 분석을 위한 서버로서,
하나 이상의 코어를 포함하는 프로세서; 및
메모리;
를 포함하고,
상기 프로세서는,
음성 정보를 문자 정보로 변환하도록 학습된 딥러닝 기반 변환 모델에 수신된 고객 콜 음성 데이터를 입력하여 텍스트 데이터를 획득하고,
상기 딥러닝 기반 변환 모델을 통해 획득된 상기 텍스트 데이터에 상품 계약 정보가 라벨링된 학습 데이터 세트를 생성하고,
상기 학습 데이터 세트를 딥러닝 기반 상품 추천 모델에 입력하여 상기 상품 추천 모델이 상품 추천 정보를 생성하도록 학습하고,
신규 고객 콜 음성 데이터를 상기 학습된 변환 모델에 입력하여 신규 텍스트 데이터를 얻고 이에 기초한 신규 데이터를 상기 상품 추천 모델에 입력하여 상품 추천 정보를 생성하고, 그리고
상기 상품 계약 정보는,
적어도 하나 이상의 상품에 대한 정보 및 각 상품 계약 여부 결과를 포함하는,
신경망을 이용한 고객 상담 기록 분석을 위한 서버.

As a server for analyzing customer consultation records using a neural network,
a processor including one or more cores; and
Memory;
including,
The processor is
Input the received customer call voice data to a deep learning-based transformation model trained to convert voice information into text information to acquire text data,
generating a training data set in which product contract information is labeled in the text data obtained through the deep learning-based transformation model;
By inputting the training data set into a deep learning-based product recommendation model, the product recommendation model learns to generate product recommendation information,
Input new customer call voice data to the learned transformation model to obtain new text data, and input new data based on this into the product recommendation model to generate product recommendation information, and
The product contract information is
Including information on at least one product and the result of whether each product is contracted,
Server for customer consultation record analysis using neural network.

KR1020200063780A 2020-05-27 2020-05-27 Method for analyzing customer consultation record KR102418260B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200063780A KR102418260B1 (en) 2020-05-27 2020-05-27 Method for analyzing customer consultation record

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200063780A KR102418260B1 (en) 2020-05-27 2020-05-27 Method for analyzing customer consultation record

Publications (2)

Publication Number Publication Date
KR20210146671A KR20210146671A (en) 2021-12-06
KR102418260B1 true KR102418260B1 (en) 2022-07-06

Family

ID=78936414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200063780A KR102418260B1 (en) 2020-05-27 2020-05-27 Method for analyzing customer consultation record

Country Status (1)

Country Link
KR (1) KR102418260B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074317B (en) * 2023-02-20 2024-03-26 新疆八达科技发展有限公司 Service resource sharing method and server based on big data
CN118194864B (en) * 2024-05-17 2024-07-19 上海通创信息技术股份有限公司 Potential user mining method and system based on voice analysis

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181326A (en) * 2017-04-06 2018-11-15 ネイバー コーポレーションNAVER Corporation Personalized products recommendation using deep learning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180002944A (en) * 2016-06-29 2018-01-09 한밭대학교 산학협력단 Big data recommand system and method for suggesting the optimum goods
CN108304365A (en) * 2017-02-23 2018-07-20 腾讯科技(深圳)有限公司 keyword extracting method and device
KR20180121120A (en) * 2017-04-28 2018-11-07 (주)아틀라스가이드 A machine learning based voice ordering system that can combine voice, text, visual interfaces to purchase products through mobile divices
KR102264232B1 (en) * 2018-05-31 2021-06-14 주식회사 마인즈랩 An explanation-added document classification method by an artificial neural network that learns the correlation between words, sentence feature values, and word weights

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018181326A (en) * 2017-04-06 2018-11-15 ネイバー コーポレーションNAVER Corporation Personalized products recommendation using deep learning

Also Published As

Publication number Publication date
KR20210146671A (en) 2021-12-06

Similar Documents

Publication Publication Date Title
Arora et al. Character level embedding with deep convolutional neural network for text normalization of unstructured data for Twitter sentiment analysis
Sundararajan et al. Multi‐Rule Based Ensemble Feature Selection Model for Sarcasm Type Detection in Twitter
Rani et al. An efficient CNN-LSTM model for sentiment detection in# BlackLivesMatter
KR101136007B1 (en) System and method for anaylyzing document sentiment
Bokka et al. Deep Learning for Natural Language Processing: Solve your natural language processing problems with smart deep neural networks
CN111339772B (en) Russian text emotion analysis method, electronic device and storage medium
KR102418260B1 (en) Method for analyzing customer consultation record
Majeed et al. Deep-EmoRU: mining emotions from roman urdu text using deep learning ensemble
Cajueiro et al. A comprehensive review of automatic text summarization techniques: method, data, evaluation and coding
CN112185361A (en) Speech recognition model training method and device, electronic equipment and storage medium
Zhu Machine reading comprehension: Algorithms and practice
Lee Natural Language Processing: A Textbook with Python Implementation
Shlkamy et al. A Russia-Ukraine Conflict Tweets Sentiment Analysis Using Bidirectional LSTM Network
Hicham et al. Enhancing arabic e-commerce review sentiment analysis using a hybrid deep learning model and fasttext word embedding
Rehman et al. Urdu sentiment analysis
Muñoz-Valero et al. Using recurrent neural networks for part-of-speech tagging and subject and predicate classification in a sentence
Fernández-Martínez et al. An approach to intent detection and classification based on attentive recurrent neural networks
KR102626714B1 (en) Twofold semi-automatic symbolic propagation method of training data for natural language understanding model, and device therefor
Yadav et al. Intelligent Chatbot Using GNMT, SEQ-2-SEQ Techniques
Srivastav et al. Advances in Computational Linguistics and Text Processing Frameworks
Hodeghatta et al. Introduction to natural language processing
CN107729509A (en) The chapter similarity decision method represented based on recessive higher-dimension distributed nature
Alvarado et al. Detecting Disaster Tweets using a Natural Language Processing technique
Trancoso et al. The Impact of Language Technologies in the Legal Domain
Patel et al. To laugh or not to laugh–LSTM based humor detection approach

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant