KR20220116719A - An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor - Google Patents

An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor Download PDF

Info

Publication number
KR20220116719A
KR20220116719A KR1020210019918A KR20210019918A KR20220116719A KR 20220116719 A KR20220116719 A KR 20220116719A KR 1020210019918 A KR1020210019918 A KR 1020210019918A KR 20210019918 A KR20210019918 A KR 20210019918A KR 20220116719 A KR20220116719 A KR 20220116719A
Authority
KR
South Korea
Prior art keywords
sales information
product sales
vector
detection
collecting
Prior art date
Application number
KR1020210019918A
Other languages
Korean (ko)
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 KR1020210019918A priority Critical patent/KR20220116719A/en
Publication of KR20220116719A publication Critical patent/KR20220116719A/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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/6267
    • 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/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • G06Q50/50

Abstract

An apparatus for collecting and providing product sales information posted on a mobile messenger of the present invention includes: a collection unit connecting to a messenger server and collecting a plurality of pieces of product sales information from at least one between an open chat room and a channel; a selection unit selecting a plurality of pieces of product sales information having reliability higher than a predetermined level from the plurality of pieces of product sales information; and a recommendation unit organizing a recommendation list by arranging the plurality of pieces of selected product sales information according to a request of a user device and providing the organized recommendation list to the user device.

Description

모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 장치 및 이를 위한 방법{An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor} An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor

본 발명은 상품판매정보를 수집하여 제공하기 위한 기술에 관한 것으로, 더욱 상세하게는, 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 장치 및 이를 위한 방법에 관한 것이다. The present invention relates to a technology for collecting and providing product sales information, and more particularly, to an apparatus for collecting and providing product sales information posted on a mobile messenger, and a method therefor.

모바일 메신저, 예컨대, 텔레그램은 공개된 채팅방을 누구나 무료로 만들고 조건 없이 참여할 수 있는 기능을 제공한다. 많은 공개채팅방들이 상품판매를 위한 정보를 제공하는 목적으로 개설되었고 사용되고 있다. 특히, 채팅방의 제목을 특정한 상품군 판매로 정하여 개설하는 경우 해당 상품군의 다양한 판매자들과 구매자들이 참여하여 활성화 되는 경우가 많다. 메신저는 특성상 사용자의 게시물을 제한하기가 어렵기 때문에 채팅방 개설자가 수동으로 제재하지 않는 한, 누구나 채팅방에 참여한 전체 사용자들을 대상으로 쉽게 판매 메시지를 전송 할 수 있다. Mobile messengers, such as Telegram, provide the ability to create open chat rooms for free and participate without conditions. Many public chat rooms have been opened and used for the purpose of providing information for product sales. In particular, when opening a chat room by setting the title of a specific product group to sale, various sellers and buyers of the product group participate and become active in many cases. Since it is difficult to restrict users' posts due to the nature of the messenger, anyone can easily send a sales message to all users participating in the chat room, unless the chat room creator manually sanctions it.

공개채팅방중 개설자만 메시지를 게시할 수 있는 채팅방을 채널이라 한다. 메신저 사용자는 누구나 특별한 허가 없이 채널주소만 알면 참여할 수 있다. 판매자들은 채널을 개설하면 자신이 소유한 채널에서는 원하는 메시지를 자세하게 채널 참여자들에게 전송할 수 있다. 채널 활성화를 위해서는 사용자들이 참여 하도록 외부에 자신의 채널주소를 알려야한다. 보통 채널주소가 포함된 상품판매 메시지를 공개된 인터넷이나 공개된 상품판매 채팅방에 게시하여 자신이 소유한 채널로 사용자 참여를 유도한다. 인기 있는 공개채팅방은 많은 채널소유자들이 상품판매정보와 채널홍보 메시지를 전송하게 된다. A chat room in which only the creator can post messages among public chat rooms is called a channel. Any messenger user can participate as long as they know the channel address without special permission. When sellers open a channel, they can send the desired message to channel participants in detail in the channel they own. In order to activate the channel, users must inform the outside of their channel address so that they can participate. Usually, a product sales message including the channel address is posted on the public Internet or in an open product sales chat room to induce users to participate in the channel they own. In popular open chat rooms, many channel owners send product sales information and channel promotion messages.

상품 구매자들이 텔레그램 공개채팅방이나 채널에 게시된 판매자, 판매가격, 거래조건 등 상품판매정보를 확보해서 비교해보려면 먼저 텔레그램을 사용해야 하고, 공개채팅방이나 채널주소를 알아낸 후에 채팅에 참여하여 상품판매 메시지들을 추출하여 정리해서 비교해야 하는 불편함이 있다. In order for product buyers to obtain and compare product sales information such as sellers, sales prices, and transaction conditions posted in Telegram open chat rooms or channels, they must first use Telegram. There is the inconvenience of extracting, organizing, and comparing messages.

한국공개특허 제2013-0038534호 (2013년 04월 18일 공개)Korea Patent Publication No. 2013-0038534 (published on April 18, 2013)

본 발명의 목적은 메신저의 공개 채팅방과 채널에 게시된 상품정보를 확보하여 제공할 수 있는 장치 및 방법을 제공함에 있다. An object of the present invention is to provide an apparatus and method for securing and providing product information posted in a public chat room and channel of a messenger.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 장치는 메신저서버에 접속하여 개설된 공개채팅방 및 채널 중 적어도 하나로부터 복수의 상품판매정보를 수집하는 수집부와, 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 선별부와, 선별된 복수의 상품판매정보를 사용자장치의 요청에 따라 정렬하여 추천 목록을 구성하고, 구성된 추천 목록을 사용자장치에 제공하는 추천부를 포함한다. According to a preferred embodiment of the present invention for achieving the above object, an apparatus for collecting and providing product sales information posted on a mobile messenger is a plurality of A collection unit that collects product sales information, a selection unit that selects a plurality of product sales information having a reliability higher than a predetermined level from the plurality of product sales information, and sorts and recommends the selected plurality of product sales information according to the request of the user device and a recommendation unit that configures the list and provides the configured recommendation list to the user device.

상기 수집부는 상기 공개채팅방 및 상기 채널에서 링크, 이미지 및 텍스트를 검출하고, 상기 이미지에 상기 링크의 영역이 구분되어 표시된 이미지와, 상기 텍스트에서 상기 링크가 적용된 텍스트와 상기 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함하는 분석 데이터를 생성하고, 상기 분석 데이터를 검출모델에 입력할 수 있다. 그러면, 상기 검출모델이 상기 분석 데이터에 대해 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 제1 검출벡터 및 제2 검출벡터를 산출하고, 상기 제1 검출벡터 및 상기 제2 검출벡터를 병합하여 병합검출벡터를 도출하고, 병합검출벡터로부터 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값을 산출한다. 그러면, 상기 수집부는 산출된 출력값이 나타내는 확률에 따라 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부를 판단하는 것을 특징으로 한다. The collection unit detects links, images, and texts in the public chat room and the channels, and an image in which the area of the link is divided and displayed in the image, and the text to which the link is applied and the text to which the link is not applied in the text. Analysis data including the separated text may be generated, and the analysis data may be input to a detection model. Then, the detection model calculates a first detection vector and a second detection vector by performing a plurality of operations in which a weight between a plurality of layers is applied to the analysis data, and the first detection vector and the second detection vector A merge detection vector is derived by merging, and an output value representing the probability of whether product sales information is included in a public chat room or channel is calculated from the merge detection vector. Then, the collection unit is characterized in that it determines whether product sales information is included in the corresponding open chat room or channel according to the probability indicated by the calculated output value.

상기 선별부는 복수의 상품판매정보를 소정의 벡터공간에 임베딩하여 복수의 상품판매정보벡터를 생성하고, 복수의 상품판매정보벡터를 복수의 클러스터로 클러스터링하고, 클러스터링된 복수의 클러스터 각각에서 컨벡스 헐을 도출하고, 복수의 클러스터 각각에서 컨벡스 헐을 구성하는 다각형의 무게 중심을 클러스터의 중심으로 설정하고, 복수의 클러스터 각각에 대해 수학식

Figure pat00001
을 통해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실을 산출하고, 복수의 클러스터 각각에 대해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균 및 표준 편차로부터 수학식
Figure pat00002
에 따라 임계손실을 산출하고, 복수의 클러스터 각각에서 산출된 임계손실 이하의 손실을 가지는 상품판매정보벡터를 추출하고, 추출된 상품판매정보벡터에 대응하는 판매자를 신뢰도가 소정 수준 이상인 판매자로 선별하는 것을 특징으로 한다. 여기서, 상기 n은 인덱스이고, 상기 E는 손실을 나타내며, 상기 k는 클러스터의 인덱스이고, 상기 Mk는 k번째 클러스터의 중심을 나타내며, 상기 n은 상품판매정보벡터의 인덱스이고, 상기 Sn은 n번째 상품판매정보벡터이고, 상기 T는 임계손실이고, 상기 w는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균이고, 상기 σ는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 표준 편차이고, 상기
Figure pat00003
는 표준편차에 대한 가중치인 것을 특징으로 한다. The sorting unit embeds a plurality of product sales information in a predetermined vector space to generate a plurality of product sales information vectors, clusters the plurality of product sales information vectors into a plurality of clusters, and generates a convex hull in each of the clustered plurality of clusters. and set the center of gravity of the polygon constituting the convex hull in each of the plurality of clusters as the center of the cluster, and for each of the plurality of clusters, the equation
Figure pat00001
The loss representing the difference between the center of the cluster and the plurality of product sales information vectors is calculated through formula
Figure pat00002
Calculates the critical loss according to characterized in that Here, n is an index, E is a loss, k is an index of a cluster, Mk is a center of a k-th cluster, n is an index of a product sales information vector, and Sn is an n-th a product sales information vector, where T is a critical loss, w is an average of losses representing the difference between the center of a cluster and a plurality of product sales information vectors, and σ is the center of a cluster and a plurality of product sales information vectors is the standard deviation of the loss representing the difference in
Figure pat00003
is a weight for the standard deviation.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 방법은 수집부가 메신저서버에 접속하여 개설된 공개채팅방 및 채널 중 적어도 하나로부터 복수의 상품판매정보를 수집하는 단계와, 선별부가 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 단계와, 정보제공부가 선별된 복수의 상품판매정보를 사용자장치의 요청에 따라 정렬하여 상품판매정보의 목록을 구성하고, 구성된 상품판매정보의 목록을 사용자장치에 제공하는 단계를 포함한다. In a method for collecting and providing product sales information posted on a mobile messenger according to a preferred embodiment of the present invention for achieving the above object, the collection unit connects to the messenger server and opens at least one of open chat rooms and channels. The steps of collecting a plurality of product sales information, the selection unit selecting a plurality of product sales information having a reliability level higher than or equal to a predetermined level from the plurality of product sales information, and the information providing unit requesting the selected plurality of product sales information from the user device and composing a list of product sales information by arranging the information according to the method, and providing the configured list of product sales information to the user device.

상기 복수의 상품판매정보를 수집하는 단계는 상기 수집부가 상기 공개채팅방 및 상기 채널에서 링크, 이미지 및 텍스트를 검출하는 단계와, 상기 수집부가 상기 이미지에 상기 링크의 영역이 구분되어 표시된 이미지와, 상기 텍스트에서 상기 링크가 적용된 텍스트와 상기 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함하는 분석 데이터를 생성하는 단계와, 상기 수집부가 상기 분석 데이터를 검출모델에 입력하는 단계와, 상기 검출모델이 상기 분석 데이터에 대해 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 제1 검출벡터 및 제2 검출벡터를 산출하고, 상기 제1 검출벡터 및 상기 제2 검출벡터를 병합하여 병합검출벡터를 도출하고, 병합검출벡터로부터 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값을 산출하는 단계와, 상기 수집부가 산출된 출력값이 나타내는 확률에 따라 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부를 판단하는 단계와, 상품판매정보가 포함된 것으로 판단된 공개채팅방 혹은 채널로부터 상품판매정보를 수집하는 단계를 포함한다. The collecting of the plurality of product sales information includes: detecting, by the collecting unit, links, images, and texts in the open chat room and the channel; Generating analysis data including text in which the text to which the link is applied and the text to which the link is not applied are separated from text, the collecting unit inputting the analysis data into a detection model; A first detection vector and a second detection vector are calculated by performing a plurality of operations in which a weight between a plurality of layers is applied on the analysis data, and a merge detection vector is derived by merging the first detection vector and the second detection vector and calculating, from the merge detection vector, an output value indicating the probability of whether product sales information is included in the public chat room or channel, and product sales information in the public chat room or channel according to the probability indicated by the output value calculated by the collection unit and determining whether the product sales information is included, and collecting product sales information from an open chat room or channel determined to contain product sales information.

상기 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 단계는 상기 선별부가 복수의 상품판매정보를 소정의 벡터공간에 임베딩하여 복수의 상품판매정보벡터를 생성하는 단계와, 상기 선별부가 복수의 상품판매정보벡터를 복수의 클러스터로 클러스터링하고, 클러스터링된 복수의 클러스터 각각에서 컨벡스 헐을 도출하는 단계와 상기 선별부가 복수의 클러스터 각각에서 컨벡스 헐을 구성하는 다각형의 무게 중심을 클러스터의 중심으로 설정하는 단계와, 상기 선별부가 복수의 클러스터 각각에 대해 수학식

Figure pat00004
을 통해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실을 산출하는 단계와, 상기 선별부가 복수의 클러스터 각각에 대해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균 및 표준 편차로부터 수학식
Figure pat00005
에 따라 임계손실을 산출하는 단계와, 상기 선별부가 복수의 클러스터 각각에서 산출된 임계손실 이하의 손실을 가지는 상품판매정보벡터를 추출하고, 추출된 상품판매정보벡터에 대응하는 판매자를 신뢰도가 소정 수준 이상인 판매자로 선별하는 단계를 포함한다. 여기서, 상기 n은 인덱스이고, 상기 E는 손실을 나타내며, 상기 k는 클러스터의 인덱스이고, 상기 Mk는 k번째 클러스터의 중심을 나타내며, 상기 n은 상품판매정보벡터의 인덱스이고, 상기 Sn은 n번째 상품판매정보벡터이고, 상기 T는 임계손실이고, 상기 w는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균이고, 상기 σ는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 표준 편차이고, 상기
Figure pat00006
는 표준편차에 대한 가중치인 것을 특징으로 한다. The selecting of the plurality of product sales information having the reliability equal to or higher than a predetermined level includes: the selection unit embedding a plurality of product sales information in a predetermined vector space to generate a plurality of product sales information vectors; Clustering the sales information vector into a plurality of clusters, deriving a convex hull from each of the plurality of clustered clusters, and setting, by the selector, a center of gravity of a polygon constituting a convex hull in each of the plurality of clusters as the center of the cluster And, the selector for each of the plurality of clusters
Figure pat00004
calculating a loss representing the difference between the center of the cluster and the plurality of product sales information vectors through Equations from mean and standard deviation
Figure pat00005
calculating a critical loss according to Including the step of selecting the above sellers. Here, n is an index, E is a loss, k is an index of a cluster, Mk is a center of a k-th cluster, n is an index of a product sales information vector, and Sn is an n-th a product sales information vector, where T is a critical loss, w is an average of losses representing the difference between the center of a cluster and a plurality of product sales information vectors, and σ is the center of a cluster and a plurality of product sales information vectors is the standard deviation of the loss representing the difference in
Figure pat00006
is a weight for the standard deviation.

본 발명에 따르면, 모바일 메신저의 공개 채팅방과 채널에 게시된 상품정보를 확보하여 상품별, 판매자별, 판매가격별 등 사용자들이 원하는 형태로 가공하여 제공함으로써, 소비자가 편리하게 모바일 메신저를 통해 판매되는 상품을 구매할 수 있다. According to the present invention, by securing product information posted in the public chat room and channel of the mobile messenger, processing and providing it in a form desired by users, such as by product, by seller, by selling price, etc., products sold through mobile messenger conveniently by consumers can be purchased

도 1은 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 시스템을 설명하기 위한 도면이다.
도 2 및 도 3은 본 발명의 실시예에 따른 모바일 메신저에 게시되는 상품판매정보를 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 판매정보서버의 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 실시예에 따른 판매정보서버의 세부적인 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)의 구성을 설명하기 위한 블록도이다.
도 7 내지 도 9는 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)의 세부 구성을 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다.
도 11은 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 심층학습모델인 검출모델에 대한 심층 학습 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 실시예에 따른 검출모델을 통해 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출하는 방법을 설명하기 위한 흐름도이다.
도 14는 본 발명의 실시예에 따른 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 실시예에 따른 복수의 상품판매정보를 벡터 공간에 임베딩하고 클러스터링하는 방법을 설명하기 위한 도면이다.
도 16은 본 발명의 실시예에 따른 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 상품판매정보를 선별하는 방법을 설명하기 위한 도면이다.
1 is a diagram for explaining a system for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention.
2 and 3 are diagrams for explaining product sales information posted on a mobile messenger according to an embodiment of the present invention.
4 is a block diagram for explaining the configuration of a sales information server according to an embodiment of the present invention.
5 is a block diagram illustrating a detailed configuration of a sales information server according to an embodiment of the present invention.
6 is a block diagram illustrating the configuration of a detection model (DM) that is a deep learning model (DLM) according to an embodiment of the present invention.
7 to 9 are diagrams for explaining the detailed configuration of a detection model (DM) that is a deep learning model (DLM) according to an embodiment of the present invention.
10 is a block diagram for explaining the configuration of a user device according to an embodiment of the present invention.
11 is a flowchart illustrating a method for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention.
12 is a flowchart for explaining a deep learning method for a detection model that is a deep learning model according to an embodiment of the present invention.
13 is a flowchart illustrating a method of detecting a plurality of public chat rooms and channels including product sales information through a detection model according to an embodiment of the present invention.
14 is a flowchart for explaining a method of selecting a plurality of product sales information having a reliability equal to or higher than a predetermined level from a plurality of product sales information according to an embodiment of the present invention.
15 is a diagram for explaining a method of embedding and clustering a plurality of product sales information in a vector space according to an embodiment of the present invention.
FIG. 16 is a diagram for explaining a method of selecting product sales information having a reliability higher than or equal to a predetermined level from a plurality of product sales information according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다. In order to clarify the characteristics and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings. However, detailed descriptions of well-known functions or configurations that may obscure the gist of the present invention in the following description and accompanying drawings will be omitted. In addition, it should be noted that throughout the drawings, the same components are denoted by the same reference numerals as much as possible.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. The terms or words used in the following description and drawings should not be construed as being limited to conventional or dictionary meanings, and the inventor may properly define the concept of terms for describing his invention in the best way. Based on the principle that there is, it should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only the most preferred embodiment of the present invention, and do not represent all of the technical spirit of the present invention. It should be understood that there may be equivalents and variations.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. In addition, terms including ordinal numbers such as 1st, 2nd, etc. are used to describe various components, and are used only for the purpose of distinguishing one component from other components, and to limit the components. not used For example, without departing from the scope of the present invention, the second component may be referred to as the first component, and similarly, the first component may also be referred to as the second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나, "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다. In addition, when an element is referred to as being “connected” or “connected” to another element, it means that it is logically or physically connected or can be connected. In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, and may be indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, the terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In addition, terms such as "comprises" or "have" described in this specification are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, but one or the It should be understood that the above does not preclude the possibility of addition or existence of other features or numbers, steps, operations, components, parts, or combinations thereof.

또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. In addition, terms such as “…unit”, “…group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software. have.

또한, "일(a 또는an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다. Also, "a or an", "one", "the" and similar terms are otherwise indicated herein in the context of describing the invention (especially in the context of the following claims). or may be used in a sense including both the singular and the plural unless clearly contradicted by context.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는RAM, ROM, EPROM, CD-ROM 또는 기타 광디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다. In addition, embodiments within the scope of the present invention include computer-readable media having or carrying computer-executable instructions or data structures stored thereon. Such computer readable media can be any available media that can be accessed by a general purpose or special purpose computer system. By way of example, such computer-readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer-executable instructions, computer-readable instructions, or data structures. It may include, but is not limited to, a physical storage medium such as any other medium that can be used to store or convey any program code means that has been created, and which can be accessed by a general purpose or special purpose computer system.

이하의 설명 및 특허 청구 범위에서, "네트워크"는 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른(유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다. In the following description and claims, a “network” is defined as one or more data links that enable the transfer of electronic data between computer systems and/or modules. When information is transmitted or provided to a computer system over a network or other (wired, wireless, or a combination of wired or wireless) communication connection, the connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose computer system or special purpose computer system to perform a particular function or group of functions. The computer executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code.

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서, 상기 컴퓨터 시스템들을 대상으로 적용될 수 있다. 본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다. In addition, the present invention relates to personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers. In a network computing environment having various types of computer system configurations including (pager) and the like, it may be applied to the computer systems. The invention may also be practiced in distributed system environments where both local and remote computer systems linked through a network by a wired data link, a wireless data link, or a combination of wired and wireless data links perform tasks. In a distributed system environment, program modules may be located in local and remote memory storage devices.

먼저, 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 시스템을 설명하기 위한 도면이다. 도 2 및 도 3은 본 발명의 실시예에 따른 모바일 메신저에 게시되는 상품판매정보를 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 시스템(이하, '판매정보시스템'으로 축약함)은 판매정보서버(10), 메신저서버(20) 및 사용자장치(30)를 포함한다. First, a system for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention will be described. 1 is a diagram for explaining a system for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention. 2 and 3 are diagrams for explaining product sales information posted on a mobile messenger according to an embodiment of the present invention. Referring to FIG. 1 , a system for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention (hereinafter, abbreviated as 'sales information system') includes a sales information server 10 and a messenger server. (20) and a user device (30).

판매정보서버(10), 메신저서버(20) 및 사용자장치(30)는 네트워크(NW)를 통해 상호간에 데이터를 송수신할 수 있다. 예를 들면, 네트워크(NW)는WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 네트워크를 포함할 수 있으며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 네트워크를 포함할 수도 있다. The sales information server 10 , the messenger server 20 , and the user device 30 may transmit and receive data to and from each other through the network NW. For example, the network NW may include wireless networks such as Wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA), etc., Wired networks such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coaxial Cable), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home) may be included depending on the system implementation method.

아울러, 본 발명의 네트워크(NW)는 예컨대, 다수의 접속네트워크(Access Network) 및 이들을 연결하는 코어네트워크(Core Network)로 이루어진 이동통신네트워크를 포함할 수 있다. 여기서, 접속네트워크는 사용자장치(30)와 직접 접속하여 무선 통신을 수행하는 망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 또한, 전술한 바와 같이, 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 'DU'라 함)와, 무선 유니트(Radio Unit, 이하, 'RU'라 함)로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU를 집중화된 DU와 연결하여 구성할 수도 있다. 또한, 접속네트워크와 함께 모바일 망을 구성하는 코어네트워크는 접속네트워크와 외부 망, 예컨대, 인터넷과 같은 다른 네트워크를 연결하는 역할을 수행한다. In addition, the network NW of the present invention may include, for example, a mobile communication network including a plurality of access networks and a core network connecting them. Here, the access network is a network that directly connects with the user device 30 to perform wireless communication, and includes, for example, a plurality of base stations such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, and the like, and BSC. (Base Station Controller), may be implemented as a base station controller such as RNC (Radio Network Controller). In addition, as described above, the digital signal processing unit and the radio signal processing unit integrated in the base station are respectively a digital unit (hereinafter referred to as 'DU') and a radio unit (hereinafter referred to as 'RU'). ), a plurality of RUs (not shown) may be installed in a plurality of areas, respectively, and the plurality of RUs may be connected to a centralized DU to be configured. In addition, the core network constituting the mobile network together with the access network serves to connect the access network and an external network, for example, other networks such as the Internet.

이러한 코어네트워크는 앞서 설명한 바와 같이, 접속네트워크 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어네트워크는 주파수 간 이동성을 관리하고, 접속네트워크 및 코어네트워크 내의 트래픽 및 다른 네트워크, 예컨대 인터넷과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어네트워크는 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, the core network is a network system that performs a main function for a mobile communication service such as mobility control and switching between access networks, and performs circuit switching or packet switching. Manages and controls packet flow within the network. In addition, the core network manages inter-frequency mobility, and may play a role for interworking with traffic in the access network and the core network and other networks, for example, the Internet. Such a core network may be configured to further include a Serving GateWay (SGW), a PDN GateWay (PGW), a Mobile Switching Center (MSC), a Home Location Register (HLR), a Mobile Mobility Entity (MME), and a Home Subscriber Server (HSS). may be

또한, 본 발명에 따른 네트워크(NW)는 인터넷을 포함할 수 있다. 인터넷은TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 네트워크, 즉 공용 네트워크를 의미한다. 이러한 네트워크(NW)를 통해서 판매정보서버(10), 메신저서버(20) 및 사용자장치(30) 상호 연동하여 본 발명에 따른 판매정보시스템을 구성한다. Also, the network NW according to the present invention may include the Internet. The Internet means an ordinary public network, that is, a public network, in which information is exchanged according to the TCP/IP protocol. The sales information server 10 , the messenger server 20 , and the user device 30 interwork with each other through this network NW to configure the sales information system according to the present invention.

판매정보서버(10)는 기본적으로, 복수의 메신저서버(20)에서 실행 중인 공개채팅방 및 채널 중 적어도 하나에 접속하여 상품판매정보를 수집하고, 이를 사용자장치(30)에 제공한다. 예컨대, 판매정보서버(10)는 도 2에 도시된 바와 같은 텔레그램의 공개채팅방 혹은 도 3에 도시된 텔레그램의 채널에 접속하여 상품판매정보를 수집하고, 이를 가공하여 사용자장치(30)에 제공할 수 있다. 여기서, 판매정보서버(10)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. The sales information server 10 basically collects product sales information by accessing at least one of the public chat rooms and channels running in the plurality of messenger servers 20 , and provides it to the user device 30 . For example, the sales information server 10 collects product sales information by accessing a telegram open chat room as shown in FIG. 2 or a telegram channel shown in FIG. can provide Here, the sales information server 10 is an entity existing on the network, and serves as a web server, a database server, and an application server.

메신저서버(20)는 모바일 메신저 서비스를 제공하는 서버이며, 가입된 회원이 채팅방, 공개채팅방, 채널 등을 개설하고, 참여할 수 있도록 하는 서비스를 제공한다. The messenger server 20 is a server that provides a mobile messenger service, and provides a service that allows registered members to open and participate in chat rooms, public chat rooms, channels, and the like.

사용자장치(30)는 모바일 메신저의 공개채팅방, 채널 등을 통해 구매할 수 있는 상품을 구매하고자 하는 사용자가 사용하는 장치이다. 사용자장치(30)는 판매정보서버(10)에 접속하여 판매정보서버(10)가 제공하는 상품판매정보를 수신하고, 이를 표출하여 사용자가 열람할 수 있도록 한다. 사용자장치(30)는 스마트폰을 대표적으로 예시할 수 있지만, 이에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및IP(Internet Protocol) 단말기 등의 다양한 단말기에 적용될 수 있다. 일례로, 단말기는 휴대폰, PMP(Portable MultimediaPlayer), MID(Mobile Internet Device), 태블릿 PC, 패블릿 PC 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기이거나, 노트북, 퍼스널컴퓨터 등의 고정형 단말이 될 수도 있다. The user device 30 is a device used by a user who wants to purchase a product that can be purchased through an open chat room or channel of a mobile messenger. The user device 30 accesses the sales information server 10 , receives product sales information provided by the sales information server 10 , and displays it so that the user can read it. The user device 30 may be representatively exemplified by a smartphone, but is not limited thereto, and may be applied to various terminals such as all information and communication devices, multimedia terminals, wired terminals, fixed terminals, and Internet Protocol (IP) terminals. For example, the terminal is a mobile terminal having various mobile communication specifications such as a mobile phone, a portable multimedia player (PMP), a mobile Internet device (MID), a tablet PC, a phablet PC, and an information communication device, or a notebook computer, personal computer, etc. It may be a fixed terminal of

다음으로, 본 발명의 실시예에 따른 판매정보서버(10)의 구성에 대해서 보다 상세히 살펴보기로 한다. 도 4는 본 발명의 실시예에 따른 판매정보서버의 구성을 설명하기 위한 블록도이다. 도 5는 본 발명의 실시예에 따른 판매정보서버의 세부적인 구성을 설명하기 위한 블록도이다. 도 4를 참조하면, 판매정보서버(10)는 통신모듈(11), 저장모듈(12) 및 제어모듈(13)을 포함한다. Next, the configuration of the sales information server 10 according to the embodiment of the present invention will be described in more detail. 4 is a block diagram for explaining the configuration of a sales information server according to an embodiment of the present invention. 5 is a block diagram illustrating a detailed configuration of a sales information server according to an embodiment of the present invention. Referring to FIG. 4 , the sales information server 10 includes a communication module 11 , a storage module 12 , and a control module 13 .

통신모듈(11)은 네트워크를 통해 메신저서버(20) 및 사용자장치(30)와 통신하기 위한 것이다. 통신모듈(11)은 메신저서버(20) 및 사용자장치(30)와 데이터를 송수신 할 수 있다. 통신모듈(11)은 네트워크를 통해 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(modem)을 포함할 수 있다. 이러한 통신모듈(11)은 제어모듈(13)로부터 전달 받은 데이터를 네트워크를 통해 전송할 수 있다. 또한, 통신모듈(11)은 네트워크를 통해 수신되는 데이터를 제어모듈(13)로 전달할 수 있다.The communication module 11 is for communicating with the messenger server 20 and the user device 30 through a network. The communication module 11 may transmit/receive data to and from the messenger server 20 and the user device 30 . The communication module 11 may include a modem for modulating a signal to be transmitted and demodulating a received signal to transmit/receive data through a network. The communication module 11 may transmit data received from the control module 13 through the network. In addition, the communication module 11 may transmit data received through the network to the control module 13 .

저장모듈(12)은 판매정보서버(10)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 판매정보서버(10)의 전반적인 동작을 제어하는 프로그램 및 판매정보서버(10)를 부팅시키는 운영체제(OS, Operating System), 추천을 위한 애플리케이션을 등을 저장할 수 있다. 데이터 영역은 판매정보서버(10)의 운영에 따라 발생하는 데이터 및 판매정보서버(10)의 운영에 필요한 데이터가 저장되는 영역이다. 저장모듈(120)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage module 12 serves to store programs and data necessary for the operation of the sales information server 10 , and may be divided into a program area and a data area. The program area may store a program for controlling the overall operation of the sales information server 10 , an operating system (OS) for booting the sales information server 10 , an application for recommendation, and the like. The data area is an area in which data generated according to the operation of the sales information server 10 and data necessary for the operation of the sales information server 10 are stored. Each type of data stored in the storage module 120 may be deleted, changed, or added according to a user's operation.

제어모듈(13)은 판매정보서버(10)의 전반적인 동작 및 판매정보서버(10)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(13)은 CPU(central processing unit), GPU(Graphic Processing Unit), DSP(Digital Signal Processor) 등이 될 수 있다. The control module 13 may control the overall operation of the sales information server 10 and the signal flow between internal blocks of the sales information server 10 , and perform a data processing function of processing data. The control module 13 may be a central processing unit (CPU), a graphic processing unit (GPU), a digital signal processor (DSP), or the like.

도 5를 참조하면, 제어모듈(13)은 수집부(200), 선별부(300) 및 정보제공부(300)를 포함한다. Referring to FIG. 5 , the control module 13 includes a collection unit 200 , a selection unit 300 , and an information providing unit 300 .

모델생성부(100)는 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)을 심층 학습(deep learning)을 통해 생성하고, 생성된 검출모델(DM)을 수집부(200)에 제공한다. 이러한 모델생성부(100)는 하나의 장치에 포함되는 것으로 설명되지만, 별도의 장치로 구성될 수도 있다. The model generation unit 100 generates a detection model (DM), which is a deep learning model (DLM) according to an embodiment of the present invention, through deep learning, and generates the detection model (DM) It is provided to the collection unit 200 . Although the model generator 100 is described as being included in one device, it may be configured as a separate device.

수집부(200)는 통신모듈(11)을 통해 메신저서버(20)에 접속하여 검출모델(DM)을 이용하여 상품판매정보가 포함된 공개채팅방 및 채널을 검출하고, 검출된 공개채팅방 및 채널에서 복수의 상품판매정보를 수집하기 위한 것이다. 여기서, 상품판매정보는 판매 상품, 판매자, 판매량, 판매가격, 할인율, 판매 기간, 최근 판매일, 판매 빈도, 판매 페이지 링크, 결재 페이지 링크 등을 포함한다. The collection unit 200 connects to the messenger server 20 through the communication module 11 and detects a public chat room and channel including product sales information using a detection model (DM), and in the detected open chat room and channel This is to collect a plurality of product sales information. Here, the product sales information includes a product for sale, a seller, a sales volume, a sales price, a discount rate, a sales period, a recent sales date, a sales frequency, a link to a sales page, a link to a payment page, and the like.

선별부(300)는 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 상품판매정보를 선별하고, 선별된 복수의 상품판매정보를 저장모듈(12)에 신규로 추가하거나, 갱신하여 저장한다. The selection unit 300 selects product sales information having a reliability higher than or equal to a predetermined level from a plurality of product sales information, and newly adds or updates the selected plurality of product sales information to the storage module 12 and stores the selected product sales information.

정보제공부(400)는 저장된 복수의 상품판매정보, 즉, 신뢰도가 소정 수준 이상인 상품판매정보를 사용자장치(30)의 요청에 따라 정렬하여 상품판매정보의 목록을 구성하고, 이를 통신모듈(11)을 통해 사용자장치(30)에 제공할 수 있다. The information providing unit 400 organizes a list of product sales information by arranging a plurality of stored product sales information, that is, product sales information having a reliability level higher than or equal to a predetermined level according to the request of the user device 30 , and uses the information in the communication module 11 . ) through the user device 30 can be provided.

이러한 모델생성부(100), 수집부(200), 선별부(300) 및 정보제공부(400)를 포함하는 제어모듈(130)의 동작은 아래에서 더 상세하게 설명될 것이다. The operation of the control module 130 including the model generating unit 100 , the collecting unit 200 , the selecting unit 300 , and the information providing unit 400 will be described in more detail below.

다음으로, 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)의 구성에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)의 구성을 설명하기 위한 블록도이다. 도 7 내지 도 9는 본 발명의 실시예에 따른 심층학습모델(Deep Learning Model: DLM)인 검출모델(DM)의 세부 구성을 설명하기 위한 도면이다. Next, a configuration of a detection model (DM) that is a deep learning model (DLM) according to an embodiment of the present invention will be described. 6 is a block diagram illustrating the configuration of a detection model (DM) that is a deep learning model (DLM) according to an embodiment of the present invention. 7 to 9 are diagrams for explaining the detailed configuration of a detection model (DM) that is a deep learning model (DLM) according to an embodiment of the present invention.

도 6을 참조하면, 검출모델(DM)은 링크의 위치가 표시된 이미지 및 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함하는 분석 데이터가 입력되면, 분석 데이터를 기초로 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부를 나타내는 확률을 출력값으로 산출하기 위한 것이다. 이러한 검출모델(DM)은 이미지검출망(IDN) 및 텍스트검출망(TDN), 결합기(ADD) 및 병합검출망(MDN)을 포함한다. Referring to FIG. 6 , when analysis data including an image indicating the location of a link and a text in which a link is applied and a text to which a link is not applied is input, the detection model DM is disclosed based on the analysis data This is to calculate a probability indicating whether product sales information is included in a chat room or channel as an output value. This detection model (DM) includes an image detection network (IDN), a text detection network (TDN), a combiner (ADD), and a merge detection network (MDN).

이미지검출망(IDN)은 링크(LK)의 영역이 표시된 이미지가 입력되면, 입력된 이미지에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 통해 입력된 이미지에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 제1 검출벡터(DV1)를 산출하여 출력한다. The image detection network (IDN) is a product in a public chat room or channel corresponding to the input image through a plurality of operations in which a plurality of inter-layer weights are applied to the input image when an image with the area of the link (LK) is input. A first detection vector DV1 indicating the probability of whether or not sales information is included is calculated and output.

텍스트검출망(TDN)은 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트가 구분된 텍스트가 입력되면, 입력된 텍스트에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 통해 입력된 텍스트에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 제2 검출벡터(DV2)를 산출하여 출력한다. The text detection network (TDN) is a text that corresponds to the input text through a plurality of operations in which a plurality of inter-layer weights are applied to the input text when a text in which a text to which a link is applied and a text to which a link is not applied are separated is input. A second detection vector DV2 representing the probability of whether product sales information is included in the public chat room or channel is calculated and output.

결합기(ADD)는 제1 검출벡터(DV1)와 제2 검출벡터(DV2)를 병합하여 병합검출벡터(MDV)를 생성하고, 생성된 병합검출벡터(MDV)를 병합검출망(MDN)에 입력한다. The combiner (ADD) generates a merge detection vector (MDV) by merging the first detection vector (DV1) and the second detection vector (DV2), and inputs the generated merge detection vector (MDV) to the merge detection network (MDN). do.

병합검출망(MDN)은 제1 검출벡터(DV1)와 제2 검출벡터(DV2)를 포함하는 병합검출벡터(MDV)가 입력되면, 병합검출벡터(MDV)에 대해 복수의 계층 간 가중치가 적용되는 복수의 연산을 통해 입력된 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값(T/F)을 산출하여 출력한다. When a merge detection vector (MDV) including a first detection vector (DV1) and a second detection vector (DV2) is input to the merge detection network (MDN), a weight between a plurality of layers is applied to the merge detection vector (MDV). An output value (T/F) indicating the probability of whether product sales information is included in a public chat room or channel corresponding to the input analysis data through a plurality of calculations is calculated and output.

도 7을 참조하면, 본 발명의 실시예에 따른 이미지검출망(IDN)은 대표적으로 CNN(Convolutional Neural Network)을 예시할 수 있다. 이미지검출망(IDN)은 순차로 입력층(input layer: IL), 컨벌루션층(convolution layer: CL), 풀링층(pooling layer: PL), 완전연결층(fully-connected layer: FL) 및 출력층(output layer: OL)을 포함한다. 여기서, 컨볼루션층(CL), 풀링층(PL) 및 완전연결층(FL) 각각은 2 이상이 될 수도 있다. 컨볼루션층(CL) 및 풀링층(PL)은 적어도 하나의 특징맵(FM: Feature Map)으로 구성된다. 특징맵(FM)은 이전 계층의 연산 결과에 대해 가중치 및 임계치를 적용한 값을 입력받고, 입력받은 값에 대한 연산을 수행한 결과로 도출된다. 이러한 가중치는 소정 크기의 가중치 행렬인 필터 혹은 커널(W)을 통해 적용된다. 본 발명의 실시예에서 컨볼루션층(CL)의 컨벌루션 연산은 제1 필터(W1)가 사용되며, 풀링층(PL)의 풀링 연산은 제2 필터(W2)가 사용된다. Referring to FIG. 7 , an image detection network (IDN) according to an embodiment of the present invention may typically exemplify a Convolutional Neural Network (CNN). The image detection network (IDN) is sequentially an input layer (IL), a convolution layer (CL), a pooling layer (PL), a fully-connected layer (FL), and an output layer ( output layer: OL). Here, each of the convolutional layer CL, the pooling layer PL, and the fully connected layer FL may be two or more. The convolution layer CL and the pooling layer PL include at least one feature map (FM). The feature map FM is derived as a result of receiving a value applied with a weight and a threshold to the operation result of the previous layer, and performing an operation on the input value. These weights are applied through a filter or kernel W, which is a weight matrix of a predetermined size. In the embodiment of the present invention, the first filter W1 is used for the convolution operation of the convolutional layer CL, and the second filter W2 is used for the pooling operation of the pooling layer PL.

입력층(IL)에 링크(LK)를 포함하는 이미지가 입력되면, 컨볼루션층(CL)은 입력층(IL)의 이미지에 대해 제1 필터(W1)를 이용한 컨벌루션(convolution) 연산 및 활성화함수에 의한 연산을 수행하여 적어도 하나의 제1 특징맵(FM1)을 도출한다. 이어서, 풀링층(VPL)은 컨볼루션층(VCL)의 적어도 하나의 제1 특징맵(FM1)에 대해 제2 필터(W2)를 이용한 풀링(pooling 또는 sub-sampling) 연산을 수행하여 적어도 하나의 제2 특징맵(FM2)을 도출한다. When an image including a link LK is input to the input layer IL, the convolution layer CL performs a convolution operation and an activation function on the image of the input layer IL using the first filter W1. At least one first feature map FM1 is derived by performing an operation by . Next, the pooling layer VPL performs a pooling or sub-sampling operation using the second filter W2 on at least one first feature map FM1 of the convolution layer VCL to obtain at least one A second feature map FM2 is derived.

완결연결층(FL)은 복수의 연산노드(E1 내지 En)로 이루어진다. 완결연결층(FL)의 복수의 연산노드(E1 내지 En)는 풀링층(PL)의 적어도 하나의 제2 특징맵(FM2)에 대해 활성화함수에 의한 연산을 통해 복수의 연산노드값 E[e1, e2, e3, ..., en]을 산출한다. The final connection layer FL includes a plurality of operation nodes E1 to En. The plurality of operation nodes E1 to En of the final connection layer FL are calculated by an activation function for at least one second feature map FM2 of the pooling layer PL, and a plurality of operation node values E[e1 , e2, e3, ..., en].

출력층(OL)은 2개의 출력노드(Ox1, Ox2)를 포함한다. 완전연결층(VFL)의 복수의 연산노드(E1 내지 En) 각각은 가중치(W: weight)를 가지는 채널로 출력층(OL)의 출력노드(Ox1, Ox2)와 연결된다. 다른 말로, 복수의 연산노드(E1 내지 En)의 복수의 연산노드값(e1, e2, e3, ..., en)은 가중치가 적용되어 출력노드(Ox1, Ox2)에 각각 입력된다. 이에 따라, 출력층(OL)의 출력노드(Ox1, Ox2)는 가중치가 적용된 복수의 연산노드값(e1, e2, e3, ..., en)에 대해 활성화함수에 의한 연산을 통해 입력층(IL)으로 입력된 이미지에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률 및 포함되지 않을 확률을 나타내는 제1 검출벡터(DV1)를 산출하여 출력한다. 출력층(OL)의 2개의 출력노드(Ox1, Ox2) 각각은 상품판매정보가 포함될 확률 및 포함되지 않을 확률에 대응한다. 즉, 제1 출력노드(Ox1)는 상품판매정보가 포함될 확률에 대응하며, 제2 출력노드(Ox2)는 상품판매정보가 포함되지 않을 확률에 대응한다. 이에 따라, 제1 출력노드(Ox1)의 출력값은 입력된 이미지에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률을 나타내며, 제2 출력노드(Ox2)의 출력값은 입력된 이미지에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되지 않을 확률을 나타낸다. The output layer OL includes two output nodes Ox1 and Ox2. Each of the plurality of operation nodes E1 to En of the fully connected layer VFL is connected to the output nodes Ox1 and Ox2 of the output layer OL through a channel having a weight (W). In other words, the plurality of operation node values e1, e2, e3, ..., en of the plurality of operation nodes E1 to En are weighted and input to the output nodes Ox1 and Ox2, respectively. Accordingly, the output nodes Ox1, Ox2 of the output layer OL are calculated by the activation function for the plurality of operation node values e1, e2, e3, ..., en to which the weight is applied to the input layer IL ), calculates and outputs a first detection vector DV1 indicating the probability that the product sales information will be included and the probability that the product sales information will not be included in the open chat room or channel corresponding to the input image. Each of the two output nodes Ox1 and Ox2 of the output layer OL corresponds to a probability that product sales information is included and a probability that product sales information is not included. That is, the first output node Ox1 corresponds to the probability that the product sales information is included, and the second output node Ox2 corresponds to the probability that the product sales information is not included. Accordingly, the output value of the first output node Ox1 represents the probability that product sales information is included in the public chat room or channel corresponding to the input image, and the output value of the second output node Ox2 is the public corresponding to the input image. It indicates the probability that product sales information is not included in the chat room or channel.

전술한 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)에서 사용되는 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 컨벌루션층(CL), 완결연결층(FL) 및 출력층(OL)에 이러한 활성화함수 중 어느 하나를 선택하여 적용할 수 있다. Activation functions used in the above-described convolutional layer (CL), final connection layer (FL) and output layer (OL) are Sigmoid, Hyperbolic tangent (tanh), Exponential Linear Unit (ELU), and ReLU. (Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax, etc. may be exemplified. Any one of these activation functions may be selected and applied to the convolutional layer CL, the final connection layer FL, and the output layer OL.

도 8을 참조하면, 텍스트검출망(TDN)은 심층학습모델(Deep learning Model) 중 다층퍼셉트론(MLP: Multilayer Perceptron)이 될 수 있다. 텍스트검출망(TDN)은 복수의 계층(IL, HL, OL)을 포함한다. 이러한 복수의 계층은 입력층(IL: Input Layer), 복수의 은닉 계층(HL: Hidden Layer, HL1 내지HLk) 및 출력층(OL: Output Layer)을 포함한다. 또한, 복수의 계층(IL, HL, OL) 각각은 복수의 노드를 포함한다. 예컨대, 도시된 바와 같이, 입력층(IL)은 n개의 입력노드(i1 ~ in)를 포함하며, 출력층(OL)은 2개의 출력노드(o1, o2)를 포함할 수 있다. 또한, 은닉층(HL)은 k개(HL1, HL2, ..., HLk)가 될 수 있다. 은닉층(HL) 중 제1 은닉층(HL1)은 a개의 은닉노드(h11 내지 h1a)를 포함하고, 제2 은닉층(HL2)은 b개의 은닉노드(h21 내지 h2b)를 포함하고, 제k 은닉층(HLk)은 z개의 은닉노드(hk1 내지 hkz)를 포함할 수 있다. Referring to FIG. 8 , the text detection network (TDN) may be a multilayer perceptron (MLP) among deep learning models. A text detection network (TDN) includes a plurality of layers (IL, HL, OL). The plurality of layers includes an input layer (IL), a plurality of hidden layers (HL1 to HLk), and an output layer (OL). In addition, each of the plurality of layers IL, HL, and OL includes a plurality of nodes. For example, as illustrated, the input layer IL may include n input nodes i1 to in, and the output layer OL may include two output nodes o1 and o2. Also, the number of hidden layers HL may be k (HL1, HL2, ..., HLk). Among the hidden layers HL, the first hidden layer HL1 includes a number of hidden nodes h11 to h1a, the second hidden layer HL2 includes b number of hidden nodes h21 to h2b, and the kth hidden layer HLk ) may include z hidden nodes (hk1 to hkz).

복수의 계층의 복수의 노드 모두는 연산을 가진다. 이러한 연산은 활성화함수를 통해 이루어진다. 특히, 서로 다른 계층의 복수의 노드는 가중치(w: weight)를 가지는 채널(점선으로 표시)로 연결된다. 다른 말로, 어느 하나의 노드의 연산 결과는 가중치가 적용되어 다음 계층 노드의 입력이 된다. 즉, 텍스트검출망(TDN)의 어느 한 계층의 어느 하나의 노드는 이전 계층의 노드로부터의 입력에 가중치를 적용한 값을 입력 받고, 이를 합산하여 활성화 함수를 취하고, 이러한 결과를 다음 계층의 입력으로 전달한다. All of the plurality of nodes of the plurality of layers have operations. These operations are performed through the activation function. In particular, a plurality of nodes of different layers are connected by a channel (indicated by a dotted line) having a weight (w: weight). In other words, the calculation result of one node is weighted and becomes the input of the next layer node. That is, any one node of any one layer of the text detection network (TDN) receives a value obtained by applying a weight to the input from the node of the previous layer, sums them up, takes an activation function, and uses this result as an input of the next layer. transmit

이에 따라, 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트가 구분된 텍스트가 입력되면, 입력된 텍스트에 대해 복수의 계층(IL, HL, OL) 간의 가중치가 적용되는 복수의 연산을 수행하여 입력된 텍스트에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률 및 포함되지 않을 확률을 나타내는 제2 검출벡터(DV2)를 산출하여 출력한다. Accordingly, when text in which text to which links are applied and text to which links are not applied is input, a plurality of operations in which weights between a plurality of layers (IL, HL, OL) are applied to the input text are performed. A second detection vector DV2 indicating a probability that product sales information is included and a probability that product sales information is not included in an open chat room or channel corresponding to the text is calculated and output.

보다 구체적으로 설명하면, 텍스트가 텍스트검출망(TDN)의 입력층(IL)에 입력되면, 입력된 의사 데이터 혹은 예약 데이터에 대해 입력층(IL)으로부터 복수의 은닉층(HL1, HL2, …, HLk) 및 출력층(OL)까지 가중치가 적용되는 복수의 연산을 수행하여 제2 검출벡터(DV2)를 산출한다. 출력층(OL)의 2개의 출력노드(Oy1, Oy2) 각각은 상품판매정보가 포함될 확률 및 포함되지 않을 확률에 대응한다. 즉, 제1 출력노드(Oy1)는 상품판매정보가 포함될 확률에 대응하며, 제2 출력노드(Oy2)는 상품판매정보가 포함되지 않을 확률에 대응한다. 이에 따라, 제1 출력노드(Oy1)의 출력값은 입력된 텍스트에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률을 나타내며, 제2 출력노드(Oy2)의 출력값은 입력된 텍스트에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되지 않을 확률을 나타낸다. More specifically, when text is input to the input layer IL of the text detection network TDN, the plurality of hidden layers HL1, HL2, ..., HLk from the input layer IL for the input pseudo data or reservation data. ) and the output layer OL by performing a plurality of calculations to which weights are applied to calculate the second detection vector DV2. Each of the two output nodes Oy1 and Oy2 of the output layer OL corresponds to a probability that product sales information is included and a probability that product sales information is not included. That is, the first output node Oy1 corresponds to the probability that the product sales information is included, and the second output node Oy2 corresponds to the probability that the product sales information is not included. Accordingly, the output value of the first output node Oy1 represents the probability that product sales information is included in the public chat room or channel corresponding to the input text, and the output value of the second output node Oy2 is the public corresponding to the input text. It indicates the probability that product sales information is not included in the chat room or channel.

도 9를 참조하면, 병합검출망(MDN)은 완전연결층(FCL) 및 검출층(DL)을 포함한다. 완전연결층(FCL)은 복수의 연산노드(f1 내지 f4)를 가지며, 검출층(DL)은 2개의 검출노드(D1, D2)를 포함할 수 있다. 마찬가지로, 병합검출망(MDN)의 복수의 계층의 복수의 노드 모두는 연산을 가진다. 즉, 검출망(DN) 전체에서 어느 한 계층의 어느 하나의 노드는 이전 계층의 노드로부터의 입력에 가중치를 적용한 값을 입력 받고, 이를 합산하여 활성화 함수를 취하고, 이러한 결과를 다음 계층의 입력으로 전달한다. 이러한 가중치를 적용한 연산에 대한 설명은 전술한 이미지검출망(IDN) 및 텍스트검출망(TDN)에 대한 설명과 동일하기 때문에 더 자세한 설명은 생략하기로 한다. Referring to FIG. 9 , the merge detection network (MDN) includes a fully connected layer (FCL) and a detection layer (DL). The fully connected layer FCL may include a plurality of operation nodes f1 to f4 , and the detection layer DL may include two detection nodes D1 and D2 . Likewise, all of the plurality of nodes of the plurality of layers of the merge detection network (MDN) have operations. That is, in the entire detection network (DN), any one node of any one layer receives a value obtained by applying a weight to the input from the node of the previous layer, sums them up, takes an activation function, and uses this result as the input of the next layer. transmit Since the description of the operation to which these weights are applied is the same as the description of the above-described image detection network (IDN) and text detection network (TDN), a more detailed description will be omitted.

제1 검출벡터(DV1)를 및 제2 검출벡터(DV2)를 포함하는 병합검출벡터(MDV)가 병합검출망(MDN)의 완전연결층(FCL)에 입력되면, 입력된 병합검출벡터(MDV)에 대해 완전연결층(FCL) 및 검출층(DL)은 순차로 가중치가 적용되는 복수의 연산을 수행하여 검출값을 산출한다. 여기서, 검출층(DL)의 2개의 검출노드(D1, D2) 각각은 입력된 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률 및 포함되지 않을 확률에 대응한다. 즉, 제1 검출노드(D1)는 상품판매정보가 포함될 확률에 대응하며, 제2 검출노드(D2)는 상품판매정보가 포함되지 않을 확률에 대응한다. 이에 따라, 제1 검출노드(D1)의 출력값은 상품판매정보가 포함될 확률을 나타내며, 제2 검출노드(D2)의 출력값은 상품판매정보가 포함되지 않을 확률을 나타낸다. 예컨대, 검출노드(D1, D2) 각각은 복수의 연산노드값(f1 내지 f4) 각각에 가중치 w=[w1, w2, w3, w4]를 적용한 후, 그 결과에 활성화함수 F를 취하여 출력값을 산출한다. 예컨대, 제1 및 제2 검출노드(D1, D2) 각각의 출력값이 각각 0.753, 0.247이면, 입력된 이미지 및 텍스트를 포함하는 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률이 75%이고, 입력된 이미지 및 텍스트를 포함하는 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되지 않을 확률이 25%임을 나타낸다. 이러한 검출층(DL)의 제1 및 제2 검출노드(D1, D2)의 검출값은 검출망(DN) 전체의 출력값이 된다. 이러한 검출망(DN)의 출력값에 따라 수집부(200)는 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되었는지 여부를 판단할 수 있다. 즉, 전술한 바와 같이, 제1 및 제2 검출노드(D1, D2) 각각의 출력값이 각각 0.753, 0.247이면, 상품판매정보가 포함될 확률이 75%이고, 상품판매정보가 포함되지 않을 확률이 25%이기 때문에 해당 공개채팅방 혹은 채널에 상품판매정보가 포함된 것으로 판단한다. When a merge detection vector (MDV) including the first detection vector (DV1) and the second detection vector (DV2) is input to the fully connected layer (FCL) of the merge detection network (MDN), the input merge detection vector (MDV) ), the fully connected layer FCL and the detection layer DL perform a plurality of operations in which weights are sequentially applied to calculate a detection value. Here, each of the two detection nodes D1 and D2 of the detection layer DL corresponds to a probability that product sales information is included and a probability that product sales information is not included in an open chat room or channel corresponding to the input analysis data. That is, the first detection node D1 corresponds to the probability that the product sales information is included, and the second detection node D2 corresponds to the probability that the product sales information is not included. Accordingly, the output value of the first detection node D1 indicates the probability that the product sales information is included, and the output value of the second detection node D2 indicates the probability that the product sales information is not included. For example, each of the detection nodes D1 and D2 applies a weight w=[w1, w2, w3, w4] to each of the plurality of operation node values f1 to f4, and then takes the activation function F to the result and calculates an output value do. For example, if the output values of the first and second detection nodes D1 and D2 are 0.753 and 0.247, respectively, the probability of including product sales information in a public chat room or channel corresponding to the analysis data including the input image and text is 75 %, indicating that the probability that product sales information is not included in the public chat room or channel corresponding to the analysis data including the input image and text is 25%. The detection values of the first and second detection nodes D1 and D2 of the detection layer DL become output values of the entire detection network DN. According to the output value of the detection network DN, the collection unit 200 may determine whether product sales information is included in the corresponding public chat room or channel. That is, as described above, if the output values of the first and second detection nodes D1 and D2 are 0.753 and 0.247, respectively, the probability that the product sales information is included is 75%, and the probability that the product sales information is not included is 25 %, so it is judged that product sales information is included in the relevant public chat room or channel.

다음으로, 본 발명의 실시예에 따른 사용자장치(30)에 대해서 설명하기로 한다. 도 10은 본 발명의 실시예에 따른 사용자장치의 구성을 설명하기 위한 블록도이다. 도 10을 참조하면, 본 발명의 실시예에 따른 사용자장치(30)는 통신부(31), 입력부(32), 표시부(33), 저장부(34) 및 제어부(35)를 포함한다. Next, the user device 30 according to an embodiment of the present invention will be described. 10 is a block diagram for explaining the configuration of a user device according to an embodiment of the present invention. Referring to FIG. 10 , the user device 30 according to the embodiment of the present invention includes a communication unit 31 , an input unit 32 , a display unit 33 , a storage unit 34 , and a control unit 35 .

통신부(31)는 판매정보서버(10)를 비롯한 다른 장치와 통신을 위한 것으로, 다양한 통신 연결 방식을 통해 통신을 수행한다. 이러한 통신부(31)는 다양한 통신 연결 방식의 통신 기능 중 어느 하나를 선택하여 통신할 수 있다. 통신부(31)는 하나의 모듈 혹은 복수의 모듈로 구현될 수도 있다. 예컨대, 통신부(31)는 WCDMA, LTE, LTE-A, 5G 등의 표준에 따라 기지국을 통해 네트워크에 접속하는 광대역이동통신 방식, Wi-Fi(wireless fidelity)를 이용하는 WLAN(Wireless Local Area Network) 방식에 따라 접속포인트(AP: Access Point)를 통해 네트워크에 접속하여 통신을 수행하는 무선근거리통신 방식 등을 이용할 수 있다. 통신부(31)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등으로 구성될 수 있다. 제어부(35)로부터 전달 받은 데이터, 예컨대, 판매상품정보를 검색하기 위한 검색어, 혹은 정렬 조건 등을 무선 신호로 변환하여 무선 채널을 통해 전송할 수 있다. 또한, 통신부(31)는 무선 채널을 통해 데이터, 예컨대, 판매상품정보의 목록을 포함하는 무선 신호를 수신하여 제어부(35)로 전달할 수 있다. The communication unit 31 is for communication with other devices including the sales information server 10, and performs communication through various communication connection methods. The communication unit 31 may select and communicate with any one of communication functions of various communication connection methods. The communication unit 31 may be implemented as one module or a plurality of modules. For example, the communication unit 31 is a wireless local area network (WLAN) method using a broadband mobile communication method that accesses a network through a base station according to standards such as WCDMA, LTE, LTE-A, 5G, and wireless fidelity (Wi-Fi) method. Accordingly, a wireless short-range communication method for performing communication by accessing a network through an access point (AP) may be used. The communication unit 31 may include an RF transmitter for up-converting and amplifying a frequency of a transmitted signal, and an RF receiver for low-noise amplifying and down-converting a received signal. The data transmitted from the controller 35, for example, a search word for searching for sale product information, or an arrangement condition, may be converted into a wireless signal and transmitted through a wireless channel. In addition, the communication unit 31 may receive data, for example, a wireless signal including a list of sales product information through a wireless channel, and transmit it to the control unit 35 .

입력부(32)는 사용자장치(30)를 제어하기 위한 사용자의 키 조작을 입력 받고 입력 신호를 생성하여 제어부(35)로 전달한다. 입력부(32)는 전원 on/off를 위한 전원 키, 숫자 키, 방향키 중 어느 하나를 포함할 수 있으며, 사용자장치(30)의 일면에 소정의 기능키로 형성될 수 있다. 표시부(33)가 터치스크린으로 이루어진 경우, 입력부(32)의 각 종 키들의 기능이 표시부(33)에서 이루어질 수 있으며, 터치스크린만으로 모든 기능을 수행할 수 있는 경우, 입력부(32)는 생략될 수도 있다. The input unit 32 receives a user's key manipulation for controlling the user device 30 , generates an input signal, and transmits it to the control unit 35 . The input unit 32 may include any one of a power key, a number key, and a direction key for power on/off, and may be formed as a predetermined function key on one surface of the user device 30 . When the display unit 33 is formed of a touch screen, the functions of various keys of the input unit 32 may be performed on the display unit 33, and when all functions can be performed only with the touch screen, the input unit 32 may be omitted. may be

표시부(33)는 사용자장치(30)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(33)는 사용자장치(30)의 부팅 화면, 대기 화면, 메뉴 화면 등의 각종 화면을 출력하는 기능을 수행한다. 이러한 표시부(33)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. 한편, 표시부(33)는 터치스크린으로 구현될 수 있다. 이러한 경우, 표시부(33)은 터치센서를 포함하며, 제어부(35)는 터치센서를 통해 사용자의 터치 입력을 감지할 수 있다. 터치센서는 정전용량 방식(capacitive overlay), 압력식, 저항막 방식(resistive overlay), 적외선 감지 방식(infrared beam) 등의 터치 감지 센서로 구성되거나, 압력 감지 센서(pressure sensor)로 구성될 수도 있다. 상기 센서들 이외에도 물체의 접촉 또는 압력을 감지할 수 있는 모든 종류의 센서 기기가 본 발명의 터치센서로 이용될 수 있다. 터치센서는 사용자의 터치 입력을 감지하고, 감지 신호를 발생시켜 제어부(35)로 전송한다. 이러한 감지 신호에는 사용자가 터치를 입력한 좌표 데이터가 포함될 수 있다. 사용자가 터치 위치 이동 동작을 입력한 경우에 터치센서는 터치 위치 이동 경로의 좌표 데이터를 포함한 감지 신호를 발생시켜 제어부(35)로 전송할 수 있다. The display unit 33 visually provides a menu of the user device 30 , input data, function setting information, and other various information to the user. The display unit 33 performs a function of outputting various screens such as a booting screen, a standby screen, and a menu screen of the user device 30 . The display unit 33 may be formed of a liquid crystal display (LCD), an organic light emitting diode (OLED), an active matrix organic light emitting diode (AMOLED), or the like. Meanwhile, the display unit 33 may be implemented as a touch screen. In this case, the display unit 33 may include a touch sensor, and the control unit 35 may sense a user's touch input through the touch sensor. The touch sensor may be composed of a touch sensing sensor such as a capacitive overlay, a pressure type, a resistive overlay, or an infrared beam, or may be composed of a pressure sensor. . In addition to the above sensors, all kinds of sensor devices capable of sensing contact or pressure of an object may be used as the touch sensor of the present invention. The touch sensor detects a user's touch input, generates a detection signal, and transmits it to the controller 35 . The detection signal may include coordinate data input by the user. When the user inputs the touch position movement motion, the touch sensor may generate a detection signal including coordinate data of the touch position movement path and transmit it to the controller 35 .

저장부(34)는 사용자장치(30)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 사용자장치(30)의 전반적인 동작을 제어하는 프로그램 및 사용자장치(30)를 부팅시키는 운영체제(OS, Operating System), 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 사용자장치(30)의 사용에 따라 발생하는 데이터가 저장되는 영역이다. 또한, 저장부(34)는 사용자장치(30)의 동작에 따라 발생되는 각 종 데이터 등을 저장할 수 있다. The storage unit 34 serves to store programs and data necessary for the operation of the user device 30 , and may be divided into a program area and a data area. The program area may store a program for controlling the overall operation of the user device 30 , an operating system (OS) for booting the user device 30 , an application program, and the like. The data area is an area in which data generated according to the use of the user device 30 is stored. Also, the storage unit 34 may store various types of data generated according to the operation of the user device 30 .

제어부(35)는 사용자장치(30)의 전반적인 동작 및 사용자장치(30)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(35)는 CPU(Central Processing Unit), AP(Application Processor), GPU(graphic processing unit) 등이 될 수 있다. The controller 35 may control the overall operation of the user device 30 and the signal flow between internal blocks of the user device 30 , and may perform a data processing function of processing data. The controller 35 may be a central processing unit (CPU), an application processor (AP), a graphic processing unit (GPU), or the like.

제어부(35)는 사용자에 의해 입력부(32)를 통해 구매하고자 하는 상품을 검색하기 위한 검색어 및 해당 상품에 대한 상품판매정보를 정렬하는 정렬 조건이 입력되면, 입력된 검색어, 정렬 조건 등을 통신부(31)를 통해 판매정보서버(10)로 전송할 수 있다. 이에 따라, 제어부(35)는 판매정보서버(10)로부터 검색어 및 정렬 조건에 상응하는 상품판매정보의 목록을 수신하고, 수신된 상품판매정보의 목록을 표시부(33)를 통해 표시할 수 있다. When a search word for searching for a product to be purchased and an alignment condition for arranging product sales information for the product are input by the user through the input unit 32, the control unit 35 transmits the inputted search word, sort condition, etc. to the communication unit ( 31) through the sales information server 10 . Accordingly, the control unit 35 may receive a list of product sales information corresponding to the search word and the sort condition from the sales information server 10 , and display the list of the received product sales information through the display unit 33 .

다음으로, 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 방법에 대해서 설명하기로 한다. 도 11은 본 발명의 실시예에 따른 모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 방법을 설명하기 위한 흐름도이다. Next, a method for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention will be described. 11 is a flowchart illustrating a method for collecting and providing product sales information posted on a mobile messenger according to an embodiment of the present invention.

도 11을 참조하면, 수집부(200)는 S110 단계에서 통신모듈(11)을 통해 메신저서버(20)에 접속한 후, 학습이 완료된 검출모델(DM)을 이용하여 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출한다. 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출하는 방법에 대해서는 아래에서 더 상세하게 설명될 것이다. Referring to FIG. 11 , the collection unit 200 connects to the messenger server 20 through the communication module 11 in step S110 and uses a detection model (DM) that has completed learning to include a plurality of products including sales information. Detect public chat rooms and channels of A method of detecting a plurality of open chat rooms and channels including product sales information will be described in more detail below.

다음으로, 수집부(200)는 S120 단계에서 검출된 복수의 공개채팅방 및 채널로부터 복수의 상품판매정보를 수집한다. 여기서, 상품판매정보는 판매 상품, 판매자, 판매량, 판매가격, 할인율, 판매 기간, 최근 판매일, 판매 빈도, 판매 페이지 링크, 결재 페이지 링크 등을 포함한다. Next, the collection unit 200 collects a plurality of product sales information from the plurality of public chat rooms and channels detected in step S120 . Here, the product sales information includes a product for sale, a seller, a sales volume, a sales price, a discount rate, a sales period, a recent sales date, a sales frequency, a link to a sales page, a link to a payment page, and the like.

다음으로, 선별부(300)는 S130 단계에서 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별한다. 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 구체적인 절차는 아래에서 더 상세하게 설명될 것이다. Next, in step S130 , the selection unit 300 selects a plurality of product sales information whose reliability is greater than or equal to a predetermined level from the plurality of product sales information. A specific procedure for selecting a plurality of product sales information having a reliability level equal to or higher than a predetermined level will be described in more detail below.

이어서, 선별부(300)는 S140 단계에서 선별된 복수의 상품판매정보를 저장모듈(12)에 신규로 추가하거나, 갱신하여 저장한다. 즉, 선별부(300)는 선별된 상품판매정보를 저장모듈(12)에 저장된 상품판매정보와 비교하여 신규로 추가하거나, 갱신한다. 예컨대, 저장모듈(12)에 기존의 상품판매정보가 존재하는 경우, 선별부(300)는 판매가격이 변경된 경우 최신의 판매가격으로 갱신한다. 또한, 선별부(300)는 신규로 판매한 수량만큼 기존에 판매량에 누적한 수량으로 판매량을 갱신한다. 그리고 선별부(300)는 기 저장된 최근 판매일을 가장 최근의 판매일로 갱신한다. 다른 예로, 저장모듈(12)에 기존의 상품판매정보가 존재하지 않는 경우, 선별부(300)는 선별된 상품판매정보를 저장모듈(12)에 신규로 추가한다. Next, the selection unit 300 adds or updates the plurality of product sales information selected in step S140 to the storage module 12 and stores it. That is, the selection unit 300 compares the selected product sales information with the product sales information stored in the storage module 12 to newly add or update the product sales information. For example, when the existing product sales information exists in the storage module 12 , the selection unit 300 updates the sales price with the latest sales price when the sales price is changed. In addition, the selection unit 300 updates the sales volume by the amount accumulated in the existing sales volume by the amount newly sold. In addition, the selection unit 300 updates the pre-stored most recent sale date as the most recent sale date. As another example, when there is no existing product sales information in the storage module 12 , the selection unit 300 newly adds the selected product sales information to the storage module 12 .

그런 다음, 정보제공부(400)는 S150 단계에서 사용자장치(30)의 요청에 따라 저장된 복수의 판매자의 판매 정보를 추천 목록으로 제공할 수 있다. 예컨대, 정보제공부(400)는 사용자장치(30)의 요청, 즉, 정렬 조건에 따라 복수의 상품판매정보를 판매가격, 할인율, 판매량, 최근 판매일 및 판매 빈도를 포함하는 복수의 파라미터 중 적어도 하나에 대해 오름차순 혹은 내림차순으로 정렬하여 상품판매정보의 목록을 구성하고, 이를 제공할 수 있다. 특히, 복수의 파라미터를 이용하여 정렬하는 경우, 사용자장치(30)의 요청에 따라 파라미터에 대해 우선순위를 설정하고, 설정된 우선순위에 따라 상품판매정보를 정렬하여 상품판매정보의 목록을 구성할 수 있다. 예컨대, 첫째로, 판매 가격이 낮은 순서에서 따라 상품판매정보를 정렬하고, 판매 가격이 동일한 경우, 둘째로, 판매량이 많은 순서로 상품판매정보를 정렬하고, 판매량이 동일한 경우, 셋째로, 상품판매정보를 최근 판매일이 가까운 시점의 순서로 정렬하여 추천 목록을 구성할 수 있다. Then, in step S150 , the information providing unit 400 may provide the sales information of a plurality of sellers stored according to the request of the user device 30 as a recommendation list. For example, the information providing unit 400 provides a plurality of product sales information according to a request of the user device 30 , that is, an arrangement condition, at least among a plurality of parameters including a selling price, a discount rate, a sales volume, a recent sales date, and a sales frequency. A list of product sales information may be configured and provided by sorting in ascending or descending order for one. In particular, in the case of sorting using a plurality of parameters, a list of product sales information can be configured by setting a priority for the parameter according to the request of the user device 30 and arranging the product sales information according to the set priority. have. For example, firstly, the product sales information is sorted in the order of the lowest selling price, if the sales price is the same, secondly, the product sales information is sorted in the order of the highest sales, and if the sales are the same, thirdly, the product sales A list of recommendations can be organized by arranging the information in the order of the most recent sales date.

다음으로, 전술한 S110 단계의 검출모델을 이용하여 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출하는 방법에 대해서 보다 상세하게 설명하기로 한다. 검출모델을 이용하여 우선 검출모델에 대한 심층 학습이 이루어져야 한다. 이에 따라, 검출모델(DM)의 심층 학습 방법에 대해서 먼저 설명하기로 한다. 도 12는 본 발명의 실시예에 따른 심층학습모델인 검출모델에 대한 심층 학습 방법을 설명하기 위한 흐름도이다. Next, a method of detecting a plurality of open chat rooms and channels including product sales information using the detection model of step S110 described above will be described in more detail. First, deep learning of the detection model should be performed using the detection model. Accordingly, a deep learning method of the detection model DM will be described first. 12 is a flowchart for explaining a deep learning method for a detection model that is a deep learning model according to an embodiment of the present invention.

도 12의 흐름도의 설명에 앞서, 본 발명의 실시예에서 모델생성부(100)는 다음의 수학식 1과 같은 손실 함수를 통해 학습을 수행한다. Prior to the description of the flowchart of FIG. 12 , in an embodiment of the present invention, the model generator 100 performs learning through a loss function as shown in Equation 1 below.

Figure pat00007
Figure pat00007

수학식 1에서, CE는 손실을 의미한다. λ는 하이퍼파라미터이다. λ는 최소값과 최대값의 범위를 가질 수 있다. 예컨대, 0.5 < λ ≤ 2의 범위를 가질 수 있다. i는 학습 데이터에 대응하는 인덱스이다. Li는 i번째 학습 데이터에 대응하는 레이블이다. 또한, DV1i는 i번째 학습 데이터에 대응하는 이미지검출망(IDN)의 출력인 제1 검출벡터이고, DV2i는 i번째 학습 데이터에 대응하는 텍스트검출망(TDN)의 출력인 제2 검출벡터이다. 그리고 Di는 i번째 학습 데이터에 대응하는 병합검출망(MDN)의 출력값을 나타낸다. In Equation 1, CE means loss. λ is a hyperparameter. λ may have a range of a minimum value and a maximum value. For example, it may have a range of 0.5 < λ ≤ 2. i is an index corresponding to the training data. Li is a label corresponding to the i-th training data. In addition, DV1i is a first detection vector that is an output of the image detection network (IDN) corresponding to the i-th training data, and DV2i is a second detection vector that is an output of the text detection network (TDN) corresponding to the i-th training data. And Di denotes an output value of the merge detection network (MDN) corresponding to the i-th training data.

도 12를 참조하면, 모델생성부(100)는 S210 단계에서 학습 데이터를 마련한다. 여기서, 학습 데이터는 예컨대, 도 2 및 도 3에 도시된 바와 같이, 공개채팅방 혹은 채널의 이미지에 링크(LK)의 영역이 구분되어 표시된 이미지와, 공개채팅방 혹은 채널의 텍스트에서 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함한다. Referring to FIG. 12 , the model generator 100 prepares training data in step S210 . Here, the learning data is, for example, as shown in FIGS. 2 and 3, an image in which the area of the link (LK) is divided and displayed in the image of the public chat room or channel, and the text to which the link is applied in the text of the public chat room or channel, and Non-linked text contains delimited text.

그런 다음, 모델생성부(100)는 S220 단계에서 하이퍼파라미터 λ의 값을 설정한다. 모델생성부(100)는 학습의 초기에는 초기값(예컨대, 0.5)부터 시작하여 다른 학습 데이터를 이용하여 학습 절차가 반복될 때마다 하이퍼파라미터 λ의 값을 소정 수치 증가시켜 설정하고, 최대값(예컨대, 2)에 도달하면 학습 절차가 반복되는 경우에도 최대값을 그대로 유지한다. 이는 과적합을 방지하기 위한 것이다. Then, the model generation unit 100 sets the value of the hyperparameter λ in step S220. The model generator 100 increases the value of the hyperparameter λ by a predetermined numerical value each time the learning procedure is repeated using other learning data starting from the initial value (eg, 0.5) at the beginning of the learning, and sets the maximum value ( For example, when 2) is reached, the maximum value is maintained even when the learning procedure is repeated. This is to prevent overfitting.

다음으로, 모델생성부(100)는 S230 단계에서 학습 데이터에 레이블을 설정한다. 모델생성부(100)는 원핫인코딩벡터(one-hot encoding vector)를 적용하여 학습 데이터에 대한 레이블을 설정한다. 모델생성부(100)는 예컨대, 학습 데이터 중 즉, 상품판매정보가 포함된 공개채팅방 혹은 채널의 이미지 및 텍스트인 실험군의 경우, 레이블은 [1, 0]로 설정되며, 상품판매정보가 포함되지 않은 공개채팅방 혹은 채널의 이미지 및 텍스트인 대조군의 경우, 레이블은 [0, 1]로 설정된다. Next, the model generation unit 100 sets a label on the training data in step S230. The model generator 100 sets a label for the training data by applying a one-hot encoding vector. The model generating unit 100, for example, in the case of the experimental group that is an image and text of a public chat room or channel including product sales information among the learning data, the label is set to [1, 0], and product sales information is not included. In the case of a control group that is an image and text of a non-public chat room or channel, the label is set to [0, 1].

이어서, 모델생성부(100)가 학습 데이터를 검출모델(DM)에 입력하면, 검출모델(DM)은 S240 단계에서 입력된 학습 데이터에 대해 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 이미지검출망(IDN) 및 텍스트검출망(TDN) 각각이 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)를 산출하고, 결합기(ADD)가 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)를 병합하고, 병합검출망(MDN)이 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)가 병합된 병합검출벡터(MDV)로부터 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값을 산출한다. Then, when the model generator 100 inputs the training data to the detection model DM, the detection model DM performs a plurality of calculations in which weights between a plurality of layers are applied to the training data input in step S240. The image detection network (IDN) and the text detection network (TDN) respectively calculate the first detection vector (DV1) and the second detection vector (DV2), and the combiner (ADD) the first detection vector (DV1) and the second detection Merging vectors (DV2), merge detection network (MDN) includes product sales information in public chat rooms or channels from merge detection vector (MDV) in which first detection vector (DV1) and second detection vector (DV2) are merged It calculates an output value indicating the probability of whether or not it is.

그러면, 모델생성부(100)는 S250 단계에서 수학식 1과 같은 손실 함수를 통해 출력값과 레이블의 차이인 손실이 최소가 되도록 역전파(Back-propagation) 알고리즘을 통해 검출모델(DM)의 가중치(w)를 수정하는 최적화를 수행한다. 전술한 S210 단계 내지 S250 단계는 복수의 서로 다른 복수의 학습 데이터를 이용하여 반복하여 수행된다. 이러한 반복은 평가 지표를 통해 정확도를 산출하고, 원하는 정확도에 도달할 때까지 이루어질 수 있다. Then, in step S250, the model generator 100 uses a loss function as in Equation 1 to minimize the loss, which is the difference between the output value and the label, through a back-propagation algorithm to minimize the weight ( Perform optimization to correct w). Steps S210 to S250 described above are repeatedly performed using a plurality of different pieces of learning data. This iteration may be performed until the accuracy is calculated through the evaluation index, and a desired accuracy is reached.

다음으로, 전술한 바와 같이, 검출모델(DM)에 대한 학습이 완료되면, 전술한 S110 단계와 같이, 수집부(200)는 검출모델(DM)을 이용하여 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출할 수 있다. 이러한 방법에 대해서 설명하기로 한다. 도 13은 본 발명의 실시예에 따른 검출모델을 통해 상품판매정보가 포함된 복수의 공개채팅방 및 채널을 검출하는 방법을 설명하기 위한 흐름도이다. Next, as described above, when the learning of the detection model (DM) is completed, as in the above-described step S110, the collection unit 200 uses the detection model (DM) to disclose a plurality of products including product sales information. Chat rooms and channels can be detected. These methods will be described. 13 is a flowchart for explaining a method of detecting a plurality of public chat rooms and channels including product sales information through a detection model according to an embodiment of the present invention.

도 13을 참조하면, 수집부(200)는 S310 단계에서 통신모듈(11)을 통해 메신저서버(20)에 접속하여 개설된 공개채팅방 및 채널에서 링크(LK), 이미지 및 텍스트를 검출한다. 그런 다음, 수집부(200)는 S320 단계에서 이미지에 링크(LK)의 영역을 표시하고, 텍스트에서 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트를 구분하여, 공개채팅방 혹은 채널의 이미지에 링크(LK)의 영역이 구분되어 표시된 이미지와, 공개채팅방 혹은 채널의 텍스트에서 링크가 적용된 텍스트와 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함하는 분석 데이터를 생성한다. 그런 다음, 수집부(200)는 S330 단계에서 분석 데이터를 검출모델(DM)에 입력한다. Referring to FIG. 13 , the collection unit 200 connects to the messenger server 20 through the communication module 11 in step S310 and detects a link (LK), an image, and a text in an open open chat room and channel. Then, the collection unit 200 displays the area of the link (LK) on the image in step S320, distinguishes the text to which the link is applied from the text to which the link is not applied in the text, and links ( LK) area is divided and displayed, and analysis data including text in which a link is applied and a text to which a link is not applied are separated from the text of a public chat room or channel. Then, the collection unit 200 inputs the analysis data to the detection model DM in step S330.

그러면, 검출모델(DM)은 S340 단계에서 입력된 분석 데이터에 대해 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 이미지검출망(IDN) 및 텍스트검출망(TDN) 각각이 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)를 산출하고, 결합기(ADD)가 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)를 병합하고, 병합검출망(MDN)이 제1 검출벡터(DV1) 및 제2 검출벡터(DV2)가 병합된 병합검출벡터(MDV)로부터 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값을 산출한다. Then, the detection model DM performs a plurality of calculations in which weights between a plurality of layers are applied to the analysis data input in step S340 so that each of the image detection network (IDN) and the text detection network (TDN) is the first detection vector (DV1) and the second detection vector (DV2) are calculated, the combiner (ADD) merges the first detection vector (DV1) and the second detection vector (DV2), and the merge detection network (MDN) merges the first detection vector From the merged detection vector (MDV) in which (DV1) and the second detection vector (DV2) are merged, an output value indicating the probability of whether product sales information is included in the corresponding open chat room or channel is calculated.

그러면, 수집부(200)는 S350 단계에서 산출된 출력값이 나타내는 확률에 따라 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부를 판단한다. 예컨대, 출력값이 0.753, 0.247이면, 입력된 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함될 확률이 75%이고, 입력된 분석 데이터에 대응하는 공개채팅방 혹은 채널에 상품판매정보가 포함되지 않을 확률이 25%임을 나타낸다. 따라서 수집부(200)는 상품판매정보가 포함될 확률이 더 높기 때문에 공개채팅방 혹은 채널에 상품판매정보가 포함된 것으로 판단한다. Then, the collection unit 200 determines whether product sales information is included in the corresponding open chat room or channel according to the probability indicated by the output value calculated in step S350 . For example, if the output values are 0.753 and 0.247, the probability that product sales information will be included in the public chat room or channel corresponding to the input analysis data is 75%, and product sales information is not included in the public chat room or channel corresponding to the input analysis data. This indicates that there is a 25% chance that it will not. Therefore, the collection unit 200 determines that the product sales information is included in the public chat room or channel because there is a higher probability that the product sales information is included.

다음으로, 전술한 S130 단계의 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 상품판매정보를 선별하는 방법에 대해 보다 상세하게 설명하기로 한다. 도 14는 본 발명의 실시예에 따른 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 방법을 설명하기 위한 흐름도이다. 도 15는 본 발명의 실시예에 따른 복수의 상품판매정보를 벡터 공간에 임베딩하고 클러스터링하는 방법을 설명하기 위한 도면이다. 도 16은 본 발명의 실시예에 따른 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 상품판매정보를 선별하는 방법을 설명하기 위한 도면이다. Next, a method of selecting product sales information having a reliability level greater than or equal to a predetermined level from the plurality of product sales information in step S130 will be described in more detail. 14 is a flowchart for explaining a method of selecting a plurality of product sales information having a reliability level equal to or higher than a predetermined level from a plurality of product sales information according to an embodiment of the present invention. 15 is a diagram for explaining a method of embedding and clustering a plurality of product sales information in a vector space according to an embodiment of the present invention. FIG. 16 is a diagram for explaining a method of selecting product sales information having a reliability higher than or equal to a predetermined level from a plurality of product sales information according to an embodiment of the present invention.

도 14를 참조하면, 선별부(300)는 S410 단계에서 복수의 상품판매정보를 소정의 벡터공간(VS)에 임베딩(embedding)하여 복수의 상품판매정보벡터를 생성한다. 상품판매정보벡터는 판매 상품의 판매가격, 할인율, 판매량, 최근 판매일을 나타내는 2차원(dimension)의 2차(rank) 텐서(tensor)이다. 상품판매정보벡터를 생성한 후, 선별부(300)는 S420 단계에서 벡터공간(VS) 상에서 무작위로(randomly) 복수의 상품판매정보벡터 중 소정 수의 클러스터의 중심벡터를 선택한다. Referring to FIG. 14 , the selection unit 300 generates a plurality of product sales information vectors by embedding a plurality of product sales information in a predetermined vector space VS in step S410 . The product sales information vector is a two-dimensional (rank) rank tensor representing the selling price, discount rate, sales volume, and recent sales date of the product to be sold. After generating the product sales information vector, the selection unit 300 randomly selects a center vector of a predetermined number of clusters from among a plurality of product sales information vectors in the vector space VS in step S420 .

각 클러스터의 중심벡터가 선택되면, 선별부(300)는 S430 단계에서 도 15에 도시된 바와 같은 벡터공간(VS) 상에서 복수의 상품판매정보벡터를 소정 수의 클러스터의 중심벡터와의 거리에 따라 클러스터링하여 복수의 클러스터(CL1, CL2, CL3)를 생성한다. 즉, S430 단계에서 선별부(300)는 도 15에 도시된 바와 같은 벡터공간(VS) 상에서 복수의 상품판매정보벡터의 소정 수의 클러스터의 중심벡터 각각에 대한 거리를 산출하고, 복수의 상품판매정보벡터 각각을 클러스터의 중심벡터와의 거리가 최소인 클러스터에 포함시킨다. When the center vector of each cluster is selected, the sorting unit 300 selects a plurality of product sales information vectors in the vector space VS as shown in FIG. 15 in step S430 according to a distance from the center vector of a predetermined number of clusters. A plurality of clusters CL1 , CL2 , and CL3 are generated by clustering. That is, in step S430 , the selection unit 300 calculates a distance to each of the center vectors of a predetermined number of clusters of a plurality of product sales information vectors in the vector space VS as shown in FIG. 15 , and sells a plurality of products. Each information vector is included in the cluster with the smallest distance from the center vector of the cluster.

이어서, 선별부(300)는 S440 단계에서 생성된 복수의 클러스터(CL1, CL2, CL3) 별로 클러스터의 중심벡터를 다시 선정한다. 예컨대, S440 단계에서 선별부(300)는 각 클러스터의 복수의 상품판매정보벡터 중 중간값을 가지는 상품판매정보벡터를 중심벡터로 선정할 수 있다. 그런 다음, 선별부(300)는 S450 단계에서 모든 상품판매정보벡터가 앞서(S440) 다시 선정된 클러스터의 중심벡터와의 거리가 최소인 클러스터에 포함되었는지 여부를 확인한다. Next, the selector 300 selects the center vector of the cluster again for each of the plurality of clusters CL1 , CL2 , and CL3 generated in step S440 . For example, in step S440 , the selection unit 300 may select a product sales information vector having a median value among a plurality of product sales information vectors of each cluster as a central vector. Then, in step S450 , the selection unit 300 checks whether all of the product sales information vectors are included in the cluster having the minimum distance from the center vector of the previously selected cluster again ( S440 ).

S450 단계의 확인 결과, 모든 상품판매정보벡터가 앞서(S440) 다시 산출된 클러스터의 중심벡터와의 거리가 최소인 클러스터에 포함되어 있지 않으면, 선별부(300)는 전술한 S430 단계 내지 S450 단계를 반복한다. 다른 말로, 선별부(300)는 다음의 수학식 2가 최소가 될 때까지 S430 단계 내지 S450 단계를 반복한다. As a result of checking in step S450, if all of the product sales information vectors are not included in the cluster having the minimum distance from the center vector of the previously calculated cluster again (S440), the sorting unit 300 performs steps S430 to S450 described above. Repeat. In other words, the selection unit 300 repeats steps S430 to S450 until the following Equation 2 becomes the minimum.

Figure pat00008
Figure pat00008

수학식 2에서, k는 클러스터의 인덱스이고, Ck는 k번째 클러스터의 중심벡터를 나타낸다. n은 상품판매정보벡터의 인덱스이고, Sn은 n번째 상품판매정보벡터를 의미한다. fnk는 n번째 상품판매정보벡터가 k번째 클러스터에 속하면 1, 그렇지 않으면 0을 가지는 플래그 변수이다. In Equation 2, k is the index of the cluster, and Ck is the center vector of the k-th cluster. n denotes an index of the product sales information vector, and Sn denotes the nth product sales information vector. fnk is a flag variable having 1 if the nth product sales information vector belongs to the kth cluster, and 0 otherwise.

반면, S450 단계의 확인 결과, 모든 상품판매정보벡터가 앞서(S440) 다시 선정된 클러스터의 중심벡터와의 거리가 최소인 클러스터에 포함되어 있으면, 선별부(300)는 S460 단계에서 현재의 클러스터를 최적화된 클러스터로 결정한다. On the other hand, as a result of checking in step S450, if all the product sales information vectors are included in the cluster having the minimum distance from the center vector of the previously selected cluster again (S440), the selection unit 300 selects the current cluster in step S460. Determine the optimized cluster.

그런 다음, 선별부(300)는 S470 단계에서 최적화된 복수의 클러스터 각각에서 컨벡스 헐(Convex Hull)을 도출한다. 예컨대, 도 16에 최적화된 어느 하나의 클러스터가 도시되었다. 도시된 바와 같이, 선별부(300)는 클러스터에 포함된 복수의 상품판매정보벡터 중 복수의 컨벡스(Convex)를 선택하여 컨벡스 헐(Convex Hull)을 구성할 수 있다. 이어서, 선별부(300)는 S480 단계에서 컨벡스 헐을 구성하는 다각형의 무게 중심을 해당 클러스터의 중심으로 설정한다. 예컨대, 선별부(300)는 도 16에 도시된 바와 같이, 컨벡스 헐을 구성하는 7각형의 무게 중심을 클러스터의 중심으로 설정할 수 있다. 클러스터의 중심에는 상품판매정보벡터가 존재하지 않을 수도 있지만, 클러스터의 중심은 상품판매정보벡터와 동일한 벡터값으로 표현될 수 있다. Then, the selector 300 derives a convex hull from each of the plurality of clusters optimized in step S470 . For example, one optimized cluster is shown in FIG. 16 . As shown, the selector 300 may configure a convex hull by selecting a plurality of convex from among a plurality of product sales information vectors included in the cluster. Next, the selection unit 300 sets the center of gravity of the polygon constituting the convex hull as the center of the cluster in step S480 . For example, the selection unit 300 may set the center of gravity of the hexagon constituting the convex hull as the center of the cluster, as shown in FIG. 16 . Although the product sales information vector may not exist at the center of the cluster, the center of the cluster may be expressed as the same vector value as the product sales information vector.

이어서, 선별부(300)는 S490 단계에서 복수의 클러스터 각각에서 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실을 구하고, 손실의 평균 및 표준 편차로부터 임계손실(T)을 산출한다. 보다 자세하게 설명하면, 선별부(300)는 다음의 수학식 3에 따라 클러스터의 중심(Mk)과 복수의 상품판매정보벡터(Sn)와의 차이를 나타내는 손실(E)을 산출한다. Next, in step S490 , the selection unit 300 calculates a loss representing a difference between the center of a cluster and a plurality of product sales information vectors in each of the plurality of clusters, and calculates a critical loss (T) from the average and standard deviation of the losses. . More specifically, the selection unit 300 calculates a loss E representing a difference between the center Mk of the cluster and the plurality of product sales information vectors Sn according to Equation 3 below.

Figure pat00009
Figure pat00009

수학식 3에서 E는 손실을 나타내며, k는 클러스터의 인덱스이고, Mk는 k번째 클러스터의 중심을 나타낸다. n은 상품판매정보벡터의 인덱스이고, Sn은 n번째 상품판매정보벡터를 의미한다. In Equation 3, E represents the loss, k is the index of the cluster, and Mk represents the center of the k-th cluster. n is the index of the product sales information vector, and Sn means the nth product sales information vector.

그런 다음, 선별부(300)는 손실의 평균 및 표준 편차로부터 다음의 수학식 4에 따라 임계손실(T)을 산출한다. Then, the selection unit 300 calculates the critical loss (T) from the average and standard deviation of the loss according to the following Equation (4).

Figure pat00010
Figure pat00010

수학식 4에서, T는 임계손실을 의미한다. 그리고 w 및 σ 각각은 앞서 수학식 3에 따라 산출된 클러스터의 중심(Mk)과 복수의 상품판매정보벡터(Sn)와의 차이를 나타내는 손실(E)의 평균 및 표준 편차를 나타낸다. 또한,

Figure pat00011
는 표준편차 에 대한 가중치이며,
Figure pat00012
의 범위를 가지며, 모집단의 크기에 비례하여 미리 설정되는 하이퍼파라미터이다. 산출된 임계손실(T)은 각 클러스터 별로 저장된다. In Equation 4, T denotes a critical loss. In addition, each of w and σ represents the average and standard deviation of the loss E representing the difference between the center Mk of the cluster and the plurality of product sales information vectors Sn calculated according to Equation 3 above. In addition,
Figure pat00011
is the weight for the standard deviation,
Figure pat00012
It is a hyperparameter that has a range of , and is preset in proportion to the size of the population. The calculated critical loss (T) is stored for each cluster.

전술한 바와 같이, 임계손실(T)을 산출한 후, 선별부(300)는 S500 단계에서 복수의 클러스터 각각에서 임계손실(T) 이하의 손실(E)을 가지는 상품판매정보벡터를 추출한다. 예컨대, 도 16에 도시된 바와 같이, 임계손실(T) 이하의 손실(E)을 가지는 상품판매정보벡터는 무게중심으로부터 임계손실(T)에 의해 정의되는 반경 내의 상품판매정보벡터를 의미한다. As described above, after calculating the critical loss (T), the selection unit 300 extracts a product sales information vector having a loss (E) equal to or less than the critical loss (T) from each of the plurality of clusters in step S500 . For example, as shown in FIG. 16 , a product sales information vector having a loss E less than or equal to the critical loss T means a product sales information vector within a radius defined by the critical loss T from the center of gravity.

이어서, 선별부(300)는 S510 단계에서 복수의 클러스터 각각에서 추출된 임계손실(T) 이하의 손실(E)을 가지는 상품판매정보벡터에 대응하는 판매자를 신뢰도가 소정 수준 이상인 판매자로 선별한다. 이는 예컨대, 도 16에 도시된 바와 같이, 임계손실(T) 이하의 손실(E)을 가지는 상품판매정보벡터는 클러스터의 중심으로부터 임계손실(T)에 의해 정의되는 반경 내의 상품판매정보벡터에 대응하는 판매자를 신뢰도가 소정 수준 이상인 판매자로 선별하는 것을 의미한다. Next, the selection unit 300 selects a seller corresponding to the product sales information vector having a loss E equal to or less than the critical loss T extracted from each of the plurality of clusters as a seller having a reliability level greater than or equal to a predetermined level in step S510 . For example, as shown in FIG. 16, a product sales information vector having a loss E less than or equal to the critical loss T corresponds to a product sales information vector within a radius defined by the critical loss T from the center of the cluster. This means selecting sellers with a reliability level higher than or equal to a certain level.

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

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. Although the present invention has been described above using several preferred embodiments, these examples are illustrative and not restrictive. As such, those of ordinary skill in the art to which the present invention pertains will understand that various changes and modifications can be made in accordance with the doctrine of equivalents without departing from the spirit of the present invention and the scope of rights set forth in the appended claims.

10: 판매정보서버 11: 통신모듈
12: 저장모듈 13: 제어모듈
20: 메신저서버 30: 사용자장치
31: 통신부 32: 입력부
33: 표시부 34: 저장부
35: 제어부 100: 모델생성부
200: 수집부 300: 선별부
300: 정보제공부
10: Sales information server 11: Communication module
12: storage module 13: control module
20: messenger server 30: user device
31: communication unit 32: input unit
33: display unit 34: storage unit
35: control unit 100: model generation unit
200: collection unit 300: sorting unit
300: information provider

Claims (4)

모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 장치에 있어서,
메신저서버에 접속하여 개설된 공개채팅방 및 채널 중 적어도 하나로부터 복수의 상품판매정보를 수집하는 수집부;
복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 선별부; 및
선별된 복수의 상품판매정보를 사용자장치의 요청에 따라 정렬하여 추천 목록을 구성하고, 구성된 추천 목록을 사용자장치에 제공하는 추천부;
를 포함하는 것을 특징으로 하는
상품판매정보를 수집하여 제공하기 위한 장치.
In the device for collecting and providing product sales information posted on a mobile messenger,
a collection unit for collecting a plurality of product sales information from at least one of open chat rooms and channels opened by accessing the messenger server;
a selection unit configured to select a plurality of product sales information whose reliability is higher than or equal to a predetermined level from the plurality of product sales information; and
a recommendation unit for arranging the selected plurality of product sales information according to a request of the user device to configure a recommendation list, and providing the configured recommendation list to the user device;
characterized in that it comprises
A device for collecting and providing product sales information.
제1항에 있어서,
상기 수집부는
상기 공개채팅방 및 상기 채널에서 링크, 이미지 및 텍스트를 검출하고,
상기 이미지에 상기 링크의 영역이 구분되어 표시된 이미지와, 상기 텍스트에서 상기 링크가 적용된 텍스트와 상기 링크가 적용되지 않은 텍스트가 구분된 텍스트를 포함하는 분석 데이터를 생성하고,
상기 분석 데이터를 검출모델에 입력하고,
상기 검출모델이 상기 분석 데이터에 대해 복수의 계층 간의 가중치가 적용되는 복수의 연산을 수행하여 제1 검출벡터 및 제2 검출벡터를 산출하고, 상기 제1 검출벡터 및 상기 제2 검출벡터를 병합하여 병합검출벡터를 도출하고, 병합검출벡터로부터 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부에 대한 확률을 나타내는 출력값을 산출하면,
산출된 출력값이 나타내는 확률에 따라 해당 공개채팅방 혹은 채널에 상품판매정보가 포함되어 있는지 여부를 판단하는 것을 특징으로 하는
상품판매정보를 수집하여 제공하기 위한 장치.
According to claim 1,
the collection unit
Detects links, images and texts in the public chat room and the channel,
Generates analysis data including an image in which the area of the link is divided and displayed in the image, and text in which the text to which the link is applied and the text to which the link is not applied are separated from the text;
Input the analysis data to the detection model,
The detection model calculates a first detection vector and a second detection vector by performing a plurality of calculations in which a weight between a plurality of layers is applied to the analysis data, and by merging the first detection vector and the second detection vector When a merge detection vector is derived and an output value representing the probability of whether product sales information is included in a public chat room or channel is calculated from the merge detection vector,
characterized in that it is determined whether product sales information is included in the corresponding open chat room or channel according to the probability indicated by the calculated output value
A device for collecting and providing product sales information.
제1항에 있어서,
상기 선별부는
복수의 상품판매정보를 소정의 벡터공간에 임베딩하여 복수의 상품판매정보벡터를 생성하고,
복수의 상품판매정보벡터를 복수의 클러스터로 클러스터링하고, 클러스터링된 복수의 클러스터 각각에서 컨벡스 헐을 도출하고,
복수의 클러스터 각각에서 컨벡스 헐을 구성하는 다각형의 무게 중심을 클러스터의 중심으로 설정하고,
복수의 클러스터 각각에 대해
수학식
Figure pat00013

을 통해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실을 산출하고,
복수의 클러스터 각각에 대해 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균 및 표준 편차로부터
수학식
Figure pat00014

에 따라 임계손실을 산출하고,
복수의 클러스터 각각에서 산출된 임계손실 이하의 손실을 가지는 상품판매정보벡터를 추출하고, 추출된 상품판매정보벡터에 대응하는 판매자를 신뢰도가 소정 수준 이상인 판매자로 선별하며,
상기 n은 인덱스이고,
상기 E는 손실을 나타내며,
상기 k는 클러스터의 인덱스이고,
상기 Mk는 k번째 클러스터의 중심을 나타내며,
상기 n은 상품판매정보벡터의 인덱스이고,
상기 Sn은 n번째 상품판매정보벡터이고,
상기 T는 임계손실이고,
상기 w는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 평균이고,
상기 σ는 클러스터의 중심과 복수의 상품판매정보벡터와의 차이를 나타내는 손실의 표준 편차이고,
상기
Figure pat00015
는 표준편차에 대한 가중치인 것을 특징으로 하는
상품판매정보를 수집하여 제공하기 위한 장치.
According to claim 1,
The selection unit
A plurality of product sales information is embedded in a predetermined vector space to generate a plurality of product sales information vectors,
A plurality of product sales information vectors are clustered into a plurality of clusters, and a convex hull is derived from each of the clustered plurality of clusters,
In each of the plurality of clusters, the center of gravity of the polygon constituting the convex hull is set as the center of the cluster,
for each cluster
formula
Figure pat00013

Calculate the loss representing the difference between the center of the cluster and the plurality of product sales information vectors through
From the mean and standard deviation of the loss representing the difference between the center of the cluster and the plurality of product sales information vectors for each of the plurality of clusters
formula
Figure pat00014

Calculate the critical loss according to
extracting a product sales information vector having a loss equal to or less than a threshold loss calculated from each of the plurality of clusters, and selecting a seller corresponding to the extracted product sales information vector as a seller having a reliability level higher than or equal to a predetermined level;
where n is an index,
E represents the loss,
where k is the index of the cluster,
Mk represents the center of the k-th cluster,
Where n is the index of the product sales information vector,
wherein Sn is the nth product sales information vector,
where T is the critical loss,
where w is the average of the loss representing the difference between the center of the cluster and the plurality of product sales information vectors,
σ is the standard deviation of the loss representing the difference between the center of the cluster and the plurality of product sales information vectors,
remind
Figure pat00015
is a weight for the standard deviation, characterized in that
A device for collecting and providing product sales information.
모바일 메신저에 게시된 상품판매정보를 수집하여 제공하기 위한 방법에 있어서,
수집부가 메신저서버에 접속하여 개설된 공개채팅방 및 채널 중 적어도 하나로부터 복수의 상품판매정보를 수집하는 단계;
선별부가 복수의 상품판매정보로부터 신뢰도가 소정 수준 이상인 복수의 상품판매정보를 선별하는 단계; 및
정보제공부가 선별된 복수의 상품판매정보를 사용자장치의 요청에 따라 정렬하여 상품판매정보의 목록을 구성하고, 구성된 상품판매정보의 목록을 사용자장치에 제공하는 단계;
를 포함하는 것을 특징으로 하는
상품판매정보를 수집하여 제공하기 위한 방법.
A method for collecting and providing product sales information posted on a mobile messenger,
collecting, by a collecting unit, a plurality of product sales information from at least one of open chat rooms and channels opened by accessing a messenger server;
selecting, by a selection unit, a plurality of product sales information having a reliability level higher than or equal to a predetermined level from the plurality of product sales information; and
arranging the selected plurality of product sales information according to the request of the user device by the information providing unit to configure a list of product sales information, and providing the configured list of product sales information to the user device;
characterized in that it comprises
A method for collecting and providing product sales information.
KR1020210019918A 2021-02-15 2021-02-15 An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor KR20220116719A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210019918A KR20220116719A (en) 2021-02-15 2021-02-15 An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210019918A KR20220116719A (en) 2021-02-15 2021-02-15 An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor

Publications (1)

Publication Number Publication Date
KR20220116719A true KR20220116719A (en) 2022-08-23

Family

ID=83092525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210019918A KR20220116719A (en) 2021-02-15 2021-02-15 An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor

Country Status (1)

Country Link
KR (1) KR20220116719A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102475965B1 (en) * 2022-10-12 2022-12-09 성노현 System for Providing Product Recommending Service Configuring User Customized Page

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130038534A (en) 2011-10-10 2013-04-18 김경중 Method and system for selling commodity in online shopping mall

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130038534A (en) 2011-10-10 2013-04-18 김경중 Method and system for selling commodity in online shopping mall

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102475965B1 (en) * 2022-10-12 2022-12-09 성노현 System for Providing Product Recommending Service Configuring User Customized Page

Similar Documents

Publication Publication Date Title
US11734717B2 (en) Dynamic predictive similarity grouping based on vectorization of merchant data
CN104765873B (en) User&#39;s similarity determines method and apparatus
KR101810169B1 (en) Method and device for predicting future number of customers coming into the store based on pattern information of floating population
CN109145245A (en) Predict method, apparatus, computer equipment and the storage medium of clicking rate
CN114265979B (en) Method for determining fusion parameters, information recommendation method and model training method
CN109062962B (en) Weather information fused gated cyclic neural network interest point recommendation method
CN110782284A (en) Information pushing method and device and readable storage medium
US11663282B2 (en) Taxonomy-based system for discovering and annotating geofences from geo-referenced data
CN110909182A (en) Multimedia resource searching method and device, computer equipment and storage medium
CN113763093A (en) User portrait-based item recommendation method and device
CN112214677B (en) Point of interest recommendation method and device, electronic equipment and storage medium
CN110704754B (en) Push model optimization method and device executed by user terminal
CN115034379A (en) Causal relationship determination method and related equipment
KR20220116719A (en) An apparatus for collecting and providing product sales information posted on a mobile messenger and a method therefor
US20230394554A1 (en) Method and internet of things system of charging pile recommendation for new energy vehicle in smart city
CN116361643A (en) Model training method for realizing object recommendation, object recommendation method and related device
CN114996578A (en) Model training method, target object selection method, device and electronic equipment
CN115618079A (en) Session recommendation method, device, electronic equipment and storage medium
CN114417166A (en) Continuous interest point recommendation method based on behavior sequence and dynamic social influence
CN114637920A (en) Object recommendation method and device
CN112954066A (en) Information pushing method and device, electronic equipment and readable storage medium
WO2019114481A1 (en) Cluster type recognition method, apparatus, electronic apparatus, and storage medium
CN113450167A (en) Commodity recommendation method and device
JP7325492B2 (en) Place recommendation method and system
KR20220116718A (en) An apparatus for providing a list of seller recommendations based on the sales history of gift certificates and a method therefor

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application