KR20170139492A - Classifier recall estimation for sparse topics - Google Patents

Classifier recall estimation for sparse topics Download PDF

Info

Publication number
KR20170139492A
KR20170139492A KR1020177014481A KR20177014481A KR20170139492A KR 20170139492 A KR20170139492 A KR 20170139492A KR 1020177014481 A KR1020177014481 A KR 1020177014481A KR 20177014481 A KR20177014481 A KR 20177014481A KR 20170139492 A KR20170139492 A KR 20170139492A
Authority
KR
South Korea
Prior art keywords
documents
classifier
document
users
constraints
Prior art date
Application number
KR1020177014481A
Other languages
Korean (ko)
Other versions
KR101984773B1 (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 트위터, 인크.
Publication of KR20170139492A publication Critical patent/KR20170139492A/en
Application granted granted Critical
Publication of KR101984773B1 publication Critical patent/KR101984773B1/en

Links

Images

Classifications

    • G06F17/30011
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Abstract

문서 검색을 위한 방법은 최종 문서들의 제1 세트를 획득하기 위해 문서들을 제1 분류자에 의해 분류하는 단계, 및 최종 문서들의 제2 세트를 획득하기 위해 문서들을 제2 분류자에 의해 분류하는 단계를 포함한다. 방법은 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 제1 분류자의 리콜 메트릭을 추정하는 단계, 리콜 메트릭에 기초하여 제1 분류자를 개정하는 단계, 및 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 문서들을 개정된 분류자에 의해 분류하는 단계를 더 포함한다. 방법은 분류에 기초하여 통신을 송신하는 단계를 더 포함한다.A method for document retrieval includes classifying documents by a first classifier to obtain a first set of final documents and classifying documents by a second classifier to obtain a second set of final documents . The method includes estimating a recall metric of a first classifier based on a first set of final documents and a second set of final documents, revising the first classifier based on the recall metric, And sorting the documents by the revised classifiers to obtain at least one additional document that has been obtained. The method further comprises transmitting the communication based on the classification.

Description

스파스 토픽들을 위한 분류자 리콜 추정{CLASSIFIER RECALL ESTIMATION FOR SPARSE TOPICS}{CLASSIFIER RECALL ESTIMATION FOR SPARSE TOPICS}

본 출원은 2014년 10월 28일에 출원되고, 발명의 명칭이 "METHOD AND SYSTEM FOR RECALL ESTIMATION"인 미국 가출원 제62/069,618호에 대한 우선권을 35 U.S.C. § 119(e)에 따라 주장하며, 이 가출원은 본원에 전체적으로 참조로 포함된다.This application claims priority to U. S. Provisional Application No. 62 / 069,618, filed October 28, 2014, entitled " METHOD AND SYSTEM FOR RECALL ESTIMATION " § 119 (e), which is incorporated herein by reference in its entirety.

본 명세서는 소셜 플랫폼들의 맥락에서의 디지털 정보 검색에 관한 것이다.This specification relates to digital information retrieval in the context of social platforms.

정보 검색의 분야에서, 검색 엔진들은 전형적으로 검색 질의들에 응답하여, 네트워킹된 액세스가능 문서들의 인덱싱 및 검색을 구현한다. 본 명세서에 사용되는 바와 같이, 문서들은 콘텐츠의 단위들이고 예를 들어 소셜 플랫폼의 웹 페이지들, 텍스트 파일들, 휴대용 문서 포맷 파일들, 비디오 파일들, 오디오 파일들, 이미지 파일들, 및 소셜 메시지들일 수 있다. 예상될 수 있는 바와 같이, 상이한 타입들의 문서들은 상이한 특징들을 나타낼 수 있으며, 이 특징들은 일반적으로 계산적으로 정량화될 수 있는 문서의 프로그램적으로 검출가능한 성질들이다. 예를 들어 텍스트의 특정 스트링을 갖는 특정 텍스트 파일(중요한 용어들로 종종 분석가능함)은 용어 빈도, 문서 길이, 및 역 용어 빈도(inverse term frequency)로 통상 언급되는 특징들을 나타낼 것이다. 특정 캡처된 이미지를 갖는 특정 사진은 컬러, 불투명, 및 질감과 관련되는 특징들을 나타낼 것이다. 전형적으로, 공통 특징들을 공유하는 문서들은 동일한 코퍼스(corpus)로 인덱싱되며, 이 코퍼스는 어느 한 문서를 다른 문서와 프로그램적으로 비교하는 것을 용이하게 한다(즉, 컴퓨팅 자원은 사과들을 사과들과 비교하는 것이 더 용이함).In the field of information retrieval, search engines typically implement indexing and retrieval of networked accessible documents in response to search queries. As used herein, documents are units of content, e.g., web pages of a social platform, text files, portable document format files, video files, audio files, image files, and social messages . As can be expected, different types of documents can represent different features, which are generally programmatically detectable properties of a document that can be computationally quantified. For example, a particular text file (often analyzed as important terms) with a particular string of text would represent features that are commonly referred to as term frequency, document length, and inverse term frequency. Certain photographs with a particular captured image will exhibit characteristics associated with color, opacity, and texture. Typically, documents that share common features are indexed with the same corpus, which facilitates programmatically comparing one document to another document (i.e., computing resources compare apples to apples .

인덱싱의 하나의 기본적 양태는 일부 검색 엔진들에 대해 어느 토픽들이 어느 문서와 연관되는지를 판단하도록 수행되는 분류이다. 더욱이, 문서는 하나보다 많은 토픽을 기술할 수 있다. 예를 들어, 유명한 랜드마크의 앞에서의 유명인의 사진은 유명인 및 랜드마크 둘 다와 연관될 수 있다. 분류는 특히 프로그램 자원들이 머신 학습을 레버리징하고 있을 때, 전형적으로 프로그램 자원들 및 인간 판단의 일부 조합으로 구현되며, 머신 학습은 효과적이도록 트레이닝을 필요로 한다. 동작에서, 프로그램 자원(분류자)은 입력으로서 문서의 선택된 특징들을 취하고, 분류자가 검출하도록 할당되는 토픽을 기술하는 것으로서 그러한 문서가 분류될 수 있는지를 판단하기 위해 머신 학습을 적용한다. 분류자의 판단들의 샘플링은 인간 조작자들에 의해 평가되며, 그 평가들은 분류자의 유효성을 평가하고 그것의 머신 학습 파라미터들을 교정하기 위해 적용된다.One basic aspect of indexing is the classification performed for some search engines to determine which topics are associated with which documents. Moreover, a document can describe more than one topic. For example, a photograph of a celebrity in front of a famous landmark can be associated with both a celebrity and a landmark. Classification is typically implemented with some combination of program resources and human judgment when program resources are leveraging machine learning, and machine learning requires training to be effective. In operation, the program resource (classifier) takes the selected features of the document as input and applies the machine learning to determine whether such documents can be classified as describing the topics that the classifier is assigned to detect. Sampling of classifier judgments is evaluated by human operators, and the evaluations are applied to evaluate the validity of the classifier and to calibrate its machine learning parameters.

분류자의 유효성의 하나의 측정은, 분류자가 토픽들을 문서들에 할당하는 작업을 부여받는 구현들에 대해, 이것이 검출하도록 할당되는 토픽을 기술하는 코퍼스의 모든 문서들을 적절히 분류하는 그것의 능력인 리콜(recall)이다.One measure of the validity of a classifier is that for implementations that are assigned tasks for assigning topics to documents, the classifier may use a recall (i.e., the ability to properly classify all the documents in the corpus that describes the topic recall).

코퍼스에 보급된 토픽들을 검출하도록 할당되는 분류자들에 대한 리콜을 평가하기 위해, 인간 조작들은 통상 코퍼스의 작은 부분만을 샘플링해야 한다. 그러나, 스파스(sparse)(코퍼스의 0.1% 미만)한 토픽들을 검출하도록 할당되는 분류자들에 대해, 작은 샘플들이 스파스 토픽을 기술하는 문서들을 캡처할 가능성이 없으므로 코퍼스의 훨씬 더 큰 샘플이 요구된다. 이러한 나중의 노력에 연루되는 시간 및 비용은 특히 코퍼스 문서들이 수십억까지 수가 늘어날 때, 엄청나게 비쌀 수 있다.In order to evaluate recall for classifiers assigned to detect topics populated in the corpus, human manipulations should typically sample only a small portion of the corpus. However, for classifiers assigned to detect sparse (less than 0.1% of the corpus) topics, a much larger sample of corpus is likely to be encountered because small samples are not likely to capture documents describing sparse topics Is required. The time and expense involved in these later efforts can be prohibitively expensive, especially when corpus documents are growing in billions.

일반적으로, 제2 분류자(C2)는 평가되는 분류자(C1)에서 충분히 독립적이도록 구성되며, 분류자들 둘 다는 문서들(U)의 특정 코퍼스의 동일한 스파스 토픽을 검출하도록 구성된다. 여기서, 독립성은 일반적으로 상이한 특징들, 즉 인터위빙되지 않는 것들을 갖는 것을 의미한다. 수학적으로 말하자면, 완전한 독립성은 특징 공간에서 직교 특징들을 의미하고, 완전한 종속성은 특징 공간 내의 동일한 라인 상에 특징들을 갖는 것을 의미한다. 그 다음, 제2 분류자(C2)는 스파스 토픽을 리콜하는 C2의 능력의 평가에서 코퍼스 U에 대한 프록시로 사용되고, 리콜하는 C2의 능력을 평가하기 위해 전체 코퍼스 U로부터 샘플링해야 하는 대신에 사용되며, 하나는 U보다 상당히 더 작은 서브세트인 C2에 의해 선택되는 문서들의 세트로부터만 샘플링해야 하고, 따라서 요구된 샘플 크기는 상당히 감소된다. 임의로, 완전한 독립성은 불완전한 독립성이 C1의 리콜을 추정할 시에 허용가능 정확도를 초래할 수 있으므로 구현되지 않는다. 즉, C2는 독립적인 것이 아니라 C1에 의해 사용되는 특징들에만 멀게 관련되는 특징들에 의해 임의로 구성될 수 있다.In general, the second classifier C 2 is configured to be sufficiently independent of the classifier C 1 being evaluated, and both classifiers are configured to detect the same sparse topic of a particular corpus of documents U . Here, independence generally means having different features, i.e., those that are not interwoven. Mathematically speaking, complete independence means orthogonal features in feature space, and full dependency means having features on the same line in feature space. The second classifier (C 2 ) is then used as a proxy for corpus U in the evaluation of the ability of C 2 to recall sparse topics and should be sampled from the entire corpus U to evaluate the ability of C 2 to recall Instead, one should only sample from a set of documents selected by C 2 , which is a subset much smaller than U, and thus the required sample size is significantly reduced. Optionally, complete independence is not implemented because incomplete independence may result in acceptable accuracy when estimating a recall of C 1 . That is, C 2 may be arbitrarily configured by features that are not independent, but are remotely related to features used by C 1 .

일반적으로, 일 양태에서, 하나 이상의 실시예들은 문서 검색을 위한 방법에 관한 것이다. 방법은 최종 문서들의 제1 세트를 획득하기 위해 문서들을 제1 분류자에 의해 분류하는 단계, 및 최종 문서들의 제2 세트를 획득하기 위해 문서들을 제2 분류자에 의해 분류하는 단계를 포함한다. 방법은 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 제1 분류자의 리콜 메트릭을 추정하는 단계, 리콜 메트릭에 기초하여 제1 분류자를 개정하는 단계, 및 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 문서들을 개정된 분류자에 의해 분류하는 단계를 더 포함한다. 방법은 분류에 기초하여 통신을 송신하는 단계를 더 포함한다.Generally, in one aspect, one or more embodiments relate to a method for document retrieval. The method includes classifying the documents by a first classifier to obtain a first set of final documents, and classifying the documents by a second classifier to obtain a second set of final documents. The method includes estimating a recall metric of a first classifier based on a first set of final documents and a second set of final documents, revising the first classifier based on the recall metric, And sorting the documents by the revised classifiers to obtain at least one additional document that has been obtained. The method further comprises transmitting the communication based on the classification.

일반적으로, 일 양태에서, 하나 이상의 실시예들은 컴퓨팅 프로세서, 및 명령어들을 포함하는 리콜 추정을 위한 시스템에 관한 것이며, 명령어들은 컴퓨팅 디바이스 프로세서 상에 실행될 때, 최종 문서들의 제1 세트를 획득하기 위해 문서들을 제1 분류자에 의해 분류하고, 최종 문서들의 제2 세트를 획득하기 위해 문서들을 제2 분류자에 의해 분류한다. 명령어들은 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 제1 분류자의 리콜 메트릭을 추정하는 것, 리콜 메트릭에 기초하여 제1 분류자를 개정하는 것, 및 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 문서들을 개정된 분류자에 의해 분류하는 것을 더 포함한다. 명령어들은 분류에 기초하여 통신을 송신하는 것을 더 포함한다.In general, in one aspect, one or more embodiments relates to a computing processor, and a system for recall estimation, including instructions, wherein the instructions, when executed on a computing device processor, By the first classifier, and classify the documents by the second classifier to obtain the second set of final documents. The instructions may include estimating a recall metric of the first classifier based on the first set of final documents and the second set of final documents, revising the first classifier based on the recall metric, And classifying the documents by the revised classifiers to obtain at least one additional document that is being generated. The instructions further comprise transmitting the communication based on the classification.

일반적으로, 일 양태에서, 하나 이상의 실시예들은 컴퓨터 판독가능 프로그램 코드를 포함하는 비일시적 컴퓨터 판독가능 매체에 관한 것이며, 컴퓨터 판독가능 프로그램 코드는 최종 문서들의 제1 세트를 획득하기 위해 문서들을 제1 분류자에 의해 분류하고, 및 최종 문서들의 제2 세트를 획득하기 위해 문서들을 제2 분류자에 의해 분류한다. 컴퓨터 판독가능 프로그램 코드는 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 제1 분류자의 리콜 메트릭을 추정하는 것, 리콜 메트릭에 기초하여 제1 분류자를 개정하는 것, 및 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 문서들을 개정된 분류자에 의해 분류하는 것을 더 포함한다. 컴퓨터 판독가능 프로그램 코드는 분류에 기초하여 통신을 송신하는 것을 더 포함한다.Generally, in one aspect, one or more embodiments relate to a non-volatile computer-readable medium comprising computer-readable program code, the computer-readable program code including instructions for: Classify the documents by the classifier, and classify the documents by the second classifier to obtain a second set of final documents. The computer readable program code includes instructions for: estimating a recall metric of a first classifier based on a first set of final documents and a second set of final documents; revising a first classifier based on a recall metric; And classifying the documents by the revised classifiers to obtain at least one additional document excluded from the one set. The computer readable program code further comprises transmitting the communication based on the classification.

본 발명의 일부 구현들은 스파스 토픽들을 리콜하는 분류자의 능력을 효과적으로 평가하기 위해 종래의 시스템들보다 상당히 더 작은 샘플 크기를 필요로 한다. 샘플링은 인간 판단을 필요로 하기 때문에, 상당히 더 작은 샘플 크기는 금지되지 않은 상당히 감소된 시간 및 비용 부담을 유리하게 부과하고 따라서 수십억의 문서들을 갖는 코퍼스에 대해서도 설명된 평가를 수행하는 것을 허용한다.Some implementations of the present invention require significantly smaller sample sizes than conventional systems in order to effectively evaluate the ability of the classifier to recall sparse topics. Because sampling requires human judgment, a significantly smaller sample size advantageously imposes a significantly reduced time and cost burden that is not prohibited, and therefore allows to perform the evaluations described for corpus with billions of documents.

본 발명의 다른 양태들은 이하의 설명 및 첨부된 청구항들로부터 분명할 것이다.Other aspects of the invention will be apparent from the following description and the appended claims.

도 1a, 도 1b, 및 도 2는 본 발명의 하나 이상의 실시예들에 따라 시스템의 도해들을 도시한다.
도 3 및 도 4는 본 발명의 하나 이상의 실시예들에 따라 흐름도들을 도시한다.
도 5는 본 발명의 하나 이상의 실시예들에 따라 일 예를 도시한다.
도 6은 본 발명의 하나 이상의 실시예들에 따라 컴퓨팅 시스템을 도시한다.
Figures 1A, 1B, and 2 illustrate illustrations of the system in accordance with one or more embodiments of the present invention.
Figures 3 and 4 illustrate flowcharts in accordance with one or more embodiments of the present invention.
Figure 5 illustrates an example in accordance with one or more embodiments of the present invention.
Figure 6 illustrates a computing system in accordance with one or more embodiments of the present invention.

본 발명의 특정 실시예들은 이제 첨부 도면들을 참조하여 상세히 설명될 것이다. 다양한 도면들 내의 유사한 요소들은 일관성을 위해 유사한 참조 번호들에 의해 표시된다.Specific embodiments of the present invention will now be described in detail with reference to the accompanying drawings. Similar elements in the various figures are represented by like reference numerals for consistency.

본 발명의 실시예들의 이하의 상세한 설명에서, 다수의 특정 상세들은 본 발명의 더 철저한 이해를 제공하기 위해 제시된다. 그러나, 본 발명은 이러한 특정 상세들 없이 실시될 수 있다는 점이 본 기술분야의 통상의 기술자에게 분명할 것이다. 다른 사례들에서, 널리 공지된 특징들은 설명을 불필요하게 복잡한 것을 회피하기 위해 상세히 설명되지 않았다.In the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known features have not been described in detail in order to avoid unnecessarily complicated descriptions.

본 출원 도처에서, 서수들(예를 들어, 제1, 제2, 제3 등)은 요소에 대한 형용사(즉, 본 출원에서의 임의의 명사)로 사용될 수 있다. 서수들의 사용은 요소들의 임의의 특정 순서화를 암시하거나 생성하지 않고 분명히 개시되지 않는 한, 예컨대 용어들 "전", "후", "단일", 및 다른 그러한 전문용어의 사용에 의해 임의의 요소를 단일 요소인 것에만 제한하지 않는다. 오히려, 서수들의 사용은 요소들을 구별하는 것이다. 예로서, 제1 요소는 제2 요소와 별개이고, 제1 요소는 하나보다 많은 요소를 망라하고 요소들의 순서화에서 제2 요소를 뒤따를(또는 선행할) 수 있다.Throughout this application, ordinals (e.g., first, second, third, etc.) may be used as an adjective to an element (i.e., any noun in this application). The use of ordinates does not imply any element, either by the use of the terms "before", "after", "single", and such other terminology, unless the context clearly dictates or implies any particular ordering of the elements But is not limited to being a single element. Rather, the use of ordinances is to distinguish elements. By way of example, the first element may be separate from the second element, the first element may encompass more than one element and follow (or precede) the second element in the ordering of the elements.

일반적으로, 본 발명의 실시예들은 문서 검색에 관한 것이다. 하나 이상의 실시예들은 최종 문서들의 적어도 2개의 세트들를 획득하기 위해 다수의 문서들를 독립적으로 분류하는 적어도 2개의 상이한 분류자들을 갖는다. 적어도 하나의 분류자로부터의 분류는 다른 분류자에 대한 리콜 메트릭을 발생시키기 위해 사용된다. 리콜 메트릭은 클래스에 속하지만 분류자에 의해 클래스에 분류되지 않은 문서들의 수의 추정이다. 다른 분류자는 추정된 양에 기초하여 개정될 수 있다.In general, embodiments of the present invention relate to document retrieval. One or more embodiments have at least two different classifiers that independently classify a plurality of documents to obtain at least two sets of final documents. The classification from at least one classifier is used to generate a recall metric for the other classifier. The recall metric is an estimate of the number of documents that belong to the class but are not classified by the classifier into the class. Other classifiers may be revised based on the estimated amount.

하나 이상의 실시예들에서, 분류자들은 큰 코퍼스 내의 스파스 문서 분류에 적용된다. 예를 들어, 큰 코퍼스는 수백만 또는 수십억의 문서들을 가질 수 있고 클래스에 실제로 속하는 문서들의 수는 전체 코퍼스의 0.1 % 이하일 수 있다. 하나 이상의 실시예들은 다른 분류자에 대한 리콜의 추정값을 발생시키기 위해 문서들의 코퍼스에 대한 프록시로서 하나의 분류자의 결과들을 사용할 수 있다. 다시 말하면, 리콜 메트릭을 결정하는 목적을 위해, 제2 분류자의 결과들은 문서들의 전체 코퍼스에 대한 프록시로서의 역할을 한다. 하나 이상의 실시예들에서, 분류자들은 서로에 대해 독립성의 임계 정도를 충족한다. 독립성은 도 2에 대해 아래에 논의된다.In one or more embodiments, the classifiers are applied to sparse document classification within a large corpus. For example, a large corpus may have millions or billions of documents, and the number of documents that actually belong to a class may be less than 0.1% of the total corpus. One or more embodiments may use the results of one classifier as a proxy for the corpus of documents to generate an estimate of the recall for another classifier. In other words, for the purpose of determining the recall metric, the results of the second classifier serve as a proxy for the entire corpus of documents. In one or more embodiments, the classifiers meet a threshold degree of independence with respect to each other. Independence is discussed below with respect to FIG.

본 발명의 하나 이상의 실시예들은 소셜 네트워크에 적용될 수 있다. 여기서, 소셜 콘텐츠는 공통 특징들 또는 속성들을 공유하는 것들이 동일한 코퍼스에 할당되는 코퍼스로 구분된다. 이러한 코퍼스에서, 문서는 특정 사용자에 기인하는 모든 소셜 콘텐츠를 포함하고, 그러한 문서는 사용자와 연관된다. 그러므로, 코퍼스는 특정 사용자와 각각 연관되는 다수의 문서들(수억 또는 수십억)로 구성될 수 있다. 사용자 동의의 경우, Ad 시스템은 사용자의 문서에서 논의되는 토픽들을 검출함으로써 사용자에게 관심있는 토픽들을 추론하고 그 다음에 타켓된 광고를 제공할 수 있으며, 추론은 사용자가 소셜 콘텐츠의 그녀의 문서에서 논의되는 토픽들에 관심이 있다는 것이다. 본원에 설명되는 리콜 추정 기술 때문에, 스파스 토픽들에 대한 적어도 2개의 분류자들은 스파스 토픽들에 기인하는 문서들을 효과적으로 리콜하기 위해 평가되고 교정될 수 있다. 예를 들어, 제1 분류자는 계정으로부터의 소셜 미디어 메시지들로 구성되는 "문서들"을 이용할 것이고, 제2 분류자는 사용자들 다음에 계정/바이오 텍스트/다른 신호들을 사용하고 있을 수 있다. 그러므로, 시스템은 스파스 토픽들에 관심있는 사용자들을 발견할 수 있고, Ad 타겟팅은 매우 그래뉼러(granular)될 수 있지만(즉, 스파스 토픽에 특정됨), 소셜 콘텐츠의 문서들의 코퍼스는 매우 크다. 여기서, 스파스 토픽들은 예를 들어 특정 옵션들을 갖는 자동차의 특정 모델일 수 있으며, 이 특정 모델은 단지 자동차 모델보다 더 정확한 Ad 타겟팅을 제공한다.One or more embodiments of the invention may be applied to social networks. Here, the social content is divided into corpuses in which common features or attributes are assigned to the same corpus. In this corpus, a document includes all social content originating from a particular user, and such documents are associated with a user. Thus, a corpus can consist of multiple documents (hundreds of millions or billions) each associated with a particular user. In the case of user agreement, the Ad system may deduce the topics of interest to the user by detecting the topics discussed in the user's document and then provide the targeted ads, I am interested in the topics being discussed. Because of the recall estimation techniques described herein, at least two classifiers for sparse topics can be evaluated and calibrated to effectively recall documents resulting from sparse topics. For example, a first classifier may use "documents" comprised of social media messages from an account, and a second classifier may be using accounts / bio-text / other signals after users. Therefore, the system can find users interested in sparse topics, and although Ad targeting can be very granular (i.e., specific to sparse topics), the corpus of documents of social content is very large . Here, sparse topics can be, for example, specific models of automobiles with specific options, and this particular model provides more accurate Ad targeting than automotive models.

더욱이, 관심의 유사한 토픽들을 공유하는 사용자들은 동일한 그룹에서 함께 그룹화될 수 있고, 유사한 큐레이트된 콘텐츠는 그룹 내의 사용자들에게 제공될 수 있다. 예를 들어 외교 정책 및 스포츠에 관한 뉴스와 관련되는 큐레이트된 콘텐츠는 외교 정책 및 스포츠와 연관되는 그룹 내의 사용자들에게 제공될 수 있다. 스포츠 및 식품에 관한 뉴스와 관련되는 큐레이트된 콘텐츠는 다른 그룹의 사용자들에게 제공될 수 있으며, 하나는 스포츠 및 식품과 연관된다. 임의로, 사용자 그룹화는 프로그램적 큐레이션을 용이하게 하기 위해 구현될 수 있다. 큐레이트된 콘텐츠는 각각의 모듈이 사용자들에게 관심이 있을 수 있는 하나의 토픽을 커버하도록 모듈식인 경우, 프로그램적 큐레이션 시스템은 그룹과 연관되는 관심의 토픽들에 대응하는 콘텐츠의 모듈들을 선택함으로써 소셜 플랫폼의 사용자들의 각각의 그룹에 대해 큐레이트된 콘텐츠를 구축할 수 있다. 프로그램적 큐레이션이 낮은 레이턴시로 구현될 수 있기 때문에, 제공되는 콘텐츠는 최신의 콘텐츠, 심지어 뉴스 속보일 수 있다.Moreover, users sharing similar topics of interest can be grouped together in the same group, and similar curated content can be provided to users in the group. For example, curated content related to news about foreign policy and sports may be provided to users in groups associated with foreign policy and sports. Curated content related to sports and food news can be provided to other groups of users, one associated with sports and food. Optionally, user grouping may be implemented to facilitate programmed curation. If the curated content is modular so that each module covers one topic that may be of interest to users, then the programmatic cueing system may select the modules of content corresponding to the topics of interest associated with the group It is possible to build curated content for each group of users of the social platform. Since programmatic cues can be implemented with low latency, the content provided can be up-to-date content, even breaking news.

도 1a는 본 발명의 하나 이상의 실시예들에 따라 소셜 네트워크를 위한 시스템의 개략도를 도시한다. 구체적으로, 도 1a는 본 발명의 하나 이상의 실시예들에 따라 소셜 네트워크 애플리케이션(100) 및 클라이언트(120)를 도시한다. 소셜 네트워크 애플리케이션(100)은 또한 본 발명의 하나 이상의 실시예들에 따라 메시징 플랫폼으로 언급될 수 있다.Figure 1A illustrates a schematic diagram of a system for a social network in accordance with one or more embodiments of the present invention. In particular, FIG. 1A illustrates a social network application 100 and a client 120 in accordance with one or more embodiments of the present invention. The social network application 100 may also be referred to as a messaging platform in accordance with one or more embodiments of the present invention.

소셜 네트워크 애플리케이션(100)은 사용자들을 소셜 네트워크 애플리케이션(100)의 다른 사용자들(즉, 클라이언트들)에 연결하고, 소셜 네트워크 애플리케이션(100)의 연결된 사용자들 사이에서 소셜 네트워킹 메시지들을 교환하고, 사용자가 소셜 네트워크 메시지들을 생성하고 보도록 인터페이스를 제공한다. 본 발명의 하나 이상의 실시예들에서, 소셜 네트워크 메시지들은 적어도 사용자들의 세트에 송신되는 브로드캐스트 소셜 네트워킹 메시지들이다. 세트 내의 사용자들(예를 들어, 송신 사용자의 팔로워들)은 자기 선택될 수 있거나 송신 사용자(예를 들어, 그룹, 친구, 가족 등에 속함)와 특정 상태를 충족하는 사용자들은 자기 선택될 수 있다. 소셜 네트워킹 메시지들은 예를 들어 문서 상의 사용자로부터의 코멘트, 개인 상태 갱신, 문서에 대한 참조, 및/또는 다른 정보 또는 그것의 조합을 포함할 수 있다.The social network application 100 connects users to other users (i.e., clients) of the social network application 100, exchanges social networking messages between connected users of the social network application 100, Provides an interface to create and view social network messages. In one or more embodiments of the invention, the social network messages are broadcast social networking messages that are transmitted to at least a set of users. The users in the set (e.g., the sender's followers) can be self-selected or users who meet certain conditions with the sending user (e.g., a group, friend, family, etc.) can be self-selected. The social networking messages may include, for example, comments from users on the document, personal status updates, references to documents, and / or other information or a combination thereof.

게다가, 본 발명의 하나 이상의 실시예들에서, 소셜 네트워크 애플리케이션(100)은 문서에 대한 사용자로부터 원래의 참조를 수신하고, 원래의 참조로부터 소셜 네트워크 참조를 발생시키고, 소셜 네트워크 참조를 다른 사용자들에게 송신하는 기능성을 포함한다. 따라서, 사용자는 문서에 대한 참조를 포함하는 메시지를 다른 사용자들에게 송신하거나 소셜 네트워크 참조를 문서에 포스팅함으로써 소셜 네트워크 애플리케이션(100)을 통해 문서를 공유할 수 있다. 본 발명의 하나 이상의 실시예들에서, 원래의 참조는 발행된 문서의 위치, 예컨대 웹 페이지의 균일 자원 로케이터(uniform resource locator)(URL)에 대한 참조이다. 소셜 네트워크 참조는 발행된 문서의 위치에 대한 간접적인 참조이다. 구체적으로, 소셜 네트워크 참조는 발견 저장소(discovery repository)(148) 내의 원래의 참조에 매핑된다. 소셜 네트워크 애플리케이션은 소셜 네트워크 참조의 연결로 분석들을 수행하고 및/또는 원래의 참조를 단축하도록 구성될 수 있다. 예를 들어, 소셜 네트워크 참조 및 원래의 참조는 문서의 위치를 참조하는 하이퍼텍스트 전송 프로토콜 링크 또는 다른 메커니즘일 수 있다.In addition, in one or more embodiments of the invention, the social network application 100 may receive an original reference from a user for the document, generate a social network reference from the original reference, send the social network reference to other users And transmitting functions. Thus, a user may share a document via the social network application 100 by sending a message containing a reference to the document to other users or by posting a social network reference to the document. In one or more embodiments of the present invention, the original reference is a reference to the location of the published document, e.g., a uniform resource locator (URL) of a web page. A social network reference is an indirect reference to the location of a published document. Specifically, the social network reference is mapped to the original reference in the discovery repository 148. The social network application may be configured to perform analyzes with connections of social network references and / or shorten the original references. For example, the social network reference and original reference may be a hypertext transfer protocol link or other mechanism that references the location of the document.

도 1a에 도시된 바와 같이, 소셜 네트워크 애플리케이션(100)은 분류 엔진(150), 머신 학습 모듈(도시되지 않음), 발견 저장소(148), 프런트엔드 모듈(125), 라우팅 모듈(155), 그래프 팬아웃 모듈(130), 전달 모듈(135), 메시지 저장소(140), 연결 그래프 저장소(142), 스트림 저장소(144), 및 계정 저장소(146)를 포함하는 다수의 구성요소들을 갖는다. 소셜 네트워크 애플리케이션(100)의 다양한 구성요소들은 동일한 디바이스(예를 들어, 서버, 메인프레임, 데스크톱 개인용 컴퓨터(Personal Computer)(PC), 랩톱, 개인 휴대 정보 단말기(Personal Digital Assistant)(PDA), 전화, 이동 전화, 키오스크, 케이블 박스, 및 임의의 다른 디바이스) 상에 위치될 수 있거나 네트워크(예를 들어, 근거리 네트워크(local area network)(LAN), 인터넷 등)에 의해 연결되는 개별 디바이스들 상에 위치될 수 있다. 이러한 구성요소들의 임의의 조합뿐만 아니라, 디바이스 상에 실행하는 각각의 개별 구성요소의 하나보다 많은 구성요소는 본 발명의 주어진 실시예 내에 존재할 수 있다.1A, a social network application 100 includes a classification engine 150, a machine learning module (not shown), a discovery repository 148, a front end module 125, a routing module 155, Including a fanout module 130, a delivery module 135, a message store 140, a connection graph store 142, a stream store 144, and an account store 146. [ The various components of the social network application 100 may be stored on the same device (e.g., server, mainframe, desktop personal computer (PC), laptop, personal digital assistant (PDA) (E. G., A local area network (LAN), the Internet, etc.) that may be located on a network (e. G., A mobile telephone, a kiosk, a cable box, Lt; / RTI > As well as any combination of these components, more than one component of each individual component executing on the device may be present in a given embodiment of the present invention.

본 발명의 하나 이상의 실시예들에서, 소셜 네트워크 애플리케이션(100)은 하나 이상의 엔티티들 사이에서 실시간 통신을 가능하게 하는 플랫폼이다. 예를 들어, 소셜 네트워크 애플리케이션(100)은 개인들, 사업체들, 및/또는 다른 엔티티들의 수백만의 계정들(예를 들어, 필명 계정들, 새로운 계정들 등)을 저장할 수 있다. 각각의 계정의 하나 이상의 사용자들은 소셜 네트워킹 메시지들을 소셜 네트워크 애플리케이션(100) 내부 및/또는 외부의 다른 계정들에 송신하기 위해 소셜 네트워크 애플리케이션(100)을 사용할 수 있다. 소셜 네트워크 애플리케이션(100)은 사용자들이 "실시간"으로 통신할 수 있게 하도록, 즉 최소 지연으로 다른 사용자들과 대화할 수 있게 하고 동시 세션들 동안 하나 이상의 다른 사용자들과의 대화를 행할 수 있게 하도록 구성될 수 있다. 다시 말하면, 소셜 네트워크 애플리케이션(100)은 사용자가 소셜 네트워킹 메시지들을 브로드캐스팅하는 것을 허용할 수 있고 사용자들 사이의 실시간 대화를 용이하게 하기 위해 소셜 네트워킹 메시지들을 합리적인 시간 프레임 내에 하나 이상의 다른 사용자들에게 디스플레이할 수 있다. 소셜 네트워킹 메시지의 수신자들은 소셜 네트워킹 메시지를 브로드캐스팅하는 사용자의 계정과 미리 정의된 그래프 관계를 가질 수 있다. 본 발명의 하나 이상의 실시예들에서, 사용자는 계정 보유자가 아니거나 소셜 네트워크 애플리케이션(100)에 계정에 로그인되지 않는다. 이러한 경우에, 소셜 네트워크 애플리케이션(100)은 사용자가 브로드캐스트 소셜 네트워킹 메시지들을 브로드캐스팅하는 것 및/또는 사용자를 일시적 계정 또는 식별자와 연관시킴으로써 소셜 네트워크 애플리케이션(100)의 다른 기능성을 이용하는 것을 허용하도록 구성될 수 있다.In one or more embodiments of the invention, the social network application 100 is a platform that enables real-time communication between one or more entities. For example, the social network application 100 may store millions of accounts (e.g., pseudonym accounts, new accounts, etc.) of individuals, businesses, and / or other entities. One or more users of each account may use the social network application 100 to send social networking messages to other accounts within and / or to the social network application 100. [ The social network application 100 may be configured to allow users to communicate "in real time ", i. E. To communicate with other users with minimal delay, and to have conversations with one or more other users during concurrent sessions. . In other words, the social network application 100 may allow the user to broadcast social networking messages and may display the social networking messages in one reasonable time frame to one or more other users to facilitate real- can do. The recipients of the social networking message may have a pre-defined graph relationship with the user's account that broadcasts the social networking message. In one or more embodiments of the invention, the user is neither an account holder nor logged in to the account in the social network application 100. In such a case, the social network application 100 may be configured to allow a user to utilize other functionality of the social network application 100 by broadcasting broadcast social networking messages and / or associating the user with a temporary account or identifier .

본 발명의 하나 이상의 실시예들에서, 연결 그래프 저장소(142)는 하나 이상의 연결 그래프들을 저장하도록 구성된다. 도 1b는 본 발명의 하나 이상의 실시예들에 따라 연결 그래프(299)의 예시적 묘사를 도시한다. 도 1b에 도시된 바와 같이, 연결 그래프(299)는 소셜 네트워크 애플리케이션(100)의 계정들(즉, 계정 A(200), 계정 B(202), 계정 C(204), 계정 D(206), 계정 E(208), 계정 F(210), 계정 G(212))을 표현하는 노드들 및 다양한 노드들을 연결하는 에지들을 포함하는, 다수의 구성요소들을 갖는다.In one or more embodiments of the invention, the link graph store 142 is configured to store one or more link graphs. Figure IB illustrates an exemplary depiction of a connection graph 299 in accordance with one or more embodiments of the present invention. As shown in FIG. 1B, the connection graph 299 includes the accounts of the social network application 100 (i.e., account A 200, account B 202, account C 204, account D 206, Including accounts E (208), accounts F (210), G (212), and the edges connecting the various nodes.

연결 그래프(299)는 하나 이상의 계정들 사이의 관계들(즉, 연결들)을 표현하는 데이터 구조이다. 연결 그래프(299)는 노드들과 같이 계정들을 표현하고 하나 이상의 노드들을 연결하는 에지들과 같이 관계들을 표현한다. 관계는 계정들 사이의 임의의 연관(예를 들어, 팔로윙, 친구 추가, 가입, 추적, 취향, 태깅 등)을 언급할 수 있다. 연결 그래프(299)의 에지들은 본 발명의 다양한 실시예들에 따라, 관계의 타입(예를 들어, 양방향, 단방향)에 기초하여 지향 및/또는 비지향될 수 있다.The connection graph 299 is a data structure that represents relationships (i.e., connections) between one or more accounts. The connection graph 299 represents relationships, such as nodes, representing the accounts and the edges connecting one or more nodes. A relationship may refer to any association between accounts (e.g., follow, add friends, join, track, taste, tagging, etc.). The edges of the connection graph 299 may be oriented and / or non-oriented based on the type of relationship (e.g., bidirectional, unidirectional), according to various embodiments of the present invention.

도 1a로 돌아가면, 본 발명의 하나 이상의 실시예들에서, 라우팅 모듈(155)은 하나 이상의 소셜 네트워킹 메시지들을 수신하고 메시지 저장소(140)에 소셜 네트워킹 메시지들을 저장하는 기능성을 포함한다. 라우팅 모듈(155)은 식별자를 소셜 네트워킹 메시지에 할당하고 송신기의 그래프 팬아웃 모듈(130)에 소셜 네트워킹 메시지를 통지하는 기능성을 포함할 수 있다.1A, in one or more embodiments of the invention, the routing module 155 includes functionality to receive one or more social networking messages and store the social networking messages in the message store 140. [ The routing module 155 may include functionality to assign an identifier to a social networking message and notify the sender's graph fanout module 130 of the social networking message.

본 발명의 하나 이상의 실시예들에서, 그래프 팬아웃 모듈(130)은 연결 그래프 저장소(142)로부터 그래프 데이터를 검색하고 소셜 네트워크 애플리케이션(100) 내의 어느 계정들이 소셜 네트워킹 메시지를 수신해야 하는지를 결정하기 위해 그래프 데이터를 사용하는 기능성을 포함한다. 그래프 데이터는 예를 들어 소셜 네트워크 애플리케이션 내의 계정들이 특정 계정을 "따르고 있는지" 및 따라서 특정 계정으로부터 상태 소셜 네트워킹 메시지들을 수신하기 위해 가입되는지를 반영할 수 있다.In one or more embodiments of the invention, the graph fanout module 130 retrieves the graph data from the connection graph store 142 and determines which accounts in the social network application 100 should receive the social networking message Includes functionality to use graph data. The graph data may reflect, for example, whether accounts in the social network application are "following" a particular account and thus are subscribed to receive status social networking messages from a particular account.

본 발명의 하나 이상의 실시예들에서, 전달 모듈(135)은 그래프 팬아웃 모듈(130)로부터의 계정들의 리스트 및 라우팅 모듈(155)에 의해 발생되는 메시지 식별자를 수신하고 메시지 식별자를 각각의 식별된 계정과 연관되는 스트림 데이터로 삽입하는 기능성을 포함한다. 그 다음, 전달 모듈(135)은 스트림 저장소(144)에 메시지 리스트를 저장할 수 있다. 스트림 저장소(144)에 저장되는 스트림 데이터는 소셜 네트워크 애플리케이션(100)의 하나 이상의 계정들과 연관되는 하나 이상의 스트림들을 구성할 수 있다. 스트림은 하나 이상의 계정들과 연관되는 소셜 네트워킹 메시지들의 동적 리스트일 수 있거나 계정의 사용자에게 유리한 소셜 네트워킹 메시지들의 어떤 임의적 조직을 반영할 수 있다.In one or more embodiments of the invention, the forwarding module 135 receives a list of accounts from the graph fanout module 130 and a message identifier generated by the routing module 155 and stores the message identifier in each identified Into the stream data associated with the account. The delivery module 135 may then store the message list in the stream store 144. The stream data stored in the stream store 144 may constitute one or more streams associated with one or more accounts of the social network application 100. The stream may be a dynamic list of social networking messages associated with one or more accounts, or may reflect any arbitrary organization of social networking messages favorable to the user of the account.

본 발명의 하나 이상의 실시예들에서, 프런트엔드 모듈(125)은 외부 엔티티들(예를 들어, 클라이언트(120))과 통신하도록 구성되는 소프트웨어 애플리케이션 또는 관련된 소프트웨어 애플리케이션들의 세트이다. 프런트엔드 모듈(125)은 소셜 네트워크 애플리케이션(100) 외부의 엔티티들과 통신하기 위해 사용되는 애플리케이션 프로그래밍 인터페이스(application programming interface)(API) 및/또는 임의의 수의 다른 구성요소들을 포함할 수 있다. API는 소셜 네트워크 애플리케이션(100)으로부터 요청들을 하고 및/또는 데이터를 이 애플리케이션에 제공하는 임의의 수의 사양들을 포함할 수 있다. 예를 들어, API에 의해 제공되는 기능은 예술가/노래 권고들을 요청 클라이언트(도시되지 않음)에 제공할 수 있다.In one or more embodiments of the invention, front end module 125 is a set of software applications or related software applications that are configured to communicate with external entities (e.g., client 120). The front end module 125 may include an application programming interface (API) and / or any number of other components used to communicate with entities external to the social network application 100. The API may include any number of features that receive requests from the social network application 100 and / or provide data to the application. For example, the functionality provided by the API may provide artist / song recommendations to the requesting client (not shown).

본 발명의 하나 이상의 실시예들에서, 프런트엔드 모듈(125)은 소셜 네트워크 애플리케이션(100) 상의 계정의 사용자에게 소셜 네트워킹 메시지들(즉, 스트림 데이터)을 서빙하는 스트림들을 정의하기 위해 데이터 저장소들(메시지 저장소(140), 연결 그래프 저장소(142), 스트림 저장소(144), 발견 저장소(148), 및/또는 계정 저장소(146)) 중 하나 이상을 사용하여 구성된다. 사용자는 소셜 네트워킹 메시지들을 수신하기 위해 임의의 클라이언트(120)를 사용할 수 있다. 예를 들어, 사용자가 소셜 네트워크 애플리케이션(100)에 액세스하기 위해 웹 기반 클라이언트를 사용하는 경우, 프런트엔드 모듈(125)의 API는 하나 이상의 스트림들을 정의하고 및/또는 스트림 데이터를 사용자에게 제시를 위한 클라이언트에 서빙하기 위해 이용될 수 있다. 유사하게, 상이한 형태들의 메시지 전달은 프런트엔드 모듈(125) 내의 상이한 모듈들에 의해 처리될 수 있다. 본 발명의 하나 이상의 실시예들에서, 사용자는 특정 수신 선호도들을 지정할 수 있으며, 이 선호도들은 프런트엔드 모듈(125)에 의해 구현된다.In one or more embodiments of the present invention, the front end module 125 may provide data stores (e. G., Data streams) to define streams that serve social networking messages (E.g., message store 140, connection graph store 142, stream store 144, discovery store 148, and / or account store 146). The user may use any client 120 to receive social networking messages. For example, if a user uses a web-based client to access a social network application 100, the API of the front end module 125 may define one or more streams and / or provide stream data to a user Can be used to serve clients. Similarly, different types of message delivery may be handled by different modules in the front end module 125. [ In one or more embodiments of the invention, the user may specify specific reception preferences, which are implemented by the front end module 125. [

본 발명의 하나 이상의 실시예들에서, 데이터 저장소들(메시지 저장소(140), 연결 그래프 저장소(142), 스트림 저장소(144), 계정 저장소(146), 발견 저장소(148)) 중 하나 이상은 하나 이상의 서버들 상에 상주하는 데이터베이스 및/또는 저장 서비스이다. 예를 들어, 데이터 저장소들 중 하나 이상은 서비스 지향 아키텍처(service-oriented architecture)(SOA)를 사용하여 저장 서비스로 구현될 수 있고 데이터에 대한 요청들을 수신하고 요청된 데이터를 소셜 네트워크 애플리케이션(100)의 다른 구성요소들에 제공하도록 구성될 수 있다. 다른 예에서, 메시지 저장소(140)는 분산 데이터베이스 관리 시스템(distributed database management system)(DBMS) 내의 하나 이상의 테이블들, 집단 데이터베이스, 독립형 플랫 파일, 및/또는 하나 이상의 물리 저장 디바이스들 상에 상주하는 임의의 저장 소프트웨어를 포함할 수 있다. 저장 디바이스의 예들은 하드 디스크 드라이브, 고체 상태 드라이브, 및/또는 다른 메모리 디바이스를 포함할 수 있지만, 이들에 제한되지 않는다. 임의의 타입의 데이터베이스 또는 저장 애플리케이션은 본 발명의 다양한 실시예들에 따라, 사용될 수 있다.One or more of the data stores (message store 140, connection graph store 142, stream store 144, account store 146, discovery store 148) And / or < / RTI > storage services residing on the above servers. For example, one or more of the data stores may be implemented as a storage service using a service-oriented architecture (SOA), receive requests for data, and send the requested data to the social network application 100. [ To other components of the system. In another example, the message store 140 may include one or more tables in a distributed database management system (DBMS), a clustered database, a stand-alone flat file, and / Lt; RTI ID = 0.0 > software. Examples of storage devices may include, but are not limited to, hard disk drives, solid state drives, and / or other memory devices. Any type of database or storage application may be used in accordance with various embodiments of the present invention.

본 발명의 하나 이상의 실시예들에서, 데이터 저장소들(메시지 저장소(140), 연결 그래프 저장소(142), 스트림 저장소(144), 계정 저장소(146), 발견 저장소(148)) 중 하나 이상은 소셜 네트워크 애플리케이션(100) 외부의(및 통신 결합되는) 하나 이상의 서버들 상에 상주하는 개별 애플리케이션 또는 애플리케이션들의 세트이다. 대안적으로, 본 발명의 하나 이상의 실시예들에서, 데이터 저장소들 중 하나 이상은 소셜 네트워크 애플리케이션(100)의 통합된 구성요소일 수 있고 및/또는 하나 이상의 공통 하드웨어 디바이스들(예를 들어, 서버) 상에, 부분적으로 또는 전적으로 상주할 수 있다.One or more of the data stores (message store 140, link graph store 142, stream store 144, account store 146, discovery store 148) Is a set of individual applications or applications residing on one or more servers external to (and communicatively coupled to) the network application 100. Alternatively, in one or more embodiments of the invention, one or more of the data stores may be an integrated component of the social network application 100 and / or one or more common hardware devices (e.g., ), ≪ / RTI >

본 발명의 하나 이상의 실시예들에서, 발견 저장소(148)는 문서들에 관한 문서 메타데이터를 저장할 수 있다. 문서 메타데이터는 키워드들의 리스트, 추적 정보, 문서의 날짜, 문서들에 대한 소셜 미디어 참조들과 원래의 참조들 사이의 매핑, 및 다른 정보를 포함할 수 있다.In one or more embodiments of the invention, the discovery repository 148 may store document metadata relating to documents. The document metadata may include a list of keywords, tracking information, date of the document, mapping between the social media references to the documents and the original references, and other information.

본 발명의 하나 이상의 실시예들에서, 메시지 저장소(140)는 소셜 네트워킹 메시지들 및 소셜 네트워킹 메시지 메타데이터를 저장하는 기능성을 포함한다. 소셜 네트워킹 메시지 메타데이터는 소셜 네트워킹 메시지의 발신 사용자의 식별자, 소셜 네트워킹 메시지를 수신한 사용자들의 리스트, 소셜 네트워킹 메시지를 수신한 사용자들의 수, 통계(예를 들어, 소셜 네트워킹 메시지를 전송하는 발신 사용자에의 연결된 사용자들 대 소셜 네트워킹 메시지를 전송하는 발신 사용자에의 비연결된 사용자들의 비율), 소셜 네트워킹 메시지가 송신되는 시간 및 날짜, 및 다른 정보를 포함할 수 있다.In one or more embodiments of the invention, the message store 140 includes functionality for storing social networking messages and social networking message metadata. The social networking message metadata may include an identifier of the originating user of the social networking message, a list of users who have received the social networking message, a number of users who have received the social networking message, statistics (e.g., The ratio of unconnected users to connected users sending a social networking message), the time and date that the social networking message is sent, and other information.

본 발명의 하나 이상의 실시예들에서, 연결 그래프 저장소(142)는 사용자들에 관한 정보를 저장할 수 있다. 구체적으로, 연결 그래프 저장소는 사용자의 사용자 식별자들을 소셜 네트워크 애플리케이션(100) 내의 사용자의 선호도들 및 이력과 관련시킬 수 있다. 예를 들어, 사용자 선호도들 및 이력은 언어, 사용자의 연결들, 사용자가 관심있는 토픽들 및 다른 정보를 포함할 수 있다.In one or more embodiments of the invention, the link graph store 142 may store information about users. Specifically, the link graph store may associate user identifiers of a user with the preferences and history of a user in the social network application 100. For example, user preferences and history may include language, user connections, topics of interest to the user, and other information.

분류 엔진(150)은 발명의 하나 이상의 실시예들에 따라 문서들을 분류하고 분류로부터 메트릭들을 결정하는 기능성을 포함한다. 분류 엔진(150)은 도 2에 더 상세히 설명된다.The classification engine 150 includes functionality to classify documents and determine metrics from the classification according to one or more embodiments of the invention. The classification engine 150 is described in more detail in FIG.

도 2는 본 발명의 하나 이상의 실시예들에 따라 시스템의 개략도를 도시한다. 도 2에 도시된 바와 같이, 시스템은 본 발명의 하나 이상의 실시예들에 따라 인터넷 저장소(220), 소셜 네트워크 저장소(208), 분류 엔진(200), 및 통신 분산기(218)를 포함할 수 있다.2 illustrates a schematic diagram of a system in accordance with one or more embodiments of the present invention. 2, the system may include an Internet repository 220, a social network repository 208, a classification engine 200, and a communication distributor 218 in accordance with one or more embodiments of the present invention .

인터넷 저장소(220)는 인터넷을 통해 이용가능한 임의의 데이터 저장소이다. 특히, 인터넷 저장소(220)는 인터넷 문서들(222)의 임의의 저장 유닛이다. 예를 들어, 인터넷 저장소(220)는 인터넷을 통해 연결되는 하나 이상의 개인용 컴퓨터들, 서버들, 이동 디바이스들의 집합, 또는 임의의 다른 컴퓨팅 시스템 또는 그것의 집합일 수 있다. 인터넷 저장소(220)는 다수의 다른 회사들 및 사용자들에 의해 제어될 수 있다.The Internet store 220 is any data store available over the Internet. In particular, the Internet repository 220 is any storage unit of the Internet documents 222. For example, the Internet repository 220 may be one or more personal computers, servers, a collection of mobile devices, or any other computing system or a collection thereof connected via the Internet. The Internet store 220 may be controlled by a number of different companies and users.

본 발명의 하나 이상의 실시예들에서, 인터넷 저장소(220)는 인터넷 문서들(222)을 저장하는 기능성을 포함한다. 인터넷 문서들(222)은 인터넷을 통해 이용가능한 문서들이다. 문서는 임의의 타입의 저장된 정보이다. 예를 들어, 문서는 기술 문서, 논문, 오디오 파일, 웹페이지, 파일, 트위트, 포스팅, 사용자 프로파일, 소셜 미디어 플랫폼을 통해 포스팅되거나 통신되는 메시지, 사용자의 디지털 풋프린트 또는 임의의 다른 저장된 정보일 수 있다. 예를 들어, 사용자의 디지털 풋프린트는 사용자가 액세스한, 소셜 미디어 메시지들을 제출한, 저작한, 또는 사용자가 다른 직접적 관계를 갖는 문서들의 집합을 포함할 수 있다. 문서는 문서 콘텐츠 및 메타데이터를 가질 수 있다. 문서 콘텐츠는 문서가 사용자에게 디스플레이되거나 플레이될 때 사용자들에 제시되는 문서의 콘텐츠(예를 들어, 문서의 본문)이다. 메타데이터는 문서에 관한 정보이다. 예를 들어, 메타데이터는 문서의 명칭 및 크기, 저자, 편집 이력(예를 들어, 편집 이력에서 각각의 편집을 위해 이루어지는 편집들에 관한 사용자 식별자, 시간, 및 추적 정보를 포함함), 문서의 생성 시간, 문서 상에 가능해지는 보안 특징들, 및 다른 정보를 포함할 수 있다. 예를 들어, 보안 특징들은 패스워드 보호, 공개 키 암호화, 또는 다른 보안 특징들, 또는 특징들의 조합을 포함할 수 있다.In one or more embodiments of the present invention, the Internet repository 220 includes functionality to store Internet documents 222. Internet documents 222 are documents available over the Internet. A document is any type of stored information. For example, the document may be a technical document, a paper, an audio file, a web page, a file, a tweet, a posting, a user profile, a message posted or communicated through a social media platform, a user's digital footprint, have. For example, the user ' s digital footprint may include a collection of documents that the user accessed, submitted social media messages, authored, or the user has other direct relationships. A document may have document content and metadata. The document content is the content of the document (e.g., the body of the document) presented to users when the document is displayed or played to the user. Metadata is information about a document. For example, metadata may include the name and size of the document, the author, the editing history (e.g., including the user identifier, time, and tracking information for edits made for each editing in the editing history) Creation time, security features enabled on the document, and other information. For example, the security features may include password protection, public key encryption, or other security features, or a combination of features.

문서는 하나 이상의 속성들을 가질 수 있다. 속성은 문서 콘텐츠 또는 메타데이터의 일부의 특징이다. 특히, 속성은 문서 콘텐츠 또는 메타데이터에 명시적으로 존재하는 정보일 수 있거나 또는 문서 콘텐츠 및/또는 메타데이터로부터 유도되는 정보일 수 있다. 예를 들어, 속성은 명칭, 제목, 문서 콘텐츠 내의 콘텐츠의 테이블, 타겟된 독자의 교육 레벨 식별자, 문서의 재송신들의 수, 문서의 크기, 균일 자원 식별자, 또는 다른 정보일 수 있다.A document can have one or more attributes. Attributes are characteristic of part of document content or metadata. In particular, the attribute may be information that is explicitly present in the document content or metadata, or may be information derived from the document content and / or metadata. For example, the attributes may be a name, a title, a table of content in the document content, a target reader's education level identifier, a number of retransmissions of the document, a document size, a uniform resource identifier, or other information.

소셜 네트워크 저장소(208)는 데이터를 저장하는 임의의 타입의 저장 유닛 및/또는 디바이스(예를 들어, 파일 시스템, 데이터베이스, 테이블들의 집합, 또는 임의의 다른 저장 메커니즘)이다. 게다가, 소셜 네트워크 저장소(208)는 다수의 상이한 저장 유닛들 및/또는 디바이스들을 포함할 수 있다. 다수의 상이한 저장 유닛들 및/또는 디바이스들은 동일한 타입일 수 있거나 아닐 수 있거나 또는 동일한 물리 사이트에 위치될 수 있거나 위치되지 않을 수 있다. 소셜 네트워크 저장소(208)는 도 1a에 도시된 저장소들 중 어느 것 또는 저장소들의 임의의 조합들에 대응할 수 있다.The social network repository 208 is any type of storage unit and / or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. In addition, the social network repository 208 may comprise a number of different storage units and / or devices. The plurality of different storage units and / or devices may or may not be the same type or may be located at the same physical site or not. The social network repository 208 may correspond to any of the repositories shown in FIG. 1A or any combination of repositories.

소셜 네트워크 저장소(208)는 각각의 사용자에 대한 프로파일들(210), 소셜 네트워크 문서들(212), 및 분류자 결과들(예를 들어, 분류자 X 결과들(214), 분류자 Y 결과들(216))을 저장할 수 있다. 프로파일들(210)은 사용자에 관한 정보에 대응한다. 예를 들어, 프로파일은 사용자의 고유 식별자, 성명, 사용자에 대한 메시지 선호도들, 공중 및 개인 식별자, 위치 정보, 사진, 메시지들에의 링크들, 다른 사용자들 및 그룹들에의 연결들, 및 다른 프로파일 정보를 포함할 수 있다.The social network repository 208 includes profiles 210 for each user, social network documents 212, and classifier results (e.g., classifier X results 214, classifier Y results (216). The profiles 210 correspond to information about the user. For example, the profile may include a user's unique identifier, a name, message preferences for the user, public and private identifiers, location information, pictures, links to messages, connections to other users and groups, Profile information.

소셜 네트워크 문서들(212)은 소셜 네트워크에 대한 임의의 문서에 대응한다. 예를 들어, 소셜 네트워크 문서들(212)은 사용자에 의한 포스팅, 소셜 네트워크 저장소에 저장되는 기술 문서, 사용자 프로파일, 상태 갱신, 또는 소셜 네트워크 저장소에 특정되는 임의의 다른 문서를 포함할 수 있다.The social network documents 212 correspond to any document for the social network. For example, the social network documents 212 may include postings by the user, technical documents stored in the social network repository, user profiles, status updates, or any other document specific to the social network repository.

분류자 결과들(예를 들어, 분류자 X 결과들(214), 분류자 Y 결과들(216))은 분류의 결과들에 대응한다. 예를 들어, 분류자 결과들은 분류자에 의해 분류되는 각각의 문서에 대해, 문서의 고유 문서 식별자 및 문서의 클래스를 포함할 수 있다. 본 발명의 하나 이상의 실시예들에서, 분류자 결과들은 문서에 의해 저장되거나 문서로부터 분리될 수 있다. 예를 들어, 분류자 결과들은 문서와 문서의 클래스 사이의 관계일 수 있다. 예로서, 분류자 결과들은 코퍼스 내의 문서들의 인덱스에 포함되는 태그들로 구현될 수 있다.The classifier results (e.g., classifier X results 214, classifier Y results 216) correspond to the results of the classification. For example, the classifier results may include, for each document classified by the classifier, a unique document identifier of the document and a class of the document. In one or more embodiments of the invention, the classifier results may be stored by a document or separated from the document. For example, the classifier results may be a relationship between the document and the class of the document. As an example, the classifier results may be implemented with tags contained in the indexes of the documents in the corpus.

도 2를 계속하면, 시스템은 분류자 X(202), 분류자 Y(204), 및 분석기(206)를 갖는 분류 엔진(200)을 포함할 수 있다. 분류자는 문서들(예를 들어, 소셜 네트워크 문서들(212) 및/또는 인터넷 문서들(222))를 분류하는 기능성을 포함하는 하드웨어, 소프트웨어, 펌웨어, 또는 그것의 임의의 조합이다. 예를 들어, 분류자들 중 하나 또는 둘 다는 문서들을 2개의 그룹들 중 하나로 분류하는 양방향 분류자, 또는 문서들을 다수의 그룹들 중 하나로 분류하는 다중방향 분류자일 수 있다. 양방향 분류자는 문서를 고려하면, 문서에 세트로부터의 라벨{+1,-1}을 할당하는 판단 규칙이다. +1 라벨은 분류 판단이 문제의 문서가 검색 기준들을 충족하는 확신을 표시하는 "양의" 판단들에 주어지는 반면에, -1 라벨은 "음의" 판단들에 주어진다. 분류자들은 입력 문서의 속성들, 예컨대 문서 내의 텍스트, 저작권 정보 또는 다른 문서들과의 연결들을 사용하여 판단들을 한다. 다시 말하면, 분류자는 문서의 하나 이상의 속성들을 갖는 속성들에 기초하여 분류들을 수행한다. 본 발명의 하나 이상의 실시예들에서, 분류자에 의해 사용되는 특정 속성들이 구성가능하고 자동으로 갱신될 수 있다.Continuing with FIG. 2, the system may include a classification engine 200 having a classifier X 202, a classifier Y 204, and an analyzer 206. The classifier is hardware, software, firmware, or any combination thereof including functionality to classify documents (e.g., social network documents 212 and / or Internet documents 222). For example, one or both of the classifiers may be a bidirectional classifier that classifies documents into one of two groups, or a multi-way classifier that classifies documents into one of a plurality of groups. A bidirectional classifier is a judgment rule that, when considering a document, assigns a label {+1, -1} from the set to the document. The +1 label is given to " positive "judgments, indicating that the classification of the problem document meets the search criteria, while the -1 label is given to" negative " Classifiers make judgments using attributes of the input document, such as text in the document, copyright information, or links to other documents. In other words, the classifier performs classifications based on attributes having one or more attributes of the document. In one or more embodiments of the invention, certain attributes used by the classifier may be configurable and automatically updated.

아래에 제시되는 방정식들에서, 다양한 기호들이 사용될 수 있다. 이하는 기호의 표 및 아래에 나타날 수 있는 대응 정의이다.In the equations presented below, various symbols can be used. The following is a table of symbols and corresponding definitions that may appear below.

Figure pct00001
Figure pct00001

본 발명의 하나 이상의 실시예들에서, 분류자들은 서로에 대해 독립성의 임계 정도를 충족한다. 본 발명의 하나 이상의 실시예들에서, 분류자들의 양은 분류자들이 이하를 충족할 때 독립적이다.In one or more embodiments of the invention, the classifiers meet a criticality of independence with respect to each other. In one or more embodiments of the present invention, the amount of classifiers is independent when the classifiers meet:

Figure pct00002
,
Figure pct00002
,

여기서, δ1은 상기 방정식에 의해 정의되는 바와 같이 분류자(C1 및 C2) 사이의 독립성의 정도이다. 본 발명의 하나 이상의 실시예들에서, 분류자(C1 및 C2)는 δ1이 독립성 임계 정도보다 더 클 때 독립성의 임계 정도를 충족한다. 예를 들어, 독립성의 임계 정도는 .95, .99, .90 또는 임의의 다른 구성가능 값일 수 있다. 본 발명의 하나 이상의 실시예들에서, 상기 방정식은 유효한 것으로 간주될 수 있으며 분류자들은 문서들의 상이하고 비오버래핑 속성들을 사용한다.Where δ 1 is the degree of independence between the classifiers (C 1 and C 2 ) as defined by the above equations. In one or more embodiments of the invention, the classifiers C 1 and C 2 meet the criticality of independence when δ 1 is greater than the degree of independence threshold. For example, the degree of independence may be .95, .99, .90, or any other configurable value. In one or more embodiments of the invention, the equation may be considered valid and the classifiers use different and non-overlapping attributes of the documents.

분류자들 사이의 독립성의 정도를 특징화하는 다른 방식은 클래스에 있지 않은 문서들(즉, 오프 토픽 문서들, TC)에 기초한다. 이하의 방정식은 클래스에 있지 않은 문서들의 수에 기초하여 독립성의 정도를 결정하기 위해 사용될 수 있다.Another way of characterizing the degree of independence between classifiers is based on documents that are not in the class (i.e., off-topic documents, T C ). The following equation can be used to determine the degree of independence based on the number of documents not in the class.

Figure pct00003
Figure pct00003

분석기(206)는 분류자 결과들(예를 들어, 분류자 X 결과들(214), 분류자 Y 결과들(216))를 분석하고 분류자 결과들 상에서 리콜 추정을 수행하는 기능성을 포함한다. 리콜 추정은 분류에서 특정 문서를 정확히 분실하지 않은 분류자의 성향이다. 특히, 정확도는 분류자에 의해, 클래스에 추가되고 클래스에 정확히 있어야 하는 문서들의 퍼센티지의 측정값(예를 들어, 분류자에 의해 클래스에 정확히 있는 문서들의 수)이다. 다른 한편, 리콜 추정은 분류자에 의해 분류되는 바와 같이 클래스에 있는 것이 아니라, 클래스에 있어야 하는 문서들의 퍼센티지의 추정이다. 예를 들어,문서가 클래스에 있거나 클래스에 있지 않은 분류에서, 리콜 추정은 분류자에 의해 클래스에 추가되어 손실되는 문서들의 퍼센티지 또는 문서들의 다른 수이다. 리콜은 이하의 방정식을 사용하여 정의될 수 있다:Analyzer 206 includes functionality to analyze the classifier results (e.g., classifier X results 214, classifier Y results 216) and perform recall estimation on the classifier results. The recall estimate is the propensity of a classifier that did not correctly lose a particular document in the classification. In particular, the accuracy is a measure of the percentage of documents that are added to the class by the classifier and that must be exactly in the class (e.g., the number of documents that are exactly in the class by the classifier). On the other hand, the recall estimate is not in the class as categorized, but is an estimate of the percentage of documents that should be in the class. For example, in a classification where the document is in a class or not in a class, the recall estimate is the percentage of documents added or lost to the class by the classifier or other number of documents. The recall can be defined using the following equation:

Figure pct00004
,
Figure pct00004
,

여기서, r은 리콜 퍼센티지이고, 관련된 문서들은 클래스로 분류되어야 하는 모든 문서들이고, 검색된 문서들은 클래스로 분류되는 문서들이다.Where r is the recall percentage, the associated documents are all documents that should be classified as classes, and the retrieved documents are documents that are classified as classes.

리콜은 분류자에 의해 정확히 검색되는 문서들의 수인 정확도와 별개이다. 특히, 정확도는 이하의 방정식을 사용하여 정의될 수 있다:The recall is distinct from the accuracy, which is the number of documents correctly searched by the classifier. In particular, the accuracy can be defined using the following equation:

Figure pct00005
Figure pct00005

여기서, r은 리콜 퍼센티지이고, 관련된 문서들은 클래스로 분류되어야 하는 모든 문서들이고, 검색된 문서들은 클래스로 분류되는 문서들이다.Where r is the recall percentage, the associated documents are all documents that should be classified as classes, and the retrieved documents are documents that are classified as classes.

문서들(예를 들어, 소셜 네트워크 문서들(212), 인터넷 문서들(222))의 큰 코퍼스의 경우, 퍼센티지를 수동으로 결정하는 것은 가능하지 않을 수 있다. 분석기(206)는 다수의 분류자들(분류자 X(202), 분류자 Y(204))를 실행하고 분류 결과들에 기초하여 리콜 추정을 수행하는 기능성을 포함한다. 분석기(206)는 분류자들 중 적어도 하나를 개정하는 기능성을 더 포함할 수 있다.In the case of a large corpus of documents (e.g., social network documents 212, Internet documents 222), it may not be possible to manually determine the percentage. Analyzer 206 includes functionality to execute multiple classifiers (classifier X 202, classifier Y 204) and perform recall estimation based on classification results. Analyzer 206 may further include functionality for revising at least one of the classifiers.

통신 분산기(218)는 분류자 결과들에 기초하여 통신들을 분배하는 기능성을 포함하는 하드웨어, 소프트웨어, 펌웨어, 또는 그것의 임의의 조합이다. 통신 분산기(218)는 소셜 네트워크 애플리케이션 및/또는 독립 제품, 예컨대 제3자에 의해 사용되는 애플리케이션의 일부일 수 있다. 예를 들어, 통신 분산기는 광고들에 대응하는 통신들을 분산하는 광고 서버, 권고들을 사용자에게 송신하는 기능성을 포함하는 권고 엔진, 또는 임의의 다른 통신 분산기일 수 있다. 예로서, 권고들은 소셜 네트워크에, 무선들의 권고들, 프로파일 선호도들의 권고들, 또는 임의의 다른 권고을 포함하는 접촉들의 권고들일 수 있다.The communication spreader 218 is hardware, software, firmware, or any combination thereof including functionality to distribute communications based on the classifier results. The communication spreader 218 may be part of an application used by a social network application and / or an independent product, e.g., a third party. For example, the communication distributor may be an advertisement server that distributes the correspondences to the advertisements, an advisory engine that includes functionality to send recommendations to the user, or any other communications distributor. By way of example, the recommendations may be recommendations of contacts, including recommendations of wireless, recommendations of profile preferences, or any other recommendation, to the social network.

도 2가 2개의 분류자들을 도시하지만, 부가 분류자들은 본 발명의 범위로부터 벗어나는 것 없이 포함될 수 있다. 게다가, 도 2가 소셜 네트워크 저장소에 연결되는 통신 분산기를 도시하지만, 분류 결과들을 사용하는 임의의 다른 모듈은 본 발명의 범위로부터 벗어나는 것 없이 사용될 수 있다.Although Figure 2 shows two classifiers, additional classifiers may be included without departing from the scope of the present invention. In addition, although Figure 2 illustrates a communication distributor that is connected to a social network repository, any other module that uses classification results may be used without departing from the scope of the present invention.

도 1a, 도 1b, 및 도 2가 구성요소들의 구성을 도시하지만, 다른 구성들은 본 발명의 범위로부터 벗어나는 것 없이 사용될 수 있다. 예를 들어, 다양한 구성요소들은 단일 구성요소를 생성하기 위해 조합될 수 있다. 다른 예로서, 단일 구성요소에 의해 수행되는 기능성은 2개 이상의 구성요소들에 의해 수행될 수 있다.Although Figures 1A, 1B, and 2 illustrate the construction of components, other configurations may be used without departing from the scope of the present invention. For example, the various components may be combined to produce a single component. As another example, the functionality performed by a single component may be performed by two or more components.

도 3 및 도 4는 본 발명의 하나 이상의 실시예들에 따른 흐름도를 도시한다. 이러한 흐름도 내의 다양한 단계들이 순차적으로 제시되고 설명되지만, 통상의 기술자는 단계들의 일부 또는 전부가 상이한 순서들로 실행될 수 있고, 조합되거나 생략될 수 있고, 단계들의 일부 또는 전부가 병렬로 실행될 수 있는 것을 이해할 것이다. 더욱이, 단계들은 능동적으로 또는 수동적으로 수행될 수 있다. 예를 들어, 일부 단계들은 본 발명의 하나 이상의 실시예들에 따라 폴링을 사용하여 수행되거나 인터럽트 구동될 수 있다. 예로서, 판단 단계들은 본 발명의 하나 이상의 실시예들에 따라 조건이 존재하는 것을 의미하기 위해 인터럽트가 수신되는 한 프로세서가 명령어를 처리하는 것을 필요로 하지 않을 수 있다. 다른 예로서, 판단 단계들은 본 발명의 하나 이상의 실시예들에 따라, 테스트를 수행함으로써, 예컨대 데이터 값이 테스트된 조건과 일치하는지를 테스트하기 위해 데이터 값을 체크함으로써 수행될 수 있다.Figures 3 and 4 show a flow diagram according to one or more embodiments of the present invention. Although the various steps in this flowchart are presented and described in order, the ordinary skilled artisan will appreciate that some or all of the steps may be performed in different orders, combined or omitted, and that some or all of the steps may be performed in parallel I will understand. Moreover, the steps may be performed actively or passively. For example, some of the steps may be performed using polling or may be interrupt driven in accordance with one or more embodiments of the present invention. By way of example, the determining steps may not require the processor to process an instruction as long as an interrupt is received to indicate that the condition exists in accordance with one or more embodiments of the present invention. As another example, the determining steps may be performed by performing a test, e.g., by checking the data value to test whether the data value is consistent with the tested condition, in accordance with one or more embodiments of the present invention.

도 3은 본 발명의 하나 이상의 실시예들에 따라 사용자와 연관되는 문서들을 분류하는 흐름도를 도시한다. 도 3에서, 문서들은 사용자와 관련되는 디지털 풋프린트 또는 문서들의 집합일 수 있다.3 illustrates a flow chart for classifying documents associated with a user in accordance with one or more embodiments of the present invention. In Fig. 3, the documents may be a set of digital footprints or documents associated with the user.

단계(301)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 클래스 내의 최종 문서들의 제1 세트를 획득하기 위해 분류된다. 다시 말하면, 분류자는 문서를 식별하고 분류자의 속성 세트 내의 속성들에 대응하는 문서의 속성 값들을 추출한다. 속성 값들을 클래스들의 속성들과 비교함으로써, 그것에 의해 분류자가 트레이닝되며, 분류자는 문서가 어느 클래스에 추가되어야 하는지를 판단한다. 분류자는 각각의 문서에 대한 프로세스를 반복한다. 일부 실시예들에서, 분류자는 직렬로 단일 스레드로서 동작한다. 다른 실시예들에서, 분류자는 문서들을 병렬로 분류하는 다수의 스레드들 또는 다수의 애플리케이션 인스턴스들을 가질 수 있다.At step 301, the documents are classified to obtain a first set of final documents in the class according to one or more embodiments of the present invention. In other words, the classifier identifies the document and extracts the attribute values of the document corresponding to the attributes in the attribute set of the classifier. By comparing the attribute values with the attributes of the classes, the classifier is trained thereby, and the classifier determines to which class the document is to be added. The classifier repeats the process for each document. In some embodiments, the classifier operates in series as a single thread. In other embodiments, the classifier may have multiple threads or multiple application instances that classify documents in parallel.

단계(303)에서, 문서들에 대응하는 사용자들은 본 발명의 하나 이상의 실시예들에 따라 식별된다. 본 발명의 하나 이상의 실시예들에서, 각각의 문서는 문서와 연관되는 하나 이상의 사용자들을 가질 수 있다. 예를 들어, 사용자는 문서에 링크를 갖는 메시지를 송신했을 수 있거나, 문서의 저자일 수 있거나, 문서에 액세스했을 수 있거나, 문서에 대해 다른 액션을 수행했을 수 있다. 사용자에 관한 프로파일 정보 및/또는 문서에 대한 메타데이터 정보에 액세스함으로써, 문서와 관계를 갖는 하나 이상의 사용자들이 식별될 수 있다. 본 발명의 하나 이상의 실시예들에서, 하나 이상의 미리 정의된 관계 기준들은 문서와 사용자의 관계를 위해 존재할 수 있다. 예를 들어, 문서와 관계를 갖는 임의의 사용자보다는 오히려, 미리 정의된 관계 기준들은 단계(303)에서 식별되기 위해 사용자가 갖는 미리 정의된 관계를 지정할 수 있다.At step 303, users corresponding to the documents are identified according to one or more embodiments of the present invention. In one or more embodiments of the present invention, each document may have one or more users associated with the document. For example, a user may have sent a message with a link to a document, may be the author of the document, may have accessed the document, or may have performed other actions on the document. By accessing profile information about the user and / or metadata information about the document, one or more users having a relationship with the document can be identified. In one or more embodiments of the invention, one or more predefined relationship criteria may exist for the document-user relationship. Rather than any user having a relationship with the document, for example, the predefined relationship criteria may specify a predefined relationship the user has to be identified at step 303. For example,

단계(305)에서, 통신들은 본 발명의 하나 이상의 실시예들에 따라 분류되는 적어도 하나의 문서에 대응하는 사용자들 각각에 송신된다. 본 발명의 하나 이상의 실시예들에서, 통신은 분류에 기초하여 송신된다. 다시 말하면, 통신은 사용자가 미리 정의된 관계를 갖는 것에 응답하여 클래스 내의 문서와 하나 이상의 미리 정의된 관계들을 갖는 각각의 사용자에게 송신된다. 통신들은 실행 애플리케이션의 사용자 인터페이스를 통해, 소셜 미디어 메시지를 통해, 전자 메일을 통해, 또는 임의의 다른 기술을 통해 송신될 수 있다.In step 305, communications are sent to each of the users corresponding to at least one document that is classified according to one or more embodiments of the present invention. In one or more embodiments of the invention, the communication is transmitted based on the classification. In other words, the communication is sent to each user having one or more predefined relationships with the document in the class in response to the user having a predefined relationship. The communications may be sent via the user interface of the executing application, via a social media message, via e-mail, or via any other technique.

단계(307)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 클래스에 있는 최종 문서들의 제2 세트를 획득하기 위해 제2 분류자를 사용하여 분류된다. 본 발명의 하나 이상의 실시예들에서, 제2 분류자는 제1 분류자에 대한 독립성의 정도에 기초하여 선택된다. 특히, 임의적 문서 수집을 위해, 문서들은 중복되는 경향이 있다. 즉, 동일한 정보는 문서 도처에서 많은 상이한 방식들로 표현된다. 조건적 독립 분류자들을 생성하기 위해 이러한 중복을 레버리징하는 수개의 방식들이 사용될 수 있다. 예를 들어, 제2 분류자는 제1 분류자와 속성들의 상이한 비오버래핑 세트에 기초하여, 속성들의 속성 값들에 기초하여, 문서 내의 콘텐츠의 상이한 부분들에 기초하여, 또는 다른 특성에 기초하여 문서들을 분류하기 위해 트레이닝될 수 있다. 다시 말하면, 본 발명의 하나 이상의 실시예들에서, 제1 분류자와 제2 분류자 사이의 독립성은 완전하지 않을 수 있다. 예를 들어, 일부 종속성은 분류자의 속성들 사이에 존재할 수 있다. 그러나, 본 발명의 하나 이상의 실시예들에 따라, 분류자들 사이의 독립성의 양은 임계값을 충족한다. 분류자들의 예시적 세트들을 구성하는 것은 아래에 논의된다. 본 발명의 하나 이상의 실시예들에서, 제2 분류자에 의한 문서들의 분류는 도 3의 단계(301)를 참조하여 상기 논의된 것과 동일 또는 유사한 기술을 사용하여 수행될 수 있다.At step 307, the documents are classified using a second classifier to obtain a second set of final documents in the class according to one or more embodiments of the present invention. In one or more embodiments of the present invention, the second classifier is selected based on the degree of independence for the first classifier. In particular, for arbitrary document collection, documents tend to overlap. That is, the same information is represented in many different ways throughout the document. Several ways to leverage this redundancy to create conditional independent classifiers can be used. For example, the second classifier may be configured to classify documents based on different parts of the content in the document, or based on different properties, based on different non-overlapping sets of attributes, Can be trained to classify. In other words, in one or more embodiments of the invention, the independence between the first classifier and the second classifier may not be complete. For example, some dependencies may exist between attributes of a classifier. However, in accordance with one or more embodiments of the present invention, the amount of independence between classifiers meets a threshold value. Constructing exemplary sets of classifiers is discussed below. In one or more embodiments of the present invention, classification of documents by the second classifier may be performed using the same or similar techniques as discussed above with reference to step 301 of FIG.

단계(309)에서, 리콜 메트릭은 본 발명의 하나 이상의 실시예들에 따라 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 추정된다. 특히, 본 발명의 하나 이상의 실시예들은 제2 분류자의 결과들을 사용하여 제1 분류자 상에 리콜 추정을 수행한다. 리콜 추정은 양방향 분류를 수행하는 2개의 독립적 분류자들(예를 들어, 분류자 1, 분류자 2)에 대한 이하의 방정식을 사용하여 수행될 수 있다:At step 309, the recall metric is estimated based on the first set of final documents and the second set of final documents according to one or more embodiments of the present invention. In particular, one or more embodiments of the invention perform recall estimation on the first classifier using the results of the second classifier. Recall estimation can be performed using the following equation for two independent classifiers (e.g., classifier 1, classifier 2) that perform bi-directional classification:

Figure pct00006
Figure pct00006

상기 방정식에서, r은 리콜 추정이고, A1은 클래스에서 분류자 1에 의해 분류되는 문서들의 세트이고, A2는 클래스에서 분류자 2에 의해 분류되는 문서들의 세트이고, A12는 클래스에서 분류자들 둘 다에 의해 분류되는 문서들의 세트이고, p1은 분류자 1의 정확도이고, p2는 분류자 2의 정확도이고, U는 집합 내의 모든 문서들의 세트이다. 상기 방정식은 부가 분류자들, 다중방향 분류자들, 또는 많은 독립성을 갖지 않는 분류자들에 대해 수정될 수 있다.In the equation, r is the recall estimation, A 1 is a set of documents that are classified by the classifier 1 in the class, and a set of documents that are classified by the A 2 are classified in a class character 2, A 12 is classified in a class P 1 is the accuracy of classifier 1, p 2 is the accuracy of classifier 2, and U is the set of all documents in the set. The equation may be modified for additional classifiers, multi-direction classifiers, or classifiers that do not have much independence.

단계(311)에서, 리콜 메트릭이 본 발명의 하나 이상의 실시예들에 따라 임계값을 충족하는지의 판단이 이루어진다. 리콜 메트릭이 임계값을 충족하면, 이때 흐름은 종료로 진행될 수 있다. 다시 말하면, 통신은 모든 타겟된 사용자들에게 송신되는 것으로 간주될 수 있다. 본 발명의 하나 이상의 실시예들에서, 양이 임계값을 충족하지 않으면, 흐름은 단계(313)로 진행될 수 있다.At step 311, a determination is made whether the recall metric meets a threshold value in accordance with one or more embodiments of the present invention. If the recall metric meets the threshold, then the flow can proceed to termination. In other words, the communication can be regarded as being transmitted to all the targeted users. In one or more embodiments of the invention, if the amount does not meet the threshold, the flow may proceed to step 313.

단계(313)에서, 제1 분류자는 본 발명의 하나 이상의 실시예들에 따라 개정된 분류자를 획득하기 위해 양에 기초하여 개정된다. 제1 분류자를 개정하는 단계는 제2 분류자의 속성들을 제1 분류자에 추가하는 단계, 부가 트레이닝 샘플들을 사용하여 제1 분류자를 리트레이닝하는 단계 또는 다른 액션을 수행하는 단계를 포함할 수 있다.In step 313, the first classifier is revised based on the quantity to obtain the classifier revised in accordance with one or more embodiments of the present invention. The step of revising the first classifier may include adding attributes of the second classifier to the first classifier, retraining the first classifier using additional training samples, or performing other actions.

단계(315)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 개정된 분류자를 사용하여 분류된다. 본 발명의 하나 이상의 실시예들에서, 개정된 분류자에 의해 문서들을 분류하는 단계는 도 3의 단계(301)를 참조하여 상기 논의된 것과 동일 또는 유사한 기술을 사용하여 수행될 수 있다. 그러나, 원래의 분류자가 문서들을 분류하는 것보다는 오히려, 개정된 분류자는 문서들을 분류한다. 예를 들어, 개정된 분류자는 부가 속성들 또는 속성 값들을 사용할 수 있다.At step 315, the documents are classified using the classifier revised in accordance with one or more embodiments of the present invention. In one or more embodiments of the invention, the step of classifying the documents by the revised classifier may be performed using the same or similar techniques as discussed above with reference to step 301 of FIG. Rather than the original classifier classifying the documents, however, the revised classifier classifies the documents. For example, the revised classifier may use additional attributes or attribute values.

단계(317)에서, 임의의 부가 사용자들은 본 발명의 하나 이상의 실시예들에 따라 분류된 문서들에 기초하여 식별된다. 부가 사용자들을 식별하는 단계는 도 3의 단계(303)를 참조하여 상기 논의된 것과 동일 또는 유사한 기술을 사용하여 수행될 수 있다. 다시 말하면, 개정된 분류 결과들을 사용하여, 부가 사용자들이 식별된다.At step 317, any additional users are identified based on the documents classified according to one or more embodiments of the present invention. Identifying additional users may be performed using the same or similar techniques as discussed above with reference to step 303 of FIG. In other words, using the modified classification results, additional users are identified.

단계(319)에서, 통신은 본 발명의 하나 이상의 실시예들에 따라 부가 사용자들에게 송신된다. 통신을 송신하는 단계는 도 3의 단계(305)를 참조하여 상기 논의된 것과 동일 또는 유사한 기술을 사용하여 수행될 수 있다. 본 발명의 하나 이상의 실시예들에서, 통신을 모든 사용자들에게 송신하는 것보다는 오히려, 통신은 분류자를 개정함으로써 추가되는 부가 사용자들에게만 송신된다.At step 319, communication is sent to additional users according to one or more embodiments of the present invention. The step of transmitting the communication may be performed using the same or similar technology as discussed above with reference to step 305 of FIG. In one or more embodiments of the invention, rather than sending the communication to all users, the communication is sent only to additional users that are added by revising the classifier.

도 4는 예컨대 인덱싱 목적들을 위해, 문서들을 분류하는 흐름도를 도시한다. 도 4에서, 문서의 코퍼스는 가상적으로 임의의 타입의 문서, 예컨대 도 2를 참조하여 상기 논의된 문서들일 수 있다. 단계(401)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 인덱스에서, 클래스 내의 최종 문서들의 제1 세트를 획득하기 위해 분류된다. 다시 말하면, 분류자는 문서를 식별하고 분류자의 속성 세트 내의 속성들에 대응하는 문서의 속성 값들을 추출한다. 속성 값들을 클래스들의 속성들과 비교함으로써, 그것에 의해 분류자가 트레이닝되며, 분류자는 문서가 어느 클래스에 추가되어야 하는지를 판단한다. 그 다음, 분류자는 문서를 인덱스에 적절히 추가할 수 있다. 분류자는 각각의 문서에 대한 프로세스를 반복한다. 일부 실시예들에서, 분류자는 직렬로 단일 스레드로서 동작한다. 다른 실시예들에서, 분류자는 문서들을 병렬로 분류하는 다수의 스레드들 또는 다수의 애플리케이션 인스턴스들을 가질 수 있다.Figure 4 shows a flow chart for classifying documents, for example for indexing purposes. In Fig. 4, the corpus of the document may be virtually any type of document, e.g. the documents discussed above with reference to Fig. At step 401, the documents are sorted in an index according to one or more embodiments of the present invention to obtain a first set of final documents in the class. In other words, the classifier identifies the document and extracts the attribute values of the document corresponding to the attributes in the attribute set of the classifier. By comparing the attribute values with the attributes of the classes, the classifier is trained thereby, and the classifier determines to which class the document is to be added. The classifier can then add the document to the index as appropriate. The classifier repeats the process for each document. In some embodiments, the classifier operates in series as a single thread. In other embodiments, the classifier may have multiple threads or multiple application instances that classify documents in parallel.

단계(403)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 클래스에 있는 최종 문서들의 제2 세트를 인덱스에서 획득하기 위해 제2 분류자를 사용하여 분류된다. 제2 분류자를 선택하는 단계는 도 3의 단계(307)를 참조하여 상기 설명된 기술을 사용하여 수행될 수 있다. 본 발명의 하나 이상의 실시예들에서, 제2 분류자에 의한 문서들의 분류는 도 4의 단계(401)를 참조하여 상기 논의된 것과 동일 또는 유사한 기술을 사용하여 수행될 수 있다.In step 403, the documents are classified using a second classifier to obtain a second set of final documents in the class in the index according to one or more embodiments of the present invention. The step of selecting a second classifier may be performed using the techniques described above with reference to step 307 of FIG. In one or more embodiments of the invention, the classification of documents by the second classifier may be performed using the same or similar techniques as discussed above with reference to step 401 of FIG.

단계(405)에서, 리콜 메트릭은 본 발명의 하나 이상의 실시예들에 따라 최종 문서들의 제1 세트 및 최종 문서들의 제2 세트에 기초하여 추정된다. 단계(407)에서, 리콜 메트릭이 본 발명의 하나 이상의 실시예들에 따라 임계값을 충족하는지의 판단이 이루어진다. 리콜 메트릭이 임계값을 충족하면, 이때 흐름은 종료로 진행될 수 있다. 다시 말하면, 통신은 모든 타겟된 사용자들에게 송신되는 것으로 간주될 수 있다. 본 발명의 하나 이상의 실시예들에서, 양이 임계값을 충족하지 않으면, 흐름은 단계(409)로 진행될 수 있다. 단계(413)에서, 제1 분류자는 본 발명의 하나 이상의 실시예들에 따라 개정된 분류자를 획득하기 위해 양에 기초하여 개정된다. 단계(415)에서, 문서들은 본 발명의 하나 이상의 실시예들에 따라 개정된 분류자를 사용하여 분류된다. 단계들(405, 407, 409, 및 411)을 수행하는 단계는 도 3의 단계(309, 311, 313, 및 315)를 참조하여 상기 설명된 기술을 사용하여 각각 수행될 수 있다.At step 405, the recall metric is estimated based on the first set of final documents and the second set of final documents according to one or more embodiments of the present invention. At step 407, a determination is made whether the recall metric meets a threshold value in accordance with one or more embodiments of the present invention. If the recall metric meets the threshold, then the flow can proceed to termination. In other words, the communication can be regarded as being transmitted to all the targeted users. In one or more embodiments of the invention, if the amount does not meet the threshold, the flow may proceed to step 409. [ In step 413, the first classifier is revised based on the quantity to obtain the classifier revised in accordance with one or more embodiments of the present invention. At step 415, the documents are classified using the classifier revised in accordance with one or more embodiments of the present invention. Steps to perform steps 405, 407, 409, and 411 may be performed using techniques described above with reference to steps 309, 311, 313, and 315 of FIG. 3, respectively.

단계(413)에서, 통신에 대한 요청은 본 발명의 하나 이상의 실시예들에 따라 사용자로부터 수신된다. 예를 들어, 사용자는 클래스에 대응하는 문서들의 세트를 요청할 수 있다. 다시 말하면, 사용자는 특정 토픽에 따라 인덱싱되는 문서들을 요청할 수 있다. 다른 예로서, 사용자는 분석이 문서들과 연관되는 클래스들에 기초하여 수행되는 것을 요청할 수 있다. 예를 들어, 분석은 클래스에 있는 문서들의 퍼센티지들 및 타입들일 수 있다.At step 413, a request for communication is received from the user in accordance with one or more embodiments of the present invention. For example, a user may request a set of documents corresponding to a class. In other words, the user can request documents that are indexed according to a particular topic. As another example, the user may request that the analysis be performed based on the classes associated with the documents. For example, the analysis may be the percentages and types of documents in the class.

단계(417)에서, 분류 결과들은 요청에 응답하여 획득된다. 본 발명의 하나 이상의 실시예들에서, 사용자에 의해 요청되는 분석이 수행되거나, 클래스와 인덱싱되는 문서들 및/또는 문서들의 식별자들이 획득되거나, 분류 결과들의 다른 세트가 획득된다.In step 417, the classification results are obtained in response to the request. In one or more embodiments of the invention, an analysis requested by the user is performed, identifiers of documents and / or documents indexed with the class are obtained, or another set of classification results is obtained.

단계(419)에서, 통신은 본 발명의 하나 이상의 실시예들에 따라 사용자에게 송신된다. 다시 말하면, 통신은 요청된 정보에 의해 발생되고 사용자에게 송신된다. 통신을 송신하는 단계는 다양한 기술들을 사용하여, 예컨대 전자 메일 메시지를 통해, 웹 페이지에서, 웹 애플리케이션 내의 페이지로서, 또는 임의의 다른 기술들을 사용하여 수행될 수 있다. 본 발명의 하나 이상의 실시예들에서, 통신을 송신하는 단계는 메시지를 패킷들로 분할하고, 다양한 물리 디바이스들을 연결하는 네트워크 상에 송신함으로써 수행될 수 있다.At step 419, the communication is transmitted to the user in accordance with one or more embodiments of the present invention. In other words, the communication is generated by the requested information and transmitted to the user. The step of transmitting the communication can be performed using various techniques, for example, via an electronic mail message, in a web page, as a page in a web application, or using any other techniques. In one or more embodiments of the invention, the step of transmitting the communication may be performed by dividing the message into packets and transmitting on the network connecting the various physical devices.

독립 분류자들을 생성하는 이하의 예들은 설명적 목적들만을 위한 것이고 본 발명의 범위를 제한하도록 의도되지 않는다. 이하의 예에서, 관심 조건적 독립 성질들을 나타내는 경향이 있는 상태 키워드 필터들의 쌍을 고려한다. 키워드 필터는 필터 내의 단어들 중 어느 것이 문서에 나타나면 문서가 온 토픽으로 표시되는 특수 타입의 분류자이다. 시드 용어는 가능한 가장 넓은 일반성에서 관심의 토픽을 캡처하는 단일 단어 또는 구이다. 시드 용어들의 일부 예들은 스포츠, 화성 또는 오바마일 것이다. 분류자들은 이하와 같이 정의된다: 쌍 내의 제1 분류자, Cseed, 용어들 시드에 관한 필터들; #seed(소셜 미디어 메시지들의 경우에)인 반면 제2 필터, Cneighbors, 시드 용어들의 유사한 이웃들에 관한 필터들. 상이한 스코어들의 수는 오버랩을 측정하기 위해 사용될 수 있다. Aseed 및 Ay가 시드 용어 필터 및 후보 키워드 y 각각에 의해 발견되는 문서들을 나타내면, 하나의 그러한 유사성 스코어는 아래의 방정식을 사용하는 자카드 유사성이다.The following examples for generating independent classifiers are for illustrative purposes only and are not intended to limit the scope of the invention. In the following example, we consider a pair of state keyword filters that tend to exhibit the conditional independence properties. A keyword filter is a special type of classifier in which a document is displayed as an on-topic when any of the words in the filter appear in the document. A seed term is a single word or phrase that captures the topic of interest in the widest generality possible. Some examples of seed terms would be Sports, Mars or Obama. Classifiers are defined as follows: a first classifier in a pair, C seed , filters on terms seed; #seed (in the case of social media messages), while filters for similar neighbors of the second filter, C neighbors , and seed terms. The number of different scores can be used to measure the overlap. If A seed and A y denote documents found by each of the seed term filter and candidate keyword y , then one such similarity score is jacquard similarity using the equation below.

Figure pct00007
Figure pct00007

이하는 시드 용어들 및 높은 자카드 유사성 이웃들의 예시적 세트이다. 시드 용어들의 제1 예는 [apple;#apple]이고 유사성 이웃들은 [#ios6, #ipad3, #iphone, hack,macintosh, iphones, #siri, ios, 맥북, icloud, ipad, 삼성, #ipodtouch, 4s, 아이튠즈, 시디아, 사이더, #gadget, #tech, #tablet, app, 커넥터, #mac,...]이다. 시드 용어들의 제2 예는 [mars;#mars]이고 유사성 이웃들은 [로버, 나사, #curiosity, #curiousity, 이미지, 미션, 표면, #curiosityrover, 브루노, 밀키, 버짓, @marscuriosity, 게일, 분화구, 궤도, 성공적으로, 육지들, 착륙, 숨막힘 ...]이다. 시드 용어들의 제3 예는 [obama;#obama]이고 유사성 이웃들은 [@barackobama, 버락, 부시, #mitt2012, #obama2012, obamas, #dems, #gop, #military, 롬니, #idontsupportobama, potus, #president, 행정부, 프레스, #politics, 투표 ...]이다. 시드 용어들의 제4 예는 [olympics;#olympics]이고 유사성 이웃들은 [메달리스트, 금, 런던, gb, 키라니, 체조선수, 케이트, 스프린터, 우승, won, #boxing, 축구, 시계, 워칭(watching), #usa, #teamgb, #canada, #london, 투창, nbc, 경기, 2012, 400m ...]이다.The following is an exemplary set of seed terms and high jacquard similarities. The first example of seed terms is [apple; #apple] and similar neighbors are [# ios6, # ipad3, #iphone, hack, macintosh, iphones, #siri, ios, macbook, icloud, ipad, samsung, #ipodtouch, 4s , ITunes, Sidia, Sider, #gadget, #tech, #tablet, app, connector, #mac, ...]. A second example of seed terms is [mars; #mars] and similar neighbors [rover, screw, #curiosity, #curiousity, image, mission, surface, #curiosityrover, Bruno, Milky, budget, @marscuriosity, Orbit, successfully, land, landing, breathing ...]. A third example of seed terms is [obama; #obama] and similar neighbors are [@barackobama, Barack, bush, #mitt2012, # obama2012, obamas, #dems, #gop, #military, romney, #idontsupportobama, president, administration, press, #politics, vote ...]. The fourth example of seed terms is [olympics; #olympics] and similar neighbors [medalists, gold, london, gb, keylani, gymnast, kate, sprinter, win, won, #boxing, football, watch, watching ), #usa, #teamgb, #canada, #london, pitcher, nbc, competition, 2012, 400m ...].

다른 유사성 스코어는 이하의 방정식을 사용하는 비대칭 오버랩 측정값이다.Another similarity score is an asymmetric overlap measure using the following equation.

Figure pct00008
.
Figure pct00008
.

PMI, 트버스키 유사성, 또는 다른 유사성 측정값이 사용될 수 있다. 어느 측정이 사용되는 것에 관계없이, 상단 스코어링 이웃들(시드 용어들을 배제시킴)은 Cneighbors를 정의하는 필터에 포함된다. 이웃들의 리스트에 나타나는 일부 용어들이 온 토픽이 아닐 수 있지만, 필터들 둘 다는 "합리적인" 전체 정확도들을 갖는다. 일부 실시예들에서, 상기 방정식들의 분모들에서의 정확도는 조건적 독립 가정들에 더하여 계산을 불안정하게 하지 않는 만큼 작지 않도록 단지 요구된다.PMI, bus key similarity, or other similarity measure values may be used. Regardless of which measurement is used, the top scoring neighbors (excluding seed terms) are included in the filter defining the C neighbors . Although some terms appearing in the list of neighbors may not be on-topics, both filters have "reasonable" overall accuracy. In some embodiments, the accuracy in the denominators of the above equations is only required to be not so small as not to make the calculations unstable in addition to the conditional independent assumptions.

시드 용어들은 예의바른 토픽들에 대해, 온 토픽 문서를 고려하면, 다른 용어들과 독립적으로 발생할 수 있다. 예를 들어, 토픽 올림픽에 대해, 문서가 온 토픽 문서들의 세트로부터 인출되는 것을 고려하면, 용어들 100m, 수영 및 투창의 발생들이 시드 용어 올림픽과 독립적으로 발생하는 것을 예상할 것이다.Seed terms may occur independently of other terms, with respect to well-defined topics, given an on-topic document. For example, for a topic olympics, taking into account that a document is drawn from a set of on-topic documents, it is expected that occurrences of the terms 100m, swimming and pitching will occur independently of the seed term olympics.

다른 예로서, 조건적 독립 성질을 충족하는 임계값 기반 분류자들 및 소셜 미디어 분류자 쌍이 고려될 수 있다. 제2 예에서, 샘플 외 자료를 통해 평가될 때 실수값 스코어를 생성하는 트레이닝 코퍼스를 통해 유도되는 분류자들이 고려된다. 설정 임계값보다 위의 스코어들에 대해, 문서는 온 토픽으로 라벨링된다. 많은 공통으로 사용된 머신 학습 기술들은 로지스틱 회귀, SVM 또는 나이브 베이즈를 포함하여, 이러한 카테고리로 나뉘어진다. 부가적으로, 문서들(U)의 모집단은 또한 다른 문서들에 링크들을 포함하는 문서들의 세트이다. 소셜 미디어의 경우에, 분류자는 또한 웹 상의 문서들에 링크들을 포함하는 소셜 미디어 메시지들에 제한될 수 있다. 임계값 기반 분류자들을 사용하여, 조건적 독립 쌍은 이하와 같이 구성될 수 있다: 하나의 분류자는 소셜 미디어 메시지 텍스트 상에 전적으로 트레이닝되고 실행되는 반면에 다른 것은 소셜 미디어 메시지가 링크하는 웹 문서들에 전적으로 기초한다. 트레이닝에서, 각각의 설명/웹 문서 쌍을 발생시키는 프로세스들은 서로 독립적이다. 일부 실시예들에서, 조건적 독립성만이 근접한 의미로 유지된다.As another example, threshold-based classifiers and social media classifier pairs that satisfy conditional independence properties can be considered. In a second example, classifiers derived through training corpus that produce a real-valued score when evaluated through out-of-sample data are considered. For scores above the set threshold, the document is labeled on-topic. Many commonly used machine learning techniques are divided into these categories, including logistic regression, SVM or Naive Bayes. Additionally, the population of documents U is also a set of documents that contain links to other documents. In the case of social media, the classifier may also be restricted to social media messages that contain links to documents on the web. Using threshold-based classifiers, a conditional independent pair can be constructed as follows: one classifier is wholly trained and executed on the social media message text, while the other is the web documents to which the social media message links Lt; / RTI > In training, the processes that generate each description / web document pair are independent of each other. In some embodiments, only conditional independence is maintained in close proximity.

예에서, 분류자들(C1 및 C2)에 대한 임계값들이 저하됨에 따라, 조건적 독립 가정들은 점점 더 유효해진다. 그러나, 더 낮은 레벨에서 임계값들을 선택하는 트레이드오프는 각각의 정확도들(p1 및 p2)의 정확한 추정값들을 획득하는 것이 더 비싸지게 한다는 것이다.In the example, as the thresholds for the classifiers C1 and C2 decrease, the conditional independent assumptions become more and more valid. However, the tradeoff of selecting thresholds at a lower level is to make it more expensive to obtain accurate estimates of each of the accuracies pi and p2.

다른 예로서, 문서들(U)의 원래의 모집단으로 돌아오면, 제1 분류자(C1)가 필터 기반 또는 임계값 기반인 것을 허용하는 분류자 쌍이 고려된다. 제2 분류자(C2)는 소셜 신호들에 전적으로 기초한다. 소셜 신호들은 저작권(기술 논문들에 대해 주로 알려지는 저자가 토픽 기술에 대한 온 토픽으로서 C2에 의해 분류되는 그/그녀의 소셜 미디어 메시지들의 모두를 가질 것임)으로 구성될 수 있다. 소셜 미디어 플랫폼 상에서, @mentions은 부가 소셜 신호들을 제공할 수 있다. 예를 들어, 소셜 미디어 메시지가 답장으로서 @barackobama에 송신되었던 것을 인식하는 것은 소셜 미디어 메시지가 정치에 관한 것인 신호를 제공할 수 있다. 이러한 분류자들 각각에 의해 사용되는 신호들이 독립적 근원들을 갖는다는 사실로 인해, 조건적 독립성은 또한 여기서 유지될 수 있다.As another example, upon returning to the original population of documents U, a classifier pair is considered that allows the first classifier C1 to be filter-based or threshold-based. The second classifier C2 is based solely on the social signals. The social signals may consist of copyright (the author, which is mainly known for technical papers, will have all of his / her social media messages categorized by C2 as on-topic to topic technology). On social media platforms, @mentions can provide additional social signals. For example, recognizing that a social media message was sent to @ barackobama as a reply, it can provide a signal that the social media message is about politics. Due to the fact that the signals used by each of these classifiers have independent sources, conditional independence can also be maintained here.

본 발명의 하나 이상의 실시예들에서, 분류자가 사용되고 있을지라도, 2개의 새로운 분류자들은 아래를 사용하여 구성될 수 있다. 그러한 분류자들 각각의 리콜들을 가지면, 전체 양수들에 관한 추정값, 즉 네스트(nest)가 형성될 수 있다. 즉, 추정값 네스트는 이하와 같이 계산될 수 있다:In one or more embodiments of the present invention, although the classifier is being used, two new classifiers may be constructed using the following. Having recalls of each of those classifiers, an estimate, i.e., a nest, of the total positive numbers can be formed. That is, the estimated value nest can be calculated as follows:

Figure pct00009
,
Figure pct00009
,

여기서, r1은 조건적 독립 분류자의 리콜이고, p1은 대응하는 정확도이고 A1은 이러한 분류자에 의해 검색되는 문서들의 세트이다. 현재 다루고 있는 상기 추정값을 사용하면, 정확도가 상기 논의된 바와 같이 저렴하게 계산될 수 있으므로, 관심 분류자에 대한 리콜의 추정값이 획득될 수 있다. 관심 분류자의 리콜에 대한 추정값(즉, nnew-est)은 이하의 방정식들을 사용하여 획득될 수 있다.Where r 1 is the recall of the conditional independent classifier, p 1 is the corresponding accuracy and A 1 is the set of documents retrieved by this classifier. Using the estimates currently being addressed, an estimate of the recall for the classifier of interest can be obtained since the accuracy can be computed inexpensively as discussed above. The estimate for the recall of interest classifiers (i.e., n new-est ) can be obtained using the following equations.

Figure pct00010
Figure pct00010

이하의 예는 설명적 목적들만을 위한 것이고 본 발명의 범위를 제한하도록 의도되지 않는다. 이하의 예에서, 사용자들이 특정 광고 캠페인을 위해 타겟팅하는데 적절한지를 분류하기 위해 분류가 수행되는 시나리오를 고려한다. 광고 캠페인은 적은 수의 사용자들, 예컨대 틈새 시장 제품들에 기초한 타겟팅에 도달하는 것으로 의미된다. 하나의 분류자는 예를 들어, 생성되는 소셜 미디어 메시지들의 코퍼스에 기초할 수 있는 반면에, 다른 것은 계정이 팔로우되는 사용자들에 기초할 수 있다. 2개의 분류자들은 각각의 분류자의 리콜 메트릭(예를 들어, 각각의 분류자가 발견할 수 있는 모든 적절한 타겟팅 후보들의 일부)을 결정하기 위해 함께 사용될 수 있다.The following examples are for illustrative purposes only and are not intended to limit the scope of the invention. In the following example, consider a scenario in which classification is performed to classify whether users are appropriate for targeting for a particular advertising campaign. An ad campaign is meant to reach a target based on a small number of users, e.g., niche products. One classifier may, for example, be based on the corpus of generated social media messages, while the other may be based on users whose accounts are followed. The two classifiers can be used together to determine the recall metric of each classifier (e.g., a portion of all appropriate targeting candidates that each classifier can discover).

더 구체적인 예로서, 광고 분산기기 고급 자동차에 대한 타겟된 광고를 송신하는 시나리오를 고려한다. 구체적으로, 광고 분산기는 부유한 사용자들을 타겟팅한다. 예에서, 분류자 X는 사용자 프로파일들에 기초하여 분류될 수 있다. 즉, 분류자 X는 각각의 사용자가 얼마나 부유한지의 표시일 수 있는 사용자 프로파일에서 특정 속성들을 검색한다. 분류자 X는 분류자 X 결과들에서 적어도 특정 수입 또는 순자산 레벨을 갖는 식별된 사용자들의 사용자 식별자들을 저장한다. 분류자 Y는 각각의 사용자가 얼마나 부유한지의 표시일 수 있는 사용자 프로파일들에서 특정 키워드들을 검색하고 분류자 Y 결과들에서 적어도 특정 수입 또는 순자산 레벨을 갖는 식별된 사용자들을 저장한다.As a more specific example, consider a scenario in which a targeted advertisement is sent for an advertisement distribution device premium automobile. Specifically, the ad distributor targets rich users. In the example, the classifier X may be classified based on user profiles. That is, the classifier X searches for specific attributes in the user profile, which may be an indication of how rich each user is. The classifier X stores user identifiers of identified users having at least a certain revenue or net asset level in the classifier X results. The classifier Y searches for specific keywords in user profiles, which may be an indication of how rich each user is, and stores the identified users with at least a certain income or net asset level in the classifier Y results.

분류자 X 결과들은 분류자 Y 결과들의 리콜, 및 따라서 분류자 Y에 의해 손실되는 타겟 사용자들의 퍼센티지를 추정하기 위해 분류자 Y 결과들을 갖는 분석 모듈에 의해 사용될 수 있다. 예에서, 리콜의 퍼센티지가 30%이면, 이때 광고 분산기는 고급 자동차에 관심이 있을 수 있는 사용자들의 70%를 손실할 수 있다. 분류자 Y가 타겟된 사용자들의 임계 퍼센티지보다 많이 손실했기 때문에, 추정된 리콜은 개정된 분류자를 생성하는 분류자 Y를 개정하기 위해 사용될 수 있다. 예를 들어, 분류자 Y는 부가 트레이닝 세트에 의해 리트레이닝될 수 있고, 추가되는 부가 키워드들을 가질 수 있고, 추가되는 부가 또는 대안 타입들의 문서들을 가질 수 있고, 및/또는 분류자 X와 조합될 수 있다. 분류자 X 및 분류자 Y는 개정된 분류자를 생성하기 위해 조합되면, 리콜 및 정확도는 본 발명의 하나 이상의 실시예들에 따라 기존 분류자 X 결과들 및 분류자 Y 결과들에 기초하여 추정될 수 있다.The classifier X results may be used by the analysis module with classifier Y results to estimate the recall of classifier Y results and thus the percentage of target users lost by classifier Y. [ In the example, if the recall percentage is 30%, then the ad distributor may lose 70% of the users who may be interested in the premium automobile. Because the classifier Y has lost more than the threshold percentage of the targeted users, the estimated recall may be used to revise the classifier Y that generates the revised classifier. For example, the classifier Y may be retrained by an additional training set, may have additional keywords to be added, have additional or alternative types of documents to be added, and / . If classifier X and classifier Y are combined to produce a revised classifier, the recall and accuracy can be estimated based on existing classifier X results and classifier Y results in accordance with one or more embodiments of the present invention. have.

추정된 리콜의 품질은 분류자 X와 분류자 Y 사이의 독립성의 정도 및/또는 분류자 X 결과들 및 분류자 Y 결과들의 정확도에 의존할 수 있다. 다시 말하면, 추정값의 품질은 분류자 및/또는 결과들 사이의 독립성의 정도를 산출함으로써 및/또는 정확도를 추정함으로써 산출될 수 있다. 독립성의 더 큰 정도(즉, 더 독립적임) 및/또는 더 큰 정확도의 경우, 품질은 증가한다.The quality of the estimated recall may depend on the degree of independence between classifier X and classifier Y and / or the accuracy of classifier X results and classifier Y results. In other words, the quality of the estimate can be calculated by calculating the degree of independence between the classifier and / or the results and / or by estimating the accuracy. For a greater degree of independence (i. E., More independent) and / or greater accuracy, the quality increases.

본 발명의 하나 이상의 실시예들은 이하와 같이 소셜 미디어 분석에 적용될 수 있다. 소셜 미디어 갱신들(예를 들어, 소셜 미디어 메시지들, 상태 포스트들)의 생성 및 갱신들의 볼륨 및/또는 가용성은 다양한 예측 작업들에 대한 사용을 야기했다. 예를 들어, 예측 작업들은 제품들 및 브랜드들(및 최종 잠재적인 판매들) 주위에서 정서를 분석하는 것, 스포츠 이벤트들에 대한 관객을 추론하는 것, 정치인들의 인기를 추정하는 것 등을 포함할 수 있다. 따라서, 하나 이상의 실시예들은 소셜 미디어 스트림들을 토픽들로 분류하는 독립 분류자들을 정의할 수 있다. 그 다음, 하나 이상의 실시예들은 하나의 또는 둘 다의 분류자들의 성능을 결정하기 위해 상기 설명된 기술을 사용하여 리콜을 추정할 수 있다. 추정된 리콜에 기초하여, 분류자는 소셜 미디어 갱신들을 재분류하기 위해 갱신되고 사용될 수 있다. 분류의 결과들은 상기 예측 작업들에 따라 소셜 미디어 갱신들을 설명하는 메트릭들을 발생시키기 위해 사용될 수 있다. 소셜 미디어 메트릭들은 하나 이상의 사용자들, 예컨대 동작들을 수행하기 위해 결과들을 사용하는 다른 회사로의 통신에 설명될 수 있다.One or more embodiments of the present invention may be applied to social media analysis as follows. The volume and / or availability of the creation and updates of social media updates (e.g., social media messages, status posts) has resulted in the use of various predictive tasks. For example, prediction tasks include analyzing emotions around products and brands (and ultimately potential sales), inferring spectators to sporting events, estimating the popularity of politicians, and the like . Thus, one or more embodiments may define independent classifiers that classify social media streams into topics. One or more embodiments can then estimate the recall using the techniques described above to determine the performance of one or both classifiers. Based on the estimated recall, the classifier can be updated and used to reclassify social media updates. The results of the classification may be used to generate metrics describing the social media updates in accordance with the prediction operations. The social media metrics may be described in terms of communication to one or more users, e.g., other companies that use the results to perform actions.

도 5는 본 발명의 하나 이상의 실시예들에 따라, 일 예를 도시한다. 특히, 도 5는 예시적 벤 다이어그램을 도시한다. 도 5에서, 모든 문서들의 세트를 갖는 영역은 영역 U(500)로 라벨링되고 전체 직사각형이다. 클래스에 실제로 속하는 문서들의 세트를 갖는 영역은 원형 라벨링된 영역 T(502)이다. 클래스에 속하는 것으로 분류자(C1)에 의해 분류되는 문서들의 세트를 갖는 영역은 원형 라벨링된 영역 A1(504)이다. 클래스에 속하는 것으로 분류자(C2)에 의해 분류되는 문서들의 세트를 갖는 영역은 원형 라벨링된 영역 A2(506)이다. A1 및 A2가 제약들을 충족하면, C1의 리콜(r1)은 이하의 방정식을 사용하여 추정될 수 있다:Figure 5 illustrates an example, in accordance with one or more embodiments of the present invention. In particular, Figure 5 illustrates an exemplary Venn diagram. In Figure 5, an area with a set of all documents is labeled as area U 500 and is a whole rectangle. The area with the set of documents that actually belongs to the class is the circularly labeled area T (502). The area having a set of documents classified by the classifier C 1 as belonging to the class is the circularly labeled area A 1 504. The area having the set of documents classified by the classifier C 2 as belonging to the class is the circularly labeled area A 2 506. If A1 and A2 meet the constraints, the recall r 1 of C 1 can be estimated using the following equation:

Figure pct00011
Figure pct00011

다시 말하면, 상기 방정식 및 도 5는 분류자(C1)가 발견할 수 있는 어느 A2에 대한 양을 나타낸다. C1 및 C2가 충분히 독립적이면, 상기 방정식을 사용하는 추정값은 리콜(r1)을 신뢰성 있게 운반한다. 문서들의 전체 세트로부터의 무작위 추첨들을 통한 독립성보다는 오히려, U의 온 토픽 및 온 토픽 서브세트들을 통한 독립성은 본 발명의 하나 이상의 실시예들에 따라 상기 방정식의 직관을 유효하게 한다.That is, the equations and Figure 5 shows the amount for which A 2 can be found a classifier (C1). If C1 and C2 are sufficiently independent, the estimates using the above equations reliably carry the recall r 1 . Rather than being independent of random draws from the entire set of documents, U's on-topic and independence through on-topic subsets validate the intuition of the equation according to one or more embodiments of the present invention.

본 발명의 실시예들은 컴퓨팅 시스템 상에 구현될 수 있다. 이동, 데스크톱, 서버, 내장, 또는 다른 타입들의 하드웨어의 임의의 조합이 사용될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 컴퓨팅 시스템(600)은 하나 이상의 컴퓨터 프로세서(들)(602), 연관된 메모리(604)(예를 들어, 랜덤 액세스 메모리(random access memory)(RAM), 캐시 메모리, 플래시 메모리 등), 하나 이상의 저장 디바이스(들)(606) (예를 들어, 하드 디스크, 광 드라이브 예컨대 콤팩트 디스크(compact disk)(CD) 드라이브 또는 디지털 다기능 디스크(digital versatile disk)(DVD) 드라이브, 플래시 메모리 스틱 등), 및 다수의 다른 요소들 및 기능성들을 포함할 수 있다. 컴퓨터 프로세서(들)(602)는 명령어들을 처리하는 집적 회로일 수 있다. 예를 들어, 컴퓨터 프로세서(들)는 하나 이상의 코어들, 또는 프로세서의 마이크로코어들일 수 있다. 컴퓨팅 시스템(600)은 또한 하나 이상의 입력 디바이스(들)(610), 예컨대 터치스크린, 키보드, 마우스, 마이크로폰, 터치패드, 전자 펜, 또는 임의의 다른 타입의 입력 디바이스를 포함할 수 있다. 게다가, 컴퓨팅 시스템(600)은 하나 이상의 출력 디바이스(들)(608), 예컨대 스크린(예를 들어, 액정 디스플레이(liquid crystal display)(LCD), 플라즈마 디스플레이, 터치스크린, 음극선관(cathode ray tube)(CRT) 모니터, 프로젝터, 또는 다른 디스플레이 디바이스), 프린터, 외부 스토리지, 또는 임의의 다른 출력 디바이스를 포함할 수 있다. 출력 디바이스(들) 중 하나 이상은 입력 디바이스(들)와 동일하거나 상이할 수 있다. 컴퓨팅 시스템(600)은 네트워크 인터페이스 연결(도시되지 않음)을 통해 네트워크(612)(예를 들어, 근거리 네트워크(LAN), 광역 네트워크(wide area network)(WAN) 예컨대 인터넷, 이동 네트워크, 또는 임의의 다른 타입의 네트워크)에 연결될 수 있다. 입력 및 출력 디바이스(들)은 (예를 들어, 네트워크(612)를 통해) 컴퓨터 프로세서(들)(602), 메모리(604), 및 저장 디바이스(들)(606)에 국부적으로 또는 원격으로 연결될 수 있다. 많은 상이한 타입들의 컴퓨팅 시스템들이 존재하고, 상술한 입력 및 출력 디바이스(들)는 다른 형태들을 취할 수 있다.Embodiments of the invention may be implemented on a computing system. Any combination of moving, desktop, server, embedded, or other types of hardware may be used. 6, computing system 600 may include one or more computer processor (s) 602, associated memory 604 (e.g., random access memory (RAM) (E.g., a hard disk, an optical drive such as a compact disk (CD) drive or a digital versatile disk (e.g., a hard disk, DVD) drives, flash memory sticks, etc.), and a number of other elements and functionality. The computer processor (s) 602 may be an integrated circuit that processes instructions. For example, the computer processor (s) may be one or more cores, or microcores of the processor. The computing system 600 may also include one or more input device (s) 610, such as a touch screen, keyboard, mouse, microphone, touch pad, electronic pen, or any other type of input device. In addition, computing system 600 may include one or more output device (s) 608, such as a screen (e.g., a liquid crystal display (LCD), a plasma display, a touch screen, a cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output device (s) may be the same as or different from the input device (s). Computing system 600 may be coupled to a network 612 (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, a mobile network, Other types of networks). The input and output device (s) may be connected locally or remotely to computer processor (s) 602, memory 604, and storage device (s) 606 (e.g., via network 612) . There are many different types of computing systems, and the input and output device (s) described above can take other forms.

본 발명의 실시예들을 수행하기 위해 컴퓨터 판독가능 프로그램 코드의 형태인 소프트웨어 명령어들은 비일시적 컴퓨터 판독가능 매체 예컨대 CD, DVD, 저장 디바이스, 디스켓, 테이프, 플래시 메모리, 물리 메모리, 또는 임의의 다른 컴퓨터 판독가능 저장 매체 상에, 전체적으로 또는 부분적으로, 일시적으로 또는 영구적으로 저장될 수 있다. 구체적으로, 소프트웨어 명령어들은 프로세서(들)에 의해 실행될 때, 본 발명의 실시예들을 수행하도록 구성되는 컴퓨터 판독가능 프로그램 코드에 대응할 수 있다.Software instructions in the form of computer readable program code for carrying out embodiments of the present invention may be stored on a non-volatile computer readable medium such as a CD, DVD, storage device, diskette, tape, flash memory, physical memory, On a removable storage medium, in whole or in part, temporarily or permanently. In particular, software instructions may correspond to computer readable program code that is configured to perform embodiments of the present invention when executed by the processor (s).

게다가, 상술한 컴퓨팅 시스템(600)의 하나 이상의 요소들은 원격 위치에 위치되고 네트워크(612)를 통해 다른 요소들에 연결될 수 있다. 게다가, 본 발명의 실시예들은 복수의 노드들의 분산 시스템 상에 구현될 수 있으며, 본 발명의 각각의 부분은 분산 시스템 내의 상이한 노드 상에 위치될 수 있다. 본 발명의 일 실시예에서, 노드는 별개의 컴퓨팅 디바이스에 대응한다. 대안적으로, 노드는 연관된 물리 메모리를 갖는 컴퓨터 프로세서에 대응할 수 있다. 노드는 대안적으로 공유 메모리 및/또는 자원들을 갖는 컴퓨터 프로세서 또는 컴퓨터 프로세서의 마이크로코어에 대응할 수 있다.In addition, one or more elements of the computing system 600 described above may be located at a remote location and may be coupled to other elements via the network 612. In addition, embodiments of the present invention may be implemented on a distributed system of a plurality of nodes, and each portion of the invention may be located on a different node in the distributed system. In one embodiment of the invention, the node corresponds to a separate computing device. Alternatively, the node may correspond to a computer processor having associated physical memory. A node may alternatively correspond to a microcore of a computer processor or computer processor having shared memory and / or resources.

본 발명이 제한 수의 실시예들에 대해 설명되었지만, 본 개시내용의 이득을 갖는 본 기술분야의 통상의 기술자들은 본원에 개시된 바와 같이 본 발명의 범위로부터 벗어나지 않는 다른 실시예들이 고안될 수 있는 것을 이해할 것이다. 따라서, 본 발명의 범위는 첨부된 청구항들에 의해서만 제한되어야 한다.While the invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate that other embodiments may be devised which do not depart from the scope of the invention as disclosed herein I will understand. Accordingly, the scope of the present invention should be limited only by the appended claims.

Claims (20)

문서 검색을 위한 방법으로서,
최종 문서들의 제1 세트를 획득하기 위해 복수의 문서들을 제1 분류자에 의해 분류하는 단계 - 상기 최종 문서들의 제1 세트는 복수의 사용자들에 대응함 -;
상기 문서들의 제1 세트 내의 적어도 하나의 문서에 대응하는 복수의 사용자들 각각에 기초하여 통신을 상기 복수의 사용자들 각각에 송신하는 단계;
최종 문서들의 제2 세트를 획득하기 위해 상기 복수의 문서들을 제2 분류자에 의해 분류하는 단계;
상기 최종 문서들의 제1 세트 및 상기 최종 문서들의 제2 세트에 기초하여 상기 제1 분류자에 의한 식별로부터 배제되는 상기 복수의 문서들의 양을 컴퓨터 프로세서에 의해 추정하는 단계;
개정된 분류자를 획득하기 위해 상기 양에 기초하여 상기 제1 분류자를 개정하는 단계;
상기 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 상기 복수의 문서들을 상기 개정된 분류자에 의해 분류하는 단계; 및
상기 적어도 하나의 부가 문서에 대응하는 적어도 하나의 부가 사용자에 기초하여 상기 통신을 상기 복수의 사용자들로부터 배제되는 상기 적어도 하나의 부가 사용자에 송신하는 단계
를 포함하는 방법.
CLAIMS 1. A method for document retrieval,
Classifying a plurality of documents by a first classifier to obtain a first set of final documents, the first set of final documents corresponding to a plurality of users;
Sending a communication to each of the plurality of users based on each of the plurality of users corresponding to at least one document in the first set of documents;
Classifying the plurality of documents by a second classifier to obtain a second set of final documents;
Estimating, by a computer processor, an amount of the plurality of documents excluded from identification by the first classifier based on the first set of final documents and the second set of final documents;
Revising the first classifier based on the quantity to obtain a revised classifier;
Classifying the plurality of documents by the revised classifier to obtain at least one additional document excluded from the first set of documents; And
Transmitting the communication to the at least one additional user that is excluded from the plurality of users based on at least one additional user corresponding to the at least one additional document
≪ / RTI >
제1항에 있어서, 상기 제1 분류자는 제약들의 제1 세트에 기초하여 상기 복수의 문서들을 분류하며, 상기 제2 분류자는 제약들의 제2 세트에 기초하여 제2 복수의 문서들을 분류하고, 상기 제약들의 제1 세트는 상기 제약들의 제2 세트에 대한 독립성의 임계 정도 내에 있는, 방법.2. The method of claim 1, wherein the first classifier classifies the plurality of documents based on a first set of constraints, the second classifier classifies a second plurality of documents based on a second set of constraints, Wherein the first set of constraints is within a criticality of independence for the second set of constraints. 제2항에 있어서, 상기 제약들의 제1 세트는 제1 키워드를 포함하고, 상기 제약들의 제2 세트는 제2 키워드를 포함하는, 방법.3. The method of claim 2, wherein the first set of constraints comprises a first keyword and the second set of constraints comprises a second keyword. 제1항에 있어서, 상기 통신은 광고인, 방법.The method of claim 1, wherein the communication is an advertisement. 제1항에 있어서, 상기 복수의 문서들은 복수의 소셜 미디어 메시지들을 포함하는, 방법.The method of claim 1, wherein the plurality of documents comprises a plurality of social media messages. 제5항에 있어서, 상기 제1 분류자는 각각의 소셜 미디어 메시지의 콘텐츠, 각각의 소셜 미디어 메시지의 저작권, 및 제2 소셜 미디어 메시지들과의 연결들로 구성되는 그룹으로부터 선택되는 적어도 하나에 기초하여 분류하는, 방법.6. The method of claim 5 wherein the first classifier is based on at least one selected from the group consisting of the content of each social media message, the copyright of each social media message, and connections with second social media messages How to sort. 제1항에 있어서, 상기 제1 분류자는 각각의 문서의 제1 부분에 기초하여 상기 복수의 문서들을 분류하고, 상기 제2 분류자는 각각의 문서의 제2 부분에 기초하여 상기 제2 복수의 문서들을 분류하고, 상기 각각의 문서의 제1 부분 및 상기 각각의 문서의 제2 부분은 비오버래핑되는, 방법.2. The method of claim 1 wherein the first classifier classifies the plurality of documents based on a first portion of each document and the second classifier classifies the second plurality of documents based on a second portion of each document, Wherein a first portion of each of the documents and a second portion of each of the documents are non-overlapping. 리콜 추정을 위한 시스템으로서,
컴퓨팅 프로세서;
명령어들을 포함하며, 상기 명령어들은 컴퓨팅 디바이스 프로세서 상에 실행될 때,
최종 문서들의 제1 세트를 획득하기 위해 복수의 문서들을 제1 분류자에 의해 분류하고 - 상기 최종 문서들의 제1 세트는 복수의 사용자들에 대응함 -;
상기 문서들의 제1 세트 내의 적어도 하나의 문서에 대응하는 상기 복수의 사용자들 각각에 기초하여 통신을 상기 복수의 사용자들 각각에 송신하고;
최종 문서들의 제2 세트를 획득하기 위해 상기 복수의 문서들을 제2 분류자에 의해 분류하고;
상기 최종 문서들의 제1 세트 및 상기 최종 문서들의 제2 세트에 기초하여 상기 제1 분류자에 의한 식별로부터 배제되는 상기 복수의 문서들의 양을 컴퓨터 프로세서에 의해 추정하고;
개정된 분류자를 획득하기 위해 상기 양에 기초하여 상기 제1 분류자를 개정하고;
상기 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 상기 복수의 문서들을 상기 개정된 분류자에 의해 분류하고;
상기 적어도 하나의 부가 문서에 대응하는 적어도 하나의 부가 사용자에 기초하여 상기 통신을 상기 복수의 사용자들로부터 배제되는 상기 적어도 하나의 부가 사용자에 송신하는, 시스템.
As a system for recall estimation,
A computing processor;
Instructions, when executed on a computing device processor,
Classifying a plurality of documents by a first classifier to obtain a first set of final documents, the first set of final documents corresponding to a plurality of users;
Send communications to each of the plurality of users based on each of the plurality of users corresponding to at least one document in the first set of documents;
Classify the plurality of documents by a second classifier to obtain a second set of final documents;
Estimate by the computer processor the amount of the plurality of documents excluded from identification by the first classifier based on the first set of final documents and the second set of final documents;
Revising said first classifier based on said amount to obtain a revised classifier;
Classify the plurality of documents by the revised classifier to obtain at least one supplementary document excluded from the first set of documents;
The communication is transmitted to the at least one additional user that is excluded from the plurality of users based on at least one additional user corresponding to the at least one additional document.
제8항에 있어서, 상기 제1 분류자는 제약들의 제1 세트에 기초하여 상기 복수의 문서들을 분류하며, 상기 제2 분류자는 제약들의 제2 세트에 기초하여 제2 복수의 문서들을 분류하고, 상기 제약들의 제1 세트는 상기 제약들의 제2 세트에 대한 독립성의 임계 정도 내에 있는, 시스템.9. The method of claim 8, wherein the first classifier classifies the plurality of documents based on a first set of constraints, the second classifier classifies a second plurality of documents based on a second set of constraints, Wherein the first set of constraints is within a criticality of independence for the second set of constraints. 제9항에 있어서, 상기 제약들의 제1 세트는 제1 키워드를 포함하고, 상기 제약들의 제2 세트는 제2 키워드를 포함하는, 시스템.10. The system of claim 9, wherein the first set of constraints comprises a first keyword and the second set of constraints comprises a second keyword. 제8항에 있어서, 상기 통신은 광고인, 시스템.9. The system of claim 8, wherein the communication is an advertisement. 제8항에 있어서, 상기 복수의 문서들은 복수의 소셜 미디어 메시지들을 포함하는, 시스템.9. The system of claim 8, wherein the plurality of documents comprises a plurality of social media messages. 제12항에 있어서, 상기 제1 분류자는 각각의 소셜 미디어 메시지의 콘텐츠, 각각의 소셜 미디어 메시지의 저작권, 및 제2 소셜 미디어 메시지들과의 연결들로 구성되는 그룹으로부터 선택되는 적어도 하나에 기초하여 분류하는, 시스템.13. The method of claim 12, wherein the first classifier is based on at least one selected from the group consisting of the content of each social media message, the copyright of each social media message, and connections with second social media messages Classification, system. 제8항에 있어서, 상기 제1 분류자는 각각의 문서의 제1 부분에 기초하여 상기 복수의 문서들을 분류하고, 상기 제2 분류자는 각각의 문서의 제2 부분에 기초하여 상기 제2 복수의 문서들을 분류하고, 상기 각각의 문서의 제1 부분 및 상기 각각의 문서의 제2 부분은 비오버래핑되는, 시스템.9. The method of claim 8, wherein the first classifier classifies the plurality of documents based on a first portion of each document, and the second classifier classifies the second plurality of documents based on a second portion of each document Wherein the first portion of each document and the second portion of each document are non-overlapping. 컴퓨터 판독가능 프로그램 코드를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 컴퓨터 판독가능 프로그램 코드는,
최종 문서들의 제1 세트를 획득하기 위해 복수의 문서들을 제1 분류자에 의해 분류하고 - 상기 최종 문서들의 제1 세트는 복수의 사용자들에 대응함 -;
상기 문서들의 제1 세트 내의 적어도 하나의 문서에 대응하는 상기 복수의 사용자들 각각에 기초하여 통신을 상기 복수의 사용자들 각각에 송신하고;
최종 문서들의 제2 세트를 획득하기 위해 상기 복수의 문서들을 제2 분류자에 의해 분류하고;
상기 최종 문서들의 제1 세트 및 상기 최종 문서들의 제2 세트에 기초하여 상기 제1 분류자에 의한 식별로부터 배제되는 상기 복수의 문서들의 양을 컴퓨터 프로세서에 의해 추정하고;
개정된 분류자를 획득하기 위해 상기 양에 기초하여 상기 제1 분류자를 개정하고;
상기 문서들의 제1 세트로부터 배제되는 적어도 하나의 부가 문서를 획득하기 위해 상기 복수의 문서들을 상기 개정된 분류자에 의해 분류하고;
상기 적어도 하나의 부가 문서에 대응하는 적어도 하나의 부가 사용자에 기초하여 상기 통신을 상기 복수의 사용자들로부터 배제되는 상기 적어도 하나의 부가 사용자에 송신하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
17. A non-transitory computer readable medium comprising computer readable program code,
Classifying a plurality of documents by a first classifier to obtain a first set of final documents, the first set of final documents corresponding to a plurality of users;
Send communications to each of the plurality of users based on each of the plurality of users corresponding to at least one document in the first set of documents;
Classify the plurality of documents by a second classifier to obtain a second set of final documents;
Estimate by the computer processor the amount of the plurality of documents excluded from identification by the first classifier based on the first set of final documents and the second set of final documents;
Revising said first classifier based on said amount to obtain a revised classifier;
Classify the plurality of documents by the revised classifier to obtain at least one supplementary document excluded from the first set of documents;
Wherein the communication is for transmitting the communication to the at least one additional user that is excluded from the plurality of users based on at least one additional user corresponding to the at least one additional document.
제15항에 있어서, 상기 제1 분류자는 제약들의 제1 세트에 기초하여 상기 복수의 문서들을 분류하며, 상기 제2 분류자는 제약들의 제2 세트에 기초하여 제2 복수의 문서들을 분류하고, 상기 제약들의 제1 세트는 상기 제약들의 제2 세트에 대한 독립성의 임계 정도 내에 있는, 비일시적 컴퓨터 판독가능 매체.16. The apparatus of claim 15, wherein the first classifier classifies the plurality of documents based on a first set of constraints, the second classifier classifies a second plurality of documents based on a second set of constraints, Wherein the first set of constraints is within a criticality of independence for the second set of constraints. 제16항에 있어서, 상기 제약들의 제1 세트는 제1 키워드를 포함하고, 상기 제약들의 제2 세트는 제2 키워드를 포함하는, 비일시적 컴퓨터 판독가능 매체.17. The non-transitory computer readable medium of claim 16, wherein the first set of constraints comprises a first keyword, and wherein the second set of constraints comprise a second keyword. 제15항에 있어서, 상기 복수의 문서들은 복수의 소셜 미디어 메시지들을 포함하는, 비일시적 컴퓨터 판독가능 매체.16. The non-transitory computer readable medium of claim 15, wherein the plurality of documents comprises a plurality of social media messages. 제19항에 있어서, 상기 제1 분류자는 각각의 소셜 미디어 메시지의 콘텐츠, 각각의 소셜 미디어 메시지의 저작권, 및 제2 소셜 미디어 메시지들과의 연결들로 구성되는 그룹으로부터 선택되는 적어도 하나에 기초하여 분류하는, 비일시적 컴퓨터 판독가능 매체.20. The method of claim 19, wherein the first classifier is based on at least one selected from the group consisting of the content of each social media message, the copyright of each social media message, and connections with second social media messages Non-transitory computer readable medium. 제15항에 있어서, 상기 제1 분류자는 각각의 문서의 제1 부분에 기초하여 상기 복수의 문서들을 분류하고, 상기 제2 분류자는 각각의 문서의 제2 부분에 기초하여 상기 제2 복수의 문서들을 분류하고, 상기 각각의 문서의 제1 부분 및 상기 각각의 문서의 제2 부분은 비오버래핑되는, 비일시적 컴퓨터 판독가능 매체.16. The apparatus of claim 15 wherein the first classifier classifies the plurality of documents based on a first portion of each document and the second classifier classifies the second plurality of documents based on a second portion of each document, Wherein a first portion of each of the documents and a second portion of each of the documents are non-overlapping.
KR1020177014481A 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics KR101984773B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462069618P 2014-10-28 2014-10-28
US62/069,618 2014-10-28
PCT/US2015/057851 WO2016069767A1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197015145A Division KR102188337B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics

Publications (2)

Publication Number Publication Date
KR20170139492A true KR20170139492A (en) 2017-12-19
KR101984773B1 KR101984773B1 (en) 2019-06-03

Family

ID=55858314

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020177014481A KR101984773B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics
KR1020197015145A KR102188337B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics
KR1020207034677A KR102262953B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020197015145A KR102188337B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics
KR1020207034677A KR102262953B1 (en) 2014-10-28 2015-10-28 Classifier recall estimation for sparse topics

Country Status (6)

Country Link
EP (1) EP3213235A4 (en)
KR (3) KR101984773B1 (en)
BR (1) BR112017009015A2 (en)
CA (1) CA2966350A1 (en)
DE (1) DE202015009963U1 (en)
WO (1) WO2016069767A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102093839B1 (en) 2019-05-28 2020-05-04 (주)다림티센 Hemostatic agent and container containing the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206443A1 (en) * 2005-03-14 2006-09-14 Forman George H Method of, and system for, classification count adjustment
US20100114654A1 (en) * 2008-10-31 2010-05-06 Hewlett-Packard Development Company, L.P. Learning user purchase intent from user-centric data
US20120116875A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation Providing advertisements based on user grouping
WO2013025959A2 (en) * 2011-08-18 2013-02-21 Audax Health Solutions, Inc. Methods and apparatus for classifying content
US8713007B1 (en) * 2009-03-13 2014-04-29 Google Inc. Classifying documents using multiple classifiers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206443A1 (en) * 2005-03-14 2006-09-14 Forman George H Method of, and system for, classification count adjustment
US20100114654A1 (en) * 2008-10-31 2010-05-06 Hewlett-Packard Development Company, L.P. Learning user purchase intent from user-centric data
US8713007B1 (en) * 2009-03-13 2014-04-29 Google Inc. Classifying documents using multiple classifiers
US20120116875A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation Providing advertisements based on user grouping
WO2013025959A2 (en) * 2011-08-18 2013-02-21 Audax Health Solutions, Inc. Methods and apparatus for classifying content

Also Published As

Publication number Publication date
KR101984773B1 (en) 2019-06-03
EP3213235A4 (en) 2018-01-03
KR102262953B1 (en) 2021-06-09
CA2966350A1 (en) 2016-05-06
KR20190062613A (en) 2019-06-05
DE202015009963U1 (en) 2022-01-31
EP3213235A1 (en) 2017-09-06
KR20200139843A (en) 2020-12-14
WO2016069767A1 (en) 2016-05-06
KR102188337B1 (en) 2020-12-09
BR112017009015A2 (en) 2017-12-26

Similar Documents

Publication Publication Date Title
Jin et al. Novel visual and statistical image features for microblogs news verification
JP6196316B2 (en) Adjusting content distribution based on user posts
CN104573054B (en) A kind of information-pushing method and equipment
US10701175B1 (en) Topic disambiguation and classification
US20140358630A1 (en) Apparatus and process for conducting social media analytics
US20130304818A1 (en) Systems and methods for discovery of related terms for social media content collection over social networks
US20150081725A1 (en) System and method for actively obtaining social data
US8527450B2 (en) Apparatus and methods for analyzing and using short messages from commercial accounts
US20180336202A1 (en) System and method to represent documents for search in a graph
US20130297581A1 (en) Systems and methods for customized filtering and analysis of social media content collected over social networks
US20140040371A1 (en) Systems and methods for identifying geographic locations of social media content collected over social networks
US20130262966A1 (en) Digital content reordering method and digital content aggregator
US10387915B2 (en) Digital magazine recommendations by topic
Bosagh Zadeh et al. On the precision of social and information networks
Gayberi et al. Popularity prediction of posts in social networks based on user, post and image features
US11108717B1 (en) Trends in a messaging platform
WO2023231542A1 (en) Representation information determination method and apparatus, and device and storage medium
Nakov et al. A survey on predicting the factuality and the bias of news media
Al-Qurishi et al. A new model for classifying social media users according to their behaviors
US9323721B1 (en) Quotation identification
KR101984773B1 (en) Classifier recall estimation for sparse topics
TW202011231A (en) Data analysis method and data analysis system thereof
US10868872B2 (en) Method and system for determining a source link to a source object
US11500908B1 (en) Trends in a messaging platform
Cao et al. On application-unbiased benchmarking of web videos from a social network perspective

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant