KR102460293B1 - Handling of transaction feedback - Google Patents

Handling of transaction feedback Download PDF

Info

Publication number
KR102460293B1
KR102460293B1 KR1020207036229A KR20207036229A KR102460293B1 KR 102460293 B1 KR102460293 B1 KR 102460293B1 KR 1020207036229 A KR1020207036229 A KR 1020207036229A KR 20207036229 A KR20207036229 A KR 20207036229A KR 102460293 B1 KR102460293 B1 KR 102460293B1
Authority
KR
South Korea
Prior art keywords
category
comments
categories
sub
comment
Prior art date
Application number
KR1020207036229A
Other languages
Korean (ko)
Other versions
KR20210006459A (en
Inventor
돈 쿠무두 자나카 라나툰가
마리 미셸 레아 포스터
브랜던 라이
산지카 후아비타라나
제이슨 디란
칸란 수
Original Assignee
이베이 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이베이 인크. filed Critical 이베이 인크.
Priority to KR1020227037238A priority Critical patent/KR20220149624A/en
Publication of KR20210006459A publication Critical patent/KR20210006459A/en
Application granted granted Critical
Publication of KR102460293B1 publication Critical patent/KR102460293B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

시스템 및 방법이 개시되는데, 네트워크 시스템의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신하고, 복수의 코멘트 중 하나 이상을 한 세트의 미리 결정된 감정 분류 중 하나로 분류하며, 하나 이상의 코멘트 각각에 대해 한 세트의 미리 정의된 카테고리 중에서 하나의 카테고리를 선택하기 위해 트레이닝된 머신 학습 시스템을 적용하고, 자연어 처리 모듈을 적용하여 하나 이상의 코멘트 각각에 대한 하위-카테고리를 생성하며, 생성된 하위-카테고리와 하나 이상의 코멘트에 대한 각각의 카테고리를 연관시키고, 생성된 하위-카테고리를 이용하여 특정 거래에 대해 결정된 카테고리의 디스플레이를 생성하되, 각각의 생성된 하위-카테고리는 각각의 카테고리에 그래픽으로 연결된다.A system and method are disclosed for receiving a plurality of comments at a particular stage of a transaction with a member of a network system, classifying one or more of the plurality of comments into one of a set of predetermined sentiment classifications, and for each of the one or more comments Apply a trained machine learning system to select a category from a set of predefined categories, apply a natural language processing module to generate a sub-category for each of the one or more comments, and create a sub-category and one Associating each category for the above comments and using the generated sub-categories to generate a display of the categories determined for a particular transaction, each generated sub-category is graphically linked to a respective category.

Description

거래 피드백의 처리Handling of transaction feedback

본 개시물의 실시예는 거래 피드백(transactional feedback)을 처리하는 것에 관한 것이며, 더 상세하게는, 효율적인 사용자 액세스, 자동화된 트렌드 식별(automated trend identification) 및 사용자 통지를 위한 거래 피드백을 처리하는 것에 관한 것이다.Embodiments of the present disclosure relate to processing transactional feedback, and more particularly, to processing transactional feedback for efficient user access, automated trend identification, and user notification. .

종래에는 네트워크 시스템의 사용자가 거래에 대한 피드백을 제공할 때, 피드백이 전형적으로 선형적으로 배열된다는 구성상의 제한이 존재한다. 다른 예에서, 피드백은 피드백이 긍정, 부정 또는 중립인 것에 따라 배열 또는 필터링된다. 사용자가 피드백을 상이한 방식으로 배열할 수 있지만, 거래 시스템의 상태에 관한 부가적인 결정은 보통 사용자(예를 들어, 피드백의 수신자)에 의해 이루어진다. Conventionally, when a user of a network system provides feedback on a transaction, there is a configuration limitation in that the feedback is typically arranged linearly. In another example, the feedback is arranged or filtered according to whether the feedback is positive, negative, or neutral. Although the user may arrange the feedback in different ways, additional decisions regarding the state of the trading system are usually made by the user (eg, the recipient of the feedback).

첨부된 도면 중 다양한 도면은 단지 본 개시물의 예시적인 실시예를 예시하는 것일 뿐 본 개시물의 범위를 제한하는 것으로 여겨져서는 안 된다.
도 1은 일부 예시적인 실시예에 따른 시스템을 도시하는 블록도이다.
도 2는 일부 예시적인 실시예에 따른 피드백 시스템을 도시하는 블록도이다.
도 3은 다른 예시적인 실시예에 따른 피드백 시스템을 도시하는 블록도이다.
도 4는 하나의 예시적인 실시예에 따른 피드백 시스템에 의해 생성된 사용자 인터페이스를 도시하는 블록도이다.
도 5는 하나의 예시적인 실시예에 따른 데이터 흐름을 도시하는 데이터 흐름도이다.
도 6은 하나의 예시적인 실시예에 따른 피드백을 처리하기 위한 방법을 도시하는 흐름도이다.
도 7은 다른 예시적인 실시예에 따른 피드백을 처리하기 위한 방법을 도시하는 흐름도이다.
도 8은 하나의 예시적인 실시예에 따른 피드백을 처리하기 위한 방법을 도시하는 다른 흐름도이다.
도 9는 일부 예시적인 실시예에 따른, 머신 상에 설치될 수 있는 소프트웨어 아키텍처의 예를 도시하는 블록도이다.
도 10은 예시적인 실시예에 따라, 머신으로 하여금 본 명세서에 논의되는 방법 중 임의의 하나 이상의 방법을 수행하게 하기 위해 명령어 세트가 실행될 수 있는 컴퓨터 시스템 형태의 머신의 개략도를 도시한다.
본 명세서에 제공된 머리글은 단지 편의를 위한 것이며, 사용된 용어의 범위 또는 의미에 반드시 영향을 미치는 것은 아니다.
Various drawings in the accompanying drawings merely illustrate exemplary embodiments of the present disclosure and should not be construed as limiting the scope of the present disclosure.
1 is a block diagram illustrating a system in accordance with some example embodiments.
2 is a block diagram illustrating a feedback system in accordance with some demonstrative embodiments.
Fig. 3 is a block diagram illustrating a feedback system according to another exemplary embodiment.
Fig. 4 is a block diagram illustrating a user interface generated by a feedback system according to an exemplary embodiment.
Fig. 5 is a data flow diagram illustrating a data flow according to an exemplary embodiment.
6 is a flowchart illustrating a method for processing feedback according to one exemplary embodiment.
7 is a flowchart illustrating a method for processing feedback according to another exemplary embodiment.
Fig. 8 is another flowchart illustrating a method for processing feedback according to one exemplary embodiment.
9 is a block diagram illustrating an example of a software architecture that may be installed on a machine, in accordance with some demonstrative embodiments.
10 depicts a schematic diagram of a machine in the form of a computer system upon which a set of instructions may be executed to cause the machine to perform any one or more of the methods discussed herein, in accordance with an exemplary embodiment.
The headings provided herein are for convenience only and do not necessarily affect the scope or meaning of the terms used.

이하의 설명은 본 개시물의 예시적인 실시예들을 구현하는 시스템, 방법, 기법, 명령어 시퀀스, 및 컴퓨팅 머신 프로그램 제품을 포함한다. 이하의 설명에서, 설명을 위해, 본 발명의 청구 대상의 다양한 실시예들에 대한 이해를 제공하기 위해 다수의 특정 세부사항이 설명된다. 그러나, 당업자에게는 본 발명의 청구 대상의 실시예들이 그러한 특정 세부사항 없이 실시될 수 있음이 명백할 것이다. 일반적으로, 잘 알려진 명령어 인스턴스, 프로토콜, 구조 및 기법은 반드시 상세히 도시되지는 않는다.The description that follows includes systems, methods, techniques, instruction sequences, and computing machine program products that implement example embodiments of the present disclosure. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the presently claimed subject matter. It will be apparent, however, to one skilled in the art, that embodiments of the presently claimed subject matter may be practiced without such specific details. In general, well-known instruction instances, protocols, structures, and techniques are not necessarily shown in detail.

특정 실시예에서, 본 명세서에 설명된 바와 같이, 시스템은 온라인 마켓플레이스(marketplace)의 멤버와의 거래의 특정 단계에서 복수의 코멘트(comment)를 수신하도록 특별히 구성된다. 예를 들어, 특정 단계는 거래의 구매 단계일 수 있다.In a particular embodiment, as described herein, the system is specifically configured to receive a plurality of comments at a particular stage of a transaction with a member of an online marketplace. For example, a particular phase may be a purchase phase of a transaction.

그후, 시스템은 각각의 코멘트에 포함된 용어에 따라 코멘트를 감정 분류(sentiment classification)로 분류한다. 그후, 시스템은, 자연어 처리 모듈(natural language processing module)을 적용함으로써 코멘트에 대한 하위-카테고리(sub-category)를 생성한다. 어떤 실시예에서는, 생성된 하위-카테고리가 한 세트의 미리 결정된 하위-카테고리로부터 선택되는 것이 아니라, 각각의 코멘트에 포함된 언어에 따라 생성된다.The system then classifies the comments into sentiment classification according to the terms included in each comment. The system then creates a sub-category for the comment by applying a natural language processing module. In some embodiments, the generated sub-categories are not selected from a set of predetermined sub-categories, but are generated according to the language included in each comment.

다른 예시적인 실시예에서, 시스템은 사용자가 카테고리 또는 하위-카테고리를 선택하고 선택된 카테고리(새롭게 생성된 하위-카테고리를 포함함)에 따라 메시지를 필터링하도록 허용하는 사용자 인터페이스를 제공하도록 구성된다.In another exemplary embodiment, the system is configured to provide a user interface that allows a user to select a category or sub-category and filter messages according to the selected category (including newly created sub-categories).

하나의 특정 예시적인 실시예에서, 시스템은 특정 카테고리에 대한 트렌드의 변화에 응답하여 사용자에게 통지한다. 예를 들어, 구매할 아이템의 선택에 관한 불만(complaint)이 증가하면, 시스템은 선택 메커니즘에서 에러 또는 결함의 가능성이 증가한 것으로 판단하고 사용자에게 이를 통지할 수 있다. 이 특별한 이점은 시스템이 가능한 에러를 식별하여, 사용자가 코멘트를 검토하지 않고도 사용자에게 통지하는 것을 포함한다. 다른 기술적 이점이 본 명세서에 설명된다.In one particular example embodiment, the system notifies the user in response to a change in trend for a particular category. For example, if complaints about the selection of an item to purchase increase, the system may determine that there is an increased likelihood of an error or defect in the selection mechanism and notify the user. This particular advantage includes the system identifying possible errors and notifying the user without the user reviewing the comments. Other technical advantages are described herein.

도 1을 참조하면, 고레벨의 클라이언트-서버 기반 네트워크 아키텍처(100)의 예시적인 실시예가 도시된다. 네트워크 시스템(102)은 네트워크(104)(예를 들어, 인터넷 또는 광역 네트워크(WAN))를 통해 서버 측 기능을 하나 이상의 클라이언트 디바이스(110)에 제공한다. 도 1은, 예를 들어, 웹 클라이언트(112)(예를 들어, 웹 브라우저), 클라이언트 디바이스(110) 상에서 실행되는 클라이언트 애플리케이션(들)(114)을 도시한다.1 , an exemplary embodiment of a high-level client-server based network architecture 100 is shown. The network system 102 provides server-side functionality to one or more client devices 110 over a network 104 (eg, the Internet or a wide area network (WAN)). 1 illustrates, for example, a web client 112 (eg, a web browser), client application(s) 114 running on a client device 110 .

클라이언트 디바이스(110)는 이동 전화, 데스크톱 컴퓨터, 랩탑, 휴대용 디지털 보조 디바이스(PDA), 스마트폰, 태블릿, 울트라북, 넷북, 랩탑, 멀티 프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능 소비자 전자기기, 게임 콘솔, 셋톱 박스, 또는 사용자가 네트워크 시스템(102)에 액세스하기 위해 이용할 수 있는 임의의 다른 통신 디바이스를 포함할 수 있으나, 이에 국한되지는 않는다. 일부 실시예에서, 클라이언트 디바이스(110)는 정보를 디스플레이하기 위한 (예를 들어, 사용자 인터페이스의 형태를 갖는) 디스플레이 모듈(도시되지 않음)을 포함할 수 있다. 다른 실시예에서, 클라이언트 디바이스(110)는 터치 스크린, 가속도계, 자이로스코프, 카메라, 마이크로폰, GPS(Global Positioning System) 디바이스 등 중 하나 이상을 포함할 수 있다. 클라이언트 디바이스(110)는, 네트워크 시스템(102) 내에서 디지털 아이템을 수반하는 거래를 수행하는 데 사용되는 사용자의 디바이스일 수 있다. 일 실시예에서, 네트워크 시스템(102)은 제품 목록에 대한 요청에 응답하고, 네트워크 기반 마켓플레이스에서 이용 가능한 제품의 아이템 목록을 포함하는 게시물을 게시하고, 이러한 마켓플레이스 거래에 대한 지불을 관리하는 네트워크 기반 마켓플레이스이다.Client device 110 may be a mobile phone, desktop computer, laptop, portable digital assistant (PDA), smartphone, tablet, ultrabook, netbook, laptop, multiprocessor system, microprocessor-based or programmable consumer electronics, game console. , a set top box, or any other communication device that a user may use to access the network system 102 . In some embodiments, the client device 110 may include a display module (not shown) for displaying information (eg, in the form of a user interface). In other embodiments, the client device 110 may include one or more of a touch screen, an accelerometer, a gyroscope, a camera, a microphone, a Global Positioning System (GPS) device, and the like. The client device 110 may be a user's device used to conduct a transaction involving a digital item within the network system 102 . In one embodiment, network system 102 responds to requests for product listings, publishes postings containing item listings of products available on network-based marketplaces, and manages payments for such marketplace transactions. It is an underlying marketplace.

한 명 이상의 사용자(106)는 사람, 머신 또는 클라이언트 디바이스(110)와 상호작용하는 다른 수단일 수 있다. 실시예에서, 사용자(106)는 네트워크 아키텍처(100)의 부분이 아니라, 클라이언트 디바이스(110) 또는 다른 수단을 통해 네트워크 아키텍처(100)와 상호작용할 수 있다. 예를 들어, 네트워크(104)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN(virtual private network), LAN(local area network), WLAN(wireless LAN), WWAN(wireless WAN), MAN(metropolitan area network), 인터넷의 일부분, PSTN(Public Switched Telephone Network)의 일부분, 셀룰러 텔레폰 네트워크, 무선 네트워크, WiFi 네트워크, WiMax 네트워크, 다른 유형의 네트워크, 또는 둘 이상의 이러한 네트워크의 조합일 수 있다.One or more users 106 may be people, machines, or other means of interacting with the client device 110 . In embodiments, user 106 is not part of network architecture 100 , but may interact with network architecture 100 via client device 110 or other means. For example, one or more portions of network 104 may include an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wireless WAN (WWAN), a metropolitan (MAN) area network), a portion of the Internet, a portion of a Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a WiMax network, another type of network, or a combination of two or more of these networks.

각각의 클라이언트 디바이스(110)는 웹 브라우저, 메시징 애플리케이션, 전자 메일(이메일) 애플리케이션, 전자 상거래 사이트 애플리케이션(또한 마켓플레이스 애플리케이션으로 지칭됨) 등과 같은, 그러나 이에 국한되지 않는 하나 이상의 애플리케이션(또한 "앱"으로 지칭됨)을 포함할 수 있다. 일부 실시예에서, 클라이언트 디바이스(110)는, 사용자 인터페이스, 및 기능들 중 적어도 일부를 로컬로 제공하도록 구성된 애플리케이션을 포함할 수 있고, 애플리케이션은 로컬로 이용가능하지 않은 데이터 및/또는 프로세싱 능력(예를 들어, 판매 가능한 아이템의 데이터베이스에 액세스, 사용자(106)의 인증, 지불 방법의 검증 등)을 위해 필요에 따라 네트워크 시스템(102)과 통신하도록 구성된다. 반대로, 다른 실시예에서, 클라이언트 디바이스(110)는, 네트워크 시스템(102) 상에서 호스팅되는 사이트(또는 그의 변형예)에 액세스하기 위해 자신의 웹 브라우저를 사용할 수 있다.Each client device 110 may have one or more applications (also referred to as “apps”), such as, but not limited to, web browsers, messaging applications, electronic mail (email) applications, e-commerce site applications (also referred to as marketplace applications), and the like. referred to as ) may be included. In some embodiments, client device 110 may include a user interface, and an application configured to locally provide at least some of the functions, the application may include data and/or processing capabilities that are not locally available (eg, and communicate with the network system 102 as needed for accessing a database of salable items, authenticating the user 106 , verifying a payment method, etc.). Conversely, in other embodiments, client device 110 may use its web browser to access a site (or variant thereof) hosted on network system 102 .

예시적인 실시예에서, 사용자(106)는 네트워크 아키텍처(100)의 부분이 아니라, 클라이언트 디바이스(110) 또는 다른 수단을 통해 네트워크 아키텍처(100)와 상호작용할 수 있다. 예를 들어, 사용자(106)는 클라이언트 디바이스(110)에 입력(예를 들어, 터치 스크린 입력 또는 문자 숫자 입력)을 제공하고, 그후 입력은 네트워크(104)를 통해 네트워크 시스템(102)에 전달된다. 이 예에서, 네트워크 시스템(102)은, 사용자(106)로부터의 입력을 수신한 것에 응답하여 사용자(106)에게 제공될 정보를 네트워크(104)를 통해 클라이언트 디바이스(110)에 전달한다. 이러한 방식으로, 사용자(106)는 클라이언트 디바이스(110)를 사용하여 네트워크 시스템(102)과 상호작용할 수 있다.In an exemplary embodiment, the user 106 may interact with the network architecture 100 via a client device 110 or other means, rather than being part of the network architecture 100 . For example, user 106 provides input (eg, touch screen input or alphanumeric input) to client device 110 , which is then communicated to network system 102 via network 104 . . In this example, network system 102 communicates information to be provided to user 106 to client device 110 over network 104 in response to receiving input from user 106 . In this way, the user 106 may interact with the network system 102 using the client device 110 .

API(application program interface) 서버(120) 및 웹 서버(122)는 프로그래밍 방식 및 웹 인터페이스에 결합되고, 이들을 하나 이상의 애플리케이션 서버(들)(140)에 각각 제공한다. 애플리케이션 서버(들)(140)는 하나 이상의 게시 시스템(142)을 호스팅하고, 이들 각각은 하나 이상의 모듈 또는 애플리케이션을 포함할 수 있고, 이들 각각은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 애플리케이션 서버(들)(140)는, 차례로, 하나 이상의 정보 저장 저장소 또는 데이터베이스(들)(126)에 대한 액세스를 가능하게 하는 하나 이상의 데이터베이스 서버(124)에 결합되는 것으로 도시된다. 예시적인 실시예에서, 데이터베이스(들)(126)는 게시 시스템(들)(142)으로 포스팅될 정보(예를 들어, 게시물 또는 목록)를 저장하는 저장 디바이스이다. 데이터베이스(들)(126)는 또한 예시적인 실시예에 따라 디지털 아이템 정보를 저장할 수 있다.An application program interface (API) server 120 and a web server 122 are coupled to a programmatic and web interface and provide them to one or more application server(s) 140 , respectively. The application server(s) 140 hosts one or more publishing systems 142 , each of which may include one or more modules or applications, each implemented in hardware, software, firmware, or any combination thereof. can be The application server(s) 140 are shown coupled to one or more database servers 124 which, in turn, enable access to one or more information storage repositories or database(s) 126 . In an exemplary embodiment, the database(s) 126 is a storage device that stores information (eg, posts or lists) to be posted to the posting system(s) 142 . Database(s) 126 may also store digital item information in accordance with example embodiments.

제3자 서버(들)(130) 상에서 실행되는 제3자 애플리케이션(132)은 API 서버(120)에 의해 제공되는 프로그래매틱 인터페이스(programmatic interface)를 통해 네트워크 시스템(102)에 대한 프로그래매틱 액세스를 갖는 것으로 도시되어 있다. 예를 들어, 네트워크 시스템(102)으로부터 검색된 정보를 이용하는 제3자 애플리케이션(132)은 제3자에 의해 호스팅되는 웹 사이트상의 하나 이상의 특징 또는 기능을 지원한다. Third-party applications 132 running on third-party server(s) 130 may be programmatically connected to network system 102 via a programmatic interface provided by API server 120 . shown with access. For example, a third party application 132 that uses information retrieved from the network system 102 supports one or more features or functions on a web site hosted by the third party.

게시 시스템(들)(142)은, 네트워크 시스템(102)을 액세스하는 사용자(106)에게 다수의 게시 기능 및 서비스를 제공할 수 있다. 게시 시스템(142)이 네트워크 시스템(102)의 부분을 형성하는 것으로 도 1에 도시되지만, 대안적인 실시예에서, 게시 시스템(142)은 네트워크 시스템(102)과 별개이고 구별되는 서비스의 일부를 형성할 수 있다는 것을 인지될 것이다.The publishing system(s) 142 may provide a number of publishing functions and services to users 106 accessing the networked system 102 . Although publishing system 142 is shown in FIG. 1 as forming part of network system 102 , in alternative embodiments, publishing system 142 forms part of a service that is separate and distinct from network system 102 . It will be recognized that it can be done.

또한, 도 1에 도시된 클라이언트-서버 기반 네트워크 아키텍처(100)는 클라이언트-서버 아키텍처를 사용하지만, 본 발명의 청구 대상은 당연히 그러한 아키텍처에 국한되지 않으며, 예를 들어 분산 또는 피어 투 피어(peer-to-peer) 아키텍처 시스템에서도 동일하게 잘 적용될 수 있다. 게시 시스템(142) 및 피드백 시스템(150)은 독립형 소프트웨어 프로그램들로서 구현될 수도 있는데, 이들이 반드시 네트워킹 성능을 가질 필요는 없다.Also, although the client-server based network architecture 100 shown in FIG. 1 uses a client-server architecture, the subject matter of the present invention is, of course, not limited to such architectures, for example distributed or peer-to-peer. It can equally well be applied to to-peer) architecture systems. Publishing system 142 and feedback system 150 may be implemented as standalone software programs, which do not necessarily have networking capabilities.

웹 클라이언트(112)는 웹 서버(122)에 의해 지원되는 웹 인터페이스를 통해 게시 시스템(142)에 액세스할 수 있다. 프로그래매틱 클라이언트는, API 서버(120)에 의해 제공되는 프로그래매틱 인터페이스를 통해 게시 시스템(142)에 의해 제공되는 다양한 서비스 및 기능에 액세스한다. 프로그래매틱 클라이언트는, 예를 들어, 사용자(106)가 오프-라인 방식으로 네트워크 시스템(102) 상에서 게시물을 작성 및 관리하고, 프로그래매틱 클라이언트와 네트워크 시스템(102) 사이의 배치-모드 통신(batch-mode communication)을 수행하는 것을 가능하게 하기 위한 게시 애플리케이션일 수 있다. The web client 112 may access the publishing system 142 through a web interface supported by the web server 122 . Programmatic clients access various services and functions provided by the publishing system 142 through a programmatic interface provided by the API server 120 . A programmatic client may, for example, allow a user 106 to create and manage postings on the network system 102 in an off-line manner, and enable batch-mode communication between the programmatic client and the network system 102 ( It may be a publishing application to enable performing batch-mode communication).

특정한 예시적인 실시예에서, 3D 집적 시스템(146)은 웹 클라이언트(112)를 사용하여 디스플레이될 3D 모델을 생성한다. 일 예에서, 3D 집적 시스템(146)은 모델을 생성하고, 모델을 원격 서버에 저장하고, 웹 클라이언트(112)를 사용하여 모델을 액세스하기 위해 URL(universal resource locator)을 리턴한다. In certain example embodiments, the 3D aggregation system 146 generates a 3D model to be displayed using the web client 112 . In one example, the 3D aggregation system 146 generates a model, stores the model on a remote server, and returns a universal resource locator (URL) to access the model using the web client 112 .

부가적으로, 제3자 서버(들)(130) 상에서 실행되는 제3자 애플리케이션(들)(132)은 API 서버(120)에 의해 제공되는 프로그래매틱 인터페이스를 통해 네트워크 시스템(102)에 대한 프로그래매틱 액세스를 갖는 것으로 도시되어 있다. 예를 들어, 네트워크 시스템(102)으로부터 검색된 정보를 이용하는 제3자 애플리케이션(132)은 제3자에 의해 호스팅되는 웹 사이트상의 하나 이상의 특징들 또는 기능들을 지원할 수 있다.Additionally, third-party application(s) 132 executing on third-party server(s) 130 may provide access to network system 102 via a programmatic interface provided by API server 120 . It is shown with programmatic access. For example, a third party application 132 that uses information retrieved from the network system 102 may support one or more features or functions on a web site hosted by the third party.

하나의 예시적인 실시예에서, 피드백 시스템(150)은 네트워크 시스템(102)의 멤버와의 거래의 특정 단계에 대한 코멘트를 수신하고, 코멘트의 감정 및 카테고리를 결정하며 ― 여기서 카테고리는 한 세트의 미리 정의된 카테고리로부터 선택됨 ― , 자연어 처리 모듈을 적용함으로써 하위-카테고리를 생성하고, 사용자(106)가 카테고리 또는 하위-카테고리를 선택하도록 허용하는 디스플레이를 생성하며, 사용자(106)에 의한 선택에 따라 코멘트를 필터링하도록 구성된다. 이러한 방식으로, 피드백 시스템(150)은, 선택된 카테고리에 관련된 피드백 코멘트에 대한 빠른 액세스를 제공한다.In one exemplary embodiment, the feedback system 150 receives a comment about a particular stage of a transaction with a member of the network system 102 and determines a sentiment and category of the comment, where the category is a set of presets. selected from defined categories—create sub-categories by applying a natural language processing module, create a display that allows user 106 to select a category or sub-category, and comment upon selection by user 106 is configured to filter. In this manner, the feedback system 150 provides quick access to feedback comments related to the selected category.

도 2는 하나의 예시적인 실시예에 따른 피드백 시스템(150)을 도시하는 블록도이다. 이러한 예시적인 실시예에서, 피드백 시스템(150)은 수집 모듈(220), 감정 모듈(230), 디스플레이 모듈(250) 및 카테고리 모듈(240)을 포함한다.2 is a block diagram illustrating a feedback system 150 according to one exemplary embodiment. In this exemplary embodiment, the feedback system 150 includes a collection module 220 , an emotion module 230 , a display module 250 , and a category module 240 .

하나의 예시적인 실시예에서, 수집 모듈(220)은 온라인 마켓플레이스의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신하도록 구성된다. 특정 실시예에서, 수집 모듈(220)은 데이터베이스(126)에 코멘트를 질의함으로써 코멘트를 검색한다. 예를 들어, 네트워크 시스템(102)은, 네트워크 시스템(102)을 사용하여 사용자(106)로부터 코멘트를 요청하고 데이터베이스(126)에 코멘트를 저장하도록 구성된 애플리케이션 서버(140)로부터 코멘트를 수신할 수 있다.In one exemplary embodiment, the aggregation module 220 is configured to receive a plurality of comments at a particular stage of a transaction with a member of the online marketplace. In certain embodiments, the aggregation module 220 retrieves comments by querying the database 126 for comments. For example, network system 102 may receive comments from application server 140 configured to request comments from users 106 using network system 102 and store comments in database 126 . .

당업자가 인지할 수 있는 바와 같이, 수집 모듈(220)은 또한 많은 다른 방식으로 코멘트를 수신할 수 있다. 예를 들어, 수집 모듈(220)은 저장소부터 코멘트를 로딩하거나, 전자 네트워크 인터페이스를 통해 또는 임의의 다른 방식으로 코멘트를 수신할 수 있다.As one of ordinary skill in the art will appreciate, the aggregation module 220 may also receive comments in many other ways. For example, the aggregation module 220 may load comments from a repository, or receive comments via an electronic network interface or in any other manner.

하나의 예시적인 실시예에서, 거래의 특정 단계는 네트워크 시스템(102)의 2명의 사용자(106) 사이의 거래를 완료하는 특정 단계를 포함한다. 예는 아이템 선택, 디스플레이, 신원 확인, 아이템 옵션 선택, 쇼핑 카트 관리, 체크아웃, 결제, 배송 옵션 선택, 반품 관리 또는 기타 등을 포함하지만, 이에 제한되지는 않는다.In one exemplary embodiment, the specific step of the transaction includes the specific step of completing the transaction between two users 106 of the network system 102 . Examples include, but are not limited to, item selection, display, identification, item option selection, shopping cart management, checkout, payment, shipping option selection, returns management, or the like.

하나의 예시적인 실시예에서, 감정 모듈(230)은, 코멘트에 포함된 텍스트에 따라 코멘트 중 하나를 분류하도록 구성된다. 예를 들어, 코멘트 텍스트는 "~해서 나는 이것이 싫다(I hate it when...)", "이 사이트는 평판이 나쁘다(this site stinks)" 등을 포함할 수 있으며, 이에 응답하여, 감정 모듈(230)은 코멘트에 대한 감정이 부정적이라고 판정한다. 다른 예에서, 감정 모듈(230)은 코멘트에 포함된 특정 용어에 따라 감정을 식별한다. 예를 들어, 코멘트의 텍스트는 "굉장한(awesome)", "훌륭한(wonderful)", "완벽한(perfect)", "사랑(love)"과 같은 용어, 또는 즐거움(pleasure), 수용(acceptance), 만족(satisfaction) 등을 나타내는 기타 용어를 포함하며, 감정 모듈(230)은 코멘트의 감정이 긍정적이라고 판정한다. 다른 예에서, 감정 모듈(230)은, 코멘트 내의 용어 중 어느 것도 "긍정" 분류 또는 "부정" 분류 중 어느 하나와 연관된 용어에 매칭되지 않는 경우, 이 코멘트를 "중립"으로 분류한다. 하나의 특정 예시적인 실시예에서, 감정은 "긍정", "부정" 및 "중립"과 같은(이에 제한되지 않음) 한 세트의 미리 정의된 감정으로부터 선택된다.In one exemplary embodiment, the emotion module 230 is configured to classify one of the comments according to text included in the comment. For example, the comment text may include "I hate it when...", "this site stinks", etc., and in response, the emotion module (230) determines that the sentiment for the comment is negative. In another example, the emotion module 230 identifies the emotion according to specific terms included in the comment. For example, the text of a comment may contain terms such as "awesome", "wonderful", "perfect", "love", or pleasure, acceptance, and other terms indicating satisfaction, etc., and the emotion module 230 determines that the emotion of the comment is positive. In another example, the sentiment module 230 classifies the comment as "neutral" if none of the terms in the comment match a term associated with either the "positive" classification or the "negative" classification. In one particular exemplary embodiment, the emotion is selected from a set of predefined emotions, such as, but not limited to, “positive”, “negative” and “neutral”.

다른 예시적인 실시예에서, 감정 모듈(230)은, 코멘트 또는 코멘트의 텍스트를 수신한 것에 응답하여, 감정 분류를 출력하는 머신 학습 시스템(도 3의 270)을 적용한다. 머신 학습 시스템(270)의 추가 예시적인 실시예가 도 3과 관련하여 설명된다. 비제한적인 하나의 예에서, 감정 모듈(230)은, 코멘트의 텍스트를 수신한 것에 응답하여, 감정 분류를 출력하기 위해 트레이닝된 머신 학습 시스템을 사용한다.In another exemplary embodiment, the emotion module 230 applies a machine learning system ( 270 in FIG. 3 ) that outputs an emotion classification in response to receiving a comment or text of a comment. A further exemplary embodiment of a machine learning system 270 is described with respect to FIG. 3 . In one non-limiting example, the sentiment module 230 uses the trained machine learning system to output a sentiment classification in response to receiving the text of the comment.

예를 들어, 피드백 시스템(150)의 관리자는, 인간에 의해 감정 분류로 수동으로 분류된 코멘트의 대규모 데이터베이스에 대해 머신 학습 시스템(270)을 트레이닝시킬 수 있다. 머신 학습 시스템(270)은 이 데이터에 대해 트레이닝하고, 그후 메시지의 텍스트 또는 메시지에 포함된 한 세트의 용어를 수신한 것에 응답하여 감정 분류를 출력하도록 구성된다.For example, the administrator of the feedback system 150 may train the machine learning system 270 on a large database of comments that have been manually classified by humans into sentiment classification. Machine learning system 270 is configured to train on this data and then output a sentiment classification in response to receiving the text of the message or a set of terms included in the message.

다른 예시적인 실시예에서, 카테고리 모듈(240)은, 한 세트의 미리 정의된 카테고리로부터 선택된 코멘트에 대한 카테고리를 결정하도록 구성된다. 특정 실시예에서, 이러한 카테고리는 버그(bug), 정확하게 동작하는 것, 칭찬(compliment), 특징 요청(feature request), 불만, 관련 코멘트, 분류되지 않음, 추천 등을 포함하지만, 이에 제한되지 않는다.In another exemplary embodiment, the category module 240 is configured to determine a category for a selected comment from a set of predefined categories. In certain embodiments, these categories include, but are not limited to, bugs, things that work correctly, compliments, feature requests, complaints, related comments, uncategorized, recommendations, and the like.

하나의 예시적인 실시예에서, 카테고리 모듈(240)은, 코멘트에 포함된 특정 용어에 따라 코멘트에 대한 카테고리를 결정한다. 하나의 예에서, 코멘트는 "~해서 나는 이것이 싫다(I hate it when...)"를 포함한다. 이에 응답하여, 카테고리 모듈(240)은 코멘트를 불만으로 분류한다. 다른 예에서는, 코멘트가 "고장(broken)"을 포함하고, 카테고리 모듈(240)은 그 코멘트를 버그의 선언이라고 판정한다. 다른 예에서는, 코멘트가 "나는 이것을 사랑한다(I love it)"를 포함하고, 카테고리 모듈(240)은 그 코멘트를 칭찬이라고 판정한다. 다른 예에서는, 코멘트가 "추가 필요(need to add)"를 포함하고, 카테고리 모듈(240)은 그 코멘트가 특징 요청이라고 판정한다.In one exemplary embodiment, the category module 240 determines a category for a comment according to a specific term included in the comment. In one example, the comment includes "I hate it when...". In response, the category module 240 classifies the comment as a complaint. In another example, the comment contains “broken,” and the category module 240 determines that the comment is a declaration of a bug. In another example, the comment includes "I love it", and the category module 240 determines that the comment is a compliment. In another example, the comment includes “need to add,” and the category module 240 determines that the comment is a feature request.

하나의 예시적인 실시예에서, 카테고리 모듈(240)은 코멘트의 각각의 용어를 토큰화(tokenize)하고, 용어 및/또는 문구의 데이터베이스에서 용어를 룩업한다. 예를 들어, 코멘트가 "지불 불가(can't pay)"라는 문구를 포함하면, 문구 "지불 불가"가 불만과 연관된 문구의 데이터베이스에서 발견되었기 때문에, 카테고리 모듈(240)은 그 코멘트를 불만이라고 판정한다.In one exemplary embodiment, the categories module 240 tokenizes each term in the comment and looks up the term in a database of terms and/or phrases. For example, if the comment contains the phrase “can't pay,” then the category module 240 marks the comment as a complaint because the phrase “can't pay” was found in a database of phrases associated with the complaint. judge

하나의 예시적인 실시예에서, 카테고리 모듈(240)은, 메시지 내의 용어들의 수가 특정 카테고리와 연관된 용어의 데이터베이스에서 가장 많은 수의 용어에 매칭되는 것에 응답하여, 코멘트에 대한 카테고리를 결정한다.In one exemplary embodiment, the categories module 240 determines a category for the comment in response to a number of terms in the message matching the largest number of terms in a database of terms associated with the particular category.

예를 들어, 4 개의 용어가 "버그" 카테고리와 연관되고 3 개의 용어가 "불만" 카테고리와 연관되는 경우, 다른 카테고리들에 비해 더 많은 용어가 카테고리 "버그"에 매칭되기 때문에, 카테고리 모듈(240)은 그 코멘트를 "버그"라고 판정한다.For example, if 4 terms are associated with the category “bugs” and 3 terms are associated with the “complaints” category, the category module 240 ) judges the comment as a "bug".

다른 예시적인 실시예에서, 카테고리 모듈(240)은 특정 용어와 카테고리 간의 연관의 원격 데이터베이스로부터 한 세트의 연관을 로딩한다. 이 예시적인 실시예에서, 카테고리 모듈(240)은 데이터베이스(126)로부터 연관을 로딩하고, 하나 이상의 연관에 따라 코멘트에 대한 카테고리를 결정한다. 또한, 이 예시적인 실시예에서, 피드백 시스템(150)의 관리자는 데이터베이스(126)에 연관을 추가할 수 있고, 카테고리 모듈(240)은 새롭게 추가된 연관에 따라 코멘트에 대한 카테고리를 자동으로 결정한다.In another exemplary embodiment, category module 240 loads a set of associations from a remote database of associations between specific terms and categories. In this exemplary embodiment, category module 240 loads associations from database 126 and determines categories for comments according to one or more associations. Also, in this exemplary embodiment, the administrator of the feedback system 150 may add associations to the database 126 , and the category module 240 automatically determines categories for comments according to the newly added associations. .

다른 예시적인 실시예에서, 카테고리 모듈(240)은, 입력으로서 코멘트를 수신한 것에 응답하여, 카테고리를 출력하는 트레이닝된 머신 학습 시스템(도 2의 270)을 적용한다. 예를 들어, 피드백 시스템(150)의 관리자는 코멘트에서 발견된 용어 및 선택된 카테고리에 대해 머신 학습 시스템(270)을 트레이닝시킬 수 있다. 이러한 방식으로, 머신 학습 시스템(270)은, 코멘트에서 발견된 한 세트의 용어를 수신한 것에 응답하여, 카테고리를 출력하도록 구성된다. 머신 학습 시스템(270)을 포함하는 추가 예시적인 실시예가 도 3과 관련하여 설명된다.In another exemplary embodiment, the category module 240 applies a trained machine learning system (270 in FIG. 2 ) that, in response to receiving a comment as input, outputs a category. For example, an administrator of the feedback system 150 may train the machine learning system 270 on selected categories and terms found in comments. In this manner, the machine learning system 270 is configured to output a category in response to receiving a set of terms found in a comment. A further exemplary embodiment comprising a machine learning system 270 is described with respect to FIG. 3 .

하나의 예시적인 실시예에서, 카테고리 모듈(240)은 자연어 처리 모듈을 적용하여 코멘트에 대한 하위-카테고리를 생성한다. 한 세트의 미리 결정된 카테고리로부터 하나의 카테고리를 선택하는 경우와 달리, 한 세트의 미리 정의된 하위 카테고리에 관계없이 하위-카테고리가 생성된다. 일 예에서, 카테고리 모듈(240)은 "이미지에 대한 기술적 문제"의 하위-카테고리를 생성한다.In one exemplary embodiment, the category module 240 applies a natural language processing module to generate sub-categories for comments. Unlike the case of selecting one category from a set of predetermined categories, a sub-category is generated regardless of a set of predefined sub-categories. In one example, category module 240 creates a sub-category of “Technical Problems with Images”.

이 예시적인 실시예에서, 카테고리는 "버그"이고, 생성된 하위-카테고리는 "이미지에 대한 기술적 문제"이다. 따라서, "이미지에 대한 기술적 문제"의 하위-카테고리는 "버그" 카테고리와 연관되는데, 왜냐하면 적어도 하나의 코멘트가 '버그'로 분류되었고, 추가로 "이미지에 대한 기술적 문제'로 하위 분류되었기 때문이다. 따라서, 부가적인 하위-카테고리가 생성되면, 그들은 그에 따라 분류되고 하위-분류된 코멘트에 기초하여 각각의 카테고리와 연관된다.In this exemplary embodiment, the category is "Bugs" and the generated sub-category is "Technical Problems with Images". Thus, a sub-category of "technical issues with images" is associated with a "bugs" category because at least one comment was classified as 'bugs' and further subcategorized as "technical issues with images" Thus, as additional sub-categories are created, they are categorized accordingly and associated with each category based on the sub-categorized comments.

하나의 예시적인 실시예에서, 디스플레이 모듈(250)은, 이전에 설명된 바와 같이, 거래의 특정 단계와 연관된 카테고리의 디스플레이를 생성하도록 구성된다. 이 예시적인 실시예에서, 생성된 디스플레이는 카테고리 각각뿐 아니라, 생성된 하위-카테고리 각각을 나타내는 한 세트의 그래픽 요소도 포함한다. 이러한 디스플레이의 특정 예가 도 4에 도시된다.In one exemplary embodiment, the display module 250 is configured to generate a display of categories associated with a particular stage of the transaction, as previously described. In this exemplary embodiment, the generated display includes a set of graphical elements representing each of the categories as well as each of the generated sub-categories. A specific example of such a display is shown in FIG. 4 .

다른 예시적인 실시예에서, 카테고리와 연관된 하위-카테고리는 생성된 디스플레이에서 연결된다. 일 예에서, 하위-카테고리는 연관된 카테고리 바로 옆에 배치된다. 다른 예에서, 하위-카테고리를 나타내는 그래픽 요소는, 그래픽 라인 또는 다른 연결하는 그래픽 요소를 통해, 카테고리를 나타내는 그래픽 요소에 연결된다.In another exemplary embodiment, sub-categories associated with categories are linked in the generated display. In one example, a sub-category is placed immediately next to the associated category. In another example, the graphic element representing the sub-category is connected to the graphic element representing the category, via a graphic line or other connecting graphic element.

따라서, 네트워크 시스템(102)의 사용자(106)가 거래의 특정 단계와 연관된 코멘트를 검토하기를 원하는 경우 그 단계를 선택할 수 있고, 이에 응답하여, 디스플레이 모듈(250)은 코멘트에 기초하여 생성된 카테고리 및 연관된 하위-카테고리를 보여주는 디스플레이를 생성한다. Thus, if a user 106 of the network system 102 desires to review a comment associated with a particular stage of a transaction, it may select that stage, and in response, the display module 250 displays a category generated based on the comment. and a display showing the associated sub-categories.

하나의 예시적인 실시예에서, 디스플레이 모듈(250)은 카테고리의 선택을 수신하고, 이에 응답하여, 코멘트를 필터링하여 카테고리 선택과 연관된 그러한 코멘트를 디스플레이한다. 예를 들어, 선택된 카테고리에 할당된 코멘트가 디스플레이되는 반면에, 선택된 카테고리에 할당되지 않은 코멘트는 디스플레이되지 않는다.In one example embodiment, the display module 250 receives a selection of a category and, in response, filters the comments to display those comments associated with the category selection. For example, comments assigned to the selected category are displayed, while comments not assigned to the selected category are not displayed.

하나의 예시적인 실시예에서, 디스플레이 모듈(250)은, 선택에 응답하여, 선택된 카테고리의 그래픽 크기를 증가시킨다. 이는, 어떤 카테고리가 선택되었는지를 사용자(106)에게 더 명확하게 할 수 있고, 디스플레이된 코멘트가 어떻게 필터링되는지를 사용자(106)에게 상기시키는 역할을 할 수 있다.In one exemplary embodiment, the display module 250, in response to the selection, increases the graphic size of the selected category. This may make it clearer to the user 106 which category has been selected, and may serve as a reminder to the user 106 how the displayed comments are filtered.

다른 예시적인 실시예에서, 디스플레이 모듈(250)은 하위-카테고리의 선택을 수신하고, 이에 응답하여, 선택된 하위-카테고리를 강조하고, 선택된 하위-카테고리를 설명하는 제목을 디스플레이하고, 그리고 하위-카테고리와 연관된 디스플레이된 코멘트를 필터링한다.In another example embodiment, the display module 250 receives a selection of a sub-category and, in response, highlights the selected sub-category, displays a title descriptive of the selected sub-category, and in response to the sub-category Filters the displayed comments associated with

도 3은 다른 예시적인 실시예에 따른 피드백 시스템을 도시하는 블록도(300)이다. 이 예시적인 실시예는 수집 모듈(220), 감정 모듈(230), 디스플레이 모듈(250), 카테고리 모듈(240), 통지 모듈(260), 머신 학습 시스템(270) 및 가중치 모듈(280)을 포함한다. 수집 모듈(220), 감정 모듈(230), 디스플레이 모듈(250) 및 카테고리 모듈(240)은 도 2에 도시된 모듈과 실질적으로 유사할 수 있거나 유사하지 않을 수 있다.3 is a block diagram 300 illustrating a feedback system according to another exemplary embodiment. This exemplary embodiment includes a collection module 220 , an emotion module 230 , a display module 250 , a category module 240 , a notification module 260 , a machine learning system 270 and a weight module 280 . do. The collection module 220 , the emotion module 230 , the display module 250 , and the category module 240 may or may not be substantially similar to the modules illustrated in FIG. 2 .

하나의 예시적인 실시예에서, 통지 모듈(260)은, 카테고리 중 하나의 트렌드 변화에 응답하여, 사용자(106)에게 경고하도록 구성된다. 하나의 예시적인 실시예에서, 카테고리에 대한 트렌드는 하루에 5 개 미만의 코멘트를 포함한다. 예를 들어, 특정 사용자(106)는 지불에 관한 불만과 관련된 코멘트를, 지난 달 동안 매일 하루에 5 개 미만 수신하였을 수 있다. 따라서, 지불에 관한 불만에 대한 트렌드는 하루에 5 개 미만일 수 있다.In one exemplary embodiment, the notification module 260 is configured to alert the user 106 in response to a trend change in one of the categories. In one exemplary embodiment, a trend for a category includes less than 5 comments per day. For example, a particular user 106 may have received less than 5 comments per day per day for the past month related to payment complaints. Thus, the trend for complaints regarding payment may be less than 5 per day.

하나의 예시적인 실시예에서, 어떤 날에 지불에 관한 10 개 이상의 불만을 수신한 것에 응답하여, 또는 연속하는 임계 일수 동안 지불에 관한 10 개 이상의 불만을 수신한 것에 응답하여, 통지 모듈(260)은 특정 카테고리와 연관된 코멘트의 트렌드에서 상당한 변화가 있다고 판정한다. 물론, 당업자가 인지할 수 있는 바와 같이, 트렌드의 다른 변화는 통지 모듈(260)에 의해 결정될 수 있으며, 본 개시물은 이러한 모든 트렌드 변화를 포함하는 것으로 여겨진다. In one exemplary embodiment, in response to receiving 10 or more complaints regarding payment on a single day, or in response to receiving 10 or more complaints regarding payment for a consecutive threshold number of days, notification module 260 determines that there is a significant change in the trend of comments associated with a particular category. Of course, other changes in trends may be determined by the notification module 260 as those skilled in the art will recognize, and it is believed that this disclosure includes all such trend changes.

정해진 카테고리에 대한 트렌드의 다른 예는 관련된 월별 코멘트, 시간당 코멘트 등을 포함한다. 트렌드 변화는 트렌드의 200 %, 300 %를 초과하는 코멘트 또는 임의의 다른 트렌드 변화를 포함하지만, 이에 제한되지 않는다.Other examples of trends for a given category include related monthly comments, hourly comments, and the like. A trend change includes, but is not limited to, 200% of a trend, more than 300% of a comment, or any other trend change.

하나의 예시적인 실시예에서, 사용자(106)에게 경고하는 것은, 당업자가 인지할 수 있는 바와 같이, 사용자(106)에게 이메일을 전송하는 것, 사용자(106)에게 SMS 텍스트 메시지를 전송하는 것, 전자 그래픽 사용자 인터페이스를 통해 사용자(106)에게 통지를 디스플레이하는 것, 또는 임의의 다른 전자 또는 디지털 통신을 포함한다.In one exemplary embodiment, alerting the user 106 includes sending an email to the user 106 , sending an SMS text message to the user 106 , as will be appreciated by one of ordinary skill in the art; displaying a notification to the user 106 via an electronic graphical user interface, or any other electronic or digital communication.

다른 예시적인 실시예에서, 머신 학습 시스템(270)은, 코멘트의 텍스트 수신한 것에 응답하여 코멘트에 대한 카테고리를 출력하도록 구성된다. 일 예에서, 머신 학습 시스템(270)은, 카테고리에 한 세트의 코멘트를 제공함으로써 시스템의 관리자에 의해 트레이닝된다. 이에 응답하여, 머신 학습 시스템(270)은 한 세트의 코멘트에 대해 트레이닝하고, 코멘트의 텍스트에 기초하여 카테고리를 출력하도록 학습한다.In another example embodiment, the machine learning system 270 is configured to output a category for the comment in response to receiving the text of the comment. In one example, machine learning system 270 is trained by an administrator of the system by providing a set of comments to a category. In response, machine learning system 270 trains on a set of comments and learns to output categories based on the text of the comments.

하나의 예시적인 실시예에서, 가중치 모듈(280)은, 코멘트를 제공하는 사용자(106)에 대한 사용자 피드백 스코어에 따라 각각의 코멘트에 대한 가중치를 적용한다. In one exemplary embodiment, the weighting module 280 weights each comment according to a user feedback score for the user 106 providing the comment.

당업자가 인지할 수 있는 바와 같이, 사용자(106)에 의해 피드백의 품질을 결정하기 위한 많은 상이한 메트릭이 존재한다. 일부 예는 피드백의 길이, 코멘트에 사용된 용어의 정교함(sophistication), 코멘트의 문법의 질(grammar quality), 사용자(106)가 코멘트한 제품을 구매했는지 여부, 사용자(106)가 실제 거래에 참여했는지 여부, 비즈니스 금액 또는 코멘트를 제공하는 사용자(106)의 다른 애스팩트(aspect)를 포함한다. 하나의 예시적인 실시예에서, 디스플레이 모듈(250)은 코멘트를, 특정 임계 사용자 가중치를 초과하는 사용자(106)로부터의 그러한 코멘트로 필터링한다.As one of ordinary skill in the art will appreciate, there are many different metrics for determining the quality of feedback by the user 106 . Some examples are the length of the feedback, the sophistication of the terminology used in the comment, the grammar quality of the comment, whether the user 106 purchased the commented product, and the user 106 participating in the actual transaction. whether or not they did, business amount, or other aspects of the user 106 providing comments. In one exemplary embodiment, the display module 250 filters comments to those comments from users 106 that exceed a certain threshold user weight.

다른 예시적인 실시예에서, 피드백 시스템(150)은 결정된 카테고리에 따라 자연어 처리 모듈을 선택한다. 예를 들어, 피드백 시스템(150)의 관리자는 각각의 카테고리에 대한 자연어 처리 모듈을 맞춤화할 수 있고, 피드백 시스템(150)은 선택된 카테고리에 따라 하위-카테고리를 생성하는데 사용할 자연어 처리 모듈을 선택할 수 있다.In another exemplary embodiment, the feedback system 150 selects the natural language processing module according to the determined category. For example, the administrator of the feedback system 150 may customize the natural language processing module for each category, and the feedback system 150 may select the natural language processing module to use to generate sub-categories according to the selected category. .

도 4는 하나의 예시적인 실시예에 따른 피드백 시스템(150)에 의해 생성된 사용자 인터페이스(400)를 도시하는 예시이다. 하나의 예시적인 실시예에서, 사용자 인터페이스(400)는 범례(420), 카테고리 및 하위-카테고리에 대한 해시계형(sundial) 디스플레이(421), 및 카테고리와 연관된 코멘트에 대한 디스플레이(430)를 포함한다.4 is an illustration illustrating a user interface 400 generated by a feedback system 150 according to one exemplary embodiment. In one exemplary embodiment, the user interface 400 includes a legend 420 , a sundial display 421 for categories and sub-categories, and a display 430 for comments associated with the category. .

하나의 예시적인 실시예에서, 범례(420)는 특정 카테고리와 컬러 또는 패턴 간의 매핑을 제공한다. 이 예시적인 실시예에서, 해시계형 디스플레이(421)는 외부 링(422) 및 내부 링(423)을 포함한다. 내부 링(423)은 미리 결정된 카테고리 각각에 대한 그래픽 섹션을 포함한다. 외부 링(422)은 외부 링(422) 내의 각각의 카테고리에 대해 생성된 카테고리 각각에 대한 그래픽 섹션을 포함한다.In one exemplary embodiment, legend 420 provides a mapping between specific categories and colors or patterns. In this exemplary embodiment, the sundial display 421 includes an outer ring 422 and an inner ring 423 . The inner ring 423 includes a graphical section for each of the predetermined categories. The outer ring 422 includes a graphical section for each category created for each category within the outer ring 422 .

하나의 예시적인 실시예에서, 디스플레이 모듈(250)은, 섹션으로 표현된 카테고리에 매핑된 코멘트의 퍼센티지에 따라 내부 링(423)의 그래픽 섹션(410)의 크기를 조정한다. 예를 들어, 코멘트의 50 %가 그래픽 섹션(410)으로 표현된 카테고리에 매핑되는 것에 응답하여, 디스플레이 모듈(250)은 내부 링(423)의 50 %를 포함하도록 그래픽 섹션(410)의 크기를 조정한다. 이에 따라, 디스플레이 모듈(250)은, 각각의 카테고리에 매핑된 코멘트의 개개의 퍼센티지를 정확하게 나타내는 내부 링(423)을 디스플레이한다.In one exemplary embodiment, the display module 250 resizes the graphical section 410 of the inner ring 423 according to the percentage of comments mapped to categories represented by sections. For example, in response to 50% of the comments being mapped to the category represented by the graphic section 410 , the display module 250 resizes the graphic section 410 to include 50% of the inner ring 423 . Adjust. Accordingly, the display module 250 displays an inner ring 423 that accurately represents the respective percentage of comments mapped to each category.

다른 예시적인 실시예에서, 내부 링(423)과 같이, 디스플레이 모듈(250)은 또한, 특정 그래픽 세그먼트(412)에 매핑된 코멘트의 퍼센티지에 따라 그래픽 세그먼트(412)의 크기를 조정한다. 또한, 이 예시적인 실시예에서, 디스플레이 모듈(250)은, 그래픽 세그먼트(412)가 그래픽 섹션(410)으로 표현된 카테고리와 연관된 하위-카테고리를 나타내는 것에 응답하여, 그래픽 세그먼트(412A, 412B)를 내부 링(423)의 그래픽 섹션(410)과 접촉하도록 외부 링(422)에 배치한다.In another example embodiment, like inner ring 423 , display module 250 also resizes graphics segment 412 according to the percentage of comments mapped to that particular graphics segment 412 . Also, in this exemplary embodiment, the display module 250 displays the graphics segments 412A, 412B in response to the graphics segment 412 indicating a sub-category associated with the category represented by the graphics section 410 . Place on the outer ring 422 to contact the graphics section 410 of the inner ring 423 .

하나의 예시적인 실시예에서, 디스플레이 모듈(250)은, 필터링된 코멘트를 디스플레이하는 디스플레이(430)의 일부에서 코멘트를 필터링한다. 예를 들어, 사용자(106)가 그래픽 요소(423)를 선택하는 것에 응답하여, 디스플레이 모듈(250)은, 선택된 그래픽 세그먼트(423)로 표현된 카테고리에 매핑된 코멘트만을 디스플레이하도록 코멘트를 필터링한다. 또한, 사용자(106)가 그래픽 세그먼트(412A)를 선택하는 것에 응답하여, 디스플레이 모듈(250)은, 선택된 그래픽 세그먼트(412A)로 표현된 하위-카테고리에 매핑된 코멘트만을 디스플레이하도록 코멘트를 필터링한다.In one exemplary embodiment, the display module 250 filters the comments in the portion of the display 430 that displays the filtered comments. For example, in response to the user 106 selecting the graphical element 423 , the display module 250 filters the comments to display only those comments mapped to the category represented by the selected graphical segment 423 . Further, in response to the user 106 selecting the graphical segment 412A, the display module 250 filters the comments to display only those comments mapped to the sub-categories represented by the selected graphical segment 412A.

다른 예시적인 실시예에서, 디스플레이 모듈(250)은 한 세트의 코멘트로부터 선택된 카테고리의 행을 생성하고, 카테고리 각각에 대한 그래픽 요소는 각각의 카테고리와 연관된 코멘트의 퍼센티지에 따라 크기가 조정된다. 이 예시적인 실시예에서, 생성된 하위-카테고리의 또 다른 행이 카테고리의 행에 첨부되고, 여기서 하위-카테고리를 나타내는 각각의 그래픽 요소는 하위-카테고리와 연관된 카테고리에 대한 그래픽 요소를 터치한다. 예를 들어, "터치"는, 연관된 카테고리에 대한 그래픽 요소의 적어도 하나의 픽셀에 이웃하는 적어도 하나의 픽셀을 사용하여 디스플레이되도록 렌더링되는 하위-카테고리에 대한 그래픽 요소를 적어도 포함할 수 있다.In another example embodiment, the display module 250 generates rows of categories selected from a set of comments, and the graphical elements for each category are sized according to the percentage of comments associated with each category. In this exemplary embodiment, another row of generated sub-categories is appended to the row of categories, where each graphical element representing a sub-category touches a graphical element for the category associated with the sub-category. For example, “touch” may include at least a graphic element for a sub-category that is rendered to be displayed using at least one pixel neighboring at least one pixel of the graphic element for the associated category.

도 5는 하나의 예시적인 실시예에 따른 데이터 흐름을 도시하는 데이터 흐름도이다. 이러한 데이터 흐름도(500)에서, 수집 모듈(220)은 사용자 피드백(510)을 수신한다. Fig. 5 is a data flow diagram illustrating a data flow according to an exemplary embodiment. In this data flow diagram 500 , the aggregation module 220 receives user feedback 510 .

먼저, 피드백 시스템(150)은, 피드백으로부터 키워드를 추출하기 위해, 이를테면, 단어 임베딩(word embedding)을 사용함으로써 피드백에 대한 테마 또는 토픽을 식별하기 위한 준지도 카테고리 검출(semi-supervised category detection)(512)을 수행한다. 이 카테고리 검출은 계층적 방식(hierarchal manner)으로 수행되어, 카테고리의 심층 계층구조에서 카테고리를 선택할 수 있게 한다. 그후, 피드백 시스템(150)은, 이를테면, 나이브 베이즈 분류기(Naive Bayes classifier)를 사용함으로써 514에서 카테고리(또는 토픽)를 추론한다. 그후, 피드백(예를 들어, 개별 코멘트 또는 진술(submission))은 하나 이상의 추론된 카테고리로 분류될 수 있다. 단어 임베딩 및 나이브 베이즈가 논의되지만, 다른 데이터 마이닝(data mining), 머신 학습 또는 심층 학습 기술이 사용될 수 있다. First, the feedback system 150 employs semi-supervised category detection to identify a theme or topic for feedback by using, for example, word embeddings, to extract keywords from the feedback. 512) is performed. This category detection is performed in a hierarchal manner, making it possible to select a category from a deep hierarchy of categories. The feedback system 150 then infers the category (or topic) at 514 , such as by using a Naive Bayes classifier. The feedback (eg, individual comments or submissions) may then be classified into one or more inferred categories. While word embedding and naive Bayes are discussed, other data mining, machine learning, or deep learning techniques may be used.

하나의 예시적인 실시예에서, 동시에 또는 상이한 시점에서, 피드백 시스템(150)은, 하나 이상의 감정 분류, 이를테면, 긍정, 부정 또는 중립(그러나 이에 제한되지 않음)을 식별하기 위해, 피드백에 대해 감정 분석(520)을 수행한다. 그후, 피드백 시스템(150)은, 피드백에 포함된 코멘트에 기초하여, 피드백을 하나 이상의 추론된 감정 분류로 분류(522)한다.In one exemplary embodiment, at the same time or at different points in time, the feedback system 150 performs sentiment analysis on feedback to identify one or more emotion classifications, such as, but not limited to, positive, negative, or neutral. (520) is performed. The feedback system 150 then classifies 522 the feedback into one or more inferred sentiment classifications based on the comments included in the feedback.

피드백 시스템(150)은, 피드백의 이해(530)를 생성하기 위해, 이를테면, 하나 이상의 하위-카테고리(532)를 추출 또는 생성하기 위해, 고객 피드백의 자연어 분석 또는 처리를 수행하기 위한 하드웨어 또는 소프트웨어 구성요소를 포함할 수 있다. 이러한 소프트웨어 또는 하드웨어 모듈은, 세분화(segmentation) 및 품사 태깅(part-of-speech tagging)을 포함한 구문 분석, 의도 검출을 포함한 의미론 분석, 자동 요약 및 엔티티/속성 추출을 포함한 담화 분석(discourse analysis), 및 음성 인식과 같은 자연어 처리 작업을 수행하기 위한 인공 지능 또는 머신 학습 기술의 선택의 구현을 포함할 수 있다. 하나 이상의 하위-카테고리(532)는 피드백의 핵심 또는 가장 중요한 정보의 요약과 같은 피드백의 하나 이상의 속성을 포함할 수 있다. The feedback system 150 is a hardware or software configuration for performing natural language analysis or processing of customer feedback to generate an understanding 530 of the feedback, such as to extract or generate one or more sub-categories 532 . It can contain elements. Such software or hardware modules may include: syntax analysis including segmentation and part-of-speech tagging; semantic analysis including intent detection; discourse analysis including automatic summarization and entity/attribute extraction; and implementation of a selection of artificial intelligence or machine learning techniques to perform natural language processing tasks, such as speech recognition. One or more sub-categories 532 may include one or more attributes of the feedback, such as a summary of the key or most important information of the feedback.

다른 예시적인 실시예에서, 그후, 피드백 시스템(150)은 결정된 카테고리, 감정 및 생성된 하위-카테고리를 시각 디스플레이와 같은 순위 및 시각화 단계(524)에서 결합한다. 이 단계(524)에서, 디스플레이 모듈(250)은 (예를 들어, 코멘트의 카테고리, 감정 및 생성된 하위-카테고리에 기초하여) 본 명세서에 설명된 바와 같이 다양한 상이한 방식으로 코멘트의 순위를 매기거나 코멘트를 디스플레이할 수 있다. 또한, 통지 모듈(260)은, 사용자 피드백 또는 코멘트에서 트렌드를 식별하는 것에 응답하여, 이상 검출 및/또는 경고(540)를 수행할 수 있다.In another exemplary embodiment, the feedback system 150 then combines the determined categories, sentiments and generated sub-categories in a ranking and visualization step 524 such as a visual display. At this step 524 , the display module 250 ranks the comments in a variety of different ways as described herein (eg, based on the category of the comment, the sentiment, and the sub-categories generated) or You can display comments. Additionally, the notification module 260 may perform anomaly detection and/or alert 540 in response to identifying trends in user feedback or comments.

도 6은 하나의 예시적인 실시예에 따른 피드백을 처리하기 위한 방법(600)을 도시하는 흐름도이다. 방법(600)의 동작은 도 2과 관련하여 전술된 모듈들을 사용하여 피드백 시스템(150)에 의해 수행될 수 있다.6 is a flow diagram illustrating a method 600 for processing feedback according to one exemplary embodiment. Operations of method 600 may be performed by feedback system 150 using the modules described above with respect to FIG. 2 .

하나의 예시적인 실시예에서, 방법(600)이 시작되고, 동작(612)에서, 수집 모듈(220)은 온라인 마켓플레이스의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신한다. 예를 들어, 수집 모듈(220)은, 네트워크 시스템(102)의 일부로서 동작하는 애플리케이션 서버(140)를 통해 전송되는 코멘트를 웹 페이지를 통해 수신할 수 있다.In one illustrative embodiment, method 600 begins, and at operation 612 , the aggregation module 220 receives a plurality of comments at a particular stage of a transaction with a member of an online marketplace. For example, the aggregation module 220 may receive a comment transmitted via the application server 140 operating as part of the network system 102 via a web page.

방법(600)은 동작(614)에서 계속되고, 감정 모듈(230)은 복수의 코멘트 중 하나 이상을 감정 분류로 분류한다. 예를 들어, 감정 모듈(230)은 트레이닝된 머신 학습 시스템(270)을 코멘트에 적용하고, 트레이닝된 머신 학습 시스템(270)의 출력(예를 들어, 표시된 감정 분류)을 수용할 수 있다.The method 600 continues at operation 614 , where the sentiment module 230 classifies one or more of the plurality of comments into a sentiment classification. For example, the emotion module 230 may apply the trained machine learning system 270 to a comment, and accept an output (eg, a displayed emotion classification) of the trained machine learning system 270 .

방법(600)은 동작(616)에서 계속되고, 카테고리 모듈(240)은 복수의 코멘트 내의 하나 이상의 코멘트 각각에 대한 카테고리를 결정하고, 카테고리는 한 세트의 미리 정의된 카테고리로부터 선택된다. 방법(600)은 동작(618)에서 계속되고, 카테고리 모듈(240)은 선택된 카테고리와 연관된 하위-카테고리를 생성하기 위해 코멘트에 자연어 처리 모듈을 적용한다. 특정 실시예에서, 자연어 처리 모듈이 임의의 수의 하위-카테고리를 생성할 수 있으므로, 생성되는 하위-카테고리의 수에는 어떠한 제한도 없다.Method 600 continues at operation 616 , where category module 240 determines a category for each of one or more comments in the plurality of comments, wherein the category is selected from a set of predefined categories. The method 600 continues at operation 618 , where the category module 240 applies the natural language processing module to the comment to create a sub-category associated with the selected category. In certain embodiments, since the natural language processing module may generate any number of sub-categories, there is no limit to the number of sub-categories generated.

방법(600)은 동작(619)에서 계속되고, 카테고리 모듈(240)은 생성된 하위-카테고리와 하나 이상의 코멘트에 대한 그들 각각의 카테고리를 연관시킨다. 방법(600)은 동작(620)에서 계속되고, 디스플레이 모듈(250)은 특정 거래에 대한 결정된 카테고리 및 연관된 생성된 하위-카테고리의 디스플레이를 생성하고, 각각의 하위-카테고리는 그들 각각의 카테고리에 연결된다. 예를 들어, 도 5에 도시된 바와 같이, 디스플레이 모듈(250)은, 코멘트로부터 선택된 카테고리를 내부 링(423)에 디스플레이하고, 생성된 하위-카테고리를 내부 링(423) 상의 코멘트에 대해 선택된 카테고리에 연결된 외부 링(422)에 디스플레이하는 링 도면을 생성할 수 있다.Method 600 continues at operation 619 , where categories module 240 associates the generated sub-categories with their respective categories for one or more comments. Method 600 continues at operation 620, where display module 250 generates a display of the determined categories and associated generated sub-categories for the particular transaction, each sub-category associated with their respective category. do. For example, as shown in FIG. 5 , the display module 250 displays the categories selected from the comments on the inner ring 423 , and displays the generated sub-categories for the categories selected for the comments on the inner ring 423 . It is possible to create a ring drawing displayed on the outer ring 422 connected to the .

도 7은 다른 예시적인 실시예에 따른 피드백을 처리하기 위한 방법을 도시하는 흐름도이다. 방법(700)의 동작은 도 3과 관련하여 전술된 모듈들을 사용하여 피드백 시스템(150)에 의해 수행될 수 있다.7 is a flowchart illustrating a method for processing feedback according to another exemplary embodiment. Operations of method 700 may be performed by feedback system 150 using the modules described above with respect to FIG. 3 .

하나의 예시적인 실시예에서, 방법(700)이 시작되고, 동작(712)에서, 피드백 시스템(150)은, 코멘트의 텍스트를 수신한 것에 응답하여, 카테고리를 출력하도록 머신 학습 시스템(270)을 트레이닝시킨다. 일 예에서, 피드백 시스템(150)은, 당업자가 인식할 수 있는 바와 같이, 데이터 저장 디바이스로부터 한 세트의 트레이닝 데이터를 로딩하고, 트레이닝 데이터에 대해 머신 학습 시스템(270)을 트레이닝시킨다.In one illustrative embodiment, method 700 begins, and at operation 712 , feedback system 150, in response to receiving text of a comment, configures machine learning system 270 to output a category. train In one example, feedback system 150 loads a set of training data from a data storage device and trains machine learning system 270 on the training data, as will be appreciated by those skilled in the art.

방법(700)은 계속되고, 동작(714)에서, 수집 모듈(220)은 온라인 마켓플레이스의 멤버와의 거래의 특정 단계에 대한 코멘트의 원격 데이터베이스로부터 코멘트를 검색한다. 예를 들어, 수집 모듈(220)은 SQL 질의를 구성하여 데이터베이스(126)에 제출하고, SQL 질의의 조건을 만족시키는 코멘트를 수신할 수 있다.Method 700 continues, and at operation 714, aggregation module 220 retrieves comments from a remote database of comments for a particular stage of a transaction with a member of the online marketplace. For example, the collection module 220 may construct an SQL query and submit it to the database 126 , and receive a comment that satisfies the condition of the SQL query.

방법(700)은 동작(716)에서 계속되고, 감정 모듈(230)은 코멘트를 감정 분류로 분류한다. 예를 들어, 감정 모듈(230)은 (예를 들어, 사용자(106)가 전자 사용자 인터페이스를 사용하여 감정을 구체적으로 나타내는 예에서) 전자 사용자 인터페이스에서 하나 이상의 선택에 따라 코멘트를 분류할 수 있다.The method 700 continues at operation 716 , where the sentiment module 230 classifies the comment into a sentiment classification. For example, the emotion module 230 may classify the comment according to one or more selections in the electronic user interface (eg, in the example where the user 106 specifically expresses an emotion using the electronic user interface).

방법(700)은 동작(718)에서 계속되고, 카테고리 모듈(240)은 복수의 코멘트 내의 하나 이상의 코멘트 각각에 대한 카테고리를 결정하고, 카테고리는 한 세트의 미리 정의된 카테고리로부터 선택된다. 방법(700)은 계속되고 동작(720)에서, 카테고리 모듈(240)은, 선택된 카테고리와 연관된 하위-카테고리를 생성하기 위해 자연어 처리 모듈을 코멘트에 적용한다. 특정 실시예에서, 당업자가 인식할 수 있는 바와 같이, 자연어 처리 모듈이 임의의 수의 하위-카테고리를 생성할 수 있으므로, 생성되는 하위-카테고리의 수에는 어떠한 제한도 없다.Method 700 continues at operation 718 , where category module 240 determines a category for each of one or more comments in the plurality of comments, wherein the category is selected from a set of predefined categories. Method 700 continues and at operation 720 , category module 240 applies the natural language processing module to the comment to generate a sub-category associated with the selected category. In certain embodiments, there is no limit to the number of sub-categories generated, as the natural language processing module may generate any number of sub-categories, as will be appreciated by one of ordinary skill in the art.

방법(700)은 동작(722)에서 계속되고, 디스플레이 모듈(250)은 특정 거래에 대한 결정된 카테고리 및 연관된 생성된 하위-카테고리의 디스플레이를 생성하고, 각각의 하위-카테고리는 그들 각각의 카테고리에 연결된다. 예를 들어, 디스플레이 모듈(250)은 카테고리의 최상부 행 및 하위-카테고리의 제2 행을 생성할 수 있고, 여기서 각각의 하위-카테고리는 그들 각각의 카테고리에 연결된다. 이 예시적인 실시예에서, 디스플레이 모듈(250)은, 하위-카테고리를 수용하기 위해 카테고리에 대한 그래픽 요소의 크기를 조정한다.Method 700 continues at operation 722 , where display module 250 generates a display of the determined categories and associated generated sub-categories for the particular transaction, each sub-category associated with their respective category. do. For example, the display module 250 may generate a top row of categories and a second row of sub-categories, where each sub-category is associated with their respective category. In this exemplary embodiment, the display module 250 resizes the graphic elements for the categories to accommodate the sub-categories.

방법(700)은 동작(724)에서 계속되고, 통지 모듈(260)은, 카테고리 중 하나의 트렌드 변화에 응답하여 사용자(106)에게 경고한다. 하나의 예시적인 실시예에서, 사용자(106)에게 경고하는 것은, 당업자가 인지할 수 있는 바와 같이, 사용자(106)에게 이메일을 전송하는 것, 사용자(106)에게 SMS 텍스트 메시지를 전송하는 것, 전자 그래픽 사용자 인터페이스를 통해 사용자(106)에게 통지를 디스플레이하는 것, 또는 임의의 다른 전자 또는 디지털 통신을 포함한다. The method 700 continues at operation 724 , where the notification module 260 alerts the user 106 in response to a trend change in one of the categories. In one exemplary embodiment, alerting the user 106 includes sending an email to the user 106 , sending an SMS text message to the user 106 , as will be appreciated by one of ordinary skill in the art; displaying a notification to the user 106 via an electronic graphical user interface, or any other electronic or digital communication.

도 8은 하나의 예시적인 실시예에 따라 피드백을 처리하기 위한 방법(800)을 도시하는 다른 흐름도이다. 방법(800)에서의 동작은, 도 2-5와 관련하여 위에서 설명된 모듈을 사용하여 피드백 시스템(150)에 의해 수행될 수 있다. 하나의 예시적인 실시예에서, 피드백 시스템(150)은, 본 명세서에 설명된 바와 같이, 온라인 마켓플레이스의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신함으로써 동작(812)에서 방법(800)을 시작한다. 동작(814)에서, 피드백 시스템(150)은 하나 이상의 수신된 코멘트의 감정을 결정할 수 있다. 동작(816)에서, 피드백 시스템은, 예를 들어, 피드백 시스템(150)에 의해 결정 또는 식별된 카테고리에 기초하여, 수신된 코멘트 중 하나 이상에 대한 분류를 결정할 수 있다. 동작(818)에서, 피드백 시스템은 하나 이상의 하위-분류 또는 하위-카테고리를 생성할 수 있다. 동작(820)에서, 피드백 시스템은 결정된 분류 및 분류와 연관된 하위-분류 간의 연결을 도시하는 그래픽 디스플레이를 생성할 수 있다. 동작(822)에서, 피드백 시스템은 디스플레이를 통해 피드백 코멘트의 카테고리, 하위-카테고리의 선택을 수신할 수 있다. 동작(824)에서, 피드백 시스템은 수신된 선택에 따라 피드백 코멘트를 필터링할 수 있다. 일 예에서, 카테고리가 선택될 때, 피드백 시스템은, 선택된 카테고리에 매칭되는 분류를 갖는 필터링된 피드백 코멘트를 보여주기 위해 그래픽 디스플레이를 수정할 수 있다.8 is another flow diagram illustrating a method 800 for processing feedback according to one exemplary embodiment. The operations in method 800 may be performed by feedback system 150 using the modules described above with respect to FIGS. 2-5 . In one exemplary embodiment, the feedback system 150 is configured, in act 812 , method 800 , by receiving a plurality of comments at a particular stage of a transaction with a member of an online marketplace, as described herein. to start At operation 814 , the feedback system 150 may determine the sentiment of one or more received comments. At operation 816 , the feedback system may determine a classification for one or more of the received comments, eg, based on the categories determined or identified by the feedback system 150 . At operation 818 , the feedback system may generate one or more sub-categories or sub-categories. At operation 820 , the feedback system may generate a graphical display depicting the association between the determined classification and the sub-classification associated with the classification. At operation 822 , the feedback system may receive, via the display, a selection of a category, sub-category of the feedback comment. At operation 824 , the feedback system may filter the feedback comments according to the received selection. In one example, when a category is selected, the feedback system may modify the graphical display to show filtered feedback comments with classifications matching the selected category.

머신 및 소프트웨어 아키텍처Machine and software architecture

도 1 내지 도 8과 관련하여 기술된 모듈, 방법, 애플리케이션 등은, 머신 및 연관 소프트웨어 아키텍처의 맥락에서 일부 실시예들로 구현된다. 이하의 섹션은 개시된 실시예들과 함께 사용하기에 적합한 대표적인 소프트웨어 아키텍처(들) 및 머신(예를 들어, 하드웨어) 아키텍처를 설명한다.The modules, methods, applications, etc. described in connection with FIGS. 1-8 are implemented in some embodiments in the context of a machine and associated software architecture. The following sections describe representative software architecture(s) and machine (eg, hardware) architectures suitable for use with the disclosed embodiments.

소프트웨어 아키텍처는 특정 목적에 맞춰진 디바이스 및 머신을 생성하기 위해 하드웨어 아키텍처와 함께 사용된다. 예를 들어, 특정 소프트웨어 아키텍처와 연결된 특정 하드웨어 아키텍처는 휴대 전화, 태블릿 디바이스 등과 같은 모바일 디바이스를 생성할 것이다. 약간 상이한 하드웨어 및 소프트웨어 아키텍처는 "사물 인터넷(internet of things)"에서 사용하기 위한 스마트 디바이스를 생산할 수 있다. 한편 또 다른 조합은 클라우드 컴퓨팅 아키텍처 내에서의 사용을 위한 서버 컴퓨터를 생산한다. 당업자가 본 명세서에 포함된 개시물과 상이한 상황에서 본 발명의 청구 대상을 구현하는 방법을 용이하게 이해할 수 있으므로, 그러한 소프트웨어 및 하드웨어 아키텍처의 모든 조합이 본 명세서에 제시되지는 않는다.Software architectures are used in conjunction with hardware architectures to create devices and machines that are tailored for a specific purpose. For example, a particular hardware architecture coupled with a particular software architecture will create mobile devices such as cell phones, tablet devices, and the like. Slightly different hardware and software architectures may produce smart devices for use in the "internet of things." Another combination, meanwhile, produces server computers for use within cloud computing architectures. Not all combinations of such software and hardware architectures are presented herein, as those skilled in the art may readily understand how to implement the claimed subject matter in circumstances other than the disclosure contained herein.

모듈, 구성요소, 및 로직Modules, Components, and Logic

본 명세서에서 특정 실시예는 로직 또는 다수의 구성요소, 모듈 또는 메커니즘을 포함하는 것으로 설명된다. 모듈은 소프트웨어 모듈(예를 들어, 머신 판독 가능 매체 상에 구현된 코드) 또는 하드웨어 모듈 중 하나를 구성할 수 있다. "하드웨어 모듈"은 특정 동작을 수행할 수 있는 유형의 유닛이고 특정 물리적 방식으로 구성 또는 배치될 수 있다. 다양한 예시적인 실시예들에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템(예를 들어, 프로세서 또는 프로세서 그룹)의 하나 이상의 하드웨어 모듈은, 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 본 명세서에 설명된 바와 같은 특정 동작을 수행하도록 동작하는 하드웨어 모듈로서 구성될 수 있다. Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. A module may constitute either a software module (eg, code embodied on a machine-readable medium) or a hardware module. A “hardware module” is a tangible unit capable of performing specific operations and may be configured or disposed in a specific physical manner. In various demonstrative embodiments, one or more hardware modules of one or more computer systems (eg, stand-alone computer systems, client computer systems, or server computer systems) or computer systems (eg, processors or groups of processors) include: It may be configured by software (eg, an application or application portion) as a hardware module that operates to perform specific operations as described herein.

일부 실시예에서, 하드웨어 모듈은 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 특정 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 FPGA(field-programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 프로세서일 수 있다. 하드웨어 모듈은 또한 특정 동작을 수행하기 위해 소프트웨어에 의해 일시적으로 구성되는 프로그램 가능 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그램 가능 프로세서에 의해 실행되는 소프트웨어를 포함할 수 있다. 이러한 소프트웨어에 의해 일단 구성되면, 하드웨어 모듈은 구성된 기능을 수행하도록 고유하게 맞춰진 특정 머신(또는 머신의 특정 구성요소)이 되어 더 이상 범용 프로세서가 아니다. 전용이고 영구적으로 구성된 회로에서, 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)에서 하드웨어 모듈을 기계적으로 구현하기 위한 결정은 비용 및 시간 고려사항에 의해 추진될 수 있다는 점을 이해할 것이다.In some embodiments, hardware modules may be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware module may include dedicated circuitry or logic permanently configured to perform certain operations. For example, the hardware module may be a special purpose processor such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Hardware modules may also include programmable logic or circuitry that is temporarily configured by software to perform specific operations. For example, a hardware module may include software executed by a general purpose processor or other programmable processor. Once configured by such software, a hardware module becomes a specific machine (or specific component of a machine) uniquely tailored to perform the functions for which it is configured and is no longer a general purpose processor. It will be appreciated that the decision to mechanically implement a hardware module in a dedicated and permanently configured circuit, or in a temporarily configured circuit (eg, configured by software) may be driven by cost and time considerations.

따라서, "하드웨어 모듈"이라는 문구는 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들어, 하드와이어드(hardwired)) 일시적으로 구성되어(예를 들어, 프로그램되어) 특정 방식으로 동작하거나 본 명세서에 설명된 특정 동작을 수행하는 엔티티인 유형의 엔티티를 포괄하는 것으로 이해되어야 한다. 본 명세서에 사용되는 바와 같이, "하드웨어 구현 모듈"은 하드웨어 모듈을 지칭한다. 하드웨어 모듈들이 일시적으로 구성되는(예를 들어, 프로그램되는) 실시예들을 고려하면, 하드웨어 모듈들의 각각은 어느 한 시점에 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 특수 목적 프로세서가 되도록 소프트웨어에 의해 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간에 (예를 들어, 상이한 하드웨어 모듈을 포함하는) 상이한 특수 목적 프로세서로 각각 구성될 수 있다. 이에 따라, 소프트웨어는, 예를 들어, 특정 프로세서 또는 프로세서들을 구성하여, 예를 들어, 하나의 시간 인스턴스에서 특정 하드웨어 모듈을 구성하고 다른 시간 인스턴스에서 다른 하드웨어 모듈을 구성한다.Accordingly, the phrase "hardware module" means that it is physically configured, permanently configured (eg, hardwired), or temporarily configured (eg, programmed) to operate in a particular manner or as described herein. It should be understood to encompass entities of a type, which are entities that perform specific operations. As used herein, “hardware implemented module” refers to a hardware module. Considering embodiments in which hardware modules are temporarily configured (eg, programmed), each of the hardware modules need not be configured or instantiated at any one time. For example, if the hardware modules include a general purpose processor configured by software to be a special purpose processor, the general purpose processor may each be configured with different special purpose processors (eg, containing different hardware modules) at different times. have. Accordingly, the software configures, for example, a particular processor or processors, eg, to configure a particular hardware module in one time instance and configure another hardware module in another time instance.

하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 다른 하드웨어 모듈로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 모듈들은 통신 가능하게 연결된 것으로 고려될 수 있다. 동시에 다수의 하드웨어 모듈이 존재하는 경우, 통신은 2개 이상의 하드웨어 모듈들 사이의 또는 중의 신호 송신(예를 들어, 적절한 회로 및 버스를 통해)을 통해 달성될 수 있다. 복수의 하드웨어 모듈이 상이한 시간에 구성되거나 인스턴스화되는 실시예들에서, 그러한 하드웨어 모듈들 사이의 통신은, 예를 들어, 복수의 하드웨어 모듈이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 해당 동작의 출력을 통신 가능하게 연결된 메모리 디바이스에 저장할 수 있다. 그후, 추가 하드웨어 모듈은, 추후 시간에, 저장된 출력을 검색하고 처리하기 위해 메모리 디바이스에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 디바이스와의 통신을 개시할 수도 있고, 리소스(예를 들어, 정보의 집합)에 대해 동작할 수 있다.A hardware module may provide information to, and receive information from, other hardware modules. Accordingly, the described hardware modules may be considered communicatively coupled. Where multiple hardware modules are present at the same time, communication may be accomplished via signal transmission (eg, via appropriate circuitry and busses) between or during two or more hardware modules. In embodiments in which a plurality of hardware modules are configured or instantiated at different times, communication between such hardware modules may be achieved, for example, through storage and retrieval of information in a memory structure accessed by the plurality of hardware modules. have. For example, one hardware module may perform an operation and store an output of the operation in a communicatively coupled memory device. The additional hardware module may then access the memory device to retrieve and process the stored output at a later time. A hardware module may also initiate communication with an input or output device, and may operate on a resource (eg, a set of information).

본 명세서에 설명된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 일시적으로 또는 영구적으로 구성되더라도, 그러한 프로세서는 본 명세서에 설명된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서로 구현된 모듈을 구성할 수 있다. 본 명세서에서 사용되는 "프로세서로 구현된 모듈"은 하나 이상의 프로세서를 사용하여 구현된 하드웨어 모듈을 지칭한다.The various operations of the example methods described herein may be performed at least in part by one or more processors temporarily configured (eg, by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such a processor may constitute a processor-implemented module that operates to perform one or more operations or functions described herein. As used herein, a “processor-implemented module” refers to a hardware module implemented using one or more processors.

유사하게, 본 명세서에 설명된 방법들은 적어도 부분적으로 프로세서로 구현될 수 있고, 특정 프로세서 또는 프로세서들은 하드웨어의 일례이다. 예를 들어, 방법의 동작들 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서로 구현된 모듈에 의해 수행될 수 있다. 더욱이, 하나 이상의 프로세서는 또한 "클라우드 컴퓨팅" 환경에서 또는 "서비스로서의 소프트웨어(SaaS)"로서 관련 동작의 성능을 지원하도록 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는 컴퓨터의 그룹(프로세서들을 포함하는 머신의 예로서)에 의해 수행될 수 있고, 이러한 동작들은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스(예를 들어, 애플리케이션 프로그램 인터페이스(API))를 통해 액세스 가능하다.Similarly, the methods described herein may be implemented, at least in part, with a processor, with the particular processor or processors being an example of hardware. For example, at least some of the operations of the method may be performed by one or more processors or processor-implemented modules. Moreover, the one or more processors may also operate to support the performance of related operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (eg, a machine comprising processors), and such operations may be performed by a network (eg, the Internet) and one or more suitable interfaces (eg, , accessible through an application program interface (API).

특정 동작들의 성능은 단일 머신 내에 상주할 뿐만 아니라 다수의 머신들에 걸쳐 배치되는 프로세서들 사이에서 분산될 수 있다. 일부 예시적인 실시예들에서, 프로세서 또는 프로세서로 구현된 모듈은 단일 지리적 위치(예를 들어, 가정 환경, 사무실 환경 또는 서버 팜 내)에 위치할 수 있다. 다른 예시적인 실시예들에서, 프로세서 또는 프로세서로 구현된 모듈은 다수의 지리적 위치에 걸쳐 분산될 수도 있다.The performance of certain operations may be distributed among processors that not only reside within a single machine, but are deployed across multiple machines. In some demonstrative embodiments, a processor or processor-implemented module may be located in a single geographic location (eg, within a home environment, office environment, or server farm). In other example embodiments, a processor or processor-implemented module may be distributed across multiple geographic locations.

도 9는 일부 예시적인 실시예에 따른, 머신 상에 설치될 수 있는 소프트웨어 아키텍처(900)의 예를 도시하는 블록도이다. 소프트웨어 아키텍처(900)는 본 명세서에 설명된 다양한 하드웨어 아키텍처와 함께 사용될 수 있다. 도 9는 단지 소프트웨어 아키텍처의 비제한적 예일 뿐이고 본 명세서에 설명된 기능을 용이하게 하기 위해 많은 다른 아키텍처가 구현될 수 있다는 점이 이해될 것이다. 소프트웨어 아키텍처(900)는, 무엇보다도, 프로세서(1010), 메모리(1030), 및 I/O 구성요소(1050)를 포함하는 도 10의 머신(1000)과 같은 하드웨어 상에서 실행될 수 있다. 대표적인 하드웨어 계층(904)이 도시되고, 예를 들어, 도 10의 머신(1000)을 나타낼 수 있다. 대표적인 하드웨어 계층(904)은 연관된 실행 가능 명령어(908)를 갖는 하나 이상의 프로세싱 유닛(906)을 포함한다. 실행 가능 명령어(908)는 도 1 내지 도 8의 방법, 모듈 등의 구현예를 포함하는 소프트웨어 아키텍처(902)의 실행 가능 명령어를 나타낸다. 하드웨어 계층(904)은, 실행 가능 명령어(908)를 또한 갖는 메모리 및/또는 저장 모듈(910)을 또한 포함한다. 하드웨어 계층(904)은 또한, 하드웨어 계층(904)의 임의의 다른 하드웨어, 예를 들어, 머신(1000)의 일부로서 도시된 다른 하드웨어를 나타내는, 912로 표시된 기타 하드웨어(912)를 포함할 수 있다. 9 is a block diagram illustrating an example of a software architecture 900 that may be installed on a machine, in accordance with some demonstrative embodiments. Software architecture 900 may be used with the various hardware architectures described herein. It will be appreciated that FIG. 9 is merely a non-limiting example of a software architecture and that many other architectures may be implemented to facilitate the functionality described herein. Software architecture 900 may run on hardware, such as machine 1000 of FIG. 10 , including processor 1010 , memory 1030 , and I/O components 1050 , among others. A representative hardware layer 904 is shown and may represent, for example, the machine 1000 of FIG. 10 . Representative hardware layer 904 includes one or more processing units 906 having associated executable instructions 908 . Executable instructions 908 represent executable instructions of software architecture 902 including implementations of the methods, modules, etc. of FIGS. 1-8 . The hardware layer 904 also includes a memory and/or storage module 910 that also has executable instructions 908 . Hardware layer 904 may also include any other hardware of hardware layer 904 , such as other hardware 912 , denoted 912 , representing other hardware shown as part of machine 1000 . .

도 9의 예시적인 아키텍처에서, 소프트웨어 아키텍처(902)는 각각의 계층이 특정 기능을 제공하는 계층들의 스택으로서 개념화될 수 있다. 예를 들어, 소프트웨어 아키텍처(902)는 운영 체제(914), 라이브러리(916), 프레임워크/미들웨어(918), 애플리케이션(920) 및 프레젠테이션 계층(944)과 같은 계층을 포함할 수 있다. 동작 가능하게, 애플리케이션(920) 및/또는 계층 내의 다른 구성요소는 소프트웨어 스택을 통해 애플리케이션 프로그래밍 인터페이스(API) 호출(924)을 호출하고, API 호출(924)에 응답하여 메시지(926)로 도시된 응답, 반환 값 등을 수신할 수 있다. 예시된 계층은 사실상 대표적인 것으로 모든 소프트웨어 아키텍처가 모든 계층을 갖는 것은 아니다. 예를 들어, 일부 모바일 또는 특수 목적 운영 체제는 프레임워크/미들웨어 계층(918)을 제공하지 않을 수도 있지만, 다른 것들은 그러한 계층을 제공할 수도 있다. 다른 소프트웨어 아키텍처는 추가 또는 다른 계층을 포함할 수도 있다.In the example architecture of FIG. 9 , the software architecture 902 may be conceptualized as a stack of layers, each layer providing a specific function. For example, the software architecture 902 may include layers such as an operating system 914 , a library 916 , a framework/middleware 918 , an application 920 , and a presentation layer 944 . Operably, the application 920 and/or other components within the layer make application programming interface (API) calls 924 through the software stack, and in response to the API calls 924 , shown as message 926 . It can receive responses, return values, etc. The illustrated layers are representative in nature and not all software architectures have all layers. For example, some mobile or special purpose operating systems may not provide a framework/middleware layer 918, while others may provide such a layer. Other software architectures may include additional or different layers.

운영 체제(914)는 하드웨어 리소스를 관리하고 공통 서비스를 제공할 수 있다. 운영 체제(914)는, 예를 들어, 커널(928), 서비스(930) 및 드라이버(932)를 포함할 수 있다. 커널(928)은 하드웨어와 다른 소프트웨어 계층 사이에서 추상화 계층(abstraction layer)의 역할을 할 수 있다. 예를 들어, 커널(928)은 메모리 관리, 프로세서 관리(예를 들어, 스케줄링), 구성요소 관리, 네트워킹, 보안 설정 등을 담당할 수 있다. 서비스(930)는 다른 소프트웨어 계층을 위한 다른 공통 서비스를 제공할 수 있다. 드라이버(932)는 하부 하드웨어를 제어하거나 하부 하드웨어의 인터페이싱을 담당할 수 있다. 예를 들어, 드라이버(932)는 하드웨어 구성에 따라 디스플레이 드라이버, 카메라 드라이버, 블루투스® 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예를 들어, USB(Universal Serial Bus) 드라이버), Wi-Fi® 드라이버, 오디오 드라이버, 전력 관리 드라이버 등을 포함할 수 있다.The operating system 914 may manage hardware resources and provide common services. Operating system 914 may include, for example, a kernel 928 , services 930 , and drivers 932 . The kernel 928 may act as an abstraction layer between the hardware and other software layers. For example, the kernel 928 may be responsible for memory management, processor management (eg, scheduling), component management, networking, security settings, and the like. Services 930 may provide other common services for different software layers. The driver 932 may control the underlying hardware or may be responsible for interfacing the underlying hardware. For example, the driver 932 may include a display driver, a camera driver, a Bluetooth® driver, a flash memory driver, a serial communication driver (eg, a Universal Serial Bus (USB) driver), a Wi-Fi® driver, and a Wi-Fi® driver, depending on the hardware configuration. It may include an audio driver, a power management driver, and the like.

라이브러리(916)는 애플리케이션(920) 및/또는 다른 구성요소 및/또는 계층에 의해 이용될 수 있는 공통 기반구조를 제공할 수 있다. 하나의 특정 실시예에서, 피드백 시스템(150)의 다양한 모듈은 애플리케이션(920)으로서 구현된다. 라이브러리(916)는 전형적으로 다른 소프트웨어 모듈이 하위 운영 체제(914) 기능(예를 들어, 커널(928), 서비스(930) 또는 드라이버(932))과 직접 인터페이싱하는 것보다 더 용이한 방식으로 작업을 수행할 수 있게 하는 기능을 제공한다. 라이브러리(916)는 메모리 할당 기능, 문자열 조작 기능, 수학 기능 등과 같은 기능을 제공할 수 있는 시스템 라이브러리(934)(예를 들어, C 표준 라이브러리)를 포함할 수 있다. 또한, 라이브러리(916)는 미디어 라이브러리(예를 들어, MPEG4, H.264, MP3, AAC, AMR, JPG, PNG와 같은 다양한 미디어 포맷의 표현 및 조작을 지원하는 라이브러리), 그래픽 라이브러리(예를 들어, 디스플레이 상에 2-차원 및/또는 3 차원 그래픽 콘텐츠를 렌더링하는 데 사용될 수 있는 OpenGL 프레임워크), 데이터베이스 라이브러리(예를 들어, 다양한 관계형 데이터베이스 기능을 제공할 수 있는 SQLite), 웹 라이브러리(예를 들어, 웹 브라우징 기능을 제공할 수 있는 WebKit) 등과 같은 API(936)를 포함할 수 있다. 라이브러리(916)는 또한 많은 다른 API를 애플리케이션(920) 및 다른 소프트웨어 구성요소/모듈에 제공하도록 매우 다양한 다른 라이브러리(938)를 포함할 수 있다.The library 916 may provide a common infrastructure that may be utilized by the application 920 and/or other components and/or layers. In one particular embodiment, various modules of feedback system 150 are implemented as applications 920 . Libraries 916 typically work in a manner that is easier for other software modules to interface directly with underlying operating system 914 functions (eg, kernel 928 , services 930 , or drivers 932 ). It provides a function that allows you to The library 916 may include a system library 934 (eg, the C standard library) that may provide functions such as memory allocation functions, string manipulation functions, math functions, and the like. In addition, the library 916 is a media library (eg, a library that supports the expression and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), a graphic library (eg, , an OpenGL framework that can be used to render two-dimensional and/or three-dimensional graphical content on a display), database libraries (e.g. SQLite, which can provide a variety of relational database functions), web libraries (e.g. For example, it may include an API 936 such as WebKit) capable of providing a web browsing function. Libraries 916 may also include a wide variety of other libraries 938 to provide many other APIs to applications 920 and other software components/modules.

프레임워크(918)(때때로 미들웨어로도 지칭됨)는 애플리케이션(920) 및/또는 다른 소프트웨어 구성요소/모듈에 의해 이용될 수 있는 상위 레벨의 공통 기반구조를 제공할 수 있다. 예를 들어, 프레임워크(918)는 다양한 그래픽 사용자 인터페이스(GUI) 기능, 고레벨 리소스 관리, 고레벨 위치 서비스 등을 제공할 수 있다. 프레임워크(918)는 애플리케이션(920) 및/또는 다른 소프트웨어 구성요소/모듈(이들 중 일부는 특정 운영 체제 또는 플랫폼에 특정될 수 있음)에 의해 이용될 수 있는 광범위한 다른 스펙트럼의 API를 제공할 수 있다. 하나의 예시적인 실시예에서, 3D 통합 시스템(146)의 적어도 일부는 미들웨어로서 구현된다. 일 예에서, 3D 모델 모듈은 미들웨어로서 구현되고, 임의의 애플리케이션(920)에 의해 액세스 가능하다.Framework 918 (sometimes referred to as middleware) may provide a high-level common infrastructure that may be utilized by application 920 and/or other software components/modules. For example, the framework 918 may provide various graphical user interface (GUI) functions, high-level resource management, high-level location services, and the like. Framework 918 may provide a wide other spectrum of APIs that may be utilized by application 920 and/or other software components/modules, some of which may be specific to a particular operating system or platform. have. In one exemplary embodiment, at least a portion of the 3D integration system 146 is implemented as middleware. In one example, the 3D model module is implemented as middleware and is accessible by any application 920 .

애플리케이션(920)은 내장형 애플리케이션(940) 및/또는 제3자 애플리케이션(942)을 포함한다. 대표적인 내장형 애플리케이션(940)의 예는 연락처 애플리케이션, 브라우저 애플리케이션, 북 리더 애플리케이션, 위치 애플리케이션, 미디어 애플리케이션, 메시징 애플리케이션, 게임 애플리케이션 등을 포함할 수 있지만 이에 제한되지 않는다. 제3자 애플리케이션(942)은 내장형 애플리케이션뿐만 아니라 매우 여러 가지 다른 애플리케이션 중 임의의 것을 포함할 수 있다. 특정 예에서, 제3자 애플리케이션(942)(예를 들어, 특정 플랫폼의 벤더 이외의 엔티티에 의해 AndroidTM 또는 iOSTM 소프트웨어 개발 키트(SDK)를 사용하여 개발된 애플리케이션)은 모바일 운영 체제(예를 들어, iOSTM, AndroidTM, Windows® 폰 또는 기타 모바일 운영 체제) 상에서 작동하는 모바일 소프트웨어일 수 있다. 이 예에서, 제3자 애플리케이션(942)은 본 명세서에 설명된 기능을 용이하게 하기 위해 운영 체제(914)와 같은 모바일 운영 체제에 의해 제공되는 API 호출(924)를 호출할 수 있다. Applications 920 include embedded applications 940 and/or third party applications 942 . Examples of representative embedded applications 940 may include, but are not limited to, contacts applications, browser applications, book reader applications, location applications, media applications, messaging applications, gaming applications, and the like. Third party applications 942 may include embedded applications as well as any of a wide variety of other applications. In certain instances, third-party application 942 (eg, an application developed using an Android TM or iOS TM software development kit (SDK) by an entity other than a vendor of a particular platform) is a mobile operating system (eg, For example, it may be mobile software running on an iOS TM , Android TM , Windows® phone or other mobile operating system). In this example, third-party application 942 may call API calls 924 provided by a mobile operating system, such as operating system 914 , to facilitate the functionality described herein.

애플리케이션(920)은 내장형 운영 체제 기능(예를 들어, 커널(928), 서비스(930) 또는 드라이버(932)), 라이브러리(예를 들어, 시스템(934), API(936) 및 다른 라이브러리(938)), 프레임워크/미들웨어(918)를 이용하여 시스템의 사용자(106)와 상호작용하기 위한 사용자 인터페이스를 생성할 수 있다. 대안적으로 또는 추가 적으로, 일부 시스템에서, 사용자(106)와의 상호작용은 표현 계층(944)과 같은 표현 계층을 통해 발생할 수 있다. 이들 시스템에서, 애플리케이션/모듈 "로직"은 사용자(106)와 상호작용하는 애플리케이션/모듈의 양태들에서 분리될 수 있다.Applications 920 include embedded operating system functions (eg, kernel 928 , services 930 or drivers 932 ), libraries (eg, system 934 , APIs 936 ), and other libraries 938 . )), the framework/middleware 918 may be used to create a user interface for interacting with a user 106 of the system. Alternatively or additionally, in some systems, interaction with user 106 may occur through a presentation layer, such as presentation layer 944 . In these systems, the application/module “logic” may be decoupled from aspects of the application/module interacting with the user 106 .

일부 소프트웨어 아키텍처는 가상 머신을 이용한다. 도 9의 예에서, 이는 가상 머신(948)으로 예시된다. 가상 머신(948)은 마치 애플리케이션/모듈이 하드웨어 머신(예를 들어, 도 10의 머신(1000)) 상에서 실행중인 것처럼 애플리케이션/모듈을 실행할 수 있는 소프트웨어 환경을 생성한다. 가상 머신(948)은 호스트 운영 체제(예를 들어, 도 9의 운영 체제(914))에 의해 호스팅되고, 전형적으로 항상은 아니지만, 가상 머신(948)의 동작뿐만 아니라 호스트 운영 체제(즉, 운영 체제(914))와의 인터페이스를 관리하는 가상 머신 모니터(946)를 갖는다. 소프트웨어 아키텍처는 운영 체제(950), 라이브러리(952), 프레임워크/미들웨어(954), 애플리케이션(956) 또는 프레젠테이션 계층(958)과 같은 가상 머신(948) 내에서 실행된다. 가상 머신(948) 내에서 실행되는 이러한 소프트웨어 아키텍처(902)의 계층은 이전에 설명된 대응 계층과 동일할 수도 있거나 상이할 수도 있다.Some software architectures use virtual machines. In the example of FIG. 9 , this is illustrated by virtual machine 948 . Virtual machine 948 creates a software environment in which applications/modules can run as if the applications/modules were running on a hardware machine (eg, machine 1000 in FIG. 10 ). Virtual machine 948 is hosted by a host operating system (eg, operating system 914 of FIG. 9 ), and typically, but not always, operation of virtual machine 948 as well as host operating system (ie, operating system 948 ). It has a virtual machine monitor 946 that manages an interface with the system 914). The software architecture runs within a virtual machine 948 such as an operating system 950 , a library 952 , a framework/middleware 954 , an application 956 , or a presentation layer 958 . The layers of this software architecture 902 executing within the virtual machine 948 may be the same as or different from the corresponding layers previously described.

예시적인 머신 아키텍처 및 머신 판독 가능 매체Exemplary machine architectures and machine-readable media

도 10은, 머신 판독 가능 매체(예를 들어, 머신 판독 가능 저장 매체)로부터 명령어를 판독하고 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행할 수 있는, 일부 예시적인 실시예에 따른 머신(1000)의 구성요소를 도시하는 블록도이다. 구체적으로, 도 10은 컴퓨터 시스템의 예시적인 형태로 머신(1000)의 개략적 표현을 도시하고, 머신(1000)으로 하여금 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행하게 하기 위한 명령어(1016)(예를 들어, 소프트웨어, 프로그램, 애플리케이션(920), 애플릿, 앱, 또는 다른 실행 가능 코드)가 머신(1000) 내부에서 실행될 수 있다. 10 illustrates a machine 1000, in accordance with some demonstrative embodiments, capable of reading instructions from a machine-readable medium (eg, a machine-readable storage medium) and performing any one or more methods discussed herein. ) is a block diagram showing the components of Specifically, FIG. 10 shows a schematic representation of a machine 1000 in an exemplary form of a computer system, with instructions 1016 for causing the machine 1000 to perform any one or more methods discussed herein. For example, software, programs, applications 920 , applets, apps, or other executable code) may be executed inside machine 1000 .

예를 들어, 명령어(1016)는 머신(1000)으로 하여금 도 6-8의 흐름도를 실행하게 할 수 있다. 부가적으로 또는 대안적으로, 명령어(1016)는 도 2 또는 도 3에 도시된 모듈을 구현할 수 있다. 구체적으로, 명령어(1016)는 수집 모듈(220), 감정 모듈(230), 디스플레이 모듈(250), 카테고리 모듈(240), 통지 모듈(260), 머신 학습 시스템(270), 또는 가중치 모듈(280)의 다양한 기능을 구현할 수 있다.For example, the instructions 1016 may cause the machine 1000 to execute the flowcharts of FIGS. 6-8 . Additionally or alternatively, the instructions 1016 may implement the modules shown in FIG. 2 or FIG. 3 . Specifically, the instruction 1016 may include the collection module 220 , the emotion module 230 , the display module 250 , the category module 240 , the notification module 260 , the machine learning system 270 , or the weight module 280 . ) can implement various functions.

명령어(1016)는 프로그램되지 않는 범용 머신을 설명된 방식으로 설명되고 도시된 기능을 실행하도록 프로그램된 특정 머신으로 변환한다. 대안적인 실시예들에서, 머신(1000)은 독립형 디바이스로서 동작하거나 다른 머신들에 연결(예를 들어, 네트워크화)될 수 있다. 네트워크화된 배치에서, 머신(1000)은 서버-클라이언트 네트워크 환경에서 서버 머신 또는 클라이언트 머신의 기능으로 동작할 수 있거나 피어 투 피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(1000)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩톱 컴퓨터, 넷북, STB(set-top box), PDA(personal digital assistant), 엔터테인먼트 미디어 시스템, 셀룰러 텔레폰, 스마트 폰, 모바일 디바이스, 웨어러블 디바이스(예를 들어, 스마트 워치), 스마트 홈 디바이스(예를 들어, 스마트 어플라이언스), 다른 스마트 디바이스, 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브리지 또는 머신(1000)에 의해 취해질 작업들을 순차적으로 또는 달리 명시하는 명령어(1016)를 실행할 수 있는 임의의 머신을 포함할 수 있으나, 이들로 제한되지 않는다. 또한, 단일 머신(1000)이 도시되지만, "머신"이라는 용어는 또한 본 명세서에 논의된 방법들 중 임의의 하나 이상의 방법을 수행하도록 명령어(1016)를 개별적으로 또는 공동으로 실행하는 머신(1000)의 집합을 포함하는 것으로 여겨져야 한다.Instructions 1016 transform a non-programmed general-purpose machine into a specific machine programmed to perform the functions described and illustrated in the manner described. In alternative embodiments, machine 1000 may operate as a standalone device or be coupled (eg, networked) to other machines. In a networked deployment, machine 1000 may operate as a server machine or a function of a client machine in a server-client network environment or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 1000 may be a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, Action to be taken by a mobile device, wearable device (eg, smart watch), smart home device (eg, smart appliance), other smart device, web appliance, network router, network switch, network bridge, or machine 1000 . may include, but is not limited to, any machine capable of executing instructions 1016 specifying them sequentially or otherwise. Further, although a single machine 1000 is shown, the term “machine” also refers to machine 1000 individually or jointly executing instructions 1016 to perform any one or more of the methods discussed herein. should be considered to contain a set of

머신(1000)은, 예를 들어, 버스(1002)를 통해 서로 통신하도록 구성될 수 있는 프로세서(1010), 메모리(1030) 및 I/O 구성요소(1050)를 포함할 수 있다. 예시적인 실시예에서, 프로세서(1010)(예를 들어, CPU(central processing unit), RISC(reduced instruction set computing) 프로세서, CISC(complex instruction set computing) 프로세서, GPU(graphics processing unit), DSP(digital signal processor), ASIC, RFIC(radio-frequency integrated circuit), 다른 프로세서, 또는 이들의 임의의 적합한 조합)은, 예를 들어, 명령어(1016)를 실행할 수 있는 프로세서(1012) 및 프로세서(1014)를 포함할 수 있다. "프로세서"라는 용어는 동시에 명령어(1016)를 실행할 수 있는 둘 이상의 독립 프로세서(1012, 1014)(때때로 "코어"로 지칭됨)를 포함할 수 있는 다중 코어 프로세서(1010)를 포함하도록 의도된다. 도 10이 다수의 프로세서(1010)를 도시하지만, 머신(1000)은 단일 코어를 갖는 단일 프로세서(1012), 다수의 코어(예를 들어, 멀티 코어 프로세서)를 갖는 단일 프로세서(1012), 단일 코어를 갖는 다수의 프로세서(1012, 1014), 다수의 코어를 갖는 다수의 프로세서(1012, 1014), 또는 이들의 임의의 조합을 포함할 수 있다.Machine 1000 may include, for example, a processor 1010 , a memory 1030 , and an I/O component 1050 that may be configured to communicate with each other via a bus 1002 . In an exemplary embodiment, processor 1010 (eg, central processing unit (CPU), reduced instruction set computing (RISC) processor, complex instruction set computing (CISC) processor, graphics processing unit (GPU), digital signal processor), ASIC, radio-frequency integrated circuit (RFIC), other processor, or any suitable combination thereof) includes, for example, processor 1012 and processor 1014 capable of executing instructions 1016 . may include The term “processor” is intended to include multi-core processor 1010, which may include two or more independent processors 1012, 1014 (sometimes referred to as “cores”) capable of executing instructions 1016 concurrently. Although FIG. 10 depicts multiple processors 1010 , the machine 1000 includes a single processor 1012 having a single core, a single processor 1012 having multiple cores (eg, a multi-core processor), a single core may include multiple processors 1012, 1014 having multiple cores, multiple processors 1012, 1014 having multiple cores, or any combination thereof.

메모리/저장소(1030)는 메인 메모리 또는 다른 메모리 스토리지와 같은 메모리(1032) 및 저장 유닛(1036)을 포함할 수 있고, 이 둘 모두는, 예를 들어, 버스(1002)를 통해, 프로세서(1010)에 모두 액세스 가능하다. 저장 유닛(1036) 및 메모리(1032)는 본 명세서에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(1016)를 저장한다. 명령어(1016)는 또한 머신(1000)에 의한 실행 동안 메모리(1032) 내에, 저장 유닛(1036) 내에, 프로세서(1010) 중 적어도 하나 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적합한 조합 내에 완전히 또는 부분적으로 상주할 수 있다. 따라서, 메모리(1032), 저장 유닛(1036), 및 프로세서(1010)의 메모리는 머신 판독 가능 매체의 예이다.Memory/storage 1030 may include memory 1032 and storage unit 1036 , such as main memory or other memory storage, both of which may include, for example, via bus 1002 , processor 1010 . ) are all accessible. Storage unit 1036 and memory 1032 store instructions 1016 implementing any one or more of the methods or functions described herein. Instructions 1016 may also be executed during execution by machine 1000 in memory 1032 , in storage unit 1036 , in at least one of processor 1010 (eg, in the processor's cache memory), or any of these It may reside fully or partially in any suitable combination. Accordingly, the memory 1032 , the storage unit 1036 , and the memory of the processor 1010 are examples of machine-readable media.

본 명세서에 사용된 바와 같이, "머신 판독 가능 매체"는 명령어(1016) 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 디바이스를 의미하고, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 유형의 저장소(예를 들어, 제거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 포함할 수 있으나, 이들에 제한되는 것은 아니다. "머신 판독 가능 매체"라는 용어는 명령어(1016)를 저장할 수 있는 단일 매체 또는 복수의 매체(예를 들어, 중앙 집중형 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 여겨져야 한다. "머신 판독 가능 매체"라는 용어는 또한 머신(예를 들어, 머신(1000))에 의한 실행을 위한 명령어(예를 들어, 명령어(1016))를 저장 또는 운반할 수 있는 임의의 매체 또는 복수의 매체의 조합을 포함하는 것으로 여겨져야 하고, 이로써 명령어(1016)는 머신(1000)의 하나 이상의 프로세서들(예를 들어, 프로세서(1010))에 의해 실행될 때, 머신(1000)으로 하여금 본 명세서에 설명된 임의의 하나 이상의 방법들 중 임의의 하나 이상을 수행하게 한다. 따라서, "머신 판독 가능 매체"는 단일 저장 장치 또는 디바이스뿐만 아니라 다수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크를 지칭한다. "머신 판독 가능 매체"라는 용어는 신호 그 자체를 배제하지 않는다.As used herein, “machine-readable medium” means a device capable of temporarily or permanently storing instructions 1016 and data, including random access memory (RAM), read-only memory (ROM), buffers memory, flash memory, optical media, magnetic media, cache memory, other types of storage (eg, removable programmable read-only memory (EEPROM)) and/or any suitable combination thereof is not limited to The term “machine-readable medium” should be considered to include a single medium or multiple media (eg, centralized or distributed databases, or associated caches and servers) that may store instructions 1016 . The term “machine-readable medium” also refers to any medium or plurality of mediums that can store or carry instructions (eg, instructions 1016 ) for execution by a machine (eg, machine 1000 ). It should be considered to include any combination of media, such that the instructions 1016, when executed by one or more processors (eg, the processor 1010 ) of the machine 1000 , cause the machine 1000 to be described herein. perform any one or more of any one or more methods described. Accordingly, “machine-readable medium” refers to a “cloud-based” storage system or storage network that includes a single storage device or device as well as multiple storage devices or devices. The term "machine-readable medium" does not exclude signals per se.

I/O 구성요소(1050)는 입력을 수신하고, 출력을 제공하고, 출력을 생성하고, 정보를 송신하고, 정보를 교환하고, 측정을 캡처하기 위한 매우 다양한 구성요소를 포함할 수 있다. 특정 머신(1000)에 포함되는 특정 I/O 구성요소(1050)는 머신(1000)의 유형에 의존할 것이다. 예를 들어, 모바일폰과 같은 휴대용 머신은 터치 입력 디바이스 또는 기타 입력 메커니즘을 포함할 가능성이 있지만 헤드리스 서버 머신은 그러한 터치 입력 디바이스를 포함할 가능성이 없다. I/O 구성요소(1050)는 도 10에 도시되지 않은 많은 다른 구성요소를 포함할 수 있음을 이해할 것이다. I/O 구성요소(1050)는 단지 다음의 설명을 단순화하기 위해 기능에 따라 그룹화되고, 그룹화는 결코 제한적이지 않다. 다양한 예시적인 실시예들에서, I/O 구성요소(1050)는 출력 구성요소(1052) 및 입력 구성요소(1054)를 포함할 수 있다. 출력 구성요소(1052)는 시각 구성요소(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터 또는 음극선관(CRT)과 같은 디스플레이), 음향 구성요소(예를 들어, 스피커), 햅틱 구성요소(예를 들어, 진동 모터, 저항 메커니즘), 다른 신호 생성기 등을 포함할 수 있다. 입력 구성요소(1054)는 문자 숫자 입력 구성요소(예를 들어, 키보드, 문자 숫자 입력을 수신하도록 구성된 터치 스크린, 광학 키보드(photo-optical keyboard) 또는 다른 문자 숫자 입력 구성요소), 포인트 기반 입력 구성요소(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 도구), 촉각 입력 구성요소(예를 들어, 물리적인 버튼, 터치 또는 터치 제스처의 위치 및/또는 힘을 제공하는 터치 스크린, 또는 다른 촉각 입력 구성요소), 오디오 입력 구성요소(예를 들어, 마이크로폰) 등을 포함할 수 있다.I/O component 1050 may include a wide variety of components for receiving input, providing output, generating output, transmitting information, exchanging information, and capturing measurements. The particular I/O components 1050 included in a particular machine 1000 will depend on the type of machine 1000 . For example, a portable machine such as a mobile phone will likely include a touch input device or other input mechanism, whereas a headless server machine is unlikely to include such a touch input device. It will be appreciated that I/O component 1050 may include many other components not shown in FIG. 10 . I/O components 1050 are grouped by function merely to simplify the following description, and the grouping is by no means limiting. In various example embodiments, I/O component 1050 can include an output component 1052 and an input component 1054 . The output component 1052 may include a visual component (eg, a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a display such as a projector or cathode ray tube (CRT)), an acoustic component (eg, speakers), haptic components (eg, vibration motors, resistance mechanisms), other signal generators, and the like. Input component 1054 may be an alphanumeric input component (eg, a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input component), a point-based input component. elements (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing tools), tactile input components (e.g., physical buttons, touches or touch gestures that provide the position and/or force of a touch screen, or other tactile input component), an audio input component (eg, a microphone), and the like.

또 다른 예시적인 실시예에서, I/O 구성요소(1050)는 다른 구성요소들의 광범위한 배열 중에서 생체 인식 구성요소(1056), 모션 구성요소(1058), 환경 구성요소(1060) 또는 위치 구성요소(1062)를 포함할 수 있다. 예를 들어, 생체 인식 구성요소(1056)는 표현(예를 들어, 손 표현, 표정, 음성 표현, 신체 제스처 또는 눈 추적)을 검출하고, 생체 신호(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람(예를 들어, 음성 식별, 망막 식별, 안면 식별, 지문 식별 또는 뇌전도 기반 식별) 등을 식별하기 위한 구성요소를 포함할 수 있다. 모션 구성요소(1058)는 가속도 센서 구성요소(예를 들어, 가속도계), 중력 센서 구성요소, 회전 센서 구성요소(예를 들어, 자이로스코프) 등을 포함할 수 있다. 환경 구성요소(1060)는, 예를 들어, 조명 센서 구성요소(예를 들어, 광도계), 온도 센서 구성요소(예를 들어, 주위 온도를 검출하는 하나 이상의 온도계), 습도 센서 구성요소, 압력 센서 구성요소(예를 들어, 기압계), 음향 센서 구성요소(예를 들어, 주변 소음을 검출하는 하나 이상의 마이크로폰), 근접도 센서 구성요소(예를 들어, 인근의 객체를 검출하는 적외선 센서), 가스 센서(예를 들어, 안전을 위해 유해 가스의 농도를 검출하거나 대기의 오염물질을 측정하기 위한 가스 검출 센서), 또는 주변 물리적 환경에 대응하는 표시, 측정값 또는 신호를 제공할 수 있는 기타 구성요소를 포함할 수 있다. 위치 구성요소(1062)는 위치 센서 구성요소(예를 들어, GPS 수신기 구성요소), 고도 센서 구성요소(예를 들어, 고도가 도출될 수 있는 공기압을 검출하는 고도계 또는 기압계), 방향 센서 구성요소(예를 들어, 자력계) 등을 포함할 수 있다.In another exemplary embodiment, the I/O component 1050 is a biometric component 1056 , a motion component 1058 , an environment component 1060 , or a location component ( 1062) may be included. For example, biometric component 1056 detects expression (eg, hand expression, facial expression, voice expression, body gesture, or eye tracking) and biometric signal (eg, blood pressure, heart rate, body temperature, sweat) or EEG) and may include a component for identifying a person (eg, voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. Motion component 1058 may include an acceleration sensor component (eg, an accelerometer), a gravity sensor component, a rotation sensor component (eg, a gyroscope), and the like. Environmental component 1060 may include, for example, a light sensor component (eg, a photometer), a temperature sensor component (eg, one or more thermometers to detect ambient temperature), a humidity sensor component, a pressure sensor component (eg, barometer), acoustic sensor component (eg, one or more microphones to detect ambient noise), proximity sensor component (eg, infrared sensor to detect nearby objects), gas a sensor (for example, a gas detection sensor for detecting the concentration of a hazardous gas for safety or measuring a contaminant in the atmosphere), or other component capable of providing an indication, measurement, or signal corresponding to the surrounding physical environment may include. The location component 1062 is a location sensor component (eg, a GPS receiver component), an altitude sensor component (eg, an altimeter or barometer that detects air pressure from which an altitude can be derived), a direction sensor component (eg, a magnetometer), and the like.

통신은 다양한 기술을 사용하여 구현될 수 있다. I/O 구성요소(1050)는 커플링(1082) 및 커플링(1072) 각각을 통해 머신(1000)을 네트워크(1080) 또는 디바이스(1070)에 연결하도록 동작 가능한 통신 구성요소(1064)를 포함할 수 있다. 예를 들어, 통신 구성요소(1064)는 네트워크 인터페이스 구성요소 또는 네트워크(1080)와 인터페이싱하기 위한 다른 적절한 디바이스를 포함할 수 있다. 추가 예에서, 통신 구성요소(1064)는 유선 통신 구성요소, 무선 통신 구성요소, 셀룰러 통신 구성요소, 근거리 통신(NFC) 구성요소, 블루투스® 구성요소(예를 들어, 블루투스® 저 에너지), Wi-Fi® 구성요소 및 다른 양식을 통해 통신을 제공하는 기타 통신 구성요소를 포함할 수 있다. 디바이스(1070)는 다른 머신 또는 임의의 다양한 주변 디바이스들(예를 들어, USB를 통해 연결된 주변 디바이스)일 수 있다.Communication may be implemented using a variety of technologies. I/O component 1050 includes a communication component 1064 operable to couple machine 1000 to network 1080 or device 1070 via coupling 1082 and coupling 1072, respectively. can do. For example, communication component 1064 may include a network interface component or other suitable device for interfacing with network 1080 . In further examples, communication component 1064 may include a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, a Bluetooth® component (eg, Bluetooth® low energy), a Wi May include -Fi® components and other communication components that provide communication via other modalities. Device 1070 may be another machine or any of a variety of peripheral devices (eg, a peripheral device connected via USB).

더욱이, 통신 구성요소(1064)는 식별자를 검출하거나 식별자를 검출하도록 동작 가능한 구성요소를 포함할 수 있다. 예를 들어, 통신 구성요소(1064)는 무선 주파수 식별(RFID) 태그 판독기 구성요소, NFC 스마트 태그 검출 구성요소, 광학 판독기 구성요소(예를 들어, 유니버설 제품 코드(UPC) 바코드, QR(Quick Response) 코드, 아즈텍 코드, 데이터 매트릭스, 데이터글리프, 맥시코드, PDF417, 울트라 코드, UCC RSS-2D 바코드 및 기타 광학 코드와 같은 다차원 바코드를 검출하기 위한 광 센서) 또는 음향 검출 구성요소(예를 들어, 태그된 오디오 신호를 식별하는 마이크로폰)를 포함할 수 있다. 또한, 인터넷 프로토콜(IP) 지리적 위치, Wi-Fi® 신호 삼각측량을 통한 위치, 특정 위치를 표시할 수 있는 NFC 비콘 신호 검출을 통한 위치 등과 같이 통신 구성요소(1064)를 통해 다양한 정보가 도출될 수 있다.Moreover, communication component 1064 can detect an identifier or include a component operable to detect an identifier. For example, the communication component 1064 may be a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (eg, a Universal Product Code (UPC) barcode, a Quick Response (QR) ) code, aztec code, data matrix, dataglyph, maxicode, PDF417, ultra code, UCC RSS-2D barcode, and other multidimensional barcodes such as optical codes) or acoustic detection components (e.g., microphone to identify the tagged audio signal). Additionally, various information may be derived via communication component 1064, such as Internet Protocol (IP) geographic location, location via Wi-Fi® signal triangulation, location via NFC beacon signal detection that may indicate a specific location, etc. can

송신 매체transmission medium

다양한 예시적인 실시예들에서, 네트워크(1080)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷, 인터넷의 일부분, PSTN의 일부분, POTS(plain old telephone service) 네트워크, 휴대 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 다른 유형의 네트워크, 또는 둘 이상의 그러한 네트워크의 조합일 수 있다. 예를 들어, 네트워크(1080) 또는 네트워크(1080)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 커플링(1082)은 코드 분할 다중 액세스(CDMA) 접속, 이동통신 글로벌 시스템(Global System for Mobile communications: GSM) 접속, 또는 다른 유형의 셀룰러 또는 무선 커플링을 포함할 수 있다. 이 예에서, 커플링(1082)은 단일 반송파 무선 송신 기술(1xRTT), 에볼루션 데이터 최적화(EVDO) 기술, 일반 패킷 무선 서비스(GPRS) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G를 포함하는 3GPP(third Generation Partnership Project), 4세대 무선(4G) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준 설정 기관이 정의한 다른 표준, 기타 장거리 프로토콜 또는 기타 데이터 전달 기술과 같은 임의의 다양한 유형의 데이터 전달 기술을 구현할 수 있다. In various demonstrative embodiments, one or more portions of network 1080 are ad hoc networks, intranets, extranets, VPNs, LANs, WLANs, WANs, WWANs, MANs, the Internet, portions of the Internet, portions of the PSTN, plain old telephone service) network, a cellular phone network, a wireless network, a Wi-Fi® network, another type of network, or a combination of two or more such networks. For example, network 1080 or a portion of network 1080 may include a wireless or cellular network, and coupling 1082 may include a code division multiple access (CDMA) connection, Global System for Mobile. communications: GSM) connections, or other types of cellular or wireless coupling. In this example, coupling 1082 includes single carrier radio transmission technology (1xRTT), evolution data optimization (EVDO) technology, general packet radio service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, 3G. 3GPP (third Generation Partnership Project), fourth generation wireless (4G) networks, UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access), WiMAX (Worldwide Interoperability for Microwave Access), LTE (Long Term Evolution) standards, Any of the various types of data transfer technologies may be implemented, such as other standards defined by various standards-setting bodies, other long-distance protocols, or other data transfer technologies.

명령어(1016)는 네트워크 인터페이스 디바이스(예를 들어, 통신 구성요소(1064)에 포함된 네트워크 인터페이스 구성요소)를 통해 송신 매체를 사용하고 다수의 잘 알려진 전송 프로토콜(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP)) 중 임의의 프로토콜을 이용하여 네트워크(1080)를 통해 송신되거나 수신될 수 있다. 유사하게, 명령어(1016)는 디바이스(1070)에 대한 커플링(1072)(예를 들어, 피어 투 피어 커플링)을 통해 송신 매체를 사용하여 송신되거나 수신될 수 있다. "송신 매체"라는 용어는 머신(1000)에 의한 실행을 위한 명령어(1016)를 저장, 인코딩, 또는 운반할 수 있는 임의의 무형 매체를 포함하는 것으로 여겨져야 하고, 그러한 소프트웨어의 통신을 용이하게 하는 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다.Instructions 1016 use a transmission medium over a network interface device (eg, a network interface component included in communication component 1064 ) and communicate with a number of well-known transport protocols (eg, hypertext transfer protocols). HTTP)) may be transmitted or received over the network 1080 using any of the following protocols. Similarly, instructions 1016 may be transmitted or received using a transmission medium via coupling 1072 (eg, peer-to-peer coupling) to device 1070 . The term “transmission medium” should be considered to include any intangible medium capable of storing, encoding, or carrying instructions 1016 for execution by the machine 1000 and that facilitates communication of such software. digital or analog communication signals or other intangible media.

언어language

본 명세서 전체에 걸쳐, 복수의 인스턴스는 단일 인스턴스로 기술된 구성요소, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개별 동작이 별도의 동작으로 도시되고 설명되지만, 개별 동작들 중 하나 이상은 동시에 수행될 수 있으며, 동작들이 반드시 도시된 순서대로 수행되어야 하는 것은 아니다. 예시적인 구성에서 별도의 구성요소로 제시된 구조 및 기능은 조합된 구조 또는 구성요소로 구현될 수 있다. 유사하게, 단일 구성요소로서 제시된 구조 및 기능은 별도의 구성요소로 구현될 수 있다. 이러한 및 다른 변형, 수정, 추가 및 개선은 본 명세서의 청구 범위 내에 있다.Throughout this specification, multiple instances may implement a component, operation, or structure described as a single instance. Although individual acts of one or more methods are shown and described as separate acts, one or more of the individual acts may be performed concurrently and the acts do not necessarily have to be performed in the order shown. Structures and functions presented as separate components in the exemplary configuration may be implemented as a combined structure or component. Similarly, structures and functions presented as a single component may be implemented as separate components. These and other variations, modifications, additions and improvements are within the scope of the claims herein.

본 발명의 청구 대상에 대한 개요가 특정 예시적인 실시예들을 참조하여 설명되었지만, 그러한 실시예들에 대한 다양한 수정 및 변경이 본 개시물의 실시예들의 더 넓은 범위를 벗어나지 않으면서 행해질 수 있다. 본 발명의 청구 대상의 이러한 실시예들은 실제로 둘 이상이 개시되면 임의의 단일 개시 또는 발명적 개념으로 본 출원의 범위를 자발적으로 제한하지 않으면서 단지 편의를 위해 본 명세서에서 용어 "발명"으로 개별적으로 또는 집합적으로 지칭될 수 있다.Although the subject matter of the present disclosure has been described with reference to specific exemplary embodiments, various modifications and changes to such embodiments may be made without departing from the broader scope of the embodiments of the present disclosure. These embodiments of the claimed subject matter are individually referred to herein as "invention" for convenience only, without voluntarily limiting the scope of the present application to any single disclosure or inventive concept if two or more are actually disclosed. or collectively.

본 명세서에 예시된 실시예들은 당업자가 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시물의 범위를 벗어나지 않으면서 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 다른 실시예들이 사용될 수 있고 그로부터 도출될 수 있다. 따라서, 상세한 설명은 제한적인 의미로 여겨져서는 안 되고, 다양한 실시예들의 범위는 첨부된 청구 범위와 함께 그러한 청구 범위가 부여되는 등가물의 전체 범위에 의하아서만 정의된다.The embodiments illustrated herein are described in sufficient detail to enable any person skilled in the art to practice the disclosed teachings. Other embodiments may be used and may be derived therefrom so that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Accordingly, the detailed description is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled.

본 명세서에 사용된 용어 "또는"은 포괄적이거나 배타적인 의미로 고려될 수 있다. 또한, 본 명세서에 단일 인스턴스로서 기술된 리소스, 동작 또는 구조에 대해 복수의 인스턴스가 제공될 수도 있다. 추가적으로, 다양한 리소스, 동작, 모듈, 엔진 및 데이터 저장소 사이의 경계는 다소 임의적이며 특정 동작은 특정 예시적인 구성의 맥락에서 예시된다. 기능의 다른 할당이 계획되고 본 개시물의 다양한 실시예들의 범위 내에 있을 수 있다. 일반적으로, 예시적인 구성에서 별도의 리소스로 제시된 구조 및 기능은 조합된 구조 또는 리소스로 구현될 수 있다. 유사하게, 단일 리소스로 제시된 구조 및 기능은 별도의 리소스로 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 첨부된 청구 범위에 의해 제시되는 본 개시물의 실시예들의 범위 내에 있다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 예시적인 것으로 간주되어야 한다.As used herein, the term “or” may be considered in an inclusive or exclusive sense. Also, multiple instances may be provided for a resource, operation, or structure described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary and certain operations are illustrated in the context of specific example configurations. Other assignments of functionality are contemplated and may be within the scope of various embodiments of the present disclosure. In general, structures and functions presented as separate resources in the example configurations may be implemented as combined structures or resources. Similarly, structures and functions presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions and improvements are within the scope of the embodiments of the present disclosure as set forth by the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims (20)

시스템으로서,
명령어가 저장된 머신 판독 가능 메모리를 포함하되, 상기 명령어는, 프로세서에 의해 실행될 때, 상기 시스템을 하여금 동작을 수행하게 하고,
상기 동작은
네트워크 시스템의 멤버와의 거래의 특정 단계에서 복수의 코멘트(comment)를 수신하는 동작과,
상기 복수의 코멘트 중 하나 이상의 코멘트를 한 세트의 미리 결정된 감정 분류(sentiment classification)로 분류하는 동작 - 상기 분류하는 동작은 각각의 코멘트에 포함된 용어가 상기 감정 분류와 연관된 용어에 매칭되는 것에 따라 수행됨 - 과,
상기 복수의 코멘트 내의 상기 하나 이상의 코멘트 각각에 대해, 한 세트의 미리 정의된 카테고리 중에서 카테고리를 선택하기 위해, 트레이닝된 머신 학습 시스템을 적용하는 동작 ― 상기 트레이닝된 머신 학습 시스템은 상기 각각의 코멘트에 포함된 상기 용어를 수용하고 상기 선택된 카테고리를 출력함 ― 과,
상기 하나 이상의 코멘트 각각에 자연어 처리 모듈(natural language processing module)을 적용하여 상기 하나 이상의 코멘트 각각에 대한 하위-카테고리를 생성하는 동작과,
상기 하나 이상의 코멘트에 대한 각각의 카테고리에 상기 생성된 하위-카테고리를 연관시키는 동작과,
상기 생성된 하위-카테고리를 이용하여 특정 거래에 대해 결정된 카테고리의 디스플레이를 생성하는 동작 ― 상기 생성된 하위-카테고리 각각은 각각의 카테고리에 그래픽으로 연결됨 ―
을 포함하는 것인,
시스템.
As a system,
a machine readable memory having stored thereon instructions, the instructions, when executed by a processor, cause the system to perform operations;
the action is
receiving a plurality of comments at a specific stage of a transaction with a member of the network system;
classifying one or more comments of the plurality of comments into a set of predetermined sentiment classifications, wherein the classification is performed according to a term included in each comment matching a term associated with the sentiment classification. - class,
applying a trained machine learning system to, for each of the one or more comments in the plurality of comments, to select a category from a set of predefined categories, the trained machine learning system including in each comment accepts said term and outputs said selected category; and
applying a natural language processing module to each of the one or more comments to generate a sub-category for each of the one or more comments;
associating the created sub-categories with each category for the one or more comments;
generating a display of categories determined for a particular transaction using the generated sub-categories, each of the generated sub-categories being graphically linked to a respective category;
which includes,
system.
제1항에 있어서,
상기 동작은 상기 멤버로부터 카테고리의 선택을 수신하고, 상기 선택된 카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 동작을 더 포함하는 것인,
시스템.
According to claim 1,
wherein the actions further include receiving a selection of a category from the member and displaying a set of filtered comments associated with the selected category.
system.
제1항에 있어서,
상기 동작은 상기 멤버로부터 하위-카테고리의 선택을 수신하고, 상기 선택된 하위-카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 동작을 더 포함하는 것인,
시스템.
According to claim 1,
wherein the actions further include receiving a selection of a sub-category from the member, and displaying a set of filtered comments associated with the selected sub-category.
system.
제1항에 있어서,
상기 하나 이상의 코멘트를 분류하는 동작은 상기 코멘트로부터의 텍스트를 사용하여 감정 분류를 출력하기 위해 트레이닝된 머신 학습 시스템을 적용하는 동작을 포함하는 것인,
시스템.
According to claim 1,
wherein classifying the one or more comments comprises applying a trained machine learning system to output a sentiment classification using text from the comments.
system.
제1항에 있어서,
상기 동작은 상기 카테고리 중 하나에 대한 코멘트의 트렌드 변화에 응답하여 상기 멤버에게 경고하는 동작을 더 포함하는 것인,
시스템.
According to claim 1,
wherein the actions further include alerting the member in response to a trend change in a comment for one of the categories.
system.
제1항에 있어서,
상기 동작은 상기 코멘트를 제공하는 사용자에 대한 사용자 피드백 스코어(user feedback score)에 따라 각각의 코멘트에 대한 가중치(weight)를 적용하는 동작을 더 포함하는 것인,
시스템.
According to claim 1,
The operation further includes the operation of applying a weight to each comment according to a user feedback score for the user providing the comment,
system.
제1항에 있어서,
상기 동작은 상기 결정된 카테고리에 따라 상기 자연어 처리 모듈을 선택하는 동작을 더 포함하는 것인,
시스템.
According to claim 1,
The operation further comprises the operation of selecting the natural language processing module according to the determined category,
system.
컴퓨터 구현 방법으로서,
네트워크 시스템의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신하는 단계와,
상기 복수의 코멘트 중 하나 이상의 코멘트를 한 세트의 미리 결정된 감정 분류로 분류하는 단계 - 상기 분류하는 단계는 각각의 코멘트에 포함된 용어가 상기 감정 분류와 연관된 용어에 매칭되는 것에 따라 수행됨 - 와,
상기 복수의 코멘트 내의 상기 하나 이상의 코멘트 각각에 대해, 한 세트의 미리 정의된 카테고리 중에서 카테고리를 선택하기 위해, 트레이닝된 머신 학습 시스템을 적용하는 단계 ― 상기 트레이닝된 머신 학습 시스템은 상기 각각의 코멘트에 포함된 상기 용어를 수용하고 상기 선택된 카테고리를 출력함 ― 와,
상기 하나 이상의 코멘트 각각에 자연어 처리 모듈을 적용하여 상기 하나 이상의 코멘트 각각에 대한 하위-카테고리를 생성하는 단계와,
상기 하나 이상의 코멘트에 대한 각각의 카테고리에 상기 생성된 하위-카테고리를 연관시키는 단계와,
상기 생성된 하위-카테고리를 이용하여 특정 거래에 대해 결정된 카테고리의 디스플레이를 생성하는 단계 ― 상기 생성된 하위-카테고리 각각은 각각의 카테고리에 그래픽으로 연결됨 ―
를 포함하는 컴퓨터 구현 방법.
A computer implemented method comprising:
receiving a plurality of comments at a particular stage of a transaction with a member of the network system;
classifying one or more comments of the plurality of comments into a set of predetermined sentiment classifications, wherein the categorizing is performed according to a term included in each comment matching a term associated with the sentiment classification;
applying a trained machine learning system to, for each of the one or more comments in the plurality of comments, to select a category from a set of predefined categories, the trained machine learning system included in each comment accepts said term and outputs said selected category;
applying a natural language processing module to each of the one or more comments to generate a sub-category for each of the one or more comments;
associating the generated sub-categories with each category for the one or more comments;
generating a display of categories determined for a particular transaction using the generated sub-categories, each of the generated sub-categories graphically linked to a respective category;
A computer implemented method comprising a.
제8항에 있어서,
상기 멤버로부터 카테고리의 선택을 수신하고, 상기 선택된 카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 단계를 더 포함하는
컴퓨터 구현 방법.
9. The method of claim 8,
receiving a selection of a category from the member, and displaying a set of filtered comments associated with the selected category.
How to implement a computer.
제8항에 있어서,
상기 멤버로부터 하위-카테고리의 선택을 수신하고, 상기 선택된 하위-카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 단계를 더 포함하는
컴퓨터 구현 방법.
9. The method of claim 8,
receiving a selection of a sub-category from the member, and displaying a set of filtered comments associated with the selected sub-category
How to implement a computer.
제8항에 있어서,
상기 하나 이상의 코멘트를 분류하는 단계는 상기 멤버로부터 하위-카테고리의 선택을 수신하고, 상기 선택된 하위-카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 단계를 더 포함하는 것인,
컴퓨터 구현 방법.
9. The method of claim 8,
wherein classifying the one or more comments further comprises receiving a selection of a sub-category from the member and displaying a set of filtered comments associated with the selected sub-category.
How to implement a computer.
제8항에 있어서,
상기 카테고리 중 하나에 대한 코멘트의 트렌드 변화에 응답하여 상기 멤버에게 경고하는 단계를 더 포함하는
컴퓨터 구현 방법.
9. The method of claim 8,
alerting the member in response to a trend change in a comment for one of the categories.
How to implement a computer.
제8항에 있어서,
상기 코멘트를 제공하는 사용자에 대한 사용자 피드백 스코어에 따라 각각의 코멘트에 대한 가중치를 적용하는 단계를 더 포함하는
컴퓨터 구현 방법.
9. The method of claim 8,
Further comprising the step of applying a weight to each comment according to a user feedback score for the user providing the comment
How to implement a computer.
제8항에 있어서,
상기 결정된 카테고리에 따라 상기 자연어 처리 모듈을 선택하는 단계를 더 포함하는
컴퓨터 구현 방법.
9. The method of claim 8,
Further comprising the step of selecting the natural language processing module according to the determined category
How to implement a computer.
명령어가 저장된 머신 판독 가능 하드웨어 메모리로서,
상기 명령어는, 머신의 하나 이상의 프로세서에 의해 실행될 때, 상기 머신으로 하여금 동작을 수행하게 하고,
상기 동작은
네트워크 시스템의 멤버와의 거래의 특정 단계에서 복수의 코멘트를 수신하는 동작과,
상기 복수의 코멘트 중 하나 이상의 코멘트를 한 세트의 미리 결정된 감정 분류로 분류하는 동작 - 상기 분류하는 동작은 각각의 코멘트에 포함된 용어가 상기 감정 분류와 연관된 용어에 매칭되는 것에 따라 수행됨 - 과,
상기 복수의 코멘트 내의 상기 하나 이상의 코멘트 각각에 대해, 한 세트의 미리 정의된 카테고리 중에서 카테고리를 선택하기 위해, 트레이닝된 머신 학습 시스템을 적용하는 동작 ― 상기 트레이닝된 머신 학습 시스템은 상기 각각의 코멘트에 포함된 상기 용어를 수용하고 상기 선택된 카테고리를 출력함 ― 과,
상기 하나 이상의 코멘트 각각에 자연어 처리 모듈을 적용하여 상기 하나 이상의 코멘트 각각에 대한 하위-카테고리를 생성하는 동작과,
상기 하나 이상의 코멘트에 대한 각각의 카테고리에 상기 생성된 하위-카테고리를 연관시키는 동작과,
상기 생성된 하위-카테고리를 이용하여 특정 거래에 대해 결정된 카테고리의 디스플레이를 생성하는 동작 ― 상기 생성된 하위-카테고리 각각은 각각의 카테고리에 그래픽으로 연결됨 ―
을 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
A machine-readable hardware memory having instructions stored thereon, comprising:
the instructions, when executed by one or more processors of a machine, cause the machine to perform an operation;
the action is
receiving a plurality of comments at a specific stage of a transaction with a member of the network system;
classifying one or more comments of the plurality of comments into a set of predetermined sentiment classifications, wherein the classification is performed according to a term included in each comment matching a term associated with the sentiment classification;
applying a trained machine learning system to, for each of the one or more comments in the plurality of comments, to select a category from a set of predefined categories, the trained machine learning system including in each comment accepts said term and outputs said selected category; and
generating a sub-category for each of the one or more comments by applying a natural language processing module to each of the one or more comments;
associating the created sub-categories with each category for the one or more comments;
generating a display of categories determined for a particular transaction using the generated sub-categories, each of the generated sub-categories being graphically linked to a respective category;
which includes,
Machine-readable hardware memory.
제15항에 있어서,
상기 동작은 상기 멤버로부터 카테고리의 선택을 수신하고, 상기 선택된 카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 동작을 더 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
16. The method of claim 15,
wherein the actions further include receiving a selection of a category from the member and displaying a set of filtered comments associated with the selected category.
Machine-readable hardware memory.
제15항에 있어서,
상기 동작은 상기 멤버로부터 하위-카테고리의 선택을 수신하고, 상기 선택된 하위-카테고리와 연관된 한 세트의 필터링된 코멘트를 디스플레이하는 동작을 더 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
16. The method of claim 15,
wherein the actions further include receiving a selection of a sub-category from the member, and displaying a set of filtered comments associated with the selected sub-category.
Machine-readable hardware memory.
제15항에 있어서,
상기 하나 이상의 코멘트를 분류하는 동작은 상기 코멘트로부터의 텍스트를 사용하여 감정 분류를 출력하기 위해 트레이닝된 머신 학습 시스템을 적용하는 동작을 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
16. The method of claim 15,
wherein classifying the one or more comments comprises applying a trained machine learning system to output a sentiment classification using text from the comments.
Machine-readable hardware memory.
제15항에 있어서,
상기 동작은 상기 카테고리 중 하나에 대한 코멘트의 트렌드 변화에 응답하여 상기 멤버에게 경고하는 동작을 더 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
16. The method of claim 15,
wherein the actions further include alerting the member in response to a trend change in a comment for one of the categories.
Machine-readable hardware memory.
제15항에 있어서,
상기 동작은 상기 코멘트를 제공하는 사용자에 대한 사용자 피드백 스코어에 따라 각각의 코멘트에 대한 가중치를 적용하는 동작을 더 포함하는 것인,
머신 판독 가능 하드웨어 메모리.
16. The method of claim 15,
The operation further includes applying a weight to each comment according to a user feedback score for a user providing the comment.
Machine-readable hardware memory.
KR1020207036229A 2018-05-18 2018-05-18 Handling of transaction feedback KR102460293B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227037238A KR20220149624A (en) 2018-05-18 2018-05-18 Processing transactional feedback

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/087485 WO2019218343A1 (en) 2018-05-18 2018-05-18 Processing transactional feedback

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037238A Division KR20220149624A (en) 2018-05-18 2018-05-18 Processing transactional feedback

Publications (2)

Publication Number Publication Date
KR20210006459A KR20210006459A (en) 2021-01-18
KR102460293B1 true KR102460293B1 (en) 2022-10-31

Family

ID=68539276

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227037238A KR20220149624A (en) 2018-05-18 2018-05-18 Processing transactional feedback
KR1020207036229A KR102460293B1 (en) 2018-05-18 2018-05-18 Handling of transaction feedback

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227037238A KR20220149624A (en) 2018-05-18 2018-05-18 Processing transactional feedback

Country Status (4)

Country Link
US (3) US10990764B2 (en)
KR (2) KR20220149624A (en)
CN (1) CN112334904B (en)
WO (1) WO2019218343A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112334904B (en) 2018-05-18 2024-06-21 电子湾有限公司 Processing transaction feedback
US11620608B2 (en) 2019-02-28 2023-04-04 Walmart Apollo, Llc System and method for providing uniform tracking information with a reliable estimated time of arrival
US11941082B2 (en) * 2019-04-12 2024-03-26 Ul Llc Technologies for classifying feedback using machine learning models
US11805185B2 (en) * 2021-03-03 2023-10-31 Microsoft Technology Licensing, Llc Offensive chat filtering using machine learning models
US20230162230A1 (en) * 2021-11-24 2023-05-25 Capital One Services, Llc Systems and methods for targeting content based on implicit sentiment analysis
KR102586580B1 (en) * 2022-04-15 2023-10-10 양재미디어 주식회사 News editing supoort system using natural language processing artificial intelligence language model

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493040A (en) 2011-04-21 2014-01-01 索尼公司 A method for determining a sentiment from a text
CN104462132A (en) 2013-09-23 2015-03-25 华为技术有限公司 Comment information display method and device

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026387A (en) * 1996-07-15 2000-02-15 Kesel; Brad Consumer comment reporting apparatus and method
US7073129B1 (en) 1998-12-18 2006-07-04 Tangis Corporation Automated selection of appropriate information based on a computer user's context
AU3438101A (en) 1999-11-04 2001-05-14 Strategic Data Corp. Segment-based self-learning method and system
US7370285B1 (en) 2002-07-31 2008-05-06 Opinionlab, Inc. Receiving and reporting page-specific user feedback concerning one or more particular web pages of a website
US7693901B2 (en) * 2005-08-10 2010-04-06 Microsoft Corporation Consumer-focused results ordering
EP1895459A1 (en) 2006-08-31 2008-03-05 Opinionlab, Inc. Computer-implemented system and method for measuring and reporting business intelligence based on comments collected from web page users using software associated with accessed web pages
US8977631B2 (en) 2007-04-16 2015-03-10 Ebay Inc. Visualization of reputation ratings
US8533208B2 (en) * 2009-09-28 2013-09-10 Ebay Inc. System and method for topic extraction and opinion mining
US9201955B1 (en) * 2010-04-15 2015-12-01 Google Inc. Unambiguous noun identification
CN102385579B (en) * 2010-08-30 2018-06-15 深圳市世纪光速信息技术有限公司 Internet information classification method and system
US20140372248A1 (en) 2011-04-04 2014-12-18 Google Inc. Cross-referencing comments
WO2013024338A1 (en) 2011-08-15 2013-02-21 Equal Media Limited System and method for managing opinion networks with interactive opinion flows
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
US20130166565A1 (en) * 2011-12-23 2013-06-27 Kevin LEPSOE Interest based social network system
US9396490B1 (en) * 2012-02-28 2016-07-19 Bazaarvoice, Inc. Brand response
US10068174B2 (en) * 2012-08-02 2018-09-04 Artifical Solutions Iberia S.L. Hybrid approach for developing, optimizing, and executing conversational interaction applications
US9223831B2 (en) 2013-01-02 2015-12-29 Codeq Llc System, method and computer program product for searching summaries of mobile apps reviews
US20170011029A1 (en) * 2013-05-09 2017-01-12 Moodwire, Inc. Hybrid human machine learning system and method
EP2994846A4 (en) * 2013-05-09 2017-01-25 Moodwire, Inc. Hybrid human machine learning system and method
US20140365206A1 (en) * 2013-06-06 2014-12-11 Xerox Corporation Method and system for idea spotting in idea-generating social media platforms
US20150286710A1 (en) * 2014-04-03 2015-10-08 Adobe Systems Incorporated Contextualized sentiment text analysis vocabulary generation
CN105446727A (en) * 2014-10-22 2016-03-30 武汉理工大学 Ontology framework visualization method
CN104317897A (en) * 2014-10-24 2015-01-28 福州大学 Visual label topic map-based pilot method of digital library
US10354199B2 (en) * 2015-12-07 2019-07-16 Xerox Corporation Transductive adaptation of classifiers without source data
CA3011258A1 (en) * 2016-01-20 2017-07-27 Mezyad M. Al-Masoud Systems and methods for managing a talent based exchange
US10572524B2 (en) * 2016-02-29 2020-02-25 Microsoft Technology Licensing, Llc Content categorization
US9633007B1 (en) * 2016-03-24 2017-04-25 Xerox Corporation Loose term-centric representation for term classification in aspect-based sentiment analysis
US20170345079A1 (en) * 2016-05-31 2017-11-30 Accenture Global Solutions Limited Network of smart appliances
US20180075368A1 (en) * 2016-09-12 2018-03-15 International Business Machines Corporation System and Method of Advising Human Verification of Often-Confused Class Predictions
CN107818487B (en) * 2016-09-12 2022-03-04 阿里巴巴集团控股有限公司 Product information processing method, device, equipment and client
US10679168B2 (en) * 2016-11-14 2020-06-09 Accenture Global Solutions Limited Real-time method and system for assessing and improving a presence and perception of an entity
CA2998249A1 (en) * 2017-03-17 2018-09-17 Edatanetworks Inc. Artificial intelligence engine incenting merchant transaction with consumer affinity
US20180308159A1 (en) * 2017-04-24 2018-10-25 Visinger LLC Systems and methods relating to a marketplace seller future financial performance score index
US11132541B2 (en) * 2017-09-29 2021-09-28 The Mitre Corporation Systems and method for generating event timelines using human language technology
CN107967260B (en) * 2017-12-07 2021-09-14 东软集团股份有限公司 Data processing method, device, system and computer readable medium
US20190197433A1 (en) * 2017-12-22 2019-06-27 Wipro Limited Methods for adaptive information extraction through adaptive learning of human annotators and devices thereof
US10678851B2 (en) * 2018-04-25 2020-06-09 International Business Machines Corporation Cognitive content display device
CN112334904B (en) 2018-05-18 2024-06-21 电子湾有限公司 Processing transaction feedback

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493040A (en) 2011-04-21 2014-01-01 索尼公司 A method for determining a sentiment from a text
CN104462132A (en) 2013-09-23 2015-03-25 华为技术有限公司 Comment information display method and device

Also Published As

Publication number Publication date
WO2019218343A1 (en) 2019-11-21
US11853703B2 (en) 2023-12-26
US20240078388A1 (en) 2024-03-07
KR20220149624A (en) 2022-11-08
KR20210006459A (en) 2021-01-18
CN112334904A (en) 2021-02-05
CN112334904B (en) 2024-06-21
US10990764B2 (en) 2021-04-27
US20210192145A1 (en) 2021-06-24
US20210064824A1 (en) 2021-03-04

Similar Documents

Publication Publication Date Title
US10866975B2 (en) Dialog system for transitioning between state diagrams
CN110023982B (en) System, method, storage device, and medium for selecting product title
KR102460293B1 (en) Handling of transaction feedback
US11792733B2 (en) Battery charge aware communications
US11379892B2 (en) Utility-based price guidance
US20210264507A1 (en) Interactive product review interface
KR102384626B1 (en) Adopting data across different sites
US20170364967A1 (en) Product feedback evaluation and sorting
CN110785755B (en) Context identification for content generation
WO2020131775A1 (en) Draft completion system
US20230066420A1 (en) Listing conversion estimation and optimization

Legal Events

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