KR20200125532A - Item recommendation method of using degree of association and sequence between unit of language and using item - Google Patents
Item recommendation method of using degree of association and sequence between unit of language and using item Download PDFInfo
- Publication number
- KR20200125532A KR20200125532A KR1020200051098A KR20200051098A KR20200125532A KR 20200125532 A KR20200125532 A KR 20200125532A KR 1020200051098 A KR1020200051098 A KR 1020200051098A KR 20200051098 A KR20200051098 A KR 20200051098A KR 20200125532 A KR20200125532 A KR 20200125532A
- Authority
- KR
- South Korea
- Prior art keywords
- language
- language unit
- item
- unit
- association
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/258—Heading extraction; Automatic titling; Numbering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized advertisement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Abstract
Description
본 발명은 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법에 관한 것으로, 보다 상세하게는 머신 러닝 시스템을 이용하여 언어 단위와 사용자가 선호하거나 경험 및/또는 구매한 이력 및 순서에 근거하여 사용자가 일상에서 사용하는 언어들을 바탕으로 사람의 감정과 취향, T.P.O(Time, Place, Occasion) 및 다양한 카테고리별 특성(색체, 질감 등)에 대한 연구를 통해 새로운 인식체계를 구상하고, 머신 러닝 기술과 자연어 이해 기술을 응용하여 구현함으로써, 단순히 키워드로 표현되는 매칭 방식이 아닌, 단어와 단어 사이의 연관도를 바탕으로 하는 벡터 모델 기반의 추론 방식을 사용하여 구매가능성이 높은 항목을 추천하기 위한 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법에 관한 것이다.The present invention relates to an item recommendation method using a degree of association and an order between a language unit and a used item, and more specifically, based on a language unit and a user's preference or experience and/or purchase history and order using a machine learning system. Therefore, based on the languages used by the user in daily life, a new recognition system is conceived through research on human emotions and tastes, TPO (Time, Place, Occasion), and characteristics of various categories (color, texture, etc.), and machine learning. By applying technology and natural language understanding technology, it is intended to recommend items with high purchase potential using a vector model-based inference method based on the degree of association between words and words, not simply a matching method expressed by keywords. It relates to an item recommendation method using a degree of association and order between language units and items to be used.
일반적으로, 현대의 정보 이용자(웹 사용자)들은 많은 양과 다양한 종류의 정보가 동시다발적으로 주어지는 환경에서 자신이 원하는 정보를 선택하여야 한다. 그리고, 사용자가 필요로 하는 정보는 그 정보의 출처에 따라 다양한 형식을 가지게 되어 종합적으로 분석하고 활용하는 데에 있어서 보다 지능적이고 자동화된 시스템이 필요하다. In general, modern information users (web users) have to select the information they want in an environment in which a large amount of information and various types of information are simultaneously provided. In addition, since the information required by the user has a variety of formats according to the source of the information, a more intelligent and automated system is required for comprehensive analysis and utilization.
이러한 요구사항을 만족시키기 위해서 웹 사용자들의 검색 패턴을 분석하여 추천하는 시스템이 활용되었다.In order to satisfy these requirements, a system that analyzes and recommends web users' search patterns was used.
웹 사용자들의 검색 패턴의 연구는 서버 측에서 자신의 서버에 접속한 이용자들의 세션데이터를 분석하여 광고 또는 사용자 맞춤형 웹페이지 제작에 활용하는 것이 대표적인 응용이다.A typical application for research on the search pattern of web users is to analyze session data of users who access their server from the server side and use it for advertisement or user-customized web page production.
이러한 분석 결과는 공동 필터링(Collaborative Filtering) 기술과 함께 인터넷 사용자들을 주 고객으로 하는 기업들에게는 아주 중요한 경영 전략의 하나로 인식되고 있다. 즉, 서버에 기록되는 사용자들의 검색 결과들(예를 들면, 검색 페이지, 검색 시간, 검색 순서, 트랜잭션 추이 등)이 부가가치 창출의 주요 근원 중의 하나로 활용되고 있다. 이렇게 분석된 데이터들은 사용자가 추후에 방문할 웹페이지를 추론하거나 관심 있는 상품을 추측하는 데에 이용되며 결과적으로 사용자의 특성에 맞는 구매 가능성이 높은 상품을 추천하는 방향으로 응용이 이루어지고 있다. 또한, 프록시 서버 또는 플러그 인 형태로 클라이언트 쪽에서 사용자의 검색패턴을 분석하려는 시도도 많이 이루어지고 있는데 이는 서버 측에서의 분석 보다 더 다양한 정보를 활용할 수 있다는 장점이 있다.This analysis result is recognized as one of the most important management strategies for companies that have Internet users as their main customers along with Collaborative Filtering technology. In other words, users' search results (eg, search page, search time, search order, transaction trend, etc.) recorded in the server are used as one of the main sources of value-added. The analyzed data is used to infer a web page to be visited later by the user or to infer a product of interest, and as a result, the application is being made in the direction of recommending a product with high purchase potential suitable for the user's characteristics. In addition, there are many attempts to analyze the user's search pattern on the client side in the form of a proxy server or plug-in, which has the advantage of utilizing more various information than the analysis on the server side.
그러나, 기존의 사용자 기호 분석 시스템 및 추천 서비스가 다양한 정보를 활용하지 못하고 각기 자신들의 영역에서 주어진 정보만을 활용해 왔던 한계를 극복하지 못하는 문제점이 있었다.However, there is a problem in that the existing user preference analysis system and recommendation service cannot use various information and cannot overcome the limitations of using only the information given in their respective domains.
본 발명의 목적은 전술한 바와 같은 문제를 해결하기 위해 안출된 것으로, 언어 단위와 사용자가 선호하거나 경험 및/또는 구매한 이력 및 순서에 근거하여 구매가능성이 높은 유사한 항목을 추천하기 위한 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법을 제공하고자 하는 것이다.An object of the present invention was devised to solve the above-described problem, and a language unit for recommending similar items with high purchase possibility based on a language unit and a user's preference or experience and/or purchase history and order, and It is intended to provide a method of recommending items using a degree of association and order between items used.
본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법은 항목 추천 장치가 수행하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법으로서, 상기 항목 추천 장치의 제어부에 의해 각 카테고리에 대한 미리 설정된 언어 단위-항목 간 연관도를 획득하는 단계; 상기 항목 추천 장치의 제어부에 의해 상기 카테고리의 이용 내역을 획득하는 단계; 상기 항목 추천 장치의 제어부에 의해 상기 이용 내역에 해당하는 언어 단위-연관도 리스트들을 머신 러닝 시스템에 입력하여 추천 언어 단위-연관도 리스트를 획득하는 단계; 및 상기 항목 추천 장치의 제어부에 의해 상기 추천 연관 언어 단위-연관도 리스트에 상응하는 순서대로 추천 항목을 단말에 제공하는 단계;를 포함한다.An item recommendation method using a degree of association and an order between a language unit and a use item according to the present invention is an item recommendation method using a degree of association and an order between a language unit and a use item performed by an item recommendation device, and Obtaining a degree of association between language units-items set in advance for each category; Obtaining a usage history of the category by a control unit of the item recommendation device; Inputting, by a control unit of the item recommendation device, language unit-relevance lists corresponding to the usage details into a machine learning system, and obtaining a recommended language unit-relevance list; And providing, by a control unit of the item recommendation device, recommended items to the terminal in an order corresponding to the recommendation-related language unit-relevance list.
본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법은 언어 단위와 이용 항목 간의 연관도 및 순서를 이용하여 효율적이고 유효하며 구매가능성이 높은 정보를 추천할 수 있다는 이점이 있다. The item recommendation method using a degree of association and order between a language unit and an item to be used according to the present invention has an advantage of being able to recommend information that is efficient, effective, and highly likely to be purchased by using the degree of association and order between the language unit and the item used. .
도 1은 본 발명의 일 실시예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 시스템의 개략적인 구성 블록도.
도 2는 도 1에 도시된 단말의 구성 블록도.
도 3의 도 1에 도시된 항목 추천 장치의 구성 블록도.
도 4a 내지 4c는 본 발명의 일 실시예에 따른 항목 추천 인터페이스를 통한 항목 추천 과정의 순서도.
도 5는 본 발명의 일 실시예에 따른 항목 추천 과정의 순서도.
도 6은 도 5의 일부 단계의 상세 순서도.
도 7은 도 6의 일부 단계의 상세 순서도.
도 8은 도 6의 다른 일부 단계의 상세 순서도.
도 9는 본 발명의 다른 실시예에 따른 항목 추천 과정의 순서도.
도 10은 본 발명의 일 실시예에 따른 저장된 객체-언어 단위 연관도에 관한 예시도.
도 11은 본 발명의 일 실시예에 따른 기본 언어 단위-언어 단위 연관도에 관한 예시도.
도 12는 도 5의 다른 일부 단계의 상세 순서도.
도 13은 본 발명의 또다른 실시예에 따른 항목 추천 과정의 순서도.
도 14는 본 발명의 또다른 실시예에 따른 항목 추천 과정의 순서도.
도 15는 본 발명의 일 실시예에 따른 도 13의 일부 단계의 상세 순서도.
도 16은 본 발명의 다른 실시예에 따른 도 13의 일부 단계의 상세 순서도.
도 17은 본 발명의 또다른 실시예에 따른 도 13의 일부 단계의 상세 순서도.
도 18은 본 발명의 일 실시예에 따른 용어 계층을 나타낸 도시도.
도 19는 본 발명의 일 실시 예에 따른 가상 입력 인터페이스 프로그램 설치 과정의 순서도.
도 20은 본 발명의 일 실시 예에 따른 언어 단위와 이용 내역 및 순서 간의 연관도를 설정하는 방법을 설명하는 흐름도.
도 21은 본 발명의 일 실시 예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 설정하는데 사용된 머신 러닝 시스템의 일 예 도시도.
도 22는 본 발명의 일 실시예에 따른 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 표시한 예시도.
도 23은 본 발명의 다른 실시예에 따른 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 표시한 예시도.
도 24 및 도 25는 본 발명의 일 실시예에 따른 리스트별 주요 언어 단위의 평균적 연관도 기준을 표시한 예시도.
도 26은 본 발명의 다른 실시예에 따른 리스트별 주요 언어 단위의 평균적 연관도 기준을 표시한 예시도.
도 27 및 도 28은 본 발명의 일 실시예에 따른 리스트별 주요 언어 단위의 언어 단위 및 언어 단위 카테고리를 표시한 예시도.
도 29는 본 발명의 다른 실시예에 따른 리스트별 주요 언어 단위의 언어 단위 및 언어 단위 카테고리를 표시한 예시도.
도 30은 본 발명의 일 실시예에 따른 클릭된 리스트에 해당하는 언어 단위 조정 인터페이스를 표시한 예시도.
도 31은 본 발명의 일 실시예에 따른 클릭된 리스트에 해당하는 전체 언어 단위 조정 인터페이스를 표시한 예시도.
도 32는 본 발명의 다른 실시예에 따른 클릭된 리스트에 해당하는 언어 단위 조정 인터페이스를 표시한 예시도.
도 33은 본 발명의 다른 실시예에 따른 클릭된 리스트에 해당하는 전체 언어 단위 조정 인터페이스를 표시한 예시도.
도 34는 본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법에 의해 추천된 추천 항목 예시도.1 is a schematic block diagram of an item recommendation system using an association diagram and an order between a language unit and a used item according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the configuration of the terminal shown in FIG. 1;
A configuration block diagram of the item recommendation device shown in FIG. 1 of FIG. 3.
4A to 4C are flowcharts of an item recommendation process through an item recommendation interface according to an embodiment of the present invention.
5 is a flowchart of an item recommendation process according to an embodiment of the present invention.
6 is a detailed flowchart of some of the steps of FIG. 5;
7 is a detailed flowchart of some of the steps of FIG. 6.
Figure 8 is a detailed flow chart of some other steps of Figure 6;
9 is a flowchart of an item recommendation process according to another embodiment of the present invention.
10 is an exemplary diagram of a stored object-language unit association diagram according to an embodiment of the present invention.
11 is an exemplary diagram of a basic language unit-language unit association diagram according to an embodiment of the present invention.
12 is a detailed flowchart of some other steps of FIG. 5.
13 is a flowchart of an item recommendation process according to another embodiment of the present invention.
14 is a flowchart of an item recommendation process according to another embodiment of the present invention.
15 is a detailed flowchart of some of the steps of FIG. 13 according to an embodiment of the present invention.
16 is a detailed flowchart of some of the steps of FIG. 13 according to another embodiment of the present invention.
Figure 17 is a detailed flow chart of some of the steps of Figure 13 according to another embodiment of the present invention.
18 is a diagram showing a term hierarchy according to an embodiment of the present invention.
19 is a flowchart of a process of installing a virtual input interface program according to an embodiment of the present invention.
20 is a flowchart illustrating a method of setting a degree of association between language units, usage details, and order according to an embodiment of the present invention.
21 is a diagram illustrating an example of a machine learning system used to set a degree of association and order between a language unit and a use item according to an embodiment of the present invention.
22 is an exemplary view showing main language units for each language unit list based on a language unit associated with a selected item according to an embodiment of the present invention.
23 is an exemplary view showing main language units for each language unit list based on a language unit associated with a selected item according to another embodiment of the present invention.
24 and 25 are exemplary views showing an average correlation criterion of major language units for each list according to an embodiment of the present invention.
26 is an exemplary view showing an average correlation criterion of major language units for each list according to another embodiment of the present invention.
27 and 28 are exemplary views showing language units and language unit categories of major language units for each list according to an embodiment of the present invention.
29 is an exemplary view showing language units and language unit categories of main language units for each list according to another embodiment of the present invention.
30 is an exemplary view showing a language unit adjustment interface corresponding to a clicked list according to an embodiment of the present invention.
31 is an exemplary view showing an interface for adjusting all language units corresponding to a clicked list according to an embodiment of the present invention.
32 is an exemplary view showing an interface for adjusting a language unit corresponding to a clicked list according to another embodiment of the present invention.
33 is an exemplary view showing an interface for adjusting all language units corresponding to a clicked list according to another embodiment of the present invention.
34 is a diagram illustrating an example of a recommendation item recommended by an item recommendation method using a degree of association and an order between a language unit and a use item according to the present invention.
이하, 도면을 참조한 실시 예들의 상세한 설명을 통하여 본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법을 보다 상세히 기술하기로 한다. 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략될 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 클라이언트나 운용자, 사용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, an item recommendation method using a degree of association and order between a language unit and a use item according to the present invention will be described in more detail through detailed description of embodiments with reference to the drawings. In describing the present invention, if it is determined that a detailed description of a related known technology or configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a client, an operator, or a user. Therefore, the definition should be made based on the contents throughout this specification.
도면 전체에 걸쳐 같은 참조번호는 같은 구성 요소를 가리킨다.The same reference numerals refer to the same elements throughout the drawings.
이하, 본원에서, 언어 단위("키토크(keytalk)"라고 할 수도 있음)는 음성 등 대화형 인터페이스 기반의 인터넷 서비스에서 사용되는 기본 정보 탐색 단위를 의미하여, 말뭉치(corpus)의 형태로 표현되지만 단순한 문서 내 단어 매칭 방식이 아니라 다양한 표현들 간의 인접도와 유사도, 그리고 색체나 질감 등 속성 데이터를 바탕으로 하며, 일반적으로 하나의 표제어와 이 표제어와 연관도가 높은 복수의 하위 속성 단어 및 가중치들로 구성된 함수로 표현되므로, 사용자의 취향과 의도를 검색 요청 발화로부터 추론하여 이에 대응하는 결과를 추천할 수 있는 구조로 설계되어 있음을 전제로 한다.Hereinafter, in the present application, the language unit (which may also be referred to as "keytalk") refers to a basic information search unit used in an Internet service based on an interactive interface such as voice, and is expressed in the form of a corpus. It is not a simple word matching method in the document, but based on the proximity and similarity between various expressions, and attribute data such as color and texture, and is generally composed of one heading and multiple sub-attribute words and weights that are highly related to this heading. Since it is expressed as a configured function, it is assumed that it is designed in a structure capable of inferring the taste and intention of the user from the speech of the search request and recommending the corresponding result.
도 1은 본 발명의 일 실시예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 시스템의 개략적인 구성 블록도이다.1 is a schematic block diagram of an item recommendation system using an association diagram and an order between a language unit and a used item according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 시스템은 통신망(150), 단말(200) 및 항목 추천 장치(300)를 포함할 수 있다.Referring to FIG. 1, an item recommendation system using a degree of association and an order between a language unit and a use item according to an embodiment of the present invention may include a
여기서, 단말(200)은 예를 들어 스마트폰, PDA, 태블릿 PC, 노트북 컴퓨터, 랩탑 컴퓨터, 개인용 컴퓨터 기타 통신을 수행하고 사용자의 입력을 수신하고 화면을 출력할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있다.Here, the
또한, 항목 추천 장치(300)는 예를 들어 워크스테이션, 서버, 일반용 컴퓨터, 기타 통신을 수행할 수 있는 전자적 기기 또는 이와 유사한 기기로써 구현될 수 있다.In addition, the
또한, 단말(200)과 항목 추천 장치(300)는 통신망(150)을 통해 연결되며 통신망(150)을 통해 서로 통신한다.In addition, the terminal 200 and the
또한, 통신망(150)은 예를 들어 LTE(Long Term Evolution), LTE-A(LTE-Advanced), WI-FI, LAN(Local Area Network), WAN(Wide Area Network), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications) 기타 과거, 현재에 개발되었거나 향후 사용 가능하게 되는 통신 방식 중 적어도 일부를 이용하여 구현될 수 있다. 이하에서는 편의를 위해 통신망(150)을 언급하지 않고 단말(200)과 항목 추천 장치(300)가 직접 통신하는 것처럼 설명한다.In addition, the
단말(200)과 항목 추천 장치(300)의 구체적인 동작 및 구성에 대해서는 도 2 내지 도 8을 참조하여 후술한다.Detailed operations and configurations of the terminal 200 and the
도 2는 도 1에 도시된 단말의 구성 블록도이다.2 is a block diagram showing the configuration of the terminal shown in FIG. 1.
도 2를 참조하면, 단말(200)은 입력부(210), 표시부(220), 통신부(230), 저장부(240) 및 제어부(250)를 포함할 수 있다.Referring to FIG. 2, the terminal 200 may include an
여기서, 입력부(210)는 사용자의 입력 동작을 입력 신호로 변환하여 제어부(250)에 송신한다. 입력부(210)는 예를 들어 키보드, 마우스, 터치스크린 상의 터치센서, 터치패드, 키패드, 음성 입력, 기타 현재, 과거에 가능하거나 미래에 가능해질 입력 처리 장치들로써 구현될 수 있다. 입력부(210)는 예를 들어 사용자의 항목 추천 요청 입력을 수신하여 제어부(250)에 전달할 수 있다.Here, the
또한, 표시부(220)는 제어부(250)의 제어에 따라 화면을 출력한다. 표시부(220)는 예를 들어 LCD(액정표시장치), LED(발광 다이오드), OLED(유기 발광 다이오드), 프로젝터, 기타 현재, 과거에 가능하거나 미래에 가능해질 표시 장치들로써 구현될 수 있다. 표시부(220)는 예를 들어 항목 추천을 위한 인터페이스 페이지나 항목 추천 결과 페이지를 표시할 수 있다. In addition, the
또한, 실시예에 따라서는 화면 출력 대신 음성 출력이나 진동 등 기타 사용자에게 정보를 전달할 수 있는 다른 방식을 사용하는 구성부가 표시부(220) 대신 사용될 수도 있다.In addition, depending on the embodiment, instead of the screen output, a component using a different method for transmitting information to the user such as voice output or vibration may be used instead of the
또한, 통신부(230)는 항목 추천 장치(300) 및/또는 기타 외부 장치와 데이터를 주고받는다. 통신부(230)는 항목 추천 장치(300)로부터 수신한 데이터를 제어부(250)에 전달한다. 또한 통신부(230)는 제어부(250)의 제어에 따라 데이터를 항목 추천 장치(300)에 전달한다. 통신부(230)가 사용하는 통신 기술은 통신망(150)의 유형이나 기타 사정에 따라 달라질 수 있다.In addition, the
또한, 저장부(240)는 제어부(250)의 제어에 따라 데이터를 저장하고 요청된 데이터를 제어부(250)에 전달한다.Also, the
또한, 제어부(250)는 단말(200)의 전반적인 동작과 각 구성부를 제어한다. 제어부(250)는 특히 후술하는 바와 같이 입력부(210)로부터 입력된 정보에 따라 항목 추천 요청, 기타 데이터를 항목 추천 장치(300)에 송신하고, 항목 추천 장치(300)로부터 수신한 페이지 정보에 따라 결과 페이지 및/또는 인터페이스 페이지를 표시부(220)를 통해 표시한다. 제어부(250)가 수행하는 동작은 물리적으로 분리돼 있는 여러 연산 장치에 의하여 분산 처리될 수 있다. 제어부(250)가 수행하는 동작 중 일부는 제1 서버가 수행하고 다른 동작은 제2 서버가 수행하는 방식도 가능하다. 이 경우 제어부(250)는 물리적으로 분리되어 있는 연산 장치의 총합으로써 구현될 수 있다.In addition, the
여기서, 저장부(240)는 물리적으로 분리돼 있는 저장장치의 총합으로 구현될 수도 있다.Here, the
또한, 제어부(250)나 저장부(240)가 물리적으로 분리돼 있는 여러 장치의 총합으로 구현되는 경우 여러 장치들 사이의 통신이 필요할 수 있다. 여기서는 설명의 단순화를 위하여 저장부(240)나 제어부(250)가 하나의 객체로 구현된 경우를 가정하여 설명할 것이다.In addition, when the
또한, 단말(200)이 데이터를 송수신하는 경우 관점에 따라 제어부(250)의 제어에 따라 통신부(230)가 데이터를 송수신한다고 표현할 수도 있고, 제어부(250)가 통신부(230)를 제어하여 데이터를 송수신한다고 표현할 수도 있다.In addition, when the terminal 200 transmits and receives data, it may be expressed that the
단말(200)의 각 구성부의 구체적인 동작에 대해서는 도 4a 내지 도 8을 참조하여 후술한다.Specific operations of each component of the terminal 200 will be described later with reference to FIGS. 4A to 8.
도 3은 도 1에 도시된 항목 추천 장치의 구성 블록도이다.3 is a block diagram showing the configuration of the item recommendation device shown in FIG. 1.
도 3을 참조하면, 항목 추천 장치(300)는 통신부(310), 제어부(320) 및 저장부(330)를 포함할 수 있다.Referring to FIG. 3, the
여기서, 통신부(310)는 단말(200)과 데이터를 주고받는다. 통신부(310)는 단말(200)로부터 수신한 데이터를 제어부(320)에 전달한다. 또한 통신부(310)는 제어부(320)의 제어에 따라 데이터를 단말(200)에 전달한다. 통신부(310)가 사용하는 통신 기술은 통신망(150)의 유형이나 기타 사정에 따라 달라질 수 있다.Here, the
또한, 저장부(330)는 제어부(320)의 제어에 따라 데이터를 저장하고 제어부(320)로부터 요청된 데이터를 제어부(320)에 전달한다. In addition, the
또한, 제어부(320)는 항목 추천 장치(300)의 전반적인 동작과 각 구성부를 제어한다. 제어부(320)는 특히 후술하는 바와 같이 인터페이스 페이지 요청, 항목 추천 결과 페이지 요청, 기타 데이터를 통신부(310)를 통해 수신하면 저장부(330)로부터 필요한 데이터를 불러오고(load) 페이지 정보를 생성하여 페이지 정보를 통신부(310)를 통해 단말기(200)에 전달한다.In addition, the
여기서, 항목 추천 장치(300)가 데이터를 송수신하는 경우 관점에 따라 제어부(320)의 제어에 따라 통신부(310)가 데이터를 송수신한다고 표현할 수도 있고, 제어부(320)가 통신부(310)를 제어하여 데이터를 송수신한다고 표현할 수도 있다. 또한, 실시예에 따라서는 시각적으로 정보를 제공하기 위한 페이지 대신 음성이나 다른 방식으로 정보를 제공하기 위한 데이터가 송수신될 수 있다.Here, when the
항목 추천 장치(300)의 각 구성부의 구체적인 동작에 대해서는 도 4a내지 도 8을 참조하여 후술한다.
Detailed operations of each component of the
도 4a 내지 4c는 본 발명의 일 실시예에 따른 항목 추천 인터페이스를 통한 항목 추천 과정 순서도이다.4A to 4C are flowcharts illustrating an item recommendation process through an item recommendation interface according to an embodiment of the present invention.
도 4a 내지 4c를 참조하면, 항목 추천 인터페이스를 통한 항목 추천 과정은 다음과 같다.4A to 4C, an item recommendation process through the item recommendation interface is as follows.
먼저, 단계 S401에서 항목 추천 장치(300)의 제어부(320)에 의해 언어 단위-항목 간 연관도를 설정한다. 이 과정은 도 5 내지 도 9를 참조하여 후술하는 방식에 의하여 수행될 수도 있고 관리자에 의하여 설정되거나 다른 방식으로 설정될 수도 있다.First, in step S401, a degree of association between language units and items is set by the
이후, 단계 S402에서, 항목 추천 장치(300)의 제어부(320)에 의해 사용자의 경험 항목을 포함하는 경험 항목 리스트를 획득한다. 여기서, 경험 항목은 예를 들어, 해당 상품을 구매했거나, 선호 표시(예를 들어, 좋아요)를 했거나, 방문 기록(예를 들어, 단말이 보유한 사진, 사용자가 업로드한 사진, 또는 단말의 위치 정보 분석 등), 선택/조회 기록이 있는 항목으로, 항목 카테고리(여행지/영화/방송프로그램)에 따라 한정할 수 있다. 또한, 경험 항목은 실시 예에 따라 현재로부터 과거로 일정한 기간 내의 기간으로 한정할 수 있다.Thereafter, in step S402, an experience item list including the user's experience item is obtained by the
아래 단계 S403 내지 S407은 하나의 항목 카테고리에 대해서만 서비스하는 경우 생략될 수 있다.Steps S403 to S407 below may be omitted when servicing only one item category.
그 후, S403에서, 항목 추천 장치(300)의 제어부(320)에 의해 경험 항목과 함께 언어 단위 리스트를 포함하는 항목 카테고리 선택 인터페이스 페이지 정보를 생성한다. 여기서, 항목 카테고리 선택 인터페이스 페이지 정보는 항목 카테고리 선택 인터페이스 페이지를 생성하기 위해 필요한 정보이다. 또한, 항목 카테고리 선택 인터페이스 페이지는 사용자의 입력을 유도하고 사용자의 입력을 수신하여 항목 추천 장치(300)에 전달하기 위한 페이지이다. 예를 들어 항목 카테고리 선택 인터페이스 페이지 정보는 HTML 문서 또는 기타 마크업 언어 문서 형태가 될 수 있다. 또한, 실시예에 따라서는 단말(200)이 항목 카테고리 선택 인터페이스 페이지의 서식 정보를 미리 가지고 있으며, 컨텐츠에 해당하는 사항만이 항목 추천 장치(300)로부터 단말(200)에 전달될 수도 있다. 이하에서는 편의를 위해 인터페이스 페이지 정보 또는 기타의 페이지 정보는 HTML 문서 형식으로 전달된다고 가정하고 설명한다. 하지만 본 발명을 이에 한정하려는 것은 아니다.Thereafter, in S403, the
이후, 단계 S404에서 항목 추천 장치(300)의 통신부(310)에 의해 항목 카테고리 선택 인터페이스 페이지 정보를 단말(200)에 전달한다.Thereafter, in step S404, the item category selection interface page information is transmitted to the terminal 200 by the
그 후, 단계 S405에서 단말(200)의 제어부(250)는 항목 카테고리 선택 인터페이스 페이지 정보를 이용하여 항목 카테고리 선택 인터페이스 페이지를 구성하고 단말의 표시부(220)가 사용자(400)에게 항목 카테고리 선택 인터페이스 페이지를 표시한다. 여기서, 항목 카테고리 선택 인터페이스 페이지는 예를 들어 사용자(400)가 항목 추천을 요청하고, 항목 추천을 위한 언어 단위를 입력 및/또는 선택하고 기타 항목 추천을 위한 설정을 할 수 있는 인터페이스를 포함할 수 있다.Thereafter, in step S405, the
이후, 단계 S406에서 단말(200)의 입력부(210)는 항목 카테고리 선택 인터페이스 페이지를 통해 입력된 사용자(400)의 항목 카테고리 선택 입력을 수신하여 제어부(250)에 전달한다. 여기서, 가상의 사용자의 경험이 선택된다.Thereafter, in step S406, the
그 후, 단계 S407에서 단말(200)의 통신부(230)는 제어부(250)의 제어에 따라 사용자의 항목 카테고리 선택 입력을 식별할 수 있는 항목 카테고리 선택 입력 정보를 항목 추천 장치(300)에 전달한다.Thereafter, in step S407, the
이후, 단계 S408에서 항목 추천 장치(300)의 제어부(320)에 의해 사용자의 경험 항목 리스트에 상응하는 언어 단위/연관도 쌍을 획득한다. 여기서, 언어 단위/연관도 쌍은 단계 S402에서 획득된 사용자의 경험 항목을 포함하는 경험 항목 리스트 내의 각 경험 항목과 연관되어, 임계값을 기준으로 획득된다. 또한, 임계값은 예를 들어, 최대 개수일 수도 있고, 최소 연관도일 수도 있다.Thereafter, in step S408, the
예를 들어 임계값이 최대 개수인 실시 예에 따르면, 제어부(320)는 경험 항목 리스트의 특정 경험 항목에 대해 연관도가 설정된 언어 단위들 중 최대 개수 (예를 들어 10개)만큼의 언어 단위를 그 연관도(해당 경험 항목에 대한 연관도)가 높은 순서대로 뽑아서 언어 단위-연관도 쌍으로 획득/저장할 수 있다. For example, according to an embodiment in which the threshold value is the maximum number, the
이러한 과정을 경험 항목 리스트에 포함된 모든 경험 항목에 대해 수행할 수 있다. 경험 항목 리스트에 i1 내지 i10이 포함되어 있고, i1에 해당하는 언어 단위-연관도 쌍이 p1_1 내지 p1_10이라고 하면 같은 과정을 통해 p2_1 내지 p1_10 .... p10_1내지 p10_10을 획득/저장할 수 있다. 이렇게 획득된 언어 단위-연관도 쌍은 S431 단계에서 언어 단위-사용자 연관도를 획득하는 데 사용될 수 있다.This process can be performed for all experience items included in the experience item list. If i1 to i10 are included in the experience item list, and the language unit-related degree pair corresponding to i1 is p1_1 to p1_10, p2_1 to p1_10 .... p10_1 to p10_10 may be acquired/stored through the same process. The language unit-relationship pair obtained in this way may be used to obtain a language unit-user association in step S431.
예를 들어 임계값이 최대 개수인 실시 예에 따르면, 제어부(320)는 경험 항목 리스트의 특정 경험 항목에 대해 연관도가 설정된 언어 단위들 중 그 연관도(해당 경험 항목에 대한 연관도)가 최소 연관도 이상인 언어 단위에 대해 언어 단위-연관도 쌍으로 획득/저장할 수 있다. 이러한 과정을 경험 항목 리스트에 포함된 모든 경험 항목에 대해 수행할 수 있다.For example, according to an embodiment in which the threshold is the maximum number, the
단계 S410 내지 단계 S430의 과정은 관리자의 추가적 관리가 필요한 경우에 제공될 수 있고, 생략될 수도 있다. 또한 S410내지 S430의 과정은 사용자가 아닌 서비스 관리자 측에게 인터페이스가 제공될 수도 있다.The processes of steps S410 to S430 may be provided when additional management is required by the administrator or may be omitted. In addition, in the processes of S410 to S430, an interface may be provided to the service manager, not the user.
이후, 단계 S410에서 항목 추천 장치(300)의 제어부(320)에 의해 각 언어 단위 리스트에 대해 "언어 단위 리스트별 주요 언어 단위" 화면, 웹차트, 분산형 차트(scattered chart)를 생성한다.Thereafter, in step S410, the
그 후, 단계 S411에서 항목 추천 장치(300)의 통신부(310)에 의해 제어부(320)의 제어에 따라 "언어 단위 리스트별 주요 언어 단위"화면, 웹차트, 분산형 차트를 단말(200)에 전달한다.Thereafter, in step S411, the
이후, 단계 S412에서 단말(200)의 표시부(220)가 사용자(400)에게 "언어 단위 리스트별 주요 언어 단위" 화면, 웹차트, 분산형 차트를 표시한다.Thereafter, in step S412, the
그 후, 단계 S413에서 단말(200)의 입력부(210)는 분산형 차트에서 사용자(400)의 확대 입력을 수신한다.Thereafter, in step S413, the
이후, 단계 S414에서 단말(200)의 통신부(230)는 제어부(250)의 제어에 따라 사용자(400)의 확대 입력에 따른 확대된 유사 언어 단위 정보를 항목 추천 장치(300)에 전달한다.Thereafter, in step S414, the
그 후, 단계 S415에서 항목 추천 장치(300)의 제어부(320)에 의해 유사 언어 단위 인터페이스 페이지 정보를 생성한다.After that, in step S415, the interface page information in units of similar languages is generated by the
이후, 단계 S416에서 항목 추천 장치(300)의 통신부(310)에 의해 유사 언어 단위 인터페이스 페이지 정보를 단말(200)에 전달한다.Thereafter, in step S416, the interface page information in units of similar languages is transmitted to the terminal 200 by the
그 후, 단계 S417에서 단말(200)의 제어부(250)는 유사 언어 단위 인터페이스 페이지 정보를 이용하여 유사 언어 단위 인터페이스 페이지를 구성하고 단말의 표시부(220)가 사용자(400)에게 유사 언어 단위 인터페이스 페이지를 표시한다.Thereafter, in step S417, the
이후, 단계 S418에서 단말(200)의 입력부(210)는 사용자(400)의 특정 언어 단위 리스트에 대한 편집 입력을 수신하여 제어부(250)에 전달한다.Thereafter, in step S418, the
그 후, 단계 S419에서 단말(200)의 통신부(230)는 제어부(250)의 제어에 따라 사용자(400)의 특정 언어 단위 리스트에 대한 편집 입력을 식별할 수 있는 특정 언어 단위 리스트에 대한 편집 입력 정보를 항목 추천 장치(300)에 전달한다.Thereafter, in step S419, the
이후, 단계 S420에서 항목 추천 장치(300)의 제어부(320)에 의해 특정 언어 단위 리스트에 해당하는 언어 단위를 추가/삭제하는 인터페이스 페이지 정보를 생성한다.Thereafter, in step S420, interface page information for adding/deleting a language unit corresponding to a specific language unit list is generated by the
그 후, 단계 S421에서 항목 추천 장치(300)의 통신부(310)에 의해 제어부(320)의 제어에 따라 특정 언어 단위 리스트에 해당하는 언어 단위를 추가/삭제하는 인터페이스 페이지 정보를 단말(200)에 전달한다.Thereafter, in step S421, interface page information for adding/deleting language units corresponding to the specific language unit list is transmitted to the terminal 200 by the
이후, 단계 S422에서 단말(200)의 제어부(250)는 언어 단위를 추가/삭제하는 인터페이스 페이지 정보를 이용하여 언어 단위를 추가/삭제하는 인터페이스 페이지를 구성하고 표시부(220)가 사용자(400)에게 특정 언어 단위 리스트에 해당하는 언어 단위를 추가/삭제하는 인터페이스 페이지를 표시한다. Thereafter, in step S422, the
그 후, 단계 S423에서 단말(200)의 입력부(210)는 특정 언어 단위 리스트에 해당하는 언어 단위를 추가/삭제하는 인터페이스 페이지를 통해 추가/삭제 요청된 특정 언어 단위 리스트에 해당하는 언어 단위를 추가/삭제한다.Thereafter, in step S423, the
이후, 단계 S424에서 단말(200)의 입력부(210)는 사용자(400)의 "언어 단위 선택하기"입력을 수신하여 제어부(250)에 전달한다.Thereafter, in step S424, the
그 후, 단계 S425에서 단말(200)의 통신부(230)는 제어부(250)의 제어에 따라 "언어 단위 선택하기" 입력을 식별할 수 있는 "언어 단위 선택하기" 입력 정보를 항목 추천 장치(300)에 전달한다.Thereafter, in step S425, the
이후, 단계 S426에서 항목 추천 장치(300)의 제어부(320)에 의해 언어 단위 전체에 대한 추가/삭제 인터페이스 페이지 정보를 생성한다. Thereafter, in step S426, the
그 후, 단계 S427에서 항목 추천 장치(300)의 통신부(310)에 의해 제어부(320)의 제어에 따라 언어 단위 전체에 대한 추가/삭제 인터페이스 페이지 정보를 단말(200)에 전달한다.Thereafter, in step S427, the
이후, 단계 S428에서 단말(200)의 제어부(250)는 추가/삭제 인터페이스 페이지 정보를 이용하여 추가/삭제 인터페이스 페이지를 구성하고 표시부(220)가 사용자(400)에게 언어 단위 전체에 대한 추가/삭제 인터페이스 페이지를 표시한다. 여기서, 언어 단위들이 리스트에 따라 묶여서 표시된다.Thereafter, in step S428, the
그 후, 단계 S429에서 단말(200)의 입력부(210)가 사용자(400)의 언어 단위 전체에 대한 추가/삭제입력을 수신하여 제어부(250)에 전달한다.Thereafter, in step S429, the
이후, 단계 S430에서 단말(200)의 통신부(230)가 제어부(250)의 제어에 따라 언어 단위 전체에 대한 추가/삭제 입력을 식별할 수 있는 언어 단위 전체에 대한 추가/삭제 입력 정보를 항목 추천 장치(300)에 전달한다.Thereafter, in step S430, the
그 후, 단계 S431에서 항목 추천 장치(300)의 제어부(320)에 의해 상기 경험 항목 리스트에 상응하는 전체 언어 단위 사이의 언어 단위-연관도 쌍을 기반으로 상기 사용자와 각 언어 단위 사이의 언어 단위-사용자 연관도를 획득한다. 일부 실시 예에 따르면 제어부(320)는 상기 경험 항목 리스트에 상응하는 전체 언어 단위-연관도 쌍에 대하여 특정 언어 단위에 상응하는 연관도의 누적값과 상기 사용자와 상기 특정 언어 단위 사이의 언어 단위-사용자 연관도가 양의 상관관계를 가지도록 언어 단위-사용자 연관도를 설정할 수 있다. 예를 들어 상기 경험 항목 리스트에 항목 1, 항목 2, 항목 3, ..., 항목 k 가 포함돼 있고, 항목 n에 상응하는 언어 단위-연관도 쌍의 집합이 {(T1, W1_n), (T2, W2_n), ..., (Tj, Wj_n)}라고 가정하면, 특정 언어 단위 Tm에 상응하는 연관도의 누적값은 ∑n=1..k(Wm_n)이 될 수 있다. 여기서 Wm_n은 항목 n과 특정 언어 단위 Tm에 사이의 연관도이다. 일부 실시 예에 따르면 항목 n과 특정 언어 단위 Tm에 상응하는 연관도가 0이거나 특정 기준값 이하인 경우 (Tm, Wm_n) 쌍은 저장되지 않고 생략될 수 있다. 제어부(320)는 항목 n과 특정 언어 단위 Tm에 상응하는 연관도가 0이거나 특정 기준값 이하인 경우 언어 단위 - 연관도 쌍(Tm, Wm_n)에 해당하는 정보를 저장하지 않을 수 있다. 이후, 언어 단위 - 연관도 쌍(Tm, Wm_n)에 해당하는 정보가 저장돼 있지 않으면, 제어부(320)는 항목 n과 특정 언어 단위 Tm에 상응하는 연관도가 0인 것으로 취급할 수 있다. Thereafter, in step S431, a language unit between the user and each language unit based on a language unit-relevance pair between all language units corresponding to the experience item list by the
일부 실시 예에 따르면 제어부(320)는 상기 경험 항목 리스트에 상응하는 전체 언어 단위-연관도 쌍에 대하여 특정 언어 단위에 상응하는 연관도의 누적값이 상기 사용자와 상기 특정 언어 단위 사이의 언어 단위-사용자 연관도가 되도록, 혹은 특정 언어 단위에 상응하는 연관도의 누적값이 상기 사용자와 상기 특정 언어 단위 사이의 언어 단위-사용자 연관도와 비례하도록 언어 단위-사용자 연관도를 설정할 수 있다.According to some embodiments, the
이후, 단계 S432에서 항목 추천 장치(300)의 제어부(320)에 의해 언어 단위-사용자 연관도를 기반으로 사용자 추천 항목 리스트 정보를 생성한다. Thereafter, in step S432, the
제어부(320)는 예를 들어 특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도에 양의 상관 관계를 가지는 개별값을 전체 언어 단위에 대하여 누적한 값과 양의 상관 관계를 가지도록 항목-사용자 연관도를 설정할 수 있다.For example, the
특정 실시예에서 제어부(320)는 특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도를 곱한 개별값을 전체 언어 단위에 대하여 누적한 값과 양의 상관 관계를 가지도록 항목-사용자 연관도를 설정할 수 있다.In a specific embodiment, the
특정 실시예에서 제어부(320)는 특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도를 곱한 개별값을 전체 언어 단위에 대하여 누적한 값으로 항목-사용자 연관도를 설정할 수 있다.In a specific embodiment, the
예를 들어 특정 언어 단위 i와 사용자 사이의 언어 단위-사용자 연관도가 Ui이고 특정 항목 Ij와 언어 단위 i 사이의 언어 단위-항목 연관도가 Rij라면 특정 항목 Ij와 사용자 사이의 항목-사용자 연관도는 ∑i=0...k-1f(Rij, Ui)와 같이 표현할 수 있다. 여기서 k는 특정 항목 Ij 와의 관계에서 0이 아닌 언어 단위-항목 연관도를 가지는 언어 단위의 수이다. 여기서 f(x, y)는 예를 들어 x와 y를 곱한 값이 될 수도 있고, x 및 y와 f(x, y)가 양의 상관 관계를 가지도록 하는 다른 연산이 될 수도 있다. 변형 예에서는 단순한 누적 (∑i=0...k-1)이 아닌 항목-사용자 연관도와 ∑i=0...k-1f(Rij, Ui) 누적값이 양의 상관 관계를 가지도록 하는 비례 연산, 로그 연산등을 포함한 다른 연산식이 항목-사용자 연관도를 구하기 위해 사용될 수 있다.For example, if the language unit-user association between a specific language unit i and the user is U i and the language unit-item association between a specific item I j and the language unit i is R ij, then the specific item I j and the user -User relevance can be expressed as ∑ i=0...k-1 f(R ij , U i ). Here, k is the number of language units having a non-zero language unit-item association in relation to a specific item I j . Here, f(x, y) may be, for example, a value obtained by multiplying x and y, or may be another operation in which x and y and f(x, y) have a positive correlation. In the modified example, the item-user association and the cumulative value of ∑ i=0...k-1 f(R ij , U i ) are not just cumulative (∑ i=0...k-1 ). Other equations, including proportional operations, logarithmic operations, etc., can be used to find the item-user association.
제어부(320)는 상기 항목-사용자 연관도에 따라 사용자 추천 항목 리스트를 생성할 수 있다.The
그 후, 단계 S433에서 항목 추천 장치(300)의 통신부(310)에 의해 제어부(320)의 제어에 따라 사용자 추천 항목 리스트 정보를 단말(200)에 전달한다.Thereafter, in step S433, the
이후, 단계 S434에서 단말(200)의 제어부(250)는 사용자 추천 항목 리스트 정보를 이용하여 사용자 추천 항목을 구성하고 표시부(220)는 사용자(400)에게 사용자 추천 항목을 표시한다.Thereafter, in step S434, the
도 4a 내지 도 4c의 실시예에선, 사용자에게 시각적 형태의 페이지를 제공하는 것을 가정하였으나, 음성을 통해 인터페이스나 결과 정보를 제공하는 것도 가능하다. 이 경우 표시부(220) 대신 음성 출력부가 이용될 수 있을 것이다. 시각적/청각적 방식 대신 현재 가능하거나 미래에 가능해질 다른 방식의 인터페이스 방식이 사용자(400)와의 관계에서 사용될 수도 있다. 이 경우 항목 추천 장치(300)는 인터페이스 방식에 맞도록 페이지 정보 대신 다른 방식으로 변환된 정보를 단말(200)에 제공할 수 있다.In the embodiments of FIGS. 4A to 4C, it is assumed that a page in a visual form is provided to the user, but it is also possible to provide an interface or result information through voice. In this case, an audio output unit may be used instead of the
도 5 이후의 실시예에선 사용자(400)는 자신이 관심을 가지는 특정 관심 분야의 객체에 관한 정보를 제공받고자 한다. 하지만 본 발명을 이에 한정하려는 것은 아니다.In the embodiment after FIG. 5, the
여기서, 관심 분야는 예를 들어 객체의 유형이 될 수 있다. 예를 들어 관심 분야가 '유명인' 이라면 이 관심 분야에 해당하는 객체는 '유시O', '유재O', '테일러 스위OO' 등을 포함할 수 있다. 예를 들어 관심 분야가 '영화'라면 이 관심 분야에 해당하는 객체는 '덩케르O', '스파이더O 홈커O', '슈퍼배O 3' 등을 포함할 수 있다. 예를 들어 관심 분야가 '방송 프로그램' 이라면 이 관심 분야에 해당하는 객체는 '무한OO', '아메리칸 아OO', '왕좌의 OO' 등을 포함할 수 있다.Here, the field of interest may be, for example, an object type. For example, if the field of interest is'celebrity', the object corresponding to this field of interest may include'Yoo Si O','Yoo Jae O', and'Taylor Sw O'. For example, if the field of interest is'movie', objects corresponding to this field of interest may include'Dunkir O','Spider O Homeker O','Super Boat O 3', and the like. For example, if the field of interest is'broadcasting program', objects corresponding to this field of interest may include'Infinite OO','American AOO','OO of the Throne', and the like.
이하의 실시예들에선, 언어 단위들 간의 관계(연관도/가중치 등등)를 평가하기 위해 문서가 수집된다. 수집된 문서는 모두 동등한 가치를 가지는 것으로 평가될 수도 있고, 최신의 문서가 더 높은 가치를 가지는 것으로 평가될 수도 있다. 즉, 평가 시점 기준 문서의 나이와 그 문서 내에 등장하는 언어 단위들 간의 연관도는 음의 상관관계를 가질 수 있다.In the following embodiments, a document is collected to evaluate the relationship (relevance/weight, etc.) between language units. Collected documents may all be evaluated as having equal value, or newer documents may be evaluated as having higher value. That is, the association between the age of the document at the time of evaluation and the language units appearing in the document may have a negative correlation.
후술하는 도 5 이후의 과정에서도 문서의 최신성에 따라 가치가 달리 평가될 수 있다. 예를 들어 평가 시점 기준 1일 지난 문서에 두 언어 단위가 함께 등장한 경우가, 평가 시점 기준 10일 지난 문서에 두 언어 단위가 함께 등장한 경우에 비해 10배 더 높은 연관도로 평가될 수 있다. 문서의 나이는 예를 들어 초단위/분단위/시간 단위로 평가되거나 일 단위/월 단위/연 단위 등으로 평가될 수도 있다. 문서의 나이가 반영되기 이전에 평가된 해당 문서에 대해선, 제어부(320)는 부분 연관도 값을 문서의 나이로 나누어 문서 나이가 반영된 부분 연관도를 추출하고, 이러한 부분 연관도를 누적하여 두 언어 단위 사이의 연관도를 추출할 수 있다.Even in the process after FIG. 5 to be described later, the value may be evaluated differently according to the freshness of the document. For example, a case where two language units appear together in a document one day after the evaluation point can be evaluated with a 10 times higher association than a case where two language units appear together in a document 10 days after the evaluation point. The age of a document may be evaluated in units of seconds/minutes/hours, or in units of days/months/years. For the document evaluated before the age of the document is reflected, the
문서의 나이를 확인하기 위한 문서의 생성 시점은 예를 들어 문서 내에 포함된 게시 시점 및/또는 메타데이터를 이용하여 파악하거나, 주기적인 크롤링을 통해, 이전의 크롤링에 발견되지 않은 문서가 새로 발견되는 경우 새로운 크롤링 시점에 신규 문서가 추가된 것으로 파악할 수도 있다.The creation time of a document to check the age of a document can be determined using, for example, the posting time and/or metadata included in the document, or through periodic crawling, when a new document not found in the previous crawl is found. In this case, it may be determined that a new document was added at the time of a new crawl.
도 5는 본 발명의 일 실시예에 따른 항목 추천 과정의 순서도이다.5 is a flowchart of an item recommendation process according to an embodiment of the present invention.
단계 S510에서 제어부(320)에 의해 객체 항목과 대표 속성 언어 단위 쌍에 대응하는 객체-언어 단위 연관도가 저장부(330)에 저장된다. 단계 S510의 과정은 예를 들어 도 6 내지 도 8의 실시예들 중 일부에 따라 수행되거나 이와 유사한 과정, 또는 이에 상응하는 과정으로 수행될 수 있다. 실시예에 따라서는 단계 S510의 과정은 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 객체-언어 단위 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다.In step S510, an object-language unit association diagram corresponding to an object item and a representative attribute language unit pair is stored in the
한편, 이렇게 저장된 객체-언어 단위 연관도는 본 발명의 일 실시예에 따른 저장된 객체-언어 단위 연관도에 관한 예시를 도시한 도 10에 도시된 바와 같다. 도 10의 실시예에서 객체 항목은 모두 m개(i1 내지 im)가 있고 대표 속성 언어 단위는 모두 n개(k1 내지 kn)가 있다. 예를 들어, 객체 항목 i5와 대표 속성 언어 단위 k3의 객체-언어 단위 연관도는 w5,3이 된다.Meanwhile, the stored object-language unit association is as shown in FIG. 10 showing an example of the stored object-language unit association according to an embodiment of the present invention. In the embodiment of FIG. 10, there are all m items (i 1 to i m ) and n representative attribute language units are all n (k 1 to k n ). For example, the degree of association between object item i 5 and representative attribute language unit k 3 is w 5,3 .
또한, 단계 S510은 도 5의 단계 S510의 상세 순서를 도시한 도 6을 참조하면 다음과 같다.In addition, step S510 is as follows with reference to FIG. 6 showing a detailed procedure of step S510 of FIG. 5.
도 6을 참조하면, 단계 S610에서 제어부(320)에 의해 제1 집합 문서들로부터 대표 속성 언어 단위 후보집합이 추출된다. 이때, 제어부(320)는 예를 들어 제1 집합 문서 중 관심 분야에 해당하는 문서에 자주 등장하는 언어 단위들을 대표 속성 언어 단위 후보집합으로 수집할 수 있다.Referring to FIG. 6, in step S610, a representative attribute language unit candidate set is extracted from the first set of documents by the
또한, 단계 S610은 도 6의 단계 S610의 상세 순서를 도시한 도 7을 참조하면 다음과 같다.In addition, step S610 is as follows with reference to FIG. 7 showing a detailed procedure of step S610 of FIG. 6.
도 7을 참조하면, 제어부(320)는 특정 관심분야에 속하는 객체 항목을 나타내는 객체 언어 단위와 같은 문서에 등장하는 언어 단위들 및 특정 관심분야를 나타내는 분야 언어 단위와 같은 문서에 등장하는 언어 단위들을 제1 속성 언어 단위 후보집합 및 제2 속성 언어 단위 후보집합으로 설정할 수 있다. Referring to FIG. 7, the
예를 들어, 항목 추천 서비스를 제공하려는 관심 분야가 유명인이라면, 분야 언어 단위는 '유명인', '연예인', '영화배우', '스타', '셀럽', 'celeb' 등을 포함할 수 있다. 분야 언어 단위는 관리자에 의하여 설정되거나 제어부(320)에 의하여 추천/설정될 수 있다. 제어부(320)는 일부 분야 언어 단위들을 획득한 뒤 이 분야 언어 단위들과의 연관도가 미리 설정된 값 이상으로 분석된 유사 언어 단위를 추가적 분야 언어 단위로 추천/설정할 수 있다.For example, if the field of interest to provide item recommendation service is a celebrity, the field language unit may include'celebrity','celebrity','movie actor','star','celebrity','celeb', etc. . The field language unit may be set by an administrator or recommended/set by the
또한, 항목 추천 서비스를 제공하려는 관심 분야가 유명인이라면, 객체 언어 단위는 해당 관심 분야에 속하는 개별 인물이 될 수 있다. 예를 들어 "유재O", "테일러 스위OO", "스테판 OO" 등이 관심 분야 유명인에 해당하는 객체 언어 단위가 될 수 있다.In addition, if the field of interest to provide the item recommendation service is a famous person, the object language unit may be an individual person belonging to the field of interest. For example, "Yoo Jae O", "Taylor Swew OO", and "Stefan OO" may be object language units corresponding to celebrities in the field of interest.
여기서, 분야 언어 단위와 객체 언어 단위의 관계를 설명하자면, 예를 들어 분야 언어 단위가 객체 언어 단위의 속성 또는 유형에 해당될 수 있다. 분야 언어 단위가 집합을 나타낸다면 객체 언어 단위는 그 집합에 속하는 원소들을 나타내는 것이 될 수 있다.Here, to describe the relationship between the field language unit and the object language unit, for example, the field language unit may correspond to a property or type of the object language unit. If the field language unit represents a set, the object language unit may represent the elements belonging to that set.
또한, 객체 언어 단위는 관리자가 설정하거나, 분야 언어 단위와 비슷한 방식으로 선정될 수 있다. 실시예에 따라서는 제어부(320)는 수집된 문서들의 문맥을 분석하여 분야 언어 단위가 나타내는 집합에 속하는 원소로 판단되는 언어 단위들을 객체 언어 단위로 선정할 수 있다.In addition, the object language unit may be set by the administrator or may be selected in a similar manner to the field language unit. Depending on the embodiment, the
또한, 인기 객체 언어 단위와 비인기 객체 언어 단위는 해당 객체 언어 단위의 검색/수집량에 따라 구분될 수 있다. 제어부(320)는 각 객체 언어 단위가 포함된 문서를 검색/수집하고 수집량이 특정 문턱값 이상인 객체 언어 단위를 인기 객체 언어 단위로 설정하고 나머지 객체 언어 단위를 비인기 객체 언어 단위로 설정할 수 있다.Also, the popular object language unit and the non-popular object language unit may be classified according to the search/collection amount of the corresponding object language unit. The
또한, 인기 분야 언어 단위와 비인기 분야 언어 단위는 해당 분야 언어 단위의 검색/수집량에 따라 구분될 수 있다. 제어부(320)는 각 분야 언어 단위가 포함된 문서를 검색/수집하고 수집량이 특정 문턱값 이상인 분야 언어 단위를 인기 분야 언어 단위로 설정하고 나머지 분야 언어 단위를 비인기 분야 언어 단위로 설정할 수 있다. 다만 인기 객체 언어 단위와 비인기 객체 언어 단위를 구분하는 문턱값과 인기 분야 언어 단위-비인기 분야 언어 단위를 구분하는 문턱값은 서로 다른 값이 될 수 있다. 이하에서 편의를 위해 인기 객체 언어 단위와 인기 분야 언어 단위를 통틀어 인기 분야객체 언어 단위라고 칭한다. 또한. 편의를 위해 비인기 객체 언어 단위와 비인기 분야 언어 단위를 통틀어 비인기 분야객체 언어 단위라고 칭한다.In addition, the language unit of the popular field and the language unit of the non-popular field may be classified according to the amount of search/collection of the language unit of the corresponding field. The
또한, 변형 실시예에서는 인기 분야객체 언어 단위 대신 인기 분야 언어 단위 또는 인기 객체 언어 단위만이 사용될 수도 있다. 변형 실시예에서는 비인기 분야객체 언어 단위 대신 비인기 분야 언어 단위 또는 비인기 객체 언어 단위만이 사용될 수도 있다.In addition, in a modified embodiment, only the popular field language unit or the popular object language unit may be used instead of the popular field object language unit. In a modified embodiment, only a non-popular field language unit or a non-popular object language unit may be used instead of the non-popular field object language unit.
단계 S710에서 제어부(320)에 의해 인기 분야객체 언어 단위와 같은 문서에 함께 등장하는 언어 단위들이 제1 속성 언어 단위 후보집합으로 설정된다.In step S710, language units appearing in the same document as the popular field object language unit are set by the
여기서, 제어부(320)는 인기 분야객체 언어 단위가 포함된 문서들을 검색/수집하고, 수집된 문서에 포함된 언어 단위들을 제1 속성 언어 단위 후보집합으로 설정할 수 있다. Here, the
다른 실시예에 따르면 제어부(320)는 수집된 문서에 포함된 언어 단위들 중 분야 언어 단위 및 객체 언어 단위를 제1 속성 언어 단위 후보집합에서 제외할 수 있다. 아울러 제어부(320)는 미리 설정된 의미 없는 언어 단위, 예를 들어 조사/관사 등을 제1 속성 언어 단위 후보집합에서 제외할 수 있다. 또 다른 실시예에 따르면 제어부(320)는 수집된 문서에 포함된 언어 단위들 중 미리 설정된 사전(dictionary)에 등록된 언어 단위를 제1 속성 언어 단위 후보집합에 포함시킬 수 있다.According to another embodiment, the
또 다른 실시예에 따르면, 제어부(320)는 인기 분야객체 언어 단위가 포함된According to another embodiment, the
문서를 검색/수집하고, 수집된 문서에서 인기 분야객체 언어 단위 또는 그 언어 단위가Search/collect documents, and in the collected documents, the popular field object language unit or the language unit
포함된 문장으로부터 미리 설정된 거리 이내에 배치된 언어 단위들을 제1 속성 언어 단위 후보집합에 포함시킬 수도 있다. 또 다른 실시예에 따르면, 제어부(320)는 인기 분야객체 언어 단위가 포함된 문서를 검색/수집하고, 문맥을 분석하여 인기 분야객체 언어 단위를 수식/설명하는 용도로 사용된 언어 단위들을 제1 속성 언어 단위 후보집합에 포함시킬 수도 있다.Language units arranged within a preset distance from the included sentence may be included in the first attribute language unit candidate set. According to another embodiment, the
또한, 언어 단위 사이의 거리 또는 언어 단위와 문장 사이의 거리는 예를 들어 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 문장의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 단어의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 어절의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 글자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다. 제어부(320)는 언어 단위 분석을 위해 형태소 분석을 먼저 수행할 수 있다.In addition, the distance between the language units or the distance between the language unit and the sentence is, for example, the number of sentences positioned between two language units or a language unit and a sentence, the number of words positioned between two language units or a language unit and a sentence, It may be determined based on one or more of the number of words positioned between two language units or a language unit and a sentence, and the number of letters between two language units or a language unit and a sentence. The
단계 S720에서 제어부(320)에 의해 비인기 분야객체 언어 단위와 같은 문서에 함께 등장하는 언어 단위들이 제2 속성 언어 단위 후보집합으로 설정된다.In step S720, language units appearing in the same document as the non-popular field object language units are set as the second attribute language unit candidate set by the
여기서, 제어부(320)는 비인기 분야객체 언어 단위가 포함된 문서를 검색/수집하고, 수집된 문서에 포함된 언어 단위들을 제2 속성 언어 단위 후보집합으로 설정할 수 있다. Here, the
다른 실시예에 따르면 제어부(320)는 수집된 문서에 포함된 언어 단위들 중 분야 언어 단위 및 객체 언어 단위를 제2 속성 언어 단위 후보집합에서 제외할 수 있다. 아울러 제어부(320)는 미리 설정된 의미 없는 언어 단위, 예를 들어 조사/관사 등을 제2 속성 언어 단위 후보집합에서 제외할 수 있다. 또 다른 실시예에 따르면 제어부(320)는 수집된 문서에 포함된 언어 단위들 중 미리 설정된 사전(dictionary)에 등록된 언어 단위를 제2 속성 언어 단위 후보집합에 포함시킬 수 있다.According to another embodiment, the
또 다른 실시예에 따르면, 제어부(320)는 비인기 분야객체 언어 단위가 포함된 문서를 검색/수집하고, 수집된 문서에서 비인기 분야객체 언어 단위 또는 그 언어 단위가 포함된 문장으로부터 미리 설정된 거리 이내에 배치된 언어 단위들을 제2 속성 언어 단위 후보집합에 포함시킬 수도 있다. 또 다른 실시예에 따르면, 제어부(320)는 비인기 분야객체 언어 단위가 포함된 문서를 검색/수집하고, 문맥을 분석하여 비인기 분야객체 언어 단위를 수식/설명하는 용도로 사용된 언어 단위들을 제2 속성 언어 단위 후보집합에 포함시킬 수도 있다.According to another embodiment, the
또한, 언어 단위 사이의 거리 또는 언어 단위와 문장 사이의 거리는 예를 들어 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 문장의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 단어의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 어절의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 글자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다. 제어부(320)는 언어 단위 분석을 위해 형태소 분석을 먼저 수행할 수 있다.In addition, the distance between the language units or the distance between the language unit and the sentence is, for example, the number of sentences positioned between two language units or a language unit and a sentence, the number of words positioned between two language units or a language unit and a sentence, It may be determined based on one or more of the number of words positioned between two language units or a language unit and a sentence, and the number of letters between two language units or a language unit and a sentence. The
단계 S730에서 제어부(320)에 의해 제1 속성 언어 단위 후보집합 및 제2 속성 언어 단위 후보집합 모두에 속한 언어 단위들이 대표 속성 언어 단위 후보집합으로 설정될 수 있다. 즉, 인기 분야객체 언어 단위를 수식하는 표현으로도 쓰이면서 비인기 분야객체 언어 단위를 수식하는 표현으로도 쓰이는 언어 단위들이 대표 속성 언어 단위 후보집합으로 수집될 수 있다.In step S730, language units belonging to both the first attribute language unit candidate set and the second attribute language unit candidate set may be set as the representative attribute language unit candidate set by the
다른 실시예에 따르면, 단계 S610에서 제어부(320)는 인기/비인기 여부에 관계없이 객체 언어 단위 및/또는 분야 언어 단위와 함께 등장하는 언어 단위들을 대표 속성 언어 단위 후보집합에 포함시킬 수도 있다.According to another embodiment, in step S610, the
도 6으로 돌아가서, 단계 S620에서 제어부(320)에 의해 제2 집합 문서들로부터 대표 속성 언어 단위 후보집합에 포함되는 각 대표 속성 언어 단위와 연관된 둘 이상의 하위 언어 단위들이 추출된다.Returning to FIG. 6, in step S620, two or more lower language units associated with each representative attribute language unit included in the representative attribute language unit candidate set are extracted from the second set of documents by the
단계 S620의 하위 언어 단위 추출에 사용되는 제2 집합 문서와 단계 S610의 대표 속성 언어 단위 후보집합 추출에 사용되는 제1 집합 문서는 서로 다른 문서 집합일 수도 있고 서로 같은 문서 집합일 수도 있다. 예를 들어, 제1 집합 문서는 수집 가능한 문서 전부를 포함하는 집합이고, 제2 집합 문서는 항목 추천 서비스를 제공하고자 하는 특정 관심 분야가 주요한 언어 단위로 사용된 문서들 만을 포함하는 집합이 될 수 있다. 제어부(320)는 수집 가능한 문서들을 분석하여 자주 등장하는 언어 단위들을 기반으로 각 문서가 항목 추천 서비스를 제공하고자 하는 특정 관심 분야가 주요한 언어 단위로 사용된 문서인지 분석할 수 있다. The second set document used for extracting the lower language unit in step S620 and the first set document used for extracting the representative attribute language unit candidate set in step S610 may be different document sets or may be the same document set. For example, the first set of documents may be a set including all collectable documents, and the second set of documents may be a set including only documents in which a specific field of interest to provide item recommendation service is used as a major language unit. have. The
다른 실시예에 따르면 제1 집합 문서 및 제2 집합 문서 모두 수집 가능한 관련문서 전부를 포함하는 집합이 될 수 있다. 다른 실시예에 따르면, 제1 집합 문서는 수집 가능한 관련문서 전부를 포함하는 집합이고 제2 집합 문서는 항목 추천 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합이 될 수 있다. According to another embodiment, both the first set of documents and the second set of documents may be a set including all collectable related documents. According to another embodiment, the first set of documents may be a set including all of the collectable related documents, and the second set of documents may be a set including only documents related to a specific field of interest for which an item recommendation service is to be provided.
또 다른 실시예에 따르면 제2 집합 문서는 수집 가능한 관련문서 전부를 포함하는 집합이고 제1 집합 문서는 항목 추천 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합이 될 수 있다.According to another embodiment, the second set of documents may be a set including all of the collectable related documents, and the first set of documents may be a set including only documents related to a specific field of interest for which an item recommendation service is to be provided.
단계 S620을 위해, 제어부(320)는 예를 들어, 항목 추천 서비스를 제공하고자 하는 특정 관심분야에 관련된 문서만을 포함하는 집합을 생성하기 위해 해당 관심 분야 자체를 나타내는 분야 언어 단위를 포함하는 문서들 및/또는 해당 관심분야에 속하는 객체 언어 단위를 포함하는 문서들을 수집하고, 그들 중 분야 언어 단위/객체 언어 단위의 비중이 미리 설정된 값 이상인 문서들을 추출하여 특정 관심분야에 관련된 문서만을 포함하는 집합을 생성할 수 있다. 분야 언어 단위/객체 언어 단위의 비중은 분야 언어 단위/객체 언어 단위의 등장 빈도나 등장 위치, 문맥 등을 통해 판단할 수 있다. 예를 들어, 분야 언어 단위/객체 언어 단위가 자주 등장하거나 분야 언어 단위/객체 언어 단위가 해당 문서의 타이틀로 사용되거나 큰 글자 또는 강조를 위한 글자체로 표시되는 문서는 특정 관심분야에 관련된 문서로 분류할 수 있을 것이다.For step S620, the
단계 S620에서 제어부(320)는 예를 들어 제2 집합 문서 중 적어도 일부를 분석하여 각 대표 속성 언어 단위와 가장 연관도가 높은 하위 언어 단위들을 미리 설정된 개수만큼 추출하여 각 대표 속성 언어 단위와 연관된 둘 이상의 하위 언어 단위들을 추출할 수 있다.In step S620, the
여기서, 제어부(320)는 예를 들어 하위 언어 단위가 대표 속성 언어 단위와 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 대표 속성 언어 단위와 하위 언어 단위 사이의 연관도를 판단할 수 있다. 예를 들어 특정 문장에서 언어 단위 A의 주변에 등장하는 단어들은 다른 문서에서도 언어 단위 A와 연관된 단어의 주변에 등장할 수 있으리라고 볼 수 있다.Here, the
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too humid, so I suffered."
위 두 문장을 살펴보면 같은 문맥에서 "더워서"라는 단어가 "습해서"라는 단어로 대체되었다. 제어부(320)는 "덥다"와 "습하다"가 서로 연관된 단어라는 것을 유추할 수 있다.Looking at the above two sentences, the word "because it's hot" has been replaced by the word "because it's wet" in the same context. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on vacation with a big heart, but because it was July, it was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "여행"과 "휴가"가 연관된 단어라는 것을 유추할 수 있다.Similarly, the
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was August, the weather was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "7월"과 "8월"이 연관된 단어라는 것을 유추할 수 있다.Similarly, the
따라서, 제어부(320)는 이전에 수집된 문서들을 통해 "덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 저장해 둘 수 있다 이후 아래와 같은 문장을 수집한다고 가정한다.Therefore, the
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on vacation with a big heart, but because it was July, the weather was too humid, so I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 힘들었다.""I went on a trip with a big heart, but it was hard because the weather was too hot because it was August."
위의 두 문장이 동일한 문맥은 아니지만 덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 알고 있다면, 제어부(320)는 위 문장을 통해 "고생했다"와 "힘들었다" 역시 연관된 단어임을 학습할 수 있을 것이다.The above two sentences are not the same context, but if you know that "hot" and "wet" are related words, "July" and "August" are related words, and "travel" and "vacation" are related words, the control unit (320) will be able to learn that "I suffered" and "I was difficult" are also related words through the above sentence.
동일/유사한 문맥에 등장하는 빈도가 높은 언어 단위 쌍은 서로 연관도가 높은 것으로 판단할 수 있다. 아울러 두 언어 단위가 등장하는 문맥의 유사도가 높을수록 두 언어 단위 사이의 연관도가 높은 것으로 판단할 수 있다. 제어부(320)는 수집되는 문서들을 이용해 학습을 진행하여 언어 단위들 사이의 연관도를 설정하고, 설정된 언어 단위 간 연관도와 문장의 문맥을 이용하여 해당 문장에서 등장하는 언어 단위들의 연관도를 설정하는 식으로 언어 단위 간 연관도 판단의 정확성을 높일 수 있다.Language unit pairs with a high frequency appearing in the same/similar context may be determined to have a high correlation. In addition, the higher the similarity between the context in which the two language units appear, the higher the correlation between the two language units can be determined. The
이와 유사한 학습 방식으로 NNLM(Neural Net Language Model),In a similar learning method, NNLM (Neural Net Language Model),
RNNLM(Recurrent Neural Net Language Model), word2vec, 스킵그램(skipgram) 및RNNLM (Recurrent Neural Net Language Model), word2vec, skipgram, and
CBOW(Continuous Bag-of-Words)방식이 알려져 있다. 특히 word2vec을 이용할 경우 word2vec은 문서들을 이용해 학습하여 각 언어 단위들을 벡터에 대응시키고, 두 언어 단위 사이의 유사도는 두 벡터의 코사인 유사도 계산을 통해 파악할 수 있다.CBOW (Continuous Bag-of-Words) method is known. In particular, when word2vec is used, word2vec learns using documents and associates each language unit with a vector, and the similarity between the two language units can be determined by calculating the cosine similarity of the two vectors.
이러한 방식 또는 유사한 방식으로, 제어부(320)는 제2 집합 문서 중 적어도 일부를 분석하여 각 대표 속성 언어 단위와 가장 연관도가 높은 하위 언어 단위들을 미리 설정된 개수만큼 추출할 수 있다.In this way or a similar method, the
단계 S630에서 제어부(320)는 제2 집합 문서들로부터 대표 속성 언어 단위 후보집합 내 각 대표 속성 언어 단위와 하위 언어 단위 쌍에 대응되는 연관 가중치를 추출할 수 있다.In step S630, the
또한, 단계 S630은 도 6의 단계 S630의 상세 순서를 도시한 도 8을 참조하면 다음과 같다.In addition, step S630 is as follows with reference to FIG. 8 showing a detailed sequence of step S630 of FIG. 6.
도 8을 참조하면, 단계 S810에서 제어부(320)에 의해 제2 집합 문서 중 적어도 일부를 분석하여 하위 언어 단위들 사이의 상호 연관도가 추출될 수 있다. 예를 들어 대표 속성 언어 단위 A1에 대해 연관된 하위 언어 단위로서 수집된 것이 B11 내지 B150의 50개 하위 언어 단위라고 가정한다. 이 경우 제어부(320)는 이들 50개 하위 언어 단위들에 대해 두 하위 언어 단위가 같은 문서에 함께 등장하는 빈도를 이용하여 두 하위 언어 단위 사이의 상호 연관도를 추출할 수 있다. B11 과 B12가 같은 문서에 등장하는 빈도에 따라 B11 과 B12 사이의 상호 연관도가 결정된다. 다른 실시예에 따르면 B11 과 B12가 같은 문서에 등장하는 빈도가 상호 연관도에 영향을 주는 것에 더하여, B11 과 B12가 같은 문서에 등장하는 경우 두 언어 단위 B11 과 B12 사이의 거리(또는 두 언어 단위가 등장하는 문장 사이의 거리)가 가까울수록 높은 상호 연관도가 인정될 수 있다. 유사한 방식으로, 하위 언어 단위들 사이의 상호 연관도가 추출될 수 있다. 언어 단위 사이의 거리 또는 언어 단위와 문장 사이의 거리는 예를 들어 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 문장의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 단어의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 위치하는 어절의 개수, 두 언어 단위 또는 언어 단위와 문장 사이에 글자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.Referring to FIG. 8, in step S810, at least a part of the second set of documents may be analyzed by the
단계 S820에서 제어부(320)에 의해 하위 언어 단위들 사이의 상호 연관도를 기초로 각 대표 속성 언어 단위와 하위 언어 단위 간의 연관 가중치가 추출될 수 있다.In step S820, the
여기서, 제어부(320)는 예를 들어, 각 대표 속성 언어 단위에 상응하는 하위 언어 단위 집합에 대하여, 하위 언어 단위 집합 내의 특정 하위 언어 단위와 하위 언어 단위 집합 내의 다른 하위 언어 단위 간의 상호 연관도와, 특정 하위 언어 단위와 대표 속성 언어 단위 사이의 연관 가중치가, 서로 양의 상관관계를 가지도록 특정 하위 언어 단위와 대표 속성 언어 단위 사이의 연관 가중치를 설정할 수 있다.Here, the
예를 들어 대표 속성 언어 단위 A1의 하위 언어 단위 B11과 A1의 다른 하위 언어 단위들(B12 내지 B150) 사이의 상호 연관도가 높을 수록 A1과 B11 사이의 연관 가중치가 높게 설정될 수 있다. 예를 들면, B11과 A1의 다른 하위 언어 단위들(B12 내지 B150) 사이의 상호 연관도 산술평균(또는 총합)이 B11과 A1 사이의 연관 가중치가 될 수 있다. 단순한 산술평균 대신 기하 평균/조화 평균이 사용될 수도 있다. 하위 언어 단위 B11과 A1의 다른 하위 언어 단위들(B12 내지 B150) 사이의 상호 연관도 중 가장 높은 2개(예시)와 가장 낮은 2개(예시)를 제외하고 평균을 구하는 절삭 평균이 사용될 수도 있다. 상호 연관도의 산술 평균 대신 중앙값(median)이 사용될 수도 있다.For example, the higher the correlation between the sub-language units B1 1 of the representative attribute language unit A1 and the other sub-language units (B1 2 to B1 50 ) of A1, the higher the association weight between A1 and B1 1 may be. have. For example, an arithmetic mean (or sum) of correlations between B1 1 and other sub-language units (B1 2 to B1 50 ) of A1 may be an association weight between B1 1 and A1. Instead of a simple arithmetic mean, a geometric mean/harmonized mean may be used. Of the correlations between the sublingual units B1 1 and the other sublingual units of A1 (B1 2 to B1 50 ), the cutting average to be averaged excluding the highest two (example) and the lowest two (example) is It can also be used. A median may be used instead of the arithmetic mean of the correlation.
일부 실시예에 따르면, A1에 대한 B11의 연관 가중치를 계산하기 위해서 사용되는 "B11과 B12가 같은 문서에 등장하는 빈도"는 단순히 B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수에 따라 달라지는 것이 아니라, B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수를 B11이 등장하는 문서의 개수 및/또는 B12이 등장하는 문서의 개수로 나누어 구할 수 있다. 유사한 방식으로 " B11과 B12가 같은 문서에 등장하는 빈도"는 B11과 B12가 같이 등장하는(또는 같은 문장에 등장하는, 또는 근접하여 등장하는) 문서의 개수와 양의 상관관계를 가지고 B11이 등장하는 문서의 개수 및/또는 B12가 등장하는 문서의 개수와 음의 상관관계를 가지도록 설정될 수 있다. 단순하게 흔히 사용되는 단어가 대표 속성 언어 단위 A1에 높은 연관 가중치를 가지는 것을 방지하기 위한 일종의 정규화(normalization)이다.According to some embodiments, the sentence "B1 1 and frequency B1 of 2 appears on the same document" is simply (or, such that appeared as a B1 1 and B1 2 is used to calculate the associated weight of B1 1 for A1 varies, not according to the number of which, or close to the appearance appearance) document, B1 1 and B1 2 is to appear (or that appear in the same sentence, or close to that) that B1 1 appeared the number of documents emerge as It can be obtained by dividing the number of documents and/or the number of documents in which B1 2 appears. "B1 1 and B1 2 on the frequency of appearance in such documents" in a manner similar to the B1 1 and B1 2 is an appearance number of the document and the amount of correlation (or, or close-up appearance which by appearing in the same sentence) that, as It may be set to have a negative correlation with the number of documents in which B1 1 appears and/or the number of documents in which B1 2 appears. It is simply a kind of normalization to prevent a commonly used word from having a high association weight in the representative attribute language unit A1.
도 6으로 돌아와서, 단계 S640에서 제어부(320)에 의해 제1 집합 문서들로부터 객체 항목과 하위 언어 단위 간의 하위 연관도가 추출될 수 있다.Returning to FIG. 6, in step S640, a lower association degree between an object item and a lower language unit may be extracted from the first set of documents by the
여기서, 제1 집합 문서들 중에서 객체 항목을 나타내는 객체 언어 단위(예를 들어 "테일러 스위OO")와 같은 문서, 또는 같은 문장 또는 근접한 문장에 자주 등장한 하위 언어 단위들은 해당 객체 항목과 연관된 것으로 판단할 수 있다. Here, among the first set of documents, a document such as an object language unit representing an object item (for example, "Taylor Swivel"), or sub-language units frequently appearing in the same sentence or adjacent sentence are determined to be related to the object item. I can.
또한, 제어부(320)는 해당 객체 항목의 객체 언어 단위가 등장한 문서를 수집하고, 그 문서들 내에 함께 등장한 빈도에 따라 하위 언어 단위와 객체 언어 단위 사이의 하위 연관도를 추출할 수 있다. 특히 제어부(320)는 하위 언어 단위가 객체 언어 단위와 같은 문장에 등장하면 하위 언어 단위가 객체 언어 단위와 다른 문장에 등장한 경우에 비해 하위 언어 단위와 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다.Also, the
또한, 제어부(320)는 하위 언어 단위가 등장한 문장이 객체 언어 단위가 등장한 문장과 근접할 수록 하위 언어 단위와 해당 객체 언어 단위의 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다. 두 문장의 근접도는 예를 들어 두 문장 사이에 위치하는 문장의 개수, 두 문장 사이에 위치하는 단어의 개수, 두 문장 사이에 위치하는 어절의 개수, 두 문장 사이에 위치하는 글자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.Also, as the sentence in which the lower language unit appears is closer to the sentence in which the object language unit appears, the
또한, 제어부(320)는 하위 언어 단위가 등장한 위치가 객체 언어 단위가 등장한 위치와 근접할 수록 하위 언어 단위와 해당 객체 언어 단위의 객체 항목 사이의 연관도가 더 높은 것으로 설정할 수 있다. 하위 언어 단위와 객체 언어 단위 사이의 근접도는 예를 들어, 하위 언어 단위와 객체 언어 단위 사이에 위치하는 문장의 개수, 하위 언어 단위와 객체 언어 단위 사이에 위치하는 단어의 개수, 하위 언어 단위와 객체 언어 단위 사이에 위치하는 어절의 개수, 하위 언어 단위와 객체 언어 단위 사이에 위치하는 글자의 개수 중 어느 하나 이상을 기준으로 판단될 수 있다.In addition, the
단계 S650에서 제어부(320)에 의해 단계 S630의 연관 가중치 및 단계 S640의 하위 연관도를 이용하여 객체 항목과 각 대표 속성 언어 단위 간의 객체-언어 단위 연관도가 추출될 수 있다.In step S650, an object-language unit association degree between the object item and each representative attribute language unit may be extracted by using the association weight of step S630 and the sub-relationship degree of step S640 by the
예를 들어, 객체 항목 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도는 C와 A1의 하위 언어 단위들(예를 들어 B11 내지 B150) 사이의 하위 연관도 및 각 하위 언어 단위들의 연관 가중치를 이용하여 추출될 수 있다. 예를 들어 객체 항목 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도는, 객체 항목 C와 B11 내지 B150 사이의 하위 연관도가 높을수록 높게 설정될 수 있다.For example, the degree of object-language unit association between the object item C and the representative attribute language unit A1 is the degree of sub-relation between the sub-language units of C and A1 (for example, B1 1 to B1 50 ) and each sub-language unit. Can be extracted using the associated weights of For example, the object-language unit association degree between the object item C and the representative attribute language unit A1 may be set higher as the lower degree of association between the object item C and B1 1 to B1 50 is higher.
아울러 A1과의 관계에서 연관 가중치가 더 높은 하위 언어 단위에 대해서 객체 항목 C와의 하위 연관도가 높다면, 연관 가중치가 더 낮은 하위 언어 단위에 대해서 하위 연관도가 높은 경우에 비하여 객체 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도가 더 높게 설정될 수 있다. 예를 들어 표 1의 경우가 표 2의 경우보다 연관 가중치 높은 쪽(B11)의 하위 연관도가 높으므로, 표 1의 경우가 표 2의 경우 보다 객체 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도가 높게 설정될 수 있다.In addition, if the sub-language unit with a higher association weight has a high sub-relationship with the object item C in the relationship with A1, the representative attribute with object C is higher than the sub-language unit with a lower association weight. The object-language unit association between language units A1 may be set to be higher. For example, in the case of Table 1 , the lower association of the one with higher association weight (B1 1 ) than in the case of Table 2 is higher, so that in Table 1 is the object between object C and the representative attribute language unit A1 than in Table 2 -Language unit correlation can be set high.
일 실시예에 따르면 각 하위 언어 단위에 대응되는 연관 가중치 및 하위 연관도를 곱한 값의 총합으로(또는 이 총합을 이용하여) 객체 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도를 구할 수도 있다. 표 1의 경우 0.5×0.5+0.2×0.2=0.29가 되고, 표 2의 경우 0.2×0.5+0.5×0.2=0.20이 되므로, 표 1의 경우가 표 2의 경우보다 객체 C와 대표 속성 언어 단위 A1 사이의 객체-언어 단위 연관도가 높게 설정될 수 있다. 상술한 객체-언어 단위 연관도 산정 방식은 예시적인 것에 불과하고, 단계 S630의 A1과의 연관 가중치와 단계 S640의 C와의 하위 연관도가 C 및 A1 사이의 객체-언어 단위 연관도와 양의 상관관계에 있다면 다른 방식이 사용되어도 무방하다.According to an embodiment, the object-language unit association degree between object C and the representative attribute language unit A1 is calculated by the sum of the product of the association weight and the sub association degree corresponding to each sub-language unit (or using this total). May be. In the case of Table 1, 0.5×0.5+0.2×0.2=0.29, and in the case of Table 2, 0.2×0.5+0.5×0.2=0.20, so that the case of Table 1 is the object C and the representative attribute language unit A1 than the case of Table 2. The relationship between object-language units may be set to be high. The above-described object-language unit association calculation method is only exemplary, and the association weight with A1 in step S630 and the sub-relationship with C in step S640 are the object-language unit association and positive correlation between C and A1. If it is, other methods may be used.
이후, 통신부(310)가 특정 대표 속성 언어 단위와 연관된 항목 추천 요청을 수신하면, 제어부(320)는 단계 S650에서 추출한 객체-언어 단위 연관도를 기반으로 결과 항목을 통신부(310)를 통해 제공할 수 있다. 예를 들어 어느 하나의 대표 속성 언어 단위를 포함한 항목 추천 요청을 수신한 경우 제어부(320)는 해당 대표 속성 언어 단위와의 관계에서 객체-언어 단위 연관도가 가장 높은 순서대로 객체 항목에 관한 정보를 제공할 수 있다.Thereafter, when the
다른 실시예에서, 둘 이상의 대표 속성 언어 단위 및 그에 대응되는 가중치를 포함한 항목 추천 요청을 수신한 경우 제어부(320)는 각 객체 항목에 대해 항목 추천 요청에 포함된 대표 속성 언어 단위들과의 객체-언어 단위 연관도에 가중치를 곱한(또는 이와 유사하게 가중치를 부가한) 값의 총합(또는 평균)이 가장 높은 순서대로 객체 항목에 관한 정보를 제공할 수 있다.In another embodiment, when receiving an item recommendation request including two or more representative attribute language units and weights corresponding thereto, the
도 9는 본 발명의 다른 실시예에 따른 항목 추천 과정의 순서도이다.9 is a flowchart of an item recommendation process according to another embodiment of the present invention.
도 9의 실시예는 도 6의 실시예와 동일한 과정들에 더해서 단계 S620과 단계 S630의 사이에 두 단계들(S623, S626)을 더 포함하고 있다. 여기서는 중복된 설명을 피하고 단계 S623 및 단계 S626에 대해서만 설명한다.The embodiment of FIG. 9 further includes two steps S623 and S626 between steps S620 and S630 in addition to the same processes as the embodiment of FIG. 6. Here, redundant description is avoided, and only steps S623 and S626 are described.
단계 S623에서 제어부(320)는, 단계 S620에서 추출된 하위 언어 단위들 각각이, 감정 언어(감정어)에 해당하는지 판단한다. 이를 위해 저장부(330) 또는 외부 서버가 감정어 사전(dictionary)를 보유할 수 있다. 감정어 사전은 어떤 단어(언어 단위)가 감정어인지 여부를 판단하기 위한 도구로서, 예를 들어 감정어 목록을 보유할 수 있다. 감정어 목록에 포함된 언어 단위는 감정어라고 할 수 있고, 그렇지 않은 언어 단위는 감정어가 아니라고 판단할 수 있다. 다만 이러한 판단은 사전적 의미에 기반한 것이고, 시대에 따라 변하는 대중의 단어 사용을 반영하지 못할 수 있다. 따라서 제어부(320)는 대표 속성 언어 단위 자체의 감정어 여부를 판단하지 않고, 대표 속성 언어 단위에 연관된 하위 언어 단위들의 감정어 여부를 기준으로 대표 속성 언어 단위를 활용할지 여부를 판단한다.In step S623, the
다른 실시예에서 제어부(320)는 감정어 사전에 감정어인 것으로 등록된, 미리 설정된 수 이상의 단어와 연관도가 높은(미리 설정된 값 이상인) 것으로 학습된 다른 단어를 감정어 사전에 추가할 수 있다.In another embodiment, the
단계 S626에서 제어부(320)에 의해 연관된 하위 언어 단위의 감정 언어 비율(또는 숫자)이 높은 순서대로 미리 설정된 개수의 대표 속성 언어 단위만이 대표 속성 언어 단위 후보집합 내에 남고 나머지가 제거될 수 있다. 이러한 과정을 통해 감정 언어와 거리가 먼 언어 단위가 감정 언어처럼 취급되는 것을 방지할 수 있다.In step S626, only a preset number of representative attribute language units may remain in the representative attribute language unit candidate set in the order in which the emotional language ratio (or number) of the lower language unit associated by the
도 5로 돌아와서, 단계 S520에서 제어부(320)에 의해 언어 단위와 대표 속성 언어 단위 쌍에 대응하는 기본 언어 단위-언어 단위 연관도가 저장부(330)에 저장된다.Returning to FIG. 5, in step S520, the
여기서, 언어 단위는 대표 속성 언어 단위들의 가중치로 표현될 수 있는 표현들을 포함할 수 있다. 예를 들어, "심심해"도 언어 단위가 될 수 있고, "예쁜"도 언어 단위가 될 수 있다. Here, the language unit may include expressions that can be expressed by weights of representative attribute language units. For example, "bored" can be a language unit, and "pretty" can be a language unit.
언어 단위 "심심해"에 대하여 기본 언어 단위-언어 단위 연관도가 높은 대표 속성 언어 단위는 예를 들어 "재미있는", "흥미 진진한", "시간 때우기용" 등 심심한 상황을 해결할 수 있는 대표 속성 언어 단위들을 포함할 수 있다.The representative attribute language unit with a high relationship between the basic language unit and the language unit for the language unit "boring" is a representative attribute language unit capable of solving a boring situation, such as "interesting", "interesting", "for getting time". Can include.
언어 단위 "예쁜"에 대하여 기본 언어 단위-언어 단위 연관도가 높은 대표 속성 언어 단위는 예를 들어 "아름다운", "귀여운", "눈길을 끄는" 등의 "예쁜"과 유사하거나 "예쁜"을 설명하는 대표 속성 언어 단위들을 포함할 수 있다.Regarding the language unit "pretty", the default language unit-language unit is a representative attribute with a high correlation. The language unit is similar to "pretty" or "pretty", for example "beautiful", "cute", "eye-catching". It may include representative attribute language units to be described.
단계 S520의 과정은 예를 들어 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 기본 언어 단위-언어 단위 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다. The process of step S520 may be performed, for example, as an input of an administrator or may be performed by receiving a basic language unit-language unit association degree determined in an external system through a network or a storage medium.
다른 실시예에 따르면 단계 S520의 과정은 인터넷, SNS, 뉴스 등 수집 가능한 문서들을 분석하여 도 6 내지 도 9의 과정과 비슷한 방식으로 수행될 수도 있다.According to another embodiment, the process of step S520 may be performed in a manner similar to the process of FIGS. 6 to 9 by analyzing collectible documents such as the Internet, SNS, and news.
아울러 단계 S520의 과정은 후술하는 바와 같이 사용자의 피드백을 반영하는 과정을 포함할 수 있다.In addition, the process of step S520 may include a process of reflecting the user's feedback, as described later.
단계 S520의 과정은 도 15 내지 도 17 중 어느 하나를 참조하여 후술하는 방식으로 수행될 수도 있다.The process of step S520 may be performed in a manner described later with reference to any one of FIGS. 15 to 17.
도 11은 본 발명의 일 실시예에 따른 기본 언어 단위-언어 단위 연관도의 예시이다.11 is an example of a basic language unit-language unit association diagram according to an embodiment of the present invention.
도 11의 실시예에서 언어 단위는 모두 q개(C1 내지 Cq)가 있고 대표 속성 언어 단위는 모두 n개(k1 내지 kn)가 있다.In the embodiment of FIG. 11, all of the language units are q (C 1 to C q ), and all of the representative attribute language units are n (k 1 to k n ).
예를 들어, 언어 단위 C5와 대표 속성 언어 단위 k3의 기본 언어 단위-언어 단위 연관도는 v3,5이 된다.For example, the basic language unit-language unit association of the language unit C 5 and the representative attribute language unit k 3 is v 3,5 .
단계 S530에서 통신부(310)가 단말(200)로부터 수신 언어 단위를 수신하여 획득하고 획득된 언어 단위를 제어부(320)에 전달한다. 여기서, 수신 언어 단위는 단말(200)이 사용자로부터 수신한 언어 단위다. 단말(200)은 음성 입력을 전기적 신호(음성 신호)로 변환하여 항목 추천 장치(300)에 전달할 수 있다. 항목 추천 장치(300)의 제어부(320)는 음성 신호를 분석하여 텍스트로 변환하고 변환 텍스트를 언어 단위에 매칭시킬 수 있다. 제어부(320)는 또한 음성 신호를 분석하여 음성의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 정황 정보로서 활용할 수도 있다.In step S530, the
다른 실시예에 따르면 단말(200)은 음성 입력을 텍스트로 변환하여 변환 텍스트를 항목 추천 장치(300)에 전달할 수 있다. 단말(200)은 수신한 음성 입력의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 분석 정보를 항목 추천 장치(300) 전달할 수 있다. 항목 추천 장치(300)는 분석 정보를 일종의 정황 정보로서 활용할 수도 있다.According to another embodiment, the terminal 200 may convert a voice input into text and transmit the converted text to the
단계 S540에서 제어부(320)는 객체-언어 단위 연관도 및 기본 언어 단위-언어 단위 연관도를 이용하여 수신 언어 단위와 각 객체 항목 쌍에 대응하는 언어 단위-객체 연관도를 획득한다.In step S540, the
도 12는 본 발명의 일 실시예에 따른 단계 S540의 상세 순서도이다.12 is a detailed flowchart of step S540 according to an embodiment of the present invention.
도 12를 참조하면 단계 S1210에서 제어부(320)에 의해 수신 언어 단위에 대한 각 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 조정 객체-언어 단위 연관도가 획득된다.Referring to FIG. 12, in step S1210, the
일 실시예에 따르면 제어부(320)는 각 객체 항목 및 대표 속성 언어 단위 쌍에 대하여 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 객체-언어 단위 연관도에 수신 언어 단위 및 대표 속성 언어 단위 쌍에 상응하는 기본 언어 단위-언어 단위 연관도를 적용하여 수신 언어 단위에 대한 각 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 조정 객체-언어 단위 연관도를 획득할 수 있다.According to an embodiment, the
특히 제어부(320)는 각 객체 항목 및 대표 속성 언어 단위 쌍에 대하여 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 객체-언어 단위 연관도에 수신 언어 단위 및 대표 속성 언어 단위 쌍에 상응하는 기본 언어 단위-언어 단위 연관도를 곱한 값을 이용하여 수신 언어 단위에 대한 각 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 조정 객체-언어 단위 연관도를 획득할 수 있다.In particular, the
또한 제어부(320)는 각 객체 항목 및 대표 속성 언어 단위 쌍에 대하여 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 객체-언어 단위 연관도와 양의 상관 관계를 가지고, 수신 언어 단위 및 대표 속성 언어 단위 쌍에 상응하는 기본 언어 단위-언어 단위 연관도와 양의 상관 관계를 가지도록 수신 언어 단위에 대한, 각 객체 항목 및 대표 속성 언어 단위 쌍에 상응하는 조정 객체-언어 단위 연관도를 설정할 수도 있다.In addition, the
본 발명에서 객체-언어 단위 연관도, 기본 언어 단위-언어 단위 연관도, 조정 객체-언어 단위 연관도, 기본 언어 단위-하위 언어 단위 연관도와 기타 연관관계를 나타내는 값은 모두 값이 클수록 더 연관관계가 긴밀한 값인 것으로 가정하였다. 다른 실시예에서 일부 연관도 값은 연관도 값이 작을수록 연관관계가 긴밀하고 다른 연관도 값은 연관도 값이 클수록 연관관계가 긴밀한 경우에는 그에 맞도록 양의 상관관계-음의 상관관계가 적절히 대체하여 사용될 수 있을 것이다.In the present invention, values representing object-language unit association, basic language unit-language unit association, coordinated object-language unit association, basic language unit-sub-language unit association, and other association relationships are all associated with higher values. Is assumed to be a close value. In other embodiments, when the association value is small, the association is tighter, and for other association values, when the association value is larger, the association is tight, so that the positive correlation-negative correlation is appropriate. It could be used instead.
예를 들어 제어부(320)는 수신 언어 단위가 C2일 때 객체 항목 i4 및 대표 속성 언어 단위 k3 쌍에 상응하는 조정 객체-언어 단위 연관도를 획득하기 위해서 객체 항목 i4 및 대표 속성 언어 단위 k3 쌍에 상응하는 객체-연관도 w4,3에 수신 언어 단위 C2 및 대표 속성 언어 단위 k3 쌍에 상응하는 기본 언어 단위-언어 단위 연관도 v3,4를 적용하여 조정 객체-언어 단위 연관도를 획득할 수 있다.For example,
특히 연관도의 적용 방식은 객체-연관도와 기본 언어 단위-언어 단위 연관도를 곱하는 방식이 될 수 있다. 예를 들어, 제어부(320)는 수신 언어 단위가 C2일 때 객체 항목 i4 및 대표 속성 언어 단위 k3 쌍에 상응하는 조정 객체-언어 단위 연관도를 획득하기 위해서 객체 항목 i4 및 대표 속성 언어 단위 k3 쌍에 상응하는 객체-연관도 w4,3에 수신 언어 단위 C2 및 대표 속성 언어 단위 k3 쌍에 상응하는 기본 언어 단위-언어 단위 연관도 v3,2를 곱한 값인(w4,3Хv3,2)를 이용하여 조정 객체-언어 단위 연관도를 획득할 수 있다. 다른 실시예에서 제어부(320)는 곱하기 대신 조정 객체-언어 단위 연관도가 w4,3 및 v3,2과 양의 상관 관계를 가지도록 하는 다른 연산/이용 방식을 적용한 함수 f(w4,3, v3,2)를 활용하여 조정 객체-언어 단위 연관도를 획득할 수도 있다. 또한(w4,3Хv3,2)를 조정 객체-언어 단위 연관도로써 활용하는 방법 및 (w4,3Хv3,2)에 기타 요인에 기반한 보정을 가하여 조정 객체-언어 단위 연관도로써 활용하는 방법 모두 활용될 수 있다.In particular, the method of applying the degree of association may be a method of multiplying the degree of association between object-relationship and basic language unit-language unit. For example, the
단계 S1220에서 제어부(320)에 의해 특정 객체 항목에 대한 조정 객체-언어 단위 연관도를 누적한 값을 이용하여 언어 단위-객체 연관도가 획득될 수 있다. 예를 들어 제어부(320)는 특정 객체 항목에 대한 조정 객체-언어 단위 연관도의 누적값과 양의 상관 관계를 가지도록 수신 언어 단위 및 특정 객체 항목 쌍에 상응하는 언어 단위-객체 연관도를 설정할 수 있다. 객체 항목 i4 및 수신 언어 단위 C2 쌍에 상응하는 언어 단위-객체 연관도는 예를 들어, 를 이용하여 획득될 수 있다. f(w4,j,vj,2)는 객체 항목 i4 및 수신 언어 단위 C2, 언어 단위 kj에 대응하는 조정 객체-언어 단위 연관도이다.In step S1220, a language unit-object association may be obtained by using a value obtained by accumulating the coordinated object-language unit association for a specific object item by the
예를 들어, 객체 항목 i4 및 수신 언어 단위 C2 쌍에 대응하는 언어 단위-객체 연관도는 이 될 수 있다. 다른 예에서 객체 항목 i4 및 수신 언어 단위 C2 쌍에 대응하는 언어 단위-객체 연관도는 에 대해 기타 요인에 의한 보정을 가한 값이 될 수 있다.For example, the language unit-object association corresponding to the pair of object item i 4 and destination language unit C 2 is Can be In another example, the language unit-object association corresponding to the pair of object item i 4 and destination language unit C 2 is It may be a value that has been corrected by other factors.
도 5로 돌아와서 단계 S550에서 제어부(320)에 의해 수신 언어 단위에 대응하는 언어 단위-객체 연관도에 따라 추천할 객체 항목이 제공될 수 있다. 예를 들어 수신 언어 단위 C2에 대응하는 언어 단위-객체 연관도가 아래 표 3과 같다면 제어부(320)는 표 4의 순서로 추천할 객체 항목을 제공할 수 있다.Returning to FIG. 5, in step S550, an object item to be recommended may be provided by the
즉, 제어부(320)는 수신 언어 단위에 대응하는 언어 단위-객체 연관도가 높은 순서대로 추천할 객체 항목을 제공할 수 있다. 객체 항목을 제공받은 단말(200)은 표시부(220)를 통해 객체 항목 i3에 대한 정보를 사용자에게 제공할 수 있다. 단말(200)은 필요에 따라 하위 순서의 다른 객체 항목에 대한 정보도 제공할 수 있다. 단말(200)은 표시부(220) 대신 스피커를 통해 음성으로 객체 항목 i3에 대한 정보를 사용자에게 제공할 수 있다.That is, the
도 13은 본 발명의 다른 실시예에 따른 항목 추천 과정의 순서도이다.13 is a flowchart of an item recommendation process according to another embodiment of the present invention.
도 13 내지 도 17의 과정은 도 5 내지 도 12의 과정을 일부 이용하거나 도 5 내지 도 12의 과정을 일부 변경하여 수행될 수도 있다. 도 13 내지 도 17의 과정을 설명하면서 필요한 경우 도 5 내지 도 12에 관한 설명을 원용할 수 있다.The processes of FIGS. 13 to 17 may be performed by partially using the processes of FIGS. 5 to 12 or partially changing the processes of FIGS. 5 to 12. While describing the process of FIGS. 13 to 17, descriptions of FIGS. 5 to 12 may be used if necessary.
도 13을 참조하면, 단계 S1310에서 제어부(320)에 의해 제1 집합 문서들로부터 대표 속성 언어 단위 후보집합이 추출된다. 제어부(320)는 예를 들어, 제1 집합 문서 중 관심 분야에 해당하는 문서에 자주 등장하는 언어 단위들을 대표 속성 언어 단위 후보집합으로 수집할 수 있다. 단계 S1310의 과정은 예를 들어 도 6의 단계 S610의 과정과 동일 또는 유사하게 진행될 수 있다. 단계 S1310의 과정은 도 7의 과정과 동일 또는 유사한 과정을 통해 진행될 수 있다. 도 7의 과정에 대한 설명은 다시 반복하지 않는다.Referring to FIG. 13, in step S1310, a representative attribute language unit candidate set is extracted from the first set of documents by the
단계 S1320에서 제어부(320)에 의해 언어 단위 집합이 설정된다. 예를 들어 관리자의 입력으로 언어 단위 집합을 설정할 수 있다. 변형 예에 따르면, 제어부(320)가 언어 단위로 적합한 어절/구절 등을 언어 단위 후보로서 설정하고, 언어 단위 후보 중 하나 이상을 언어 단위로서 설정할 수 있는 인터페이스를 제공할 수도 있다.In step S1320, a language unit set is set by the
단계 S1330에서 제어부(320)에 의해 객체 항목과 대표 속성 언어 단위 쌍에 대응하는 객체-언어 단위 연관도가 저장된다.In step S1330, an object-language unit association diagram corresponding to an object item and a representative attribute language unit pair is stored by the
단계 S1330의 과정은 예를 들어 도 6 내지 도 8의 실시예들 중 일부에 따라 수행되거나 이와 유사한 과정, 또는 이에 상응하는 과정으로 수행될 수 있다. 다른 실시예에 따르면 단계 S1330의 과정은 관리자의 입력으로 수행되거나 외부 시스템에서 결정된 객체-언어 단위 연관도를 네트워크 또는 저장매체를 통해 전달받아 수행될 수 있다.The process of step S1330 may be performed according to, for example, some of the embodiments of FIGS. 6 to 8, a process similar thereto, or a process corresponding thereto. According to another embodiment, the process of step S1330 may be performed as an input of an administrator or may be performed by receiving an object-language unit association degree determined in an external system through a network or a storage medium.
도 6 내지 도 8의 실시예에 대해서는 앞서 설명한 바 있으므로 반복된 설명을 생략한다. 다만 도 6 및 도 8의 단계 S610에서 수행되는 과정은 도 13의 단계 S1310의 과정과 실질적으로 동일하다. 따라서 단계 S1330의 과정을 수행함에 있어서 도 6 내지 도 8의 실시예들이 활용되더라도 단계 S610의 과정은 다시 수행되지 않고 단계 S1310의 결과가 재활용될 수 있다.Since the embodiments of FIGS. 6 to 8 have been described above, repeated descriptions are omitted. However, the process performed in step S610 of FIGS. 6 and 8 is substantially the same as the process of step S1310 of FIG. 13. Therefore, in performing the process of step S1330, even if the embodiments of FIGS. 6 to 8 are used, the process of step S610 is not performed again and the result of step S1310 may be recycled.
단계 S1340에서 제어부(320)에 의해 대표 속성 언어 단위와 하위 언어 단위 쌍에 대응되는 연관 가중치 및 언어 단위와 하위 언어 단위 쌍에 대응되는 기본 언어 단위-하위 언어 단위 연관도를 이용하여 언어 단위와 대표 속성 언어 단위 쌍에 대응하는 기본 언어 단위-언어 단위 연관도가 저장부(330)에 저장된다. 단계 S1340의 과정은 예를 들어 관리자의 입력으로 수행되거나 도 15 내지 도 17 중 어느 하나 이상의 실시예에 따라 수행될 수 있다.In step S1340, the
단계 S1340의 과정 이전에, 또는 단계 S1340의 과정 도중에 하위 언어 단위가 결정되고, 대표 속성 언어 단위와 하위 언어 단위 쌍에 대응되는 연관 가중치가 결정되고, 언어 단위와 하위 언어 단위 쌍에 대응되는 기본 언어 단위-하위 언어 단위 연관도가 결정되어야 한다.Prior to the process of step S1340 or during the process of step S1340, the lower language unit is determined, the association weight corresponding to the representative attribute language unit and the lower language unit pair is determined, and the base language corresponding to the language unit and the lower language unit pair Unit-sub-language unit association should be determined.
단계 S1340의 과정에 사용되는 하위 언어 단위는 단계 S1330의 과정 도중 단계 S620이 수행되면서 결정될 수 있다. 이 경우 단계 S620의 하위 언어 단위가 단계 S1340에서 사용될 수 있다. 단계 S1330에서 하위 언어 단위가 결정되지 않는 경우 도 6의 단계 S620 및 그 이전의 과정과 동일하거나 유사한 과정을 통해 하위 언어 단위가 결정될 수 있다.The lower language unit used in the process of step S1340 may be determined while step S620 is performed during the process of step S1330. In this case, the lower language unit of step S620 may be used in step S1340. When the lower language unit is not determined in step S1330, the lower language unit may be determined through the same or similar process as in step S620 of FIG. 6 and the previous process.
단계 S1340의 과정에 사용되는 연관 가중치는 단계 S1330의 과정 도중 단계 S630이 수행되면서 결정될 수 있다. 이 경우 단계 S630의 연관 가중치가 단계 S1340에서 사용될 수 있다. 단계 S1330에서 연관 가중치가 결정되지 않는 경우 도 6의 단계 S630 및 그 이전의 과정과 동일하거나 유사한 과정을 통해 연관 가중치가 결정될 수 있다.The association weight used in the process of step S1340 may be determined while step S630 is performed during the process of step S1330. In this case, the association weight of step S630 may be used in step S1340. When the association weight is not determined in step S1330, the association weight may be determined through the same or similar process as in step S630 of FIG. 6 and the previous process.
기본 언어 단위-하위 언어 단위 연관도는 예를 들어 언어 단위와 하위 언어 단위가 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 산출될 수 있다.The degree of association between the basic language unit and the sub-language unit may be calculated, for example, in consideration of the frequency at which the language unit and the sub-language unit appear in the same or similar context.
이하 도 15 내지 도 17에 대한 설명에서 언어 단위 C2과 대표 속성 언어 단위 k3 사이의 기본 언어 단위-언어 단위 연관도 v3,2를 획득하는 예시를 설명한다. 예를 들어 대표 속성 언어 단위 k3의 하위 언어 단위들이 B31 내지 B350이라고 가정한다. 언어 단위, 대표 속성 언어 단위 및 기본 언어 단위-언어 단위 연관도에 대해서는 도 11을 참조하여 상술한 예시를 참조한다. 언어 단위 Cj 및 하위 언어 단위 Bgh 쌍에 상응하는 기본 언어 단위-하위 언어 단위 연관도는 xj,h라고 표현한다. 하위 언어 단위 Bgh 및 대표 속성 언어 단위 kg 쌍에 상응하는 연관 가중치는 yg,h라고 표현한다. 언어 단위 Cj, 대표 속성 언어 단위 kg 및 하위 언어 단위 Bgh 조합에 상응하는 조정 언어 단위-하위 언어 단위 연관도는 xj,g,h라고 표현한다.Hereinafter, in the description of FIGS. 15 to 17, an example of obtaining a basic language unit-language unit association degree v 3 and 2 between the language unit C 2 and the representative attribute language unit k 3 will be described. For example, assume that the lower language units of the representative attribute language unit k 3 are B 31 to B 350 . For the language unit, the representative attribute language unit, and the basic language unit-language unit association diagram, refer to the example described above with reference to FIG. 11. The relationship between the basic language unit and the lower language unit corresponding to the language unit C j and the lower language unit Bg h pair is expressed as x j,h . The association weight corresponding to the pair of the lower language unit Bg h and the representative attribute language unit k g is expressed as y g,h . Language unit C j, k g shorthand language units the language unit, and sub-adjustment corresponding to the combination of the language unit Bg h - Fig sublanguage associated unit is expressed as x j, g, h.
도 15는 본 발명의 일 실시예에 따른 도 13의 단계 S1340의 상세 순서도이다.15 is a detailed flowchart of step S1340 of FIG. 13 according to an embodiment of the present invention.
도 15를 참조하면, 단계 S1510에서 제어부(320)에 의해 기본 언어 단위-하위 언어 단위 연관도에 연관 가중치를 적용하여 조정 언어 단위-하위 언어 단위 연관도가 획득된다.Referring to FIG. 15, in step S1510, the
단계 S1510에서 제어부(320)에 의해 각 언어 단위 및 하위 언어 단위 쌍에 대하여 언어 단위 및 하위 언어 단위 쌍에 상응하는 기본 언어 단위-하위 언어 단위 연관도에 하위 언어 단위 및 대표 속성 언어 단위 쌍에 상응하는 연관 가중치를 적용하여 대표 속성 언어 단위에 대한 각 언어 단위 및 하위 언어 단위 쌍에 상응하는 조정 언어 단위-하위 언어 단위 연관도가 획득될 수 있다.In step S1510, the
예를 들어 제어부(320)는 언어 단위가 C2일 때 하위 언어 단위 B34 및 대표 속성 언어 단위 k3 쌍에 상응하는 C2 - B34 간 조정 언어 단위-하위 언어 단위 연관도를 획득하기 위해서 언어 단위 C2 및 하위 언어 단위 B34 쌍에 상응하는 기본 언어 단위-하위 언어 단위 연관도 x2,4에 하위 언어 단위 B34 및 대표 속성 언어 단위 k3 쌍에 상응하는 연관 가중치 y3,4를 적용하여 조정 언어 단위-하위 언어 단위 연관도 x2,3,4를 획득할 수 있다.For example,
특히 연관 가중치의 적용 방식은 기본 언어 단위-하위 언어 단위 연관도 x2,4에 하위 언어 단위 B34 및 대표 속성 언어 단위 k3 쌍에 상응하는 연관 가중치 y3,4를 곱하는 방식이 될 수 있다. 예를 들어 제어부(320)는 언어 단위가 C2일 때 하위 언어 단위 B34 및 대표 속성 언어 단위 k3 쌍에 상응하는 C2 - B34 간 조정 언어 단위-하위 언어 단위 연관도 x2,3,4를 획득하기 위해서 언어 단위 C2 및 하위 언어 단위 B34 쌍에 상응하는 기본 언어 단위-하위 언어 단위 연관도 x2,4에 하위 언어 단위 B34 및 대표 속성 언어 단위 k3 쌍에 상응하는 연관 가중치 y3,4를 곱한 값인 (x2,4Хy3,4)를 이용하여 조정 언어 단위-하위 언어 단위 연관도 x2,3,4를 획득할 수 있다. 다른 실시예에서 제어부(320)는 곱하기 대신 조정 언어 단위-하위 언어 단위 연관도 x2,3,4가 x2,4 및 y3,4과 양의 상관 관계를 가지도록 하는 다른 연산/이용 방식을 적용한 함수 f(x2,4,y3,4)를 활용하여 조정 언어 단위-하위 언어 단위 연관도 x2,3,4를 획득할 수도 있다. 또한 (x2,4Хy3,4)를 조정 언어 단위-하위 언어 단위 연관도 x2,3,4로써 활용하는 방법 및 (x2,4Хy3,4)에 기타 요인에 기반한 보정을 가하여 조정 언어 단위-하위 언어 단위 연관도 x2,3,4로써 활용하는 방법 모두 활용될 수 있다.In particular, the method of applying the association weight may be a method of multiplying the association weight y 3,4 corresponding to the pair of the basic language unit-sub language unit association x 2,4 and the lower language unit B3 4 and the representative attribute language unit k 3 pair. . For example, when the language unit is C 2 , the
단계 S1520에서 제어부(320)에 의해 조정 언어 단위-하위 언어 단위 연관도 x2,3,f의 누적값을 이용하여 언어 단위 C2 및 대표 속성 언어 단위 k3 간의 기본 언어 단위-언어 단위 연관도가 설정될 수 있다. 즉 언어 단위 C2 및 대표 속성 언어 단위 k3 간의 기본 언어 단위-언어 단위 연관도는 가 될 수 있다. 즉, 하위 언어 단위 B31 내지 B350에 대해 언어 단위 C2와의 기본 언어 단위-하위 언어 단위 연관도 x2,f를 구한 뒤 각각에 대해 해당 하위 언어 단위에 대한 연관 가중치 y3,f를 반영하여 x2,3,f를 구하고 x2,3,f를 누적하여 언어 단위 C2 및 대표 속성 언어 단위 k3 간의 기본 언어 단위-언어 단위 연관도를 구할 수 있다. 다른 실시예에 따르면, 언어 단위 C2 및 대표 속성 언어 단위 k3 간의 기본 언어 단위-언어 단위 연관도는 에 기타 요인에 의한 보정을 가한 값이 될 수 있다. 다른 실시예에 따르면, 언어 단위 C2 및 대표 속성 언어 단위 k3 간의 기본 언어 단위-언어 단위 연관도는 과 양의 상관 관계를 가지는 값이 될 수 있다. 여기서는 하나의 대표 속성 언어 단위에 연결돼 있는 하위 언어 단위가 50개인 것으로 가정하였으나, 대표 속성 언어 단위에 연결돼 있는 하위 언어 단위의 개수가 달라지면 수식에서 f의 누적 범위가 50이 아닌 다른 값이 될 수 있을 것이다.In step S1520, the basic language unit-language unit association between the language unit C 2 and the representative attribute language unit k 3 using the accumulated value of the language unit-lower language unit association x 2,3,f adjusted by the
도 16은 본 발명의 다른 실시예에 따른 도 13의 단계 S1340의 상세 순서도이다.16 is a detailed flowchart of step S1340 of FIG. 13 according to another embodiment of the present invention.
도 16의 단계 S1510, 단계 S1520의 과정은 도 15를 참조하여 상술한 과정과 동일하므로 반복하지 않는다.The processes of steps S1510 and S1520 of FIG. 16 are the same as those described above with reference to FIG. 15, and thus are not repeated.
도 16을 참조하면 단계 S1530에서 제어부(320)에 의해 특정 언어 단위에 대응하는 대표 언어 단위들 중 언어 단위와 대응하는 대표 언어 단위 쌍의 기본 언어 단위-언어 단위 연관도가 기준 기본 언어 단위-언어 단위 연관도 이하인 대표 언어 단위에 대한 기본 언어 단위-언어 단위 연관도가 삭제될 수 있다. 특정 언어 단위에 대응하는 대표 언어 단위들은 특정 언어 단위와의 관계에서 기본 언어 단위-언어 단위 연관도가 설정돼 있는 언어 단위들을 가리킨다. 기준 기본 언어 단위-언어 단위 연관도는 미리 설정돼 있을 수 있다. 다른 실시예에 따르면 기준 기본 언어 단위-언어 단위 연관도는 특정 언어 단위에 대응하는 기본 언어 단위-언어 단위 연관도의 평균값을 이용하여 설정되거나 특정 언어 단위에 대응하는 기본 언어 단위-언어 단위 연관도를 크기 순서대로 배열했을 때 특정 순위의 기본 언어 단위-언어 단위 연관도를 이용하여 설정될 수 있다. 기타 특정 언어 단위에 대응하는 기본 언어 단위-언어 단위 연관도들과 양의 상관관계를 가지는 특정 값이 기준 기본 언어 단위-언어 단위 연관도가 될 수 있다. 기준 기본 언어 단위-언어 단위 연관도는 언어 단위에 따라 달리 설정될 수도 있고, 모든 언어 단위에 대해 동일하게 설정될 수도 있다. 기본 언어 단위-언어 단위 연관도가 삭제되는 것은 언어 단위와 대표 언어 단위 사이의 연관도가 없는 것으로 설정되는 것이다. 제어부는 연관도를 0으로 설정할 수도 있고, 기본 언어 단위-언어 단위 연관도를 나타내는 리스트(어레이, 기타 자료구조로 대체될 수 있음)에서 언어 단위와 대응하는 대표 언어 단위 쌍의 기본 언어 단위-언어 단위 연관도에 관한 정보를 삭제하는 방식으로 기본 언어 단위-언어 단위 연관도를 삭제할 수도 있다. 기타 기본 언어 단위-언어 단위 연관도가 삭제되었음 (또는 연관관계가 삭제되었음)을 알리는 정보를 부가하는 방식이 사용될 수도 있다.Referring to FIG. 16, in step S1530, a basic language unit-language unit association degree between a pair of representative language units corresponding to a language unit among the representative language units corresponding to a specific language unit is a reference basic language unit-language. A basic language unit-language unit association degree for a representative language unit less than or equal to the unit association degree may be deleted. Representative language units corresponding to a specific language unit refer to language units for which a basic language unit-language unit association degree is set in relation to a specific language unit. The reference basic language unit-language unit association degree may be set in advance. According to another embodiment, the reference basic language unit-language unit association degree is set by using an average value of the basic language unit-language unit association corresponding to a specific language unit, or a basic language unit-language unit association corresponding to a specific language unit When they are arranged in order of size, they can be set using a basic language unit-language unit association of a specific rank. A specific value having a positive correlation with the basic language unit-language unit associations corresponding to other specific language units may be the reference basic language unit-language unit association. The reference basic language unit-language unit association degree may be set differently according to the language unit, or may be set identically for all language units. When the association between the basic language unit and the language unit is deleted, it is set that there is no association between the language unit and the representative language unit. The control unit may set the degree of association to 0, or the basic language unit-language of the pair of representative language units corresponding to the language unit in the list (which can be replaced by an array or other data structure) indicating the degree of association between the basic language unit and the language unit. It is also possible to delete the basic language unit-language unit association by deleting information on the unit association. A method of adding information indicating that the association between other basic language units and language units has been deleted (or the association has been deleted) may be used.
단계 S1530의 과정을 거치면 비교적 미세한 연관도를 가지는 기본 언어 단위-언어 단위 연관도가 삭제되어(즉, 연관도가 없는 것으로 설정됨) 지나치게 복잡한 연산을 수행하거나 사용자/관리자에게 실질적으로 의미가 없는 연관관계가 표시되지 않도록 할 수 있다.After the process of step S1530, the basic language unit-language unit association, which has a relatively fine degree of association, is deleted (i.e., it is set to have no association), so that an excessively complex operation is performed or an association that has no practical meaning to the user/manager Relationships can be suppressed.
도 17은 본 발명의 또 다른 실시예에 따른 도 13의 단계 S1340의 상세 순서도이다.17 is a detailed flowchart of step S1340 of FIG. 13 according to another embodiment of the present invention.
도 17의 단계 S1510, 단계 S1520의 과정은 도 15를 참조하여 상술한 과정과 동일하므로 설명을 반복하지 않는다. 도 17의 단계 S1530의 과정은 도 16을 참조하여 상술한 과정과 동일하므로 설명을 반복하지 않는다.Since the processes of steps S1510 and S1520 of FIG. 17 are the same as those described above with reference to FIG. 15, the description will not be repeated. The process of step S1530 of FIG. 17 is the same as the process described above with reference to FIG. 16, so the description will not be repeated.
단계 S1540에서 제어부(320)에 의해 삭제되지 않고 남아 있는 기본 언어 단위-언어 단위 연관도가 정규화될 수 있다. 예를 들어 특정 대표 속성 언어 단위에 연결되어 저장된 기본 언어 단위-언어 단위 연관도의 평균값을 특정 범위에 포함되도록 하기 위하여 특정 대표 속성 언어 단위에 연결되어 저장된 기본 언어 단위-언어 단위 연관도들에 일정한 계수를 곱하여 상승시키거나 감소시킬 수 있다. 다른 예를 들어, 특정 대표 속성 언어 단위에 연결되어 저장된 기본 언어 단위-언어 단위 연관도의 총합이 특정 범위에 포함되도록 하기 위하여 특정 대표 속성 언어 단위에 연결되어 저장된 기본 언어 단위-언어 단위 연관도들에 일정한 계수를 곱하여 상승시키거나 감소시킬 수 있다. 즉, 어떠한 특정 대표 속성 언어 단위에 높은 값의 기본 언어 단위-언어 단위 연관도가 집중되어 어떠한 언어 단위를 선택하더라도 해당 특정 대표 속성 언어 단위만이 추천/사용되거나 특정 대표 속성 언어 단위가 거의 사용되지 않는 경우를 방지하기 위해 적당한 조정이 수행될 수 있다.In step S1540, a basic language unit-language unit association degree remaining without being deleted by the
다른 실시예에 따르면 단계 S1540에서 제어부(320)에 의해 기본 언어 단위-언어 단위 연관도에 일정 계수를 곱하는 대신 일정 계수를 더하거나 로그, 제곱 등의 연산을 결합하여 정규화가 수행될 수도 있다. 또다른 실시예에 따르면 특정 기준값 이상의 기본 언어 단위-언어 단위 연관도들 만을 일부 감소시키거나 특정 기준값 이하의 기본 언어 단위-언어 단위 연관도들 만을 일부 상승시키는 방식으로 정규화가 수행될 수도 있다.According to another embodiment, instead of multiplying a basic language unit-language unit association degree by a predetermined coefficient by the
또 다른 실시예에 따르면, 단계 S1540에서 제어부(320)에 의해 특정 언어 단위에 연결되어 저장된 기본 언어 단위-언어 단위 연관도의 평균값(또는 총합)을 특정 범위에 포함되도록 정규화가 수행될 수도 있다.According to another embodiment, in step S1540, normalization may be performed so that the average value (or sum) of the basic language unit-language unit associations stored by being connected to a specific language unit by the
도 17의 과정 중 단계 S1530이 생략되고 기본 언어 단위-언어 단위 연관도 정규화 과정이 수행되는 변형 예도 가능하다.In the process of FIG. 17, step S1530 is omitted, and a modified example in which the basic language unit-language unit association normalization process is performed is also possible.
단계 S1350에서 통신부(310)에 의해 단말(200)로부터 수신 언어 단위가 수신되고 획득되어 획득된 수신 언어 단위가 제어부(320)에 전달된다.In step S1350, a reception language unit is received from the terminal 200 by the
수신 언어 단위는 단말(200)이 사용자로부터 수신한 언어 단위다. 단말(200)은 음성 입력을 전기적 신호(음성 신호)로 변환하여 항목 추천 장치(300)에 전달할 수 있다. 항목 추천 장치(300)의 제어부(320)는 음성 신호를 분석하여 텍스트로 변환하고 변환 텍스트를 언어 단위에 매칭시킬 수 있다. 제어부(320)는 또한 음성 신호를 분석하여 음성의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 정황 정보로서 활용할 수도 있다.The reception language unit is a language unit received by the terminal 200 from a user. The terminal 200 may convert a voice input into an electrical signal (voice signal) and transmit it to the
다른 실시예에 따르면 단말(200)은 음성 입력을 텍스트로 변환하여 변환 텍스트를 항목 추천 장치(300)에 전달할 수 있다. 단말(200)은 수신한 음성 입력의 억양이나 높낮이, 빠르기, 호흡 상태 등을 분석하여 분석 정보를 항목 추천 장치(300)에 전달할 수 있다. 항목 추천 장치(300)는 분석 정보를 일종의 정황 정보로서 활용할 수도 있다.According to another embodiment, the terminal 200 may convert a voice input into text and transmit the converted text to the
단계 S1360에서 제어부(320)에 의해 객체-언어 단위 연관도 및 기본 언어 단위-언어 단위 연관도를 이용하여 수신 언어 단위와 각 객체 항목 쌍에 대응하는 언어 단위-객체 연관도가 획득된다. 단계 S1360의 과정은 도 5의 단계 S540의 방식 또는 도 12의 방식에 따라 수행될 수 있다. 동일한 내용의 설명은 생략한다.In step S1360, the
단계 S1370에서 제어부(320)에 의해 수신 언어 단위에 대응하는 언어 단위-객체 연관도에 따라 추천할 객체 항목이 제공될 수 있다. 단계 S1370의 과정은 단계 S550의 과정과 동일한 방식으로 수행될 수 있다. 동일한 설명은 생략한다.In step S1370, the
도 14는 본 발명의 또 다른 실시예에 따른 항목 추천 과정의 순서도이다.14 is a flowchart of an item recommendation process according to another embodiment of the present invention.
도 14의 단계 S1310, S1320, S1330, S1340, S1350, S1360, S1370은 도 13의 단계 S1310, S1320, S1330, S1340, S1350, S1360, S1370과 동일하므로 동일한 설명은 반복하지 않는다.Steps S1310, S1320, S1330, S1340, S1350, S1360, and S1370 of FIG. 14 are the same as steps S1310, S1320, S1330, S1340, S1350, S1360, and S1370 of FIG. 13, so the same description will not be repeated.
도 14에서 추가된 단계 S1333은 대표 속성 언어 단위와 하위 언어 단위가 결정된 이후 어느 시점에라도 수행될 수 있다. 예를 들어 단계 S1333은 단계 S1330과 동시에/병행하여 수행될 수도 있고 단계 S1333의 과정이 단계 S1330 도중에 수행될 수도 있다.Step S1333 added in FIG. 14 may be performed at any time after the representative attribute language unit and the lower language unit are determined. For example, step S1333 may be performed simultaneously/in parallel with step S1330, or the process of step S1333 may be performed during step S1330.
단계 S1333에서 제어부(320)에 의해 대표 속성 언어 단위와 하위 언어 단위 간의 연관 가중치가 저장된다. 연관 가중치가 설정되는 과정이 단계 S1330에서 수행되지 않는 경우, 도 6의 단계 S630의 과정과 동일 유사한 과정을 통해 대표 속성 언어 단위와 하위 언어 단위 간의 연관 가중치가 설정될 수 있다. 다른 실시예에 따르면 제어부(320)에 의해 단계 S1330에서 설정된 연관 가중치를 불러오는 방식으로 대표 속성 언어 단위와 하위 언어 단위 간의 연관 가중치가 저장될 수도 있다.In step S1333, an association weight between the representative attribute language unit and the lower language unit is stored by the
단계 S1337에서 제어부(320)에 의해 하위 언어 단위와 언어 단위 사이의 기본 언어 단위-하위 언어 단위 연관도가 획득된다.In step S1337, the
제어부(320)는 예를 들어 하위 언어 단위가 언어 단위와 동일 또는 유사한 문맥에 등장하는 빈도를 고려하여 언어 단위와 하위 언어 단위 사이의 연관도를 판단할 수 있다. The
예를 들어 특정 문장에서 언어 단위 A의 주변에 등장하는 단어들은 다른 문서에서도 언어 단위 A와 연관된 단어의 주변에 등장할 수 있으리라고 볼 수 있다.For example, it can be seen that words appearing around language unit A in a specific sentence may appear around words associated with language unit A in other documents.
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too humid, so I suffered."
위 두 문장을 살펴보면 같은 문맥에서 "더워서"라는 단어가 "습해서"라는 단어로 대체되었다. 제어부(320)는 "덥다"와 "습하다"가 서로 연관된 단어라는 것을 유추할 수 있다.Looking at the above two sentences, the word "because it's hot" has been replaced by the word "because it's wet" in the same context. The
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on vacation with a big heart, but because it was July, it was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "여행"과 "휴가"가 연관된 단어라는 것을 유추할 수 있다.Similarly, the
"큰 맘 먹고 여행을 갔으나 7월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was July, the weather was too hot and I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 고생했다.""I went on a trip with a big heart, but because it was August, the weather was too hot and I suffered."
마찬가지로 제어부(320)는 위 두 문장을 통해 "7월"과 "8월"이 연관된 단어라는 것을 유추할 수 있다.Similarly, the
제어부(320)는 이전에 수집된 문서들을 통해 "덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 저장해 둘 수 있다 이후 아래와 같은 문장을 수집한다고 가정한다.The
"큰 맘 먹고 휴가를 갔으나 7월이라 날씨가 너무 습해서 고생했다.""I went on vacation with a big heart, but because it was July, the weather was too humid, so I suffered."
"큰 맘 먹고 여행을 갔으나 8월이라 날씨가 너무 더워서 힘들었다.""I went on a trip with a big heart, but it was hard because the weather was too hot because it was August."
두 문장이 동일한 문맥은 아니지만 덥다"와 "습하다"가 서로 연관된 단어이고 "7월"과 "8월"이 서로 연관된 단어이며 "여행"과 "휴가"가 서로 연관된 단어임을 알고 있다면, 제어부(320)는 위 문장을 통해 "고생했다"와 "힘들었다" 역시 연관된 단어임을 학습할 수 있을 것이다.If the two sentences are not the same context, but know that hot" and "wet" are related words, "July" and "August" are related words, and "travel" and "vacation" are related words, the controller 320 ) Through the above sentence, you can learn that "I suffered" and "I had a hard time" are also related words.
동일/유사한 문맥에 등장하는 빈도가 높은 언어 단위 쌍은 서로 연관도가 높은 것으로 판단할 수 있다. 아울러 두 언어 단위가 등장하는 문맥의 유사도가 높을수록 두 언어 단위 사이의 연관도가 높은 것으로 판단할 수 있다. 제어부(320)는 수집되는 문서들을 이용해 학습을 진행하여 언어 단위들 사이의 연관도를 설정하고, 설정된 언어 단위 간 연관도와 문장의 문맥을 이용하여 해당 문장에서 등장하는 언어 단위들의 연관도를 설정하는 식으로 언어 단위 간 연관도 판단의 정확성을 높일 수 있다.Language unit pairs with a high frequency appearing in the same/similar context may be determined to have a high correlation. In addition, the higher the similarity between the context in which the two language units appear, the higher the correlation between the two language units can be determined. The
이와 유사한 학습 방식으로 NNLM(Neural Net Language Model),In a similar learning method, NNLM (Neural Net Language Model),
RNNLM(Recurrent Neural Net Language Model), word2vec, 스킵그램(skipgram) 및RNNLM (Recurrent Neural Net Language Model), word2vec, skipgram, and
CBOW(Continuous Bag-of-Words)방식이 알려져 있다. 특히 word2vec을 이용할 경우 word2vec은 문서들을 이용해 학습하여 각 언어 단위들을 벡터에 대응시키고, 두 언어 단위 사이의 유사도는 두 벡터의 코사인 유사도 계산을 통해 파악할 수 있다.CBOW (Continuous Bag-of-Words) method is known. In particular, when word2vec is used, word2vec learns using documents and associates each language unit with a vector, and the similarity between the two language units can be determined by calculating the cosine similarity of the two vectors.
도 18은 본 발명의 일 실시예에 따른 용어 계층을 나타낸 도면이다.18 is a diagram showing a term hierarchy according to an embodiment of the present invention.
도 13 또는 도 14의 과정을 완료하면 언어 단위들(C1~Cq)과 대표 속성 언어 단위들(k1~kn), 그리고 하위 언어 단위들(BX1~BXn) 사이의 계층 관계가 설정된다.When the process of FIG. 13 or 14 is completed, the hierarchical relationship between language units (C 1 to C q ), representative attribute language units (k 1 to k n ), and lower language units (BX 1 to BX n ) Is set.
언어 단위와 대표 속성 언어 단위 사이에는 기본 언어 단위-언어 단위 연관도가 설정되고, 대표 속성 언어 단위와 하위 언어 단위 사이에는 연관 가중치가 설정된다. 이러한 계층관계를 이용해 제어부(320)는 언어 단위에 따라 알맞은 객체를 추천해 주거나 새로운 언어 단위 후보를 선정하는 등의 동작을 수행할 수 있다. A basic language unit-language unit association degree is set between the language unit and the representative attribute language unit, and an association weight is set between the representative attribute language unit and the lower language unit. Using this hierarchical relationship, the
도 19는 본 발명의 일 실시 예에 따른 가상 입력 인터페이스 프로그램 설치 과정의 순서도이다.19 is a flowchart of a process of installing a virtual input interface program according to an embodiment of the present invention.
단계 S1910에서 단말(200)은 가압 입력 인터페이스 프로그램을 제공하는 서버(이하, 프로그램 제공 서버)(도시되지 않음)에게 패키지 요청 메시지를 송신한다. 패키지 요청 메시지는 가상 입력 인터페이스 프로그램을 요청하는 메시지이다. 단계 S1920에서 프로그램 제공 서버는 단말(200)에게 가상 입력 인터페이스 프로그램(패키지)를 전달한다.In step S1910, the terminal 200 transmits a package request message to a server providing a pressurized input interface program (hereinafter, a program providing server) (not shown). The package request message is a message requesting a virtual input interface program. In step S1920, the program providing server delivers a virtual input interface program (package) to the terminal 200.
단계 S1930에서 단말(200)은 수신한 가상 입력 인터페이스 프로그램(패키지)을 설치한다. 설치가 불필요하고 수신한 가상 입력 인터페이스 프로그램을 그대로 실행할 수 있는 경우 단계 S1930은 생략될 수 있다. 단말(200)은 사용자의 입력에 따라 가상 입력 인터페이스 프로그램을 실행하여 이벤트에 따른 아이템 정보 분포 제공 방법 및 이벤트에 따른 아이템 추천 방법을 수행한다.In step S1930, the terminal 200 installs the received virtual input interface program (package). If installation is unnecessary and the received virtual input interface program can be executed as it is, step S1930 may be omitted. The terminal 200 executes a virtual input interface program according to a user's input to perform a method of providing item information distribution according to an event and a method of recommending an item according to an event.
도 20은 본 발명의 일 실시 예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 설정하는 방법을 설명하는 흐름도이다.20 is a flowchart illustrating a method of setting a degree of association and order between a language unit and a use item according to an embodiment of the present invention.
본 명세서의 일 실시 예에 따르는 언어 단위와 이용 항목 간의 연관도 및 순서를 설정하는 방법은 카테고리를 매개로 사용자가 선택한 언어 단위에 따라 매칭되는 서치 대상에 대한 정보를 제공하는 방법이다. 언어 단위는 단어, 구문 또는 문장일 수 있으며 사용자의 취향이나 선호사항, 기호 및 감정을 나타내는 감정어를 포함한다.A method of setting a degree of association and an order between a language unit and a usage item according to an embodiment of the present specification is a method of providing information on a search target matched according to a language unit selected by a user through a category. The language unit may be a word, a phrase, or a sentence, and includes an appraisal word representing tastes, preferences, preferences, and emotions of the user.
도 2, 도 3 및 도 20을 참조하면, 단계 S2011에서 항목 추천 장치(300)는 대상의 이미지를 복수개의 카테고리로 분류할 수 있다. 카테고리는 미술작품, 상품, 콘텐츠, 플레이스, 푸드 등 색상에 따른 사용자의 선호가 강한 오브젝트를 그 용도에 따라 분류할 수 있다. 상품은 옷, 가방, 지갑 및 패션소품 등을 포함하는 패션상품과 화장품, 헤어 등을 포함하는 뷰티상품을 포함할 수 있다. 콘텐츠는 영화, 방송 및 아트 등을 포함할 수 있다. 플레이스는 숙박, 액티비티, 명소 및 도시 등을 포함할 수 있다. 푸드는 요리 및 맛집을 포함할 수 있다.2, 3, and 20, in step S2011, the
카테고리의 분류를 통해, 사용자가 원하는 카테고리에 대한 대상의 이미지만을 필터링할 수 있다. 이를 위해 항목 추천 장치(300)는 사용자에 의해 필터링 조건을 선택하도록 안내하고, 상기 사용자에 의해 선택된 필터링 조건에 해당하는 이미지에 대해 작성된 문서만을 추출한다. 여기서 필터링 조건은 상기 카테고리를 포함할 수 있다. 즉, 항목 추천 장치(300)는 획득된 문서들 중에서 사용자에 의해 선택된 카테고리의 문서만을 추출하여 분석할 수 있다. 예를 들어, 사용자에 의해 미술작품이 선택된 경우, 미술작품에 관한 문서만을 추출하고, 추출된 문서에 대하여 이하의 단계를 실행할 수 있다. 추출된 문서는 모두 동등한 가치를 가지는 것으로 평가될 수도 있고, 최신의 문서가 더 높은 가치를 가지는 것으로 평가될 수도 있다.Through the classification of categories, it is possible to filter only images of objects for the category desired by the user. To this end, the
또한, 하나의 문서에서 복수개의 언어 단위가 등장하는 경우, 복수개의 언어 단위에 대하여 등장하는 빈도에 기초하여 대표 언어 단위만을 선정할 수 있다. 또는 복수개의 언어 단위 쌍을 선정할 수도 있다. 언어 단위의 등장 빈도에 따라 추후 연관도 산정시 가중치를 달리할 수 있다. 언어 단위의 등장 빈도가 높을 수록 연관도도 높게 산정되거나 가중치가 커질 수 있다. 즉 언어 단위의 빈도와 해당 문서의 이미지 사이의 연관도는 양의 상관관계를 갖는다.In addition, when a plurality of language units appear in one document, only a representative language unit may be selected based on the frequency of appearance of the plurality of language units. Alternatively, a plurality of language unit pairs may be selected. Depending on the frequency of appearance of the language unit, the weight may be different when calculating the relationship later. The higher the frequency of appearance of language units, the higher the degree of association or the greater the weight. That is, the correlation between the frequency of the language unit and the image of the document has a positive correlation.
단계 S2012에서 항목 추천 장치(300)는 이미지와 관련되어 작성된 문서를 수집하고 수집된 문서로부터 복수개의 분류된 카테고리를 단말(200)에 제공한다. In step S2012, the
문서는 해당 이미지와 관련된 댓글이나 게시물을 포함한다. 예를 들어 해당 이미지와 같은 문서에 함께 등장한 텍스트가 있다면 그 텍스트의 언어 단위, 어구 등이 해당 이미지와 관련된 것으로 취급할 수 있다. 다른 예에 따르면 이미지와 언어 단위(또는 어구 등) 사이의 거리가 미리 설정된 값 이하일 때 해당 언어 단위가 해당 이미지와 관련된 것으로 취급할 수 있다. 이미지와 언어 단위 사이의 거리는 둘 사이에 위치한 이미지의 개수, 텍스트의 byte 수, 글자 수, 어절 수, 라인 수, 단어 수, 문장 수 중 어느 하나 이상을 이용하여 계산할 수 있다. 예를 들어 이미지와 언어 단위 사이의 거리를 어절 수를 이용하여 계산한다면, 이미지와 언어 단위 사이의 거리는 해당 이미지와 해당 언어 단위 사이의 어절 개수에 비례한 값이 될 수 있다.Documents include comments or posts related to the image. For example, if there is a text that appears in the same document as the image, the language unit and phrase of the text can be treated as related to the image. According to another example, when the distance between the image and the language unit (or phrase, etc.) is less than or equal to a preset value, the corresponding language unit may be treated as related to the image. The distance between an image and a language unit can be calculated using one or more of the number of images located between the two, the number of bytes of text, the number of characters, the number of words, the number of lines, the number of words, and the number of sentences. For example, if the distance between the image and the language unit is calculated using the number of words, the distance between the image and the language unit may be a value proportional to the number of words between the image and the corresponding language unit.
예를 들어, 항목 추천 장치(300)는 사용자가 웹페이지, 블로그, 각종 카페, 커뮤니티 사이트, 트위터 또는 페이스북 등의 SNS(Social Network Service)에 게시된 글 및 쇼핑몰이 또는 유튜브(YouTube), 포털 사이트, 트위터 등에서 이미지와 관련하여 남기는 텍스트, 댓글이나 코멘트를 획득할 수 있다.For example, the
단계 S2013에서, 단말(200)은 항목 추천 장치(300)로부터 제공되는 복수개의 분류된 카테고리 중에서 사용자가 임의의 하나의 카테고리를 선택 가능하도록 하는 인터페이스 정보를 전달받아 카테고리 선택부를 표시한다.In step S2013, the terminal 200 receives interface information that enables a user to select an arbitrary category from among a plurality of classified categories provided from the
단계 S2014에서, 사용자(400)에 의해 선택된 카테고리를 획득하고, 단계 S2015에서, 획득된 카테고리를 항목 추천 장치(300)에 송신한다.In step S2014, the category selected by the
단계 S2016에서, 항목 추천 장치(300)는 해당 카테고리에 대한 언어 단위-항목 간 연관도를 설정한다. 여기서, 항목 추천 장치(300)는 해당 카테고리에 함께 등장한 언어 단위를 분석한다. 이를 위해, 저장부(330) 또는 외부 서버가 감정어(감정 언어) 사전(dictionary)를 보유할 수 있다. 감정어 사전은 어떤 단어(언어 단위)가 감정어인지 여부를 판단하기 위한 도구로서, 예를 들어 감정어 목록을 보유할 수 있다. 감정어 목록에 포함된 언어 단위는 감정어라고 할 수 있고, 그렇지 않은 언어 단위는 감정어가 아니라고 판단할 수 있다. 다만 이러한 판단은 사전적 의미에 기반한 것이고, 시대에 따라 변하는 대중의 단어 사용을 반영하지 못할 수 있으므로, 관리자에 의해 감정어가 추가 또는 삭제될 수 있다.In step S2016, the
단계 S2017에서, 항목 추천 장치(300)는 사용자 이용 내역을 획득한다. 여기서, 사용자 이용 내역은 예를 들어 사용자가 이용한 항목들이 될 수 있다. 사용자가 이용한 항목은 예를 들어 사용자가 구매한 항목, 조회한 항목, 선택한 항목, 추천(좋아요)한 항목 등 사용자가 상호작용한 다양한 항목을 포함할 수 있다. 이용 내역은 이용한 항목의 목록만 포함할 수도 있고, 이용한 순서 정보를 더 포함할 수도 있다. 이용 내역은 이용한 항목의 목록, 이용한 시점 정보를 포함할 수도 있다.In step S2017, the
단계 S2018에서, 항목 추천 장치(300)는 이용 내역에 해당하는 연관 언어 단위-연관도 리스트를 머신 러닝 시스템의 입력으로 제공한다. 상기 머신 러닝 시스템은 항목 추천 장치(300)의 일부를 구성할 수도 있고, 항목 추천 장치 외부의 개체로 존재할 수도 있다.In step S2018, the
이하는, 머신 러닝 시스템의 입력의 예시를 보여준다.The following shows an example of the input of a machine learning system.
[시기1(순서1), [연관 언어 단위, 연관도] 리스트][Time 1 (Sequence 1), [Linked Language Unit, Association] List]
[시기2(순서2), [연관 언어 단위, 연관도] 리스트][Time 2 (Sequence 2), [Linked Language Unit, Association] List]
··
··
··
[시기 n(순서 n ), [연관 언어 단위, 연관도] 리스트][Time n (Sequence n ), [Linked Language Unit, Association] List]
단계 S2019에서, 항목 추천 장치(300)는 상기 이용 내역에 해당하는 언어 단위-연관도 리스트들을 머신 러닝 시스템에 입력하여 추천 언어 단위-연관도 리스트를 획득한다.In step S2019, the
여기서, 머신 러닝 시스템은 이전의 1번째 내지 n-1 번째 순서(시기)의 [연관 언어 단위, 연관도] 쌍의 리스트에 따라 다음 n번째 [연관 언어 단위, 연관도] 쌍의 리스트가 영향을 받았다고 가정하여 학습하고, n+1번째 [연관 언어 단위, 연관도] 쌍의 리스트를 1~n번째 [연관 언어 단위, 연관도] 쌍의 리스트 를 기반으로 추천할 수 있는 머신 러닝 시스템이 될 수 있다.Here, in the machine learning system, the list of the next nth [linked language unit, degree of relevance] pair is affected according to the list of [associated language units, degrees of association] pairs in the previous 1st to n-1th order (time). learning to have received at home, and the (n + 1) th [associate language units, the association also] a list of pairs of 1 ~ n-th [associate language units, the association also] be a machine learning system that can be recommended based on the list of pairs have.
이러한 방식으로 동작할 수 있는 머신 러닝 시스템은 예를 들어 텐서 플로우, RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory) (참고 논문 http://arxiv.org/abs/1808.03314) 중 일부, 또는 이들 중 일부의 조합을 포함할 수 있다. Machine learning systems that can operate in this way are, for example, some of Tensor Flow, Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM) (reference paper http://arxiv.org/abs/1808.03314), Or a combination of some of these.
단계 S2020에서, 항목 추천 장치(300)는 상기 추천 언어 단위-연관도 리스트에 상응하는 순서대로 추천항목을 단말(200)에 제공한다.In step S2020, the
또한, 언어 단위 i와 이용 내역(사용자)의 연관도가 Ri이고, 특정 항목 Ij와 언어 단위 i의 연관도가 Rij 이라면, 특정 항목 Ij와 이용 내역(사용자)의 연관도는 Σi=0...k-f(Rij, R i )와 같이 표현할 수 있다. 여기서, k는 1번에서 선택된 언어 단위 개수임).Also, if the degree of association between the language unit i and the usage history (user) is R i and the degree of association between the specific item I j and the language unit i is R ij , the degree of association between the specific item I j and the usage history (user) is Σ It can be expressed as i=0...k- f(R ij , R i ). Here, k is the number of language units selected in step 1).
또한, f(x, y)는 예를 들어 x와 y를 곱한 값이 될 수도 있고, x 및 y와 f(x, y) 가 양의 상관 관계를 가지도록 하는 다른 연산이 될 수도 있으며, 단순한 f(x, y) 누적이 아닌 각 f(x, y) 값들과 양의 상관관계를 가지는 다른 연산이 사용될 수도 있다. 변형 예에서는 단순한 누적 ( i=0...k-1 )이 아닌 특정 항목-이용 내역(사용자) 연관도와 i=0...k-1 f(R ij , R i ) 누적값이 양의 상관 관계를 가지도록 하는 비례 연산, 로그 연산등을 포함한 다른 연산식이 항목-사용자 연관도를 구하기 위해 사용될 수 있다.In addition, f(x, y) may be, for example , a product of x and y, or may be another operation that allows x and y and f(x, y) to have a positive correlation. Other operations that have a positive correlation with each f(x, y) value other than f(x, y) accumulation may be used. In the modified example, a specific item-use history (user) association and i=0...k-1 f(R ij , R i ) cumulative value are positive, not a simple accumulation ( i=0...k-1 ) . Other equations, including proportional operations, logarithmic operations, etc. that allow correlation, can be used to find the item-user association.
단계 S2021에서, 단말(200)은 추천 항목을 표시하여 사용자에게 제공한다.In step S2021, the terminal 200 displays and provides the recommended item to the user.
도 19는 본 발명의 일 실시예에 따른 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 표시한 예시도이다.19 is an exemplary view showing main language units for each language unit list based on a language unit associated with a selected item according to an embodiment of the present invention.
전술한 머신 러닝 입력에 대해서는 도 21을 참조하여 살펴보고자 한다. The aforementioned machine learning input will be described with reference to FIG. 21.
도 21은 본 발명의 일 실시 예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 설정하는데 사용된 머신 러닝 시스템의 일 예 도시도이다.21 is a diagram illustrating an example of a machine learning system used to set a degree of association and order between a language unit and a use item according to an embodiment of the present invention.
도 21을 참조하면, 본 발명의 일 실시예에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 설정하는데 사용된 머신 러닝 시스템의 LSTM 레이어는 Input Gate, Forget Gate, Output Gate라는 c(cell state)의 값을 제어하는 게이트들이 존재한다. 각 게이트들은 sigmoid layer와 pointwise 곱 연산을 통해서 값을 제어한다. 각각의 게이트들은 cell state를 보호하고 제어하는 역할을 한다.Referring to FIG. 21, the LSTM layer of the machine learning system used to set the degree of association and order between language units and usage items according to an embodiment of the present invention is c (cell state) called Input Gate, Forget Gate, and Output Gate. There are gates that control the value of. Each gate controls its value through the sigmoid layer and pointwise multiplication. Each gate serves to protect and control the cell state.
여기서, Input gate layer는 새로운 정보 중에 어떤 것을 cell state에 담을 것 인지를 결정하는 게이트이다. 그 다음으로 tanh layer에서 새로운 데이터의 후보 값을 생성하고, 생성된 후보 값을 cell state에 가산할 준비를 한다.Here, the input gate layer is a gate that determines which of the new information is to be contained in the cell state. Next, the tanh layer generates new data candidate values, and prepares to add the generated candidate values to the cell state.
Forget gate layer는 얼마나 잊어버릴 지에 대한 가중치를 사용하여 잊어버리기로 정한 것을 실제로 잊는 게이트이다. 이전 state c에 forget gate 출력 값을 승산해서 state를 업데이트 한다. 또한 input gate를 통해 나온 출력 값들을 승산하여 state에 가산한다.The Forget gate layer is a gate that actually forgets what you choose to forget, using weights for how much to forget. Update the state by multiplying the previous state c by the output value of the forget gate. Also, the output values from the input gate are multiplied and added to the state.
Output gate layer는 어떤 값을 출력할 지를 결정하는 게이트이다. The output gate layer is a gate that determines what value to output.
여기서, cell state의 어떤 부분을 출력할 지를 정하는 것이 바로 게이트의 sigmoid layer이다. cell state를 tanh하여 생성된 -1과 1 사이의 값을 sigmoid 출력 값과 승산하여 최종 출력 값을 연산한다.Here, it is the sigmoid layer of the gate that determines which part of the cell state is output. The final output value is calculated by multiplying the value between -1 and 1 generated by tanh the cell state by the sigmoid output value.
도 22는 본 발명의 일 실시예에 따른 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 표시한 예시도이다. 22 is an exemplary diagram illustrating main language units for each language unit list based on language units associated with a selected item according to an embodiment of the present invention.
도 22를 참조하면, 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 word2vec로 분석하고 분석된 결과치를 차원 축소법을 이용하여 2차원으로 맵핑한 것으로, 사용자가 선택한 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트(예를 들어, 유저반응/분위기/장르특성)에 대해 선택된 항목들과의 평균적 연관도가 가장 높은 순서대로 배치-표시된다. Referring to FIG. 22, the main language units for each language unit list are analyzed with word2vec based on the language unit associated with the selected item, and the analyzed result is mapped in two dimensions using a dimension reduction method. For each language unit list (for example, user response/atmosphere/genre characteristics) on the basis of language units, the average correlation with the selected items is arranged and displayed in the highest order.
도 22에 도시된 바와 같이, 예를 들어, '유저반응' 언어 단위 리스트에선 "먹고싶은"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "배고파지는"이며, 그 다음이 "보고싶은"의 순서이다. As shown in FIG. 22, for example, in the'user response' language unit list, "want to eat" has the highest average correlation with selected items, followed by "hungry", and then " It is the order of "I want to see".
또한, '분위기' 언어 단위 리스트에선 "깜찍한"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "추억돋는"이며, 그 다음이 "평범한"의 순서이다.In addition, in the'mood' language unit list, "cute" has the highest average correlation with the selected items, followed by "remembering", followed by "normal".
또한, '장르특성' 언어 단위 리스트에선 "복잡한"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "화재성이 있는"이며, 그 다음이 "깔끔한"의 순서이다.In addition, in the list of'genre characteristics' language units, "complex" has the highest average association with the selected items, followed by "fire", followed by "clean".
도 23은 본 발명의 다른 실시예에 따른 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 표시한 예시도이다. 23 is an exemplary view showing main language units for each language unit list based on a language unit associated with a selected item according to another embodiment of the present invention.
도 23을 참조하면, 선택된 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트별 주요 언어 단위를 word2vec로 분석하고 분석된 결과치를 차원 축소법을 이용하여 2차원으로 맵핑한 것으로, 사용자가 선택한 항목에 연관된 언어 단위 기준으로 각 언어 단위 리스트(예를 들어, 출연자/분위기/유저반응/장르특성)에 대해 선택된 항목들과의 평균적 연관도가 가장 높은 순서대로 배치-표시된다. Referring to FIG. 23, based on the language unit associated with the selected item, the main language units for each language unit list are analyzed with word2vec, and the analyzed result is mapped in two dimensions using a dimension reduction method. For each language unit list (for example, performer/atmosphere/user reaction/genre characteristics) on the basis of language units, the average correlation with the selected items is arranged-displayed in the order of the highest.
도23에 도시된 바와 같이, 예를 들어, '출연자' 언어 단위 리스트에선 "귀여운"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "앙증맞은"이며, 그 다음이 "해맑게 웃는"의 순서이다.As shown in Fig. 23, for example, in the list of'performers' language units, "cute" has the highest average correlation with selected items, followed by "cute", and then "clearly" It is the order of "smile".
또한, '분위기' 언어 단위 리소스에선 "추억돋는"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "깜찍한"이며, 그 다음이 "신나는"의 순서이다.In addition, in the'atmosphere' language unit resource, the average correlation with the items selected for "memory" is the highest, followed by "cute", followed by "exciting".
또한, '유저반응' 언어 단위 리스트에선 "보고싶은"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "고마운"이며, 그 다음이 "미친"의 순서이다.In addition, in the'user response' language unit list, the average correlation with the items selected for "want to see" is the highest, followed by "thank you", followed by "crazy".
또한, '장르특성' 언어 단위 리스트에선 "고생하는"이 선택된 항목들과의 평균적 연관도가 가장 높으며, 그 다음이 "복잡한"이며, 그 다음이 "퀄리티있는"의 순서이다.In addition, in the'genre characteristic' language unit list, the average association with the items selected for "suffering" is highest, followed by "complex", followed by "quality".
도 24 및 도 25는 본 발명의 일 실시예에 따른 리스트별 주요 언어 단위의 평균적 연관도 기준을 표시한 예시도이다.24 and 25 are exemplary diagrams showing an average degree of association of major language units for each list according to an embodiment of the present invention.
도 24 및 도 25를 참조하면, 차트들은 각 언어 단위 리스트에 해당하는 평균적 연관도를 기준으로 작성된다. 즉, 리스트별 주요 언어 단위의 평균적 연관도를 word2vec로 분석하고 분석된 결과치를 차원 축소법을 이용하여 2차원으로 맵핑한 것이다. 여기서, 색상이 진하거나 큰 원은 선택된 항목과 더 연관도가 높은 언어 단위며, 비슷한 위치의 언어 단위는 서로 유사도가 높은(벡터의 위치가 비슷한) 언어 단위다. Referring to FIGS. 24 and 25, charts are prepared based on an average degree of association corresponding to each language unit list. That is, the average degree of association of the major language units for each list is analyzed with word2vec, and the analyzed result is mapped in two dimensions using the dimension reduction method. Here, a circle with a darker color or a larger color is a language unit having a higher relevance to the selected item, and language units having a similar position are language units having a high similarity (the position of a vector is similar).
도 24 및 도 25에서, 위쪽 차트들은 연관도가 높은 언어 단위들의 연관도를 그래프로 나타낸 웹차트이나, 이에 한정되지 않고 반드시 웹차트일 필요는 없다. 또한, 아래쪽 차트들은 원차트의 일종인 분산형 차트이다.24 and 25, the upper charts are web charts showing the degree of relevance of language units with high relevance as a graph, but are not limited thereto and need not necessarily be web charts. Also, the charts below are scatter charts, a kind of one chart.
도 26은 본 발명의 다른 실시예에 따른 리스트별 주요 언어 단위의 평균적 연관도 기준을 표시한 예시도이다.26 is an exemplary diagram showing an average degree of association of major language units for each list according to another embodiment of the present invention.
도 26을 참조하면, 차트들은 각 언어 단위 리스트에 해당하는 평균적 연관도를 기준으로 작성된다. 즉, 리스트별 주요 언어 단위의 평균적 연관도를 word2vec로 분석하고 분석된 결과치를 차원 축소법을 이용하여 2차원으로 맵핑한 것이다. 여기서, 색상이 진하거나 큰 원은 선택된 항목과 더 연관도가 높은 언어 단위며, 비슷한 위치의 언어 단위는 서로 유사도가 높은(벡터의 위치가 비슷한) 언어 단위다. Referring to FIG. 26, charts are prepared based on an average degree of association corresponding to a list of each language unit. That is, the average degree of association of the major language units for each list is analyzed with word2vec, and the analyzed result is mapped in two dimensions using the dimension reduction method. Here, a circle with a darker color or a larger color is a language unit having a higher relevance to the selected item, and language units having a similar position are language units having a high similarity (the position of a vector is similar).
도 26에서, 위쪽 차트는 연관도가 높은 언어 단위들의 연관도를 그래프로 나타낸 웹차트이나, 이에 한정되지 않고 반드시 웹차트일 필요는 없다. 또한, 아래쪽 차트는 원차트의 일종인 분산형 차트이다. In FIG. 26, the upper chart is a web chart showing the degree of relevance of language units with high relevance as a graph, but is not limited thereto and does not necessarily need to be a web chart. Also, the chart below is a scatter chart, which is a kind of one chart.
도 27 및 도 28은 본 발명의 일 실시예에 따른 리스트별 주요 언어 단위의 언어 단위 및 언어 단위 리스트를 표시한 예시도이다. 27 and 28 are exemplary views showing a language unit and a language unit list of main language units for each list according to an embodiment of the present invention.
도 27 및 도 28에서, 차트는 원차트의 일종인 분산형 차트로서 줌인 줌아웃이 가능하며, 줌인 상태/줌아웃 상태에 관계없이 각 원에 마우스를 온(기타, 이와 상응하는 방식)하면 해당 언어 단위 + 언어 단위 리스트가 표시된다. 도 27는 도 26의 "평범한" 근처에서 확대한 예시도이다. 여기서, 색상이 진하거나 큰 원은 선택된 항목과 더 연관도가 높은 언어 단위며, 비슷한 위치의 언어 단위는 서로 유사도가 높은(벡터의 위치가 비슷한) 언어 단위다.In FIGS. 27 and 28, the chart is a scatter chart, which is a kind of one chart, and zoom-in and zoom-out are possible. Regardless of the zoom-in state/zoom-out state, when the mouse is turned on (otherwise, a corresponding method) on each circle, the corresponding language unit + A list of language units is displayed. FIG. 27 is an enlarged exemplary view in the vicinity of "normal" in FIG. 26; Here, a circle with a darker color or a larger color is a language unit having a higher relevance to the selected item, and language units having a similar position are language units having a high similarity (the position of a vector is similar).
도 29는 본 발명의 다른 실시예에 따른 리스트별 주요 언어 단위의 언어 단위 및 언어 단위 리스트를 표시한 예시도이다. 29 is an exemplary view showing a language unit and a language unit list of main language units for each list according to another embodiment of the present invention.
도 29에서, 차트는 원차트의 일종인 분산형 차트로서 줌인 줌아웃이 가능하며, 줌인 상태/줌아웃 상태에 관계없이 각 원에 마우스를 온(기타, 이와 상응하는 방식)하면 해당 언어 단위 + 언어 단위 리스트가 표시된다. 여기서, 색상이 진하거나 큰 원은 선택된 항목과 더 연관도가 높은 언어 단위며, 비슷한 위치의 언어 단위는 서로 유사도가 높은(벡터의 위치가 비슷한) 언어 단위다.In FIG. 29, the chart is a scatter chart, which is a kind of one chart, and zoom-in/zoom-out is possible. Regardless of the zoom-in state/zoom-out state, when the mouse is turned on (other, corresponding method) on each circle, the corresponding language unit + language unit A list is displayed. Here, a circle with a darker color or a larger color is a language unit having a higher relevance to the selected item, and language units having a similar position are language units having a high similarity (the position of a vector is similar).
여기서, 전술한 웹차트나 원차트를 클릭하면 후술할 도 30 및 도 31에 도시된 바와 같이, 클릭된 해당 리스트에 해당하는 언어 단위 조정 인터페이스가 표시된다. Here, when the above-described web chart or one chart is clicked, as shown in FIGS. 30 and 31 to be described later, the language unit adjustment interface corresponding to the clicked list is displayed.
도 30은 본 발명의 일 실시예에 따른 클릭된 리스트에 해당하는 언어 단위 조정 인터페이스를 표시한 예시이고, 도 31은 본 발명의 일 실시예에 따른 클릭된 리스트에 해당하는 전체 언어 단위 조정 인터페이스를 표시한 예시도이다.FIG. 30 is an example showing a language unit adjustment interface corresponding to a clicked list according to an embodiment of the present invention, and FIG. 31 is a diagram illustrating an entire language unit adjustment interface corresponding to a clicked list according to an embodiment of the present invention. It is an exemplary diagram shown.
도 30 및 도 31에서, 초기 언어 단위 선택은 선택한 항목들을 기준으로 해당 항목들과 평균적 연관도가 높은 언어 단위를 일정 임계값을 기준으로 n개 선택한다. 여기서, 임계값은 최대 개수일 수도 있고, 최소 연관도일 수도 있다.In FIGS. 30 and 31, in the initial language unit selection, n language units having a high average correlation with the corresponding items are selected based on the selected items based on a predetermined threshold value. Here, the threshold value may be the maximum number or the minimum degree of association.
또한, 이미 선택된 언어 단위는 예시된 바와 같이 진한 보라색이고 연관도가 낮아질수록 배경색이 흐려지며, 연관도가 높은 순서대로 배치되었다. 색상의 농담 방식 외에도, 다른 방식인 예를 들어, 명도/채도/색상/모양 등으로 연관도가 낮아지게 표시하는 것도 가능하다. In addition, as illustrated, the language units that have already been selected are dark purple, and as the degree of association decreases, the background color becomes blurred, and are arranged in the order of the higher degree of association. In addition to the hue and shading method, it is also possible to display a lower degree of relevance by using another method, for example, brightness/saturation/color/shape.
또한, 도 31에서 "언어 단위 선택하기"를 클릭하면, 언어 단위 전체에 대한 개별적 추가/삭제가 가능하다.In addition, by clicking "Select language unit" in FIG. 31, it is possible to individually add/delete the entire language unit.
도 32는 본 발명의 다른 실시예에 따른 클릭된 리스트에 해당하는 언어 단위 조정 인터페이스를 표시한 예시도이고, 도 33은 본 발명의 다른 실시예에 따른 클릭된 리스트에 해당하는 전체 언어 단위 조정 인터페이스를 표시한 예시도이다.FIG. 32 is an exemplary view showing a language unit adjustment interface corresponding to a clicked list according to another embodiment of the present invention, and FIG. 33 is an entire language unit adjustment interface corresponding to a clicked list according to another embodiment of the present invention. It is an exemplary diagram showing.
도 32 및 도 33에서, 초기 언어 단위 선택은 선택한 항목들을 기준으로 해당 항목들과 평균적 연관도가 높은 언어 단위를 일정 임계값을 기준으로 n개 선택한다. 여기서, 임계값은 최대 개수일 수도 있고, 최소 연관도일 수도 있다.In FIGS. 32 and 33, in the initial language unit selection, n language units having a high average correlation with the corresponding items are selected based on the selected items based on a predetermined threshold value. Here, the threshold value may be the maximum number or the minimum degree of association.
또한, 이미 선택된 언어 단위는 예시된 바와 같이 진한 보라색이고 연관도가 낮아질수록 배경색이 흐려지며, 연관도가 높은 순서대로 배치되었다. 색상의 농담 방식 외에도, 다른 방식인 예를 들어, 명도/채도/색상/모양 등으로 연관도가 낮아지게 표시하는 것도 가능하다. In addition, as illustrated, the language units that have already been selected are dark purple, and as the degree of association decreases, the background color becomes blurred, and are arranged in the order of the higher degree of association. In addition to the hue and shading method, it is also possible to display a lower degree of relevance by using another method, for example, brightness/saturation/color/shape.
또한, 도 33에서 "언어 단위 선택하기"를 클릭하면, 언어 단위 전체에 대한 추가/삭제가 가능하다.In addition, by clicking "Select language unit" in FIG. 33, it is possible to add/delete all language units.
본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법에 의해 추천된 추천 항목은 도 34에 예시된 바와 같다.The recommended items recommended by the item recommendation method using a degree of association and an order between a language unit and a usage item according to the present invention are as illustrated in FIG. 34.
전술한 바와 같이, 본 발명에 따른 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법은 언어 단위와 이용 항목 간의 연관도 및 순서를 이용하여 효율적이고 유효하며 구매가능성이 높은 정보를 추천할 수 있다. As described above, the item recommendation method using the degree of association and order between the language unit and the item to be used according to the present invention uses the degree of association and the order between the language unit and the item to be used, and recommends efficient, effective and highly purchaseable information. I can.
이상과 같이 본 발명은 양호한 실시예에 근거하여 설명하였지만, 이러한 실시예는 본 발명을 제한하려는 것이 아니라 예시하려는 것이므로, 본 발명이 속하는 기술분야의 숙련자라면 본 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능할 것이다. 그러므로, 본 발명의 보호 범위는 본 발명의 기술적 사상의 요지에 속하는 변화 예나 변경 예 또는 조절 예를 모두 포함하는 것으로 해석되어야 할 것이다.As described above, the present invention has been described based on preferred embodiments, but these embodiments are intended to illustrate, not limit, the present invention, so those skilled in the art to which the present invention pertains without departing from the spirit of the present invention. Various changes, changes or adjustments to the example will be possible. Therefore, the scope of protection of the present invention should be construed as including all examples of changes, examples of changes or adjustments belonging to the gist of the present invention.
150: 통신망
200: 단말
210: 입력부
220: 표시부
230, 310: 통신부
240, 330: 저장부
250, 320: 제어부
300: 항목 추천 장치150: communication network 200: terminal
210: input unit 220: display unit
230, 310:
250, 320: control unit 300: item recommendation device
Claims (10)
상기 항목 추천 장치의 제어부에 의해 각 카테고리에 대한 미리 설정된 언어 단위-항목 간 연관도를 획득하는 단계;
상기 항목 추천 장치의 제어부에 의해 상기 카테고리의 이용 내역을 획득하는 단계;
상기 항목 추천 장치의 제어부에 의해 상기 이용 내역에 해당하는 언어 단위-연관도 리스트들을 머신 러닝 시스템에 입력하여 추천 언어 단위-연관도 리스트를 획득하는 단계; 및
상기 항목 추천 장치의 제어부에 의해 상기 추천 연관 언어 단위-연관도 리스트에 상응하는 순서대로 추천 항목을 단말에 제공하는 단계;를 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
An item recommendation method using a degree of association and order between a language unit performed by an item recommendation device and an item to be used,
Obtaining a pre-set language unit-item association for each category by a control unit of the item recommendation device;
Obtaining a usage history of the category by a control unit of the item recommendation device;
Inputting, by a control unit of the item recommendation device, language unit-relevance lists corresponding to the usage details into a machine learning system, and obtaining a recommended language unit-relevance list; And
Providing recommended items to the terminal in an order corresponding to the recommendation-related language unit-relevance list by the control unit of the item recommendation device; and an item recommendation method using a degree of association and order between a language unit and a used item.
사용자에 의해 선택된 카테고리 식별 정보를 획득하는 단계를 더 포함하고,
상기 항목 추천 장치의 제어부에 의해 상기 카테고리의 이용 내역을 획득하는 단계는 상기 항목 추천 장치의 제어부에 의해 상기 카테고리 식별 정보에 해당하는 카테고리의 이용 내역을 획득하는 단계를 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 1,
Further comprising the step of obtaining the category identification information selected by the user,
The step of obtaining the use details of the category by the control unit of the item recommendation device includes obtaining the use details of the category corresponding to the category identification information by the control unit of the item recommendation device. Item recommendation method using relevance and order.
상기 단말에 복수개의 분류된 카테고리 중에서 임의의 하나의 카테고리를 선택 가능하도록 하는 인터페이스 정보를 제공하는 단계를 더 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 2,
An item recommendation method using a degree of association and an order between a language unit and a used item, further comprising the step of providing interface information to the terminal to enable selection of an arbitrary one category from among a plurality of classified categories.
미리 설정된 임계값을 이용하여 해당 항목과 연관도가 높은 언어 단위를 해당 항목과 연관된 언어 단위로 선택하는 단계를 더 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 1,
An item recommendation method using a degree of association and order between a language unit and a used item, further comprising the step of selecting a language unit having a high correlation with the corresponding item as a language unit associated with the item using a preset threshold.
상기 미리 설정된 임계값을 이용하여 해당 항목과 연관도가 높은 언어 단위를 해당 항목과 연관된 언어 단위로 선택하는 단계는,
미리 설정된 최대 개수만큼의 해당 항목과 연관도가 높은 언어 단위를 선택하는 단계를 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 4,
The step of selecting a language unit having a high relevance to the item as a language unit associated with the item by using the preset threshold value,
An item recommendation method using a degree of association and order between a language unit and a used item, comprising the step of selecting a language unit having a high correlation with the corresponding item as many as a preset maximum number.
상기 미리 설정된 임계값을 이용하여 해당 항목과 연관도가 높은 언어 단위를 해당 항목과 연관된 언어 단위로 선택하는 단계는,
해당 항목과의 연관도가 미리 설정된 최소 연관도 이상인 언어 단위를 선택하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 4,
The step of selecting a language unit having a high relevance to the item as a language unit associated with the item by using the preset threshold value,
An item recommendation method using the degree of association and order between the language unit and the used item for selecting a language unit with a degree of association with a corresponding item equal to or greater than a preset minimum degree of association.
상기 항목 추천 장치의 제어부에 의해 상기 이용 내역에 해당하는 언어 단위-연관도 리스트들을 머신 러닝 시스템에 입력하여 추천 언어 단위-연관도 리스트를 획득하는 단계는,
1번째 내지 n-1 번째 순서의 [연관 언어 단위, 연관도] 쌍의 리스트에 따라 다음 n번째 [연관 언어 단위, 연관도] 쌍의 리스트가 영향을 받았다고 가정하여 학습하고, n+1번째 [연관 언어 단위, 연관도] 쌍의 리스트를 1번째 내지 n번째 [연관 언어 단위, 연관도] 쌍의 리스트 기반으로 추천할 수 있는 머신 러닝 시스템을 이용하여 추천 언어 단위-연관도 리스트를 획득하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법
The method of claim 1,
The step of obtaining a recommended language unit-relevance list by inputting a language unit-relevance list corresponding to the usage details into a machine learning system by the control unit of the item recommendation device,
According to the list of pairs of [associated language units, degree of association] in the 1st to n-1th order, the list of the next nth [linked language unit, degree of association] pair is assumed to be affected, and the n+1th [ A language that obtains a list of recommended language units-relevance degree using a machine learning system that can recommend a list of related language units, degree of association] based on a list of the 1st to nth pairs of [related language units, degree of association] Item recommendation method using the degree of association and order between units and items used
상기 항목 추천 장치의 제어부에 의해 언어 단위-사용자 연관도를 기반으로 사용자 추천 항목 리스트를 생성하는 단계는,
특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도에 양의 상관 관계를 가지는 개별값을 전체 언어 단위에 대하여 누적한 값과 양의 상관 관계를 가지도록 항목-사용자 연관도를 설정하는 단계; 및
상기 항목-사용자 연관도에 따라 사용자 추천 항목 리스트를 생성하는 단계를 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 1,
Generating a user recommendation item list based on a language unit-user association degree by the control unit of the item recommendation device,
Individual values having a positive correlation to the language unit-user association for a specific language unit and the language unit-item association for the specific language unit have a positive correlation with the accumulated value for all language units Establishing an item-user association; And
An item recommendation method using a degree of association and an order between a language unit and a used item, including the step of generating a list of user recommended items according to the item-user association degree.
상기 특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도에 양의 상관 관계를 가지는 개별값을 전체 언어 단위에 대하여 누적한 값과 양의 상관 관계를 가지도록 항목-사용자 연관도를 설정하는 단계는,
특정 언어 단위에 대한 언어 단위-사용자 연관도 및 상기 특정 언어 단위에 대한 언어 단위-항목 연관도를 곱한 개별값을 전체 언어 단위에 대하여 누적한 값과 양의 상관 관계를 가지도록 항목-사용자 연관도를 설정하는 단계를 포함하는 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 8,
Individual values having a positive correlation to the language unit-user association degree for the specific language unit and the language unit-item association degree for the specific language unit have a positive correlation with the accumulated value for all language units To set the item-user association,
Item-user correlation to have a positive correlation with the accumulated value for the entire language unit by multiplying the language unit-user association for a specific language unit and the language unit-item association for the specific language unit Item recommendation method using a degree of association and an order between a language unit and a use item including the step of setting a.
상기 항목 추천 장치의 제어부에 의해 상기 추천 연관 언어 단위-연관도 리스트에 상응하는 순서대로 추천 항목을 단말에 제공하는 단계는,
언어 단위 i와 이용 내역의 연관도가 Ri이고, 특정 항목 Ij와 언어 단위 i의 연관도가 Rij 이라면, 상기 특정 항목 Ij와 이용 내역의 연관도는 Σi=0...k-f(Rij, Ri)이며, 여기서, k는 1번에서 선택된 언어 단위 개수인 언어 단위와 이용 항목 간의 연관도 및 순서를 이용한 항목 추천 방법.
The method of claim 1,
Providing recommended items to a terminal in an order corresponding to the recommended related language unit-relevance list by the control unit of the item recommending device,
If the degree of association between the language unit i and the usage details is R i and the degree of association between the specific item I j and the language unit i is R ij , the degree of association between the specific item I j and the usage details is Σ i = 0...k - f and (R ij, R i), where, k is the item associated with the order and also between one of the language units the language unit number and the entry in the first time using methods like.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190048418 | 2019-04-25 | ||
KR1020190048418 | 2019-04-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200125532A true KR20200125532A (en) | 2020-11-04 |
Family
ID=73571776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200051098A KR20200125532A (en) | 2019-04-25 | 2020-04-27 | Item recommendation method of using degree of association and sequence between unit of language and using item |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200125532A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR200426027Y1 (en) | 2006-04-28 | 2006-09-18 | 김정희 | User definition data searching system |
-
2020
- 2020-04-27 KR KR1020200051098A patent/KR20200125532A/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR200426027Y1 (en) | 2006-04-28 | 2006-09-18 | 김정희 | User definition data searching system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Colomo-Palacios et al. | Towards a social and context-aware mobile recommendation system for tourism | |
US10922367B2 (en) | Method and system for providing real time search preview personalization in data management systems | |
US20150193889A1 (en) | Digital content publishing guidance based on trending emotions | |
US20090106307A1 (en) | System of a knowledge management and networking environment and method for providing advanced functions therefor | |
US20160125451A1 (en) | Asset suggestions for electronic posts | |
KR20200125531A (en) | Method for managing item recommendation using degree of association between unit of language and using breakdown | |
CN106062730A (en) | Systems and methods for actively composing content for use in continuous social communication | |
US20120072466A1 (en) | Contents creating device and contents creating method | |
Na et al. | Sensibility and response keywords of users according to posting types of fashion Instagram: Focused on Koreans’ fashion brands | |
Amed et al. | Triggers of positive eWOM: Exploration with web analytics | |
KR102458510B1 (en) | Real-time complementary marketing system | |
Zou et al. | Exploring user engagement strategies and their impacts with social media mining: the case of public libraries | |
Buckley et al. | Social media and customer behavior analytics for personalized customer engagements | |
CN109597899A (en) | The optimization method of media personalized recommendation system | |
CN112633690A (en) | Service personnel information distribution method, service personnel information distribution device, computer equipment and storage medium | |
Cavique et al. | Examining Airbnb guest satisfaction tendencies: a text mining approach | |
US9110998B2 (en) | Hierarchical behavioral profile | |
KR20200014589A (en) | Apparatus and method of recommending items based on areas | |
Akther et al. | Social network and user context assisted personalization for recommender systems | |
KR20200125507A (en) | Method for recommending item using degree of association between unit of language and using breakdown | |
Mohammed et al. | Advanced data mining tools and methods for social computing | |
KR20200125532A (en) | Item recommendation method of using degree of association and sequence between unit of language and using item | |
KR102251612B1 (en) | Method of managing categorized contents and system thereof | |
Fabian et al. | Privacy on Reddit? Towards Large-scale User Classification. | |
KR102335408B1 (en) | Method and apparatus for managing movie tribute language |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E90F | Notification of reason for final refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination |