KR20190026853A - 컴퓨터 시스템으로부터의 사용자 정보 수집 - Google Patents

컴퓨터 시스템으로부터의 사용자 정보 수집 Download PDF

Info

Publication number
KR20190026853A
KR20190026853A KR1020197003633A KR20197003633A KR20190026853A KR 20190026853 A KR20190026853 A KR 20190026853A KR 1020197003633 A KR1020197003633 A KR 1020197003633A KR 20197003633 A KR20197003633 A KR 20197003633A KR 20190026853 A KR20190026853 A KR 20190026853A
Authority
KR
South Korea
Prior art keywords
matching
preset
information
computer
entry
Prior art date
Application number
KR1020197003633A
Other languages
English (en)
Other versions
KR102202326B1 (ko
Inventor
후이 리
관하이 종
잉핑 카오
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Publication of KR20190026853A publication Critical patent/KR20190026853A/ko
Application granted granted Critical
Publication of KR102202326B1 publication Critical patent/KR102202326B1/ko

Links

Images

Classifications

    • 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/33Querying
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • 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/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • H04L67/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Circuits Of Receivers In General (AREA)
  • Preliminary Treatment Of Fibers (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

사용자 정보에 관련된 텍스트 정보가 사용자 서비스로부터 식별된다. 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭이 수행되며, 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 프리셋 목록은, 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함한다. 사용자 정보는, 계층화된 매칭에 기초하여 결정된다.

Description

컴퓨터 시스템으로부터의 사용자 정보 수집
관련 출원에 대한 상호-참조
본 출원은, 2016년 7월 7일에 출원된 중국 특허 출원 제201610532453.8호의 우선권을 청구하며, 이 중국 특허 출원의 전체 내용은 본 명세서에 참조로서 통합된다.
본 개시는, 컴퓨터 시스템으로부터의, 특히 모바일 및 관련 컴퓨팅 시스템으로부터의, 사용자 정보 수집에 관한 것이다.
인터넷 기술, 특히 모바일 컴퓨팅 디바이스, 기능, 및 관련 기술에 관한 인터넷 기술의 지속적인 발전 및 사용을 고려하면, 생성되고 있는 데이터의 양은 기하급수적으로 증가하고 있다. 생성된 데이터로부터 추출된 사용자 정보(예컨대, 사용자 배경 정보 또는 다른 정보)는 조직 및 다른 엔티티에 유용할 수 있다. 예컨대, 추출된 사용자 정보는, 엔티티의 다양한 의사결정 및 운영에 유용한 값진 데이터를 제공할 수 있다.
본 개시는, 컴퓨터 시스템으로부터, 특히 모바일 및 관련 컴퓨팅 시스템으로부터, 사용자 정보를 수집하기 위한 컴퓨터-구현 방법(computer-implemented method), 컴퓨터 프로그램 제품, 및 컴퓨터 시스템을 포함하는, 방법 및 시스템을 설명한다.
한 구현예에서, 사용자 정보에 관련된 텍스트 정보가 사용자 서비스 정보로부터 식별된다. 프리셋(preset) 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭(layered matching)이 수행되며, 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 프리셋 목록은, 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리(entry)를 포함한다. 사용자 정보는, 계층화된 매칭에 기초하여 결정된다.
전술한 구현예는, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독가능 명령어를 저장한 비일시적 컴퓨터-판독가능 매체; 그리고, 비일시적 컴퓨터-판독가능 매체 상에 저장된 컴퓨터-구현 방법/명령어를 수행하도록 구성된 하드웨어 프로세서와 상호운용가능하도록 커플링된 컴퓨터 메모리를 포함하는 컴퓨터-구현 시스템(computer-implemented system)을 사용하여 구현가능하다.
다음의 장점 중 하나 이상을 실현하기 위하여, 본 명세서에 설명된 주제는 특정한 구현예로 구현될 수 있다. 첫 번째로, 본 명세서에 설명된 접근법은, 사용자 서비스 정보로부터 취득된 텍스트 정보 및 프리셋 배경 식별 정보 목록에 기초하여, 계층화된 유형의 매칭 접근법을 수행함으로써, 사용자 정보(예컨대, 사용자의 현재 고용주, 주소, 전화번호, 생일, 교육 배경, 지출 패턴, 여행 데이터, 동료, 및 조직 가입, 또는 다른 정보와 같은, 사용자 배경 정보)를 자동으로 수집하는 데 사용될 수 있다. 계층화된 매칭은, 텍스트 정보로부터 사용자 정보를 추출하기 위한 상이한 매칭 방법들을 포함할 수 있다. 계층화된 매칭은, 상이한 품질의 텍스트 정보(예컨대, 알려진 또는 알려지지 않은 소스로부터 취득한, 구조화된/정리된 또는 자유형식 텍스트 정보)의 매칭을 허용하기 위하여 매칭 방법이 선택될 수 있도록 한다. 두 번째로, 본 명세서에 설명된 접근법은, 사용자에 의한 수동 정보 입력에 대한 필요성을 줄여, 사용자 배경 정보 수집의 효율을 개선할 수 있다. 세 번째로, 본 명세서에 설명된 접근법은, 예컨대 대학교의 공식 이름의 축약형 대신 대학교의 공식 이름을 제공하는, 정의된 표준 형식으로, 사용자 정보를 제공할 수 있다. 네 번째로, 본 명세서에 설명된 접근법은, 모바일 인터넷 기술 및 온라인 인터넷 사용 활동과 통합될 수 있다. 다른 장점들은 당업자에게 분명할 것이다.
본 명세서의 주제의 하나 이상의 구현예의 세부사항이 상세한 설명, 청구항들, 및 첨부 도면에 설명되어 있다. 상세한 설명. 청구항들, 및 첨부 도면으로부터 본 명세서의 주제의 다른 특징, 양상, 및 장점이 분명해질 것이다.
도 1은, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 방법을 나타내는 흐름도이다.
도 2는, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 방법을 나타내는 추가적인 흐름도이다.
도 3은, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 특정한 예시적 방법을 나타내는 추가적인 흐름도이다.
도 4는, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 컴퓨팅 디바이스를 나타내는 블록도이다.
도 5는, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 컴퓨팅 디바이스를 나타내는 또 다른 블록도이다.
도 6은, 하나의 구현예에 따른, 본 개시에 설명된 바와 같이, 본 명세서에 설명된 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차와 연관된 계산적 기능을 제공하는 데 사용되는 하나의 예시적 컴퓨터 시스템을 나타내는 블록도이다.
유사한 참조 번호 및 지시가 다양한 도면에서 유사한 요소를 나타낸다.
다음의 상세한 설명은, 컴퓨터 시스템으로부터의, 특히 모바일 및 관련 컴퓨팅 시스템으로부터의, 사용자 정보 수집을 설명하며, 임의의 당업자가 하나 이상의 특정한 구현예의 맥락에서 개시된 주제를 만들고 사용할 수 있도록 제시된다. 개시된 구현예의 다양한 수정, 변경, 및 치환이 이루어질 수 있고 당업자에게 즉시 분명해질 것이며, 정의된 일반적인 원리는, 본 개시의 범위로부터 벗어나지 않으면서, 다른 구현예 및 응용예에 적용될 수 있다. 일부 경우, 불필요한 세부사항을 통해 본 명세서에 설명된 하나 이상의 구현예를 불명확하게 하지 않기 위하여, 본 명세서에 설명된 주제를 이해하는 데 불필요한 세부사항은 생략될 수 있으며, 그러한 세부사항은 당업자의 기술에 포함되어 있다. 본 개시는, 설명된 또는 예시된 구현예로 제한되도록 의도된 것이 아니라, 본 명세서에 설명된 원리 및 특징에 모순되지 않는 가장 넓은 범위가 부여되도록 의도된 것이다.
사용자 정보(예컨대, 사용자의 현재 고용주, 주소, 전화번호, 생일, 교육 배경, 지출 패턴, 여행 데이터, 동료, 및 조직 가입, 또는 다른 사용자 정보와 같은, 사용자 배경 정보)를 수집하기 위한 종래의 방법은 일반적으로 원하는 정보를 사용자가 (랩톱 컴퓨터, 모바일 컴퓨팅 디바이스, 또는 다른 컴퓨팅 디바이스와 같은) 컴퓨팅 디바이스에 수동으로 입력할 것을 요구한다. 예컨대, 사용자가 은행에서 신용카드를 신청할 때, 사용자는 일반적으로, (특정한 학교(들) 및 다른 학업 관련 데이터와 같은) 학업 정보를 비롯한, 배경 정보를 제공해야 한다. 학업 정보는 이후 추가적인 정보, 예컨대, 상세한 교육 배경을 추출하는 데 사용될 수 있다. 그러나 이러한 종래의 방법은 다수의 사용자에 대한 배경 정보를 획득하는 데 비효율적이다. 또한, 종래의 방법은 일반적으로 (예컨대, 지필식 양식을 사용하거나, 폐쇄형 네트워크에 인터페이싱된 제한된 기능의 컴퓨팅 디바이스를 사용하여) 오프라인으로 수행된다. 현대 인터넷 기술의 관점에서, 그리고 특히 모바일 컴퓨팅 디바이스와 관련하여, (예컨대, 양식 처리, 데이터 입력 등을 위한 은행 직원의 사용을 고려하면) 종래의 방법은 제한되어 있고 불필요하게 리소스 집약적이다.
상위 수준에서, 본 명세서에 설명된 접근법은, 사용자 서비스(예컨대, 온라인 쇼핑, 거래, 또는 채팅 서비스)로부터 취득된 텍스트 정보에 기초하여 사용자 정보를 자동으로 추출하기 위한 메커니즘을 제공한다. 취득된 텍스트 정보와 프리셋 배경 식별 목록 사이에, 계층화된 유형의 매칭 접근법이 수행된다. 사용자 정보는, 계층화된 매칭의 결과에 기초하여 결정된다. 일부 구현예에서, 계층화된 매칭은, 취득된 텍스트 정보로부터 사용자 정보를 추출하기 위한 상이한 매칭 방법들을 포함할 수 있다. 계층화된 매칭은 또한, 상이한 품질의 텍스트 정보(예컨대, 알려진 또는 알려지지 않은 소스로부터 획득한, 구조화된/정리된 또는 자유형식 텍스트 정보)의 매칭을 허용하기 위하여 매칭 방법이 선택될 수 있도록 한다.
도 1은, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 방법(100)을 나타내는 흐름도이다. 표현의 명료성을 위하여, 다음의 설명은 일반적으로 본 설명 내의 다른 도면들의 맥락에서 방법(100)을 설명한다. 그러나, 예컨대, 임의의 적절한 시스템, 환경, 소프트웨어, 및 하드웨어, 또는, 적절한 경우, 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해 방법(100)이 수행될 수 있다는 것이 이해될 것이다. 일부 구현예에서, 방법(100)의 다양한 단계는, 병렬로, 조합되어, 루프 내에서, 또는 임의의 순서로 실행될 수 있다.
단계(101)에서, 사용자에게 적절한 서비스로부터의 정보를 사용하여, 사용자 정보에 관련된 텍스트 정보가 취득된다. 일부 구현예에서, 사용자 서비스는, 예컨대, 사용자에 의해 일상적으로 사용되는, 또는 다른 온라인 서비스로부터의, 거래, 주석, 등록, 또는 채팅 서비스를 포함할 수 있다. 일부 구현예에서, 텍스트 정보는, 알파벳과 숫자로 된, 사용자 판독가능 데이터를 포함한다. 당업자에 의해 이해될 바와 같이, 본 명세서에 설명된 접근법은, 본 개시에 모순되지 않는 다른 데이터 유형/형식(예컨대, 2진수, 16진수, 및 암호화된 데이터)과 함께 사용될 수도 있다.
사용자 정보는, 교육 정보(예컨대, 사용자가 현재 재학 중인 학교 또는 이전에 재학했던 학교), 고용 정보(예컨대, 사용자의 현재 고용주 또는 이전의 고용주), 또는 본 개시에 모순되지 않는 다른 정보를 포함할 수 있다. 일부 구현예에서, 서비스 요구에 따라서 선택적 구성이 수행될 수 있다. 예컨대, 교육 배경 정보의 경우, 학교 기숙사 등록 서비스, 학생 융자 서비스, 캠퍼스 카드 충전 서비스, 학교 결제 서비스, 및 다른 적절한 서비스와 같은, 다양한 적절한 서비스로부터 학교 이름과 관련된 텍스트 정보가 수집될 수 있다. 예를 들면, 사용자의 교육 배경에 대해 취득된 텍스트 정보는 "Fudan University" 또는 "X campus of Fudan University"를 포함할 수 있다. 고용 배경 정보의 경우, 배송 서비스 또는 다른 적절한 서비스로부터 획득한 사용자 배송 주소 정보, 고용주 주소 정보와 같이, 다양한 적절한 서비스로부터 고용주 이름과 관련된 텍스트 정보가 수집될 수 있다. 단계(101)로부터, 방법(100)은 단계(102)로 진행한다.
단계(102)에서, 계층화된 매칭 방법론이, 취득된 텍스트 정보에 대하여 수행된다. 일부 구현예에서, 계층화된 매칭은, (예컨대, 데이터베이스나 플랫 파일 내의 목록으로서) 데이터 저장소에 저장된 프리셋 배경 식별 정보에 기초한다. 계층화된 매칭 동작은 복수의 우선순위화된 매칭 계층을 포함할 수 있으며, 각 매칭 계층은, 상이한 매칭 방법(들)에 대응한다. 일부 구현예에서, 매칭 방법, 매칭 방법들 사이의 순서, 매칭 방법의 수, 또는 계층화된 매칭 방법론의 수행의 다른 양상이 수동 또는 동적 방식으로 구성될 수 있다. 예컨대, 하나 이상의 매칭 방법은, 구성 데이터 내에 미리 정의될 수 있거나, 예컨대, 텍스트 정보의 획득된 유형, 분량, 또는 품질에 동적으로 기초하여 동적으로 미리 정의될 수 있다. 일부 구현예에서, 계층화된 매칭은 효율(예컨대, 매칭 속도, 정확성(exactness), 또는 본 개시에 모순되지 않는 다른 이유)을 위해 동적으로 조정될 수 있다.
일부 구현예에서, 프리셋 목록은, 사용자 정보에 관련된 프리셋 배경 식별 정보를 저장할 수 있다. 일부 구현예에서, 프리셋 배경 식별 정보는, 학교 이름, 고용주 이름, 그리고 특정한 사용자(또는 사용자 그룹) 및 사용자 정보에 관련된 다른 식별 이름을 포함할 수 있다. 예컨대, 프리셋 목록은, 상이한 학교 이름들 또는 상이한 고용주 이름들에 대응하는 복수의 엔트리를 포함할 수 있다. 일부 구현예에서, 교육 배경 정보의 경우, 국가적으로 표준화된 학교 이름 목록이 데이터베이스(예컨대, 국가적으로 제공되는 공용 데이터베이스, 사설 데이터베이스, 또는 다른 데이터 소스)로부터 획득될 수 있으며, 프리셋 목록으로서 제공될 수 있다. 학교가 폐교 및 합병된 경우 및 학교 이름이 변경된 경우, 또는 다른 특수한 상황에서, 프리셋 목록은 학교의 원래의 이름을 포함할 수 있으며, 원래의 이름과 현재의 이름 사이에 매핑된 관계를 설정할 수 있다. 학교 이름이, "Beida"(즉, "Beijing University"에 대한 축약어) 및 "Zheda"(즉, "Zhejiang University"에 대한 축약어)와 같은, 축약어를 포함하는 경우, 프리셋 목록은 학교 이름의 축약어를 포함할 수 있으며, 축약어와 학교의 이름(예컨대, 부분적인 이름, 완전한 이름, 또는 완전한 이름과 부분적인 이름 둘 다) 사이에 매핑된 관계를 설정할 수 있다.
일부 구현예에서, 계층화된 매칭 방법론에 의해 사용되는 상이한 매칭 방법들은, 상이한 매칭 정확도로 구성될 수 있다. 하나의 일반적인 구현예에서, 매칭 정확도의 내림차순에 따른 매칭을 위해 상이한 매칭 방법들이 활용된다. 예컨대, 취득된 텍스트 정보를 프리셋 목록으로부터의 프리셋 배경 식별 정보와 비교함으로써, 하나의 정확한 매칭 방법이 먼저 수행될 수 있다. 취득된 텍스트 정보는 정확한 매칭에 대해 프리셋 목록 내의 각 엔트리와 비교될 수 있다. 취득된 텍스트 정보가 프리셋 목록 내의 하나의 엔트리에 정확히 매칭(예컨대, 텍스트 정보로부터의 "Beijing University"가 프리셋 목록 내의 "Beijing University"와 정확히 매칭)하는 경우, 정확한 매치(exact match)가 발견된 것으로 간주되며, 정확한 매칭 결과(예컨대, "Beijing University")는 제1 결과 데이터 세트 내에 저장된다. 일부 구현예에서, 매칭된 결과는, 제1 결과 데이터 세트 내에 저장되기 전에 더 처리될 수 있다. 예컨대, 더 처리하는 단계는, 압축, 암호화, 인코딩, 및 본 개시에 모순되지 않는 다른 처리를 포함할 수 있다. 일부 구현예에서, 제1 결과 데이터 세트는, 예시적 방법(100)의 동작들을 수행하는 컴퓨팅 디바이스의 메모리 내에 또는 또 다른 위치에 저장될 수 있다.
일부 구현예에서, 정확한 매치가 형성될 수 없는 경우, 취득된 텍스트 정보가 프리셋 목록의 하나의 엔트리를 포함하거나 프리셋 목록의 하나의 엔트리에 포함되는지의 여부를 결정함으로써, 취득된 텍스트 정보에 대해 퍼지 매칭(fuzzy matching) 방법이 수행될 수 있다. 예컨대, 취득된 텍스트 정보가 프리셋 목록의 하나의 엔트리를 포함하거나 프리셋 목록의 하나의 엔트리에 포함된다면, 퍼지 매치가 형성될 수 있고, 대응하는 매칭 관계가 유지될 수 있다. 예컨대, 프리셋 목록이 "Fudan University"라는 엔트리를 갖는다면, "Fudan"이라는 텍스트 정보는 이 엔트리 내에 포함되고, "Fudan University student dormitory"라는 텍스트 정보는 이 엔트리를 포함한다. 따라서, "Fudan" 및 "Fudan University student dormitory" 둘 다는, "Fudan University"라는 프리셋 목록 엔트리에 퍼지 매칭될 수 있다. 또한, 취득된 텍스트 정보가, 프리셋 목록의 단 하나의 엔트리에 퍼지 매칭되는 것으로 간주될 수 있다면, 고유한 퍼지 매치가 형성될 수 있고(즉, 퍼지 매칭이 고유성 조건을 만족함), 대응하는 퍼지 매칭 결과(예컨대, 단 하나의 매칭된 프리셋 목록 엔트리 내의 학교 이름 또는 고용주 이름)는 제2 결과 데이터 세트 내에 저장될 수 있다. 일부 구현예에서, 고유성 조건은, 취득된 텍스트 정보가 프리셋 목록의 단 하나의 엔트리를 포함하거나 프리셋 목록의 단 하나의 엔트리에 포함되는 경우에 만족된다. 제1 결과 데이터 세트와 유사한 방식으로, 매칭된 결과는, 제2 결과 데이터 세트 내에 저장되기 전에 (예컨대, 압축, 암호화, 인코딩, 및 본 개시에 모순되지 않는 다른 유형의 처리를 통해) 더 처리될 수 있다. 일부 구현예에서, 제2 결과 데이터 세트는, 예시적 방법(100)의 동작들을 수행하는 컴퓨팅 디바이스의 메모리 내에 또는 또 다른 위치에 저장될 수 있다.
일부 구현예에서, 퍼지 매칭 결과가 발견될 수 없거나 고유한 퍼지 매치가 형성될 수 없다면, 최대 공통 서브시퀀스 알고리즘(largest common sub-sequence algorithm)을 사용하여, 취득된 텍스트 정보에 대해 제3 유형의 매칭 방법이 수행될 수 있다. 공통 서브시퀀스 알고리즘에서는, 취득된 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 스트링 유사도(string similarity)가 계산된다. 취득된 텍스트 정보에 가장 유사한 것으로 간주되는 엔트리(예컨대, 가장 높은 스트링 유사도 값을 갖는 엔트리)는, 매칭 결과인 것으로 간주될 수 있으며, 제3 결과 데이터 세트 내에 저장될 수 있다. 제1 및 제2 결과 데이터 세트와 유사한 방식으로, 매칭된 결과는, 제3 결과 데이터 세트 내에 저장되기 전에 (예컨대, 압축, 암호화, 인코딩, 및 본 개시에 모순되지 않는 다른 처리를 통해) 더 처리될 수 있다. 일부 구현예에서, 제3 결과 데이터 세트는, 예시적 방법(100)의 동작들을 수행하는 컴퓨팅 디바이스의 메모리 내에 또는 또 다른 위치에 저장될 수 있다.
일부 구현예에서, 가장 높은 유사도 값에 대응하는 엔트리는, 해당 유사도 값이 하나의 정의된 임계값보다 더 높다면, 매칭 결과인 것으로 간주될 수 있다. 일부 구현예에서, 이러한 임계값은, 매칭 정확도, 또는 본 개시에 모순되지 않는 다른 값에 기초하여, 수동으로 또는 동적으로 구성될 수 있다. 한 예에서, 임계값은 60%, 70%, 또는 다른 값과 같은 값을 가질 수 있다. 단계(102)로부터, 방법(100)은 단계(103)로 진행한다.
단계(103)에서, 취득된 텍스트 정보를 사용하여, 계층화된 매칭의 결과(즉, 해당되는 경우, 하나 이상의 매칭 결과 세트)에 기초해 사용자 정보가 결정된다. 하나의 특정한 예로서, 계층화된 매칭을 통해 학교 이름이 "Beijing University"인 것으로 결정된다면, 사용자의 교육 유형의 배경 정보를 결정하는 데 학교 이름이 사용될 수 있다. 일부 구현예에서, 교육 배경 정보는 사용자의 학교의 순위를 포함할 수 있다. 예컨대, 일부 구현예에서, 예시적 방법(100)의 동작을 수행하는 컴퓨팅 디바이스의 데이터베이스 또는 메모리 내에, 또는 또 다른 위치에 대학교 순위 정보가 저장될 수 있다. 사용자의 학교의 순위는 데이터베이스로부터 또는 특정한 메모리 위치로부터 리트리빙(retrieving)될 수 있다. 이 예에서, Beijing University는 높은 순위의 대학교(중국 내 최상위 10개 순위 대학교에 속함)인 것으로 간주되므로, 따라서, 사용자의 교육 배경은 다른 더 낮은 순위의 대학교보다 상대적으로 더 높은 품질인 것으로 간주될 수 있다. 반대로, 순위가 100위인 대학교인 것으로 학교 이름이 결정된다면, 사용자의 교육 배경은, "Beijing University"보다 상대적으로 낮은 품질인 것으로 간주될 수 있다. 단계(103) 이후, 방법(100)은 정지한다.
도 2는, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 방법(200)을 나타내는 추가적인 흐름도이다. 방법(200)은, 도 1에 설명된 방법(100)의 동작들의 더 하위 수준의 관점으로서 제시되었다. 표현의 명확성을 위하여, 다음의 설명은 일반적으로 본 설명 내의 다른 도면의 맥락에서 방법(200)을 설명한다. 그러나, 예컨대, 임의의 적절한 시스템, 환경, 소프트웨어, 및 하드웨어, 또는, 적절한 경우, 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해, 방법(200)이 수행될 수 있다는 것이 이해될 것이다. 일부 구현예에서, 방법(200)의 다양한 단계는, 병렬로, 조합되어, 루프 내에서, 또는 임의의 순서로 실행될 수 있다.
단계(201)(도 1의 단계(101)와 유사)에서, 사용자 정보에 관련된 텍스트 정보가 사용자 서비스 정보로부터 취득된다. 일부 구현예에서, 사용자 서비스로부터 취득되는 텍스트 정보가 트리밍(trimming) 또는 클리닝(cleaning)될 수 있고, 도 1의 단계(102) 및 도 2의 단계(202 내지 204)에 설명된 계층화된 매칭이, 트리밍 또는 클리닝된 텍스트 정보에 대해 수행될 수 있다. 트리밍 또는 클리닝된 텍스트 정보는, 계층화된 매칭 방법론의 성공률을 개선할 수 있다. 예컨대, 서비스로부터 취득된 텍스트 정보는 "Zhejiang University of Technology (textbook fee and examination registration fee)"이다. 텍스트 정보가 프리셋 목록 내의 학교 이름과 정확한 매치를 형성하도록, 괄호 및 괄호 내의 텍스트(즉, "(textbook fee and examination registration fee)")가 삭제되어 텍스트 정보의 짧은 형태(여기서는 "Zhejiang University of Technology")가 유지됨으로써 정확한 매치가 형성될 수 있다.
또 다른 예로서, "Shenbei campus of Chinese Medical Science University" 및 "Qinhuangdao branch of Northeast Petroleum University"와 같은, "X campus (branch) of Y University"라는 텍스트 정보의 경우, 나머지 텍스트 정보가 프리셋 목록에 대해 정확한 매치를 형성할 수 있도록, 텍스트 정보 내의 "X campus (branch) of"라는 데이터는 필터링될 수 있다. 단계(201)로부터, 방법(200)은 단계(202)로 진행한다.
단계(202)에서, 취득된 텍스트 정보가 프리셋 목록 내의 프리셋 배경 식별 정보에 정확히 매칭되는지의 여부를 결정함으로써, 취득된 텍스트 정보에 대해 제 1 매칭 방법이 수행될 수 있다. 도 1에서 논의한 바와 같이, 프리셋 목록은, 학교 이름 및 고용주 이름과 같이, 사용자 정보에 관련된 프리셋 배경 식별 정보를 저장한다. 취득된 텍스트 정보는 프리셋 목록 내의 각 엔트리와 비교될 수 있다. 프리셋 목록 내의 텍스트 엔트리가, 취득된 텍스트 정보와 동일하다면(예컨대, "Beijing" = "Beijing"), 정확한 매치인 것으로 지시되고 제1 매칭 결과가 획득된 것으로 간주된다. 프리셋 목록 내의 어떠한 엔트리도, 취득된 텍스트 정보에 정확히 매칭하지 않는다면, 제1 매칭 결과가 획득되지 않은 것으로 간주된다. 단계(202)로부터, 방법(200)은 단계(203)로 진행한다.
단계(203)에서, 제1 매칭 결과가 획득된 것으로 간주되지 않으면, 취득된 텍스트 정보가 프리셋 목록의 단 하나의 엔트리를 포함하거나 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써, 취득된 텍스트 정보에 대해 제2 매칭 방법이 수행될 수 있다. 예컨대, 취득된 텍스트 정보가 "dormitory building of Beijing University"이고 프리셋 학교 이름 목록 내의 단 하나의 엔트리(즉, "Beijing University")를 포함하면, 취득된 텍스트는 "Beijing University"라는 엔트리에 퍼지 매칭되고 고유성 조건을 만족하는 것으로 간주될 수 있다. 결과적으로, "Beijing University"라는 제2 매칭 결과가 획득된 것으로 간주된다.
제2의 예로서, 취득된 텍스트 정보는 "teaching building of Tsinghua University and dormitory building of Beijing University"이고, 프리셋 학교 이름 목록은 "Tsinghua University"라는 하나의 엔트리와 "Beijing University"라는 또 다른 엔트리를 갖는다. 이 경우, 취득된 텍스트 정보는 프리셋 목록에 퍼지 매칭되는 것으로 간주될 수 있지만, 취득된 텍스트 정보가 프리셋 목록의 엔트리 2개를 포함하고 있기 때문에, 고유성 조건을 만족하는 것으로 간주될 수 없다. 결과적으로, 제2 매칭 결과가 획득되지 않은 것으로 간주된다.
제3의 예로서, 취득된 텍스트 정보가 "Fudan"이고, "Fudan University"라는 프리셋 학교 이름 목록의 단 하나의 엔트리에 포함되어 있다면, 취득된 텍스트는 "Fudan University"라는 엔트리에 퍼지 매칭되는 것으로 간주될 수 있고 고유성 조건을 만족한다. 결과적으로, "Fudan University"라는 제2 매칭 결과가 획득된 것으로 간주된다.
제4의 예로서, 취득된 텍스트 정보는 "Beijing"이고, 프리셋 학교 이름 목록에는, 취득된 텍스트를 포함하는 복수의 엔트리, 예컨대, "Beijing University", "Beijing Institute of Technology", 및 "Beijing University of Aeronautics and Astronautics"이 있다. 이 경우, 취득된 텍스트 정보는 프리셋 목록에 퍼지 매칭되는 것으로 간주될 수 있지만, 취득된 텍스트 정보는 프리셋 목록의 복수의 엔트리에 포함되어 있기 때문에, 고유성 조건을 충족하지 않는다. 결과적으로, 제2 매칭 결과가 획득되지 않은 것으로 간주된다. 일부 구현예에서, 제2 매칭 방법은, 축약형 학교 이름 또는 고용주 이름에 대해 매칭된 엔트리를 프리셋 목록으로부터 결정할 수도 있다.
일부 구현예에서, 단계(203)에서 제2 매칭 결과가 획득된 것으로 간주되면, 제2 매칭 결과에 따라서 프리셋 목록이 업데이트될 수 있다. 예컨대, "Fudan"이라는 취득된 텍스트 정보에 대한 제2 매칭 결과가 "Fudan University"라는 매칭된 엔트리라면, "Fudan"이라는 텍스트(즉, "Fudan University"의 축약어)는, 프리셋 학교 이름 목록에 저장되고, 매칭된 비축약형 엔트리인 "Fudan University"에 링크될 수 있다. 일부 구현예에서, 더 많은 제1 유형 또는 제2 유형의 매칭 결과를 획득하기 위하여, 업데이트된 프리셋 목록을 사용하여, 다른 취득된 텍스트 정보에 대해 제2 매칭 방법이 수행될 수 있다. "Fudan"이라는 축약형 학교 이름을 포함시킴으로써 프리셋 목록이 업데이트된 후, "Fudan"이라는 텍스트 정보는 제1 유형의 매칭 결과에 대해 정확히 매칭될 수 있으며, "Fudan"이라는 축약형 엔트리에 링크된 "Fudan University"라는 비축약형 엔트리가 제1 결과 데이터 세트 내에 저장될 수 있다. 업데이트된 프리셋 목록은, 취득된 텍스트 정보 사이의 더 높은 매칭율을 가능하게 하고, 계층화된 매칭의 정확도를 개선하고, 사용자 정보에 대한 수집 정확도를 더 개선한다. 단계(203)으로부터, 방법(200)은 단계(204)로 진행한다.
단계(204)에서, 제2 매칭 결과가 단계(203)에서 획득된 것으로 간주되지 않는다면, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식(similarity formula)에 기초하여, 취득된 텍스트 정보에 대해 제3 매칭 방법이 수행될 수 있다. 프리셋 유사도 공식은, 두 스트링, 워드 벡터, 또는 본 개시에 모순되지 않는 다른 데이터 형식 사이의 유사도를 나타내는 유사도 값을 계산하는 데 사용될 수 있다. 예컨대, 그리고 전술한 바와 같이, 유사도 계산은 최대 공통 서브시퀀스 알고리즘에 기초할 수 있다.
일부 구현예에서, 프리셋 유사도 공식을 사용하여, 취득된 텍스트 정보와 프리셋 목록의 각 엔트리 사이의 유사도 값이 계산되고, 최대 유사도 값이 결정된다. 예컨대, 프리셋 목록이 100개의 엔트리를 갖는다면, 100개의 유사도 값이 계산될 수 있다. 100개의 계산된 유사도 값 중에서 최대 유사도 값이 결정될 수 있다. 최대 유사도 값이 프리셋 임계값 이상이라면, 최대 유사도 값에 대응하는 엔트리는 제3 매칭 결과로서 제공될 수 있다.
일부 구현예에서, 프리셋 임계값은, 원하는 매칭 정확도에 기초하여 수동으로 또는 동적으로 구성될 수 있다. 예컨대, 임계값은 60%, 70%, 또는 어떠한 다른 값일 수 있다. 일부 경우, 취득된 텍스트와 가장 유사한 프리셋 목록 내의 엔트리가 올바른 매칭이 아닐 수도 있으며, 이러한 상황을 처리하기 위하여 매칭 정확도를 제어하는 데 임계값이 사용될 수 있다. 예컨대, 높은 매칭 정확도를 원하는 경우에는 프리셋 임계값이 큰 값일 수 있으며, 낮은 매칭 정확도를 원하는 경우에는 작은 값일 수 있다. 예를 들어, 90%의 임계값은, 제3 매칭 방법이 성공적인 것으로 간주되려면, 취득된 텍스트와 프리셋 목록 내의 엔트리 사이에 높은 수준의 유사도를 요구하지만, 40%의 임계값은, 제3 매칭 방법이 성공적인 것으로 간주되려면, 취득된 텍스트와 프리셋 목록 내의 엔트리 사이에 더 낮은 수준의 유사도를 요구할 것이다.
일부 구현예에서, 취득된 텍스트 정보와 프리셋 목록 내의 엔트리 사이의 유사도 값을 계산하는 데 최대 공통 서브시퀀스 알고리즘이 사용될 수 있다. 예컨대, 취득된 텍스트와 해당 엔트리에 대해 최장 공통 서브스트링 길이(longest common sub-string length)가 계산될 수 있다. 이후 최장 공통 서브스트링 길이를 해당 엔트리의 스트링 길이로 나눔으로써 유사도 값이 계산된다. 예컨대, 취득된 텍스트 정보 A와 프리셋 목록 내의 하나의 엔트리 B 사이의 유사도 값 D(A,B)는, 일부 구현예에서, 다음의 프리셋 유사도 공식에 의해 계산될 수 있다.
Figure pct00001
일부 구현예에서, 공통 서브스트링 길이와 엔트리 스트링 길이는 해당 텍스트 정보의 특정 언어에 의존할 수 있다. 예컨대, 텍스트가 중국어로 되어 있다면, 공통 서브스트링 길이 및 스트링 길이는 한자의 수로 계산될 수 있다. 텍스트가 영어로 되어 있다면, 서브스트링 길이 및 스트링 길이는 단어의 수로 계산될 수 있다. 한 예로서, 취득된 텍스트 A는, 3의 스트링 길이(3개의 단어)를 갖는 "Tongji dormitory building"이고, 프리셋 학교 이름 목록 내의 엔트리 B는, 2의 스트링 길이(2개의 단어)를 갖는 "Tongji University"인 경우를 고려한다. A와 B 사이의 최장 공통 서브스트링은, 1의 길이를 갖는 "Tongji"이고, D(A, B)=1/2이다. 단계(204)로부터, 방법(200)은 단계(205)로 진행한다.
단계(205)에서, 단계(202 내지 204)에서의 3개의 매칭 방법으로부터의 제1, 제2, 또는 제3 매칭 결과로부터 사용자에 대한 배경 식별 정보가 획득될 수 있다. 계층화된 매칭이 성공적이라면, 제1, 제2, 및 제3 매칭 결과 중 하나가 획득된 것으로 간주되며, 이는 사용자에 대한 배경 식별 정보로서 간주될 수 있다. 단계(205)로부터, 방법(200)은 단계(206)로 진행한다.
단계(206)에서는, 단계(205)에서 획득한 배경 식별 정보에 기초하여 사용자 정보가 결정될 수 있다. 예컨대, 사용자의 교육 배경 정보에 관련된 텍스트 정보에 대해 계층화된 매칭이 수행되면, 제2 매칭 결과가 획득된 것으로 간주되고, 사용자에 대응하는 학교 이름이 제2 매칭 결과로부터 취득될 수 있다(예컨대, "Tsinghua University"). 학교 이름은 사용자의 교육 배경을 결정하는 데 사용될 수 있다. 단계(206) 이후, 방법(200)은 정지한다.
일부 구현예에서, 사용자 정보를 반영하는 대량의 텍스트 정보가 취득될 수 있다. 도 1의 단계(102) 또는 도 2의 단계(202 내지 204)에 설명된 계층화된 매칭 및 분석은, 취득된 텍스트 정보의 전부 또는 서브세트에 대해 수행될 수 있다. 또한, 제1 매칭 방법의 매칭 정확도는 제2 매칭 방법의 정확도보다 더 높을 수 있고, 제2 매칭 방법의 매칭 정확도는 제3 매칭 방법의 정확도보다 더 높을 수 있다.
도 3은, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 특정한 예시적 방법(300)을 나타내는 추가적인 흐름도이다. 표현의 명확성을 위하여, 다음의 설명은 일반적으로 본 설명 내의 다른 도면들의 맥락에서 방법(300)을 설명한다. 그러나, 예컨대, 임의의 적절한 시스템, 환경, 소프트웨어, 및 하드웨어, 또는, 적절한 경우, 시스템, 환경, 소프트웨어, 및 하드웨어의 조합에 의해, 방법(300)이 수행될 수 있다는 것이 이해될 것이다. 일부 구현예에서, 방법(300)의 다양한 단계는, 병렬로, 조합되어, 루프 내에서, 또는 임의의 순서로 실행될 수 있다.
단계(301)에서, 사용자 배송 주소 정보, 학생 융자 정보 등, 사용자의 교육 배경과 관련된 텍스트 정보가 다양한 서비스로부터 수집된다. 단계(301)로부터, 방법(300)은 단계(302)로 진행한다.
단계(302)에서, 도 2의 단계(201)에 설명된 바와 같이, 취득된 텍스트 정보에 대해 데이터 클리닝이 수행된다. 클리닝된 텍스트 정보는 학교 기록인 것으로 간주될 수 있다. 단계(302)로부터, 방법(300)은 단계(303)로 진행한다.
단계(303)에서, 제1 매칭 방법이 (예컨대, 전술한 바와 같이) 수행된다. 학교 기록은 프리셋 학교 이름 목록 내의 각 학교 이름과 비교된다. 학교 기록이 프리셋 학교 이름 목록 내의 하나의 학교 이름과 동일한 경우, 정확한 매치가 발견된 것으로 간주되고 제1 매칭 결과(예컨대, 목록으로부터 매칭된 학교 이름)가 획득된 것으로 간주된다. 단계(303)에서, 방법(300)은 단계(304)로 진행한다.
단계(304)에서, 제1 매칭 결과가 제1 결과 세트인 S1 내에 저장된다. 단계(304)로부터, 방법(300)은 단계(305)로 진행한다.
단계(303)에서 학교 기록이 정확히 매칭될 수 없다면, 단계(305)에서 제2 매칭 방법이 (예컨대, 전술한 바와 같이) 수행될 수 있다. 학교 기록이 프리셋 학교 이름 목록 내의 단 하나의 학교 이름을 포함하거나 프리셋 학교 이름 목록 내의 단 하나의 학교 이름 내에 포함된다면, 학교 기록은 퍼지 매칭되고 고유성 조건을 만족하는 것으로 간주될 수 있으며, 제2 매칭 결과(예컨대, 프리셋 학교 이름 목록으로부터 매칭된 단 하나의 학교 이름)가 획득된 것으로 간주된다. 단계(305)로부터, 방법(300)은 단계(306)로 진행한다.
단계(306)에서, 제 2 매칭 결과가 제 2 결과 세트인 S2 내에 저장된다. 단계(306)으로부터, 방법(300)은 단계(307)로 진행한다.
단계(307)에서, 제2 매칭 결과에 따라서 학교 이름 목록이 업데이트된다. 예컨대, 학교 기록은 학교 이름 프리셋 목록에 추가되고, 매칭된 학교 이름에 링크될 수 있다. 업데이트된 학교 이름 프리셋 목록에 기초하여, 다른 매칭되지 않은 학교 기록에 대해 제1 및 제2 매칭 방법이 수행될 수 있다.
단계(305)에서 학교 기록이 매칭될 수 없다면, 단계(308)에서 프리셋 유사도 공식을 사용하여 제3 매칭 방법이 수행될 수 있다. 예컨대, 학교 기록과 학교 이름 프리셋 목록 내의 각 학교 이름 사이에 유사도 값이 계산될 수 있다. 일부 구현예에서, 계산된 최대 유사도 값이 프리셋 임계값 이상이라면, 제3 매칭 결과(최대 유사도 값에 대응하는 학교 이름)가 획득된 것으로 간주된다. 단계(308)로부터, 방법은 단계(309)로 진행한다.
단계(309)에서, 제3 매칭 결과가 제3 결과 세트 S3 내에 저장된다. 결과적으로, 사용자에 대응하는 학교 이름이 S1, S2, 또는 S3로부터 취득될 수 있다. 단계(309) 이후, 방법(300)은 정지한다.
도 4는, 하나의 구현예에 따른, 사용자 정보를 수집하기 위한 하나의 예시적 컴퓨팅 디바이스를 나타내는 블록도이다. 컴퓨팅 디바이스(400)는, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는, 취득 유닛(41), 매칭 유닛(42), 및 수집 유닛(43)을 포함할 수 있다. 취득 유닛(41)은, 도 1의 단계(101) 및 도 2의 단계(201)에서 논의한 바와 같이, 사용자 정보와 관련된 텍스트 정보를 사용자 서비스 정보로부터 취득할 수 있다. 매칭 유닛(42)은, 도1의 단계(102) 및 도 2의 단계(202 내지 204)에서 논의한 바와 같이, 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행할 수 있다. 수집 유닛(43)은, 도 1의 단계(103) 및 도 2의 단계(205 내지 206)에서 논의한 바와 같이, 계층화된 매칭의 결과에 따라서 사용자 정보를 수집할 수 있다.
도 5는, 하나의 구현예에 따라서, 사용자 정보를 수집하기 위한 하나의 예시적 컴퓨팅 디바이스(500)를 나타내는 또 다른 블록도이다. 도 5는, 도 4에 설명된 예시적 컴퓨팅 디바이스(400)의 컴포넌트의 더 하위 수준의 관점으로서 제시되었다.
컴퓨팅 디바이스(500)는, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는, 취득 유닛(51), 매칭 유닛(52), 및 수집 유닛(53)을 포함할 수 있다. 취득 유닛(51)은, 도 1의 단계(101) 및 도 2의 단계(201)에서 논의한 바와 같이, 사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 취득할 수 있다. 매칭 유닛(52)은, 도 1의 단계(102) 및 도 2의 단계(202 내지 204)에서 논의한 바와 같이, 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행할 수 있다. 수집 유닛(53)은, 도 1의 단계(103) 및 도 2의 단계(205 내지 206)에서 논의한 바와 같이, 계층화된 매칭의 결과에 따라서 사용자 정보를 수집할 수 있다.
매칭 유닛(52)은, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는, 계산 모듈(521), 취득 모듈(522), 및 매칭 모듈(523)을 포함할 수 있다. 계산 모듈(521)은 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 프리셋 배경 식별 정보의 각 엔트리 사이의 유사도 값을 계산할 수 있다. 예컨대, 전술한 바와 같이, 계산 모듈(521)은 텍스트 정보와 프리셋 배경 식별 정보 사이의 최장 공통 서브스트링 길이를 계산하고, 최장 공통 서브스트링 길이를 프리셋 배경 식별 정보의 스트링 길이로 나누어, 유사도 값을 획득할 수 있다. 취득 모듈(522)은, 최대 유사도 값에 대응하는 프리셋 배경 식별 정보를 결정할 수 있다. 매칭 모듈(523)은, 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정함으로써, 텍스트 정보에 대해 제3 매칭을 수행할 수 있다.
수집 유닛(53)은, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는, 취득 모듈(531) 및 수집 모듈(532)을 포함할 수 있다. 취득 모듈(531)은 제1, 제2, 또는 제3 매칭 결과로부터 사용자에 대한 배경 식별 정보를 취득할 수 있다. 일부 구현예에서, 제1, 제2, 또는 제3 매칭 결과는 컴퓨팅 디바이스(500)의 데이터베이스 또는 메모리에, 또는 또 다른 위치에 저장될 수 있다. 수집 유닛(532)은, 취득 모듈(531)에 의해 취득된 배경 식별 정보에 따라서 사용자 정보를 수집할 수 있다.
컴퓨팅 디바이스(500)는, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는 업데이트 유닛(54)을 포함할 수 있다. 전술한 바와 같이, 임의의 제2 매칭 결과가 존재한다면, 업데이트 유닛(54)은, 예컨대, 제2 매칭 결과를 프리셋 목록에 추가함으로써, 제2 매칭 결과에 따라서 프리셋 목록을 업데이트할 수 있다.
컴퓨팅 디바이스(500)는, 하드웨어, 소프트웨어, 또는 둘 다로 구현될 수 있는 클리닝 유닛(55)도 포함할 수 있다. 전술한 바와 같이, 클리닝 유닛(55)은 텍스트 정보에 대해 데이터 클리닝을 수행할 수 있다. 매칭 유닛(52)은, 클리닝된 텍스트 데이터에 대해, 계층화된 매칭을 수행할 수 있다.
사용자 정보를 수집하기 위한 컴퓨팅 디바이스(400 또는 500)는 적어도 프로세서 및 메모리를 포함할 수 있다. 취득 유닛(41 또는 51), 매칭 유닛(42 또는 52), 수집 유닛(43 또는 53), 업데이트 유닛(54), 및 클리닝 유닛(55)은 메모리 내에 프로그램 유닛으로서 저장되고 프로세서에 의해 실행되어, 대응하는 기능을 실현할 수 있다. 컴퓨터에 의해 실행가능한 하나 이상의 명령어를 포함한 컴퓨터 프로그램 제품이 사용되어, 적어도 도 1 내지 도 3에 설명된 방법의 단계들을 수행할 수 있다.
도 6은, 하나의 구현예에 따라서, 본 개시에 설명된 바와 같이, 본 명세서에 설명된 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차와 연관된 계산적 기능을 제공하는 데 사용되는 하나의 예시적 컴퓨터 시스템(600)의 블록도이다. 도시된 컴퓨터(602)는, 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트폰, PDA(personal data assistant), 태블릿 컴퓨팅 디바이스, 이들 디바이스 내의 하나 이상의 프로세서, 또는, 컴퓨팅 디바이스의 물리적 인스턴스 또는 가상 인스턴스(또는 둘 다)를 비롯한, 임의의 다른 적절한 처리 디바이스와 같은, 임의의 컴퓨팅 디바이스를 망라하도록 의도되었다. 또한, 컴퓨터(602)는, 키패드, 키보드, 터치 스크린, 또는 사용자 정보를 받아들이는 다른 디바이스와 같은, 입력 디바이스, 그리고, 디지털 데이터, 시각 또는 청각 정보(또는 정보의 조합), 또는 GUI(graphical user interface)를 비롯하여, 컴퓨터(602)의 동작과 연관된 정보를 전달하는 출력 디바이스를 포함하는 컴퓨터를 포함할 수 있다.
컴퓨터(602)는 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 다른 지속성, 또는 본 개시에 설명된 주제를 수행하기 위한 컴퓨터 시스템의 임의의 다른 컴포넌트로서의 역할(또는 역할들의 조합)을 수행할 수 있다. 도시된 컴퓨터(602)는 네트워크(603)와 통신가능하도록 커플링된다. 일부 구현예에서, 컴퓨터(602)의 하나 이상의 컴포넌트는, 클라우드 컴퓨팅 기반 환경, 로컬 환경, 글로벌 환경, 또는 다른 환경(또는 환경들의 조합)을 비롯한 환경 내에서 동작하도록 구성될 수 있다.
상위 수준에서, 컴퓨터(602)는, 본 명세서에 설명된 주제와 연관된 데이터 및 정보를 수신, 송신, 처리, 저장, 또는 관리하기 위해 동작가능한 전자 컴퓨팅 디바이스이다. 일부 구현예에 따라서, 컴퓨터(602)는, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 또는 다른 서버(또는 서버들의 조합)도 포함하거나 이러한 서버와도 통신가능하도록 커플링될 수 있다.
컴퓨터(602)는 네트워크(630)를 통해 (예컨대, 또 다른 컴퓨터(602)에서 실행되는) 클라이언트 애플리케이션으로부터 요청을 수신할 수 있으며, 수신된 요청을 적절한 소프트웨어 애플리케이션(들)을 사용해 처리함으로써, 수신된 요청에 응답할 수 있다. 또한, 내부 사용자(예컨대, 명령 콘솔로부터 또는 다른 적절한 액세스 방법에 의해), 외부 또는 제삼자, 다른 자동화된 애플리케이션, 및 임의의 다른 적절한 엔티티, 개인, 시스템 또는 컴퓨터로부터도 요청이 컴퓨터(602)에 전송될 수 있다.
컴퓨터(602)의 컴포넌트들의 각각은 시스템 버스(603)를 사용하여 통신할 수 있다. 일부 구현예에서, 하드웨어 또는 소프트웨어인(또는 하드웨어와 소프트웨어 둘 다의 조합인), 컴퓨터(602)의 임의의 또는 모든 컴포넌트는, API(application programming interface)(612) 또는 서비스 계층(613)(또는 API(612)와 서비스 계층(613)의 조합)을 사용하여 시스템 버스(603)를 통해 서로 또는 인터페이스(604)와(또는 둘 다의 조합과) 인터페이싱할 수 있다. API(612)는 루틴, 데이터 구조, 및 객체 클래스에 대한 사양(specification)을 포함할 수 있다. API(612)는 컴퓨터 언어에 독립적이거나 종속적일 수 있으며, 완전한 인터페이스, 단일 기능, 또는 하나의 세트의 API까지도 지칭하는 것일 수 있다. 서비스 계층(613)은, 컴퓨터(602)에, 또는 컴퓨터(602)에 통신가능하게 커플링된 다른 컴포넌트(도시 여부 무관)에, 소프트웨어 서비스를 제공한다. 컴퓨터(602)의 기능은, 이 서비스 계층을 사용하는 모든 서비스 소비자가 액세스가능할 수 있다. 서비스 계층(613)에 의해 제공되는 것과 같은 소프트웨어 서비스는, 재사용가능한, 정의된 기능을 정의된 인터페이스를 통해 제공한다. 예컨대, 인터페이스는, JAVA 또는 C++로 작성된 소프트웨어이거나, XML(extensible markup language) 형식 또는 다른 적절한 형식으로 데이터를 제공하는 다른 적절한 언어로 작성된 소프트웨어일 수 있다. API(612) 또는 서비스 계층(613)은 컴퓨터의(602)의 통합된 컴포넌트로서 도시되었지만, 대안적인 구현예에서는 API(612) 또는 서비스 계층(613)을 컴퓨터(602)의 다른 컴포넌트나, 컴퓨터(602)에 통신가능하게 커플링된 다른 컴포넌트(도시 여부 무관)에 대한 독립형 컴포넌트로서 도시할 수 있다. 또한, API(612) 또는 서비스 계층(613)의 임의의 또는 모든 부분은, 본 개시의 범위로부터 벗어나지 않으면서, 또 다른 소프트웨어 모듈, 엔터프라이즈 애플리케이션, 또는 하드웨어 모듈의 하위(child) 모듈 또는 서브모듈로서 구현될 수 있다.
컴퓨터(602)는 인터페이스(604)를 포함한다. 도 6에는 단일 인터페이스(604)로서 도시되었지만, 컴퓨터(602)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서 2개 이상의 인터페이스(604)가 사용될 수 있다. 인터페이스(604)는 분산형 환경에서 네트워크(603)에 연결된 다른 시스템(도시 여부 무관)과 통신하기 위해 컴퓨터(602)에 의해 사용된다. 일반적으로, 인터페이스(604)는 소프트웨어나 하드웨어(또는 소프트웨어와 하드웨어의 조합) 내에 인코딩된 논리를 포함하며, 네트워크(630)와 통신하기 위해 동작가능하다. 더 구체적으로, 인터페이스(604)는, 도시된 컴퓨터(602)의 내부 및 외부에 물리적 신호를 전달하기 위하여 네트워크(630) 또는 인터페이스의 하드웨어가 동작가능하도록, 통신과 연관된 하나 이상의 통신 프로토콜을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(602)는 프로세서(605)를 포함한다. 도 6에는 단일 프로세서(605)로서 도시되었지만, 컴퓨터(602)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서 2개 이상의 프로세서가 사용될 수 있다. 일반적으로, 프로세서(605)는, 본 개시에 설명된 바와 같이, 컴퓨터(602)의 동작들 및 임의의 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차를 수행하기 위하여 명령어를 실행하고 데이터를 다룬다.
컴퓨터(602)는, 네트워크(630)에 연결될 수 있는 컴퓨터(602) 또는 다른 컴포넌트(또는 둘 다의 조합)(도시 여부 무관)를 위한 데이터를 보유할 수 있는 데이터베이스(606)도 포함한다. 예컨대, 데이터베이스(606)는 인메모리(in-memory) 데이터베이스, 종래의 데이터베이스, 또는 본 개시에 모순되지 않는 데이터를 저장한 다른 유형의 데이터베이스일 수 있다. 일부 구현예에서, 컴퓨터(602) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 데이터베이스(606)는 2개 이상의 상이한 데이터베이스 유형의 조합(예컨대, 인메모리 데이터베이스와 종래 데이터베이스의 하이브리드 데이터베이스)일 수 있다. 도 6에는 단일 데이터베이스(606)로서 도시되었지만, 컴퓨터(602) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, (동일한 유형의 또는 조합된) 2개 이상의 데이터베이스가 사용될 수 있다. 데이터베이스(606)는 컴퓨터(602)의 통합형 컴포넌트로서 도시되었지만, 대안적 구현예에서, 데이터베이스(606)는 컴퓨터(602)의 외부에 있을 수 있다.
컴퓨터(602)는, 네트워크(630)에 연결될 수 있는 컴퓨터(602) 또는 다른 컴포넌트(또는 둘 다의 조합)(도시 여부 무관)을 위한 데이터를 보유할 수 있는 메모리(607)도 포함한다. 메모리(607)는, 본 개시에 모순되지 않는 임의의 데이터를 저장할 수 있다. 일부 구현예에서, 컴퓨터(602) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 메모리(607)는 2개 이상의 상이한 유형의 메모리의 조합(예컨대, 반도체와 자기 저장장치의 조합)일 수 있다. 도 6에는 단일 메모리(607)로서 도시되었지만, 컴퓨터(602) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, (동일한 유형의 또는 조합된) 2개 이상의 메모리(607)가 사용될 수 있다. 메모리(607)는 컴퓨터(602)의 통합형 컴포넌트로서 도시되었지만, 대안적 구현예에서 메모리(607)는 컴퓨터(602)의 외부에 있을 수 있다.
애플리케이션(608)은, 컴퓨터(602)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 특히 본 개시에 설명된 기술과 관련된, 기능을 제공하는 알고리즘적 소프트웨어 엔진이다. 예컨대, 애플리케이션(608)은 하나 이상의 컴포넌트, 모듈, 또는 애플리케이션으로서의 역할을 수행할 수 있다. 또한, 단일 애플리케이션(608)으로서 도시되었지만, 애플리케이션(608)은 복수의 애플리케이션(608)으로서 컴퓨터(602) 상에 구현될 수 있다. 또한, 애플리케이션(608)은 컴퓨터(602)에 통합된 것으로 도시되었지만, 대안적 실시예에서 애플리케이션(608)은 컴퓨터(602)의 외부에 있을 수 있다.
컴퓨터(602)는 전원 공급장치(614)도 포함할 수 있다. 전원 공급장치(614)는, 사용자가 교체할 수 있도록 또는 사용자가 교체할 수 없도록 구성될 수 있는 충전식 또는 비충전식 배터리를 포함할 수 있다. 일부 구현예에서, 전원 공급장치(614)는 (충전, 대기, 또는 다른 전원 관리 기능을 포함한) 전원 변환 또는 관리 회로를 포함할 수 있다. 일부 구현예에서, 전원 공급장치(614)는, 예컨대, 컴퓨터(602)에 전원을 공급하거나 충전식 배터리를 충전하기 위하여, 컴퓨터(602)가 벽면 소켓 또는 다른 전원 소스에 플러깅될 수 있도록 하는 전원 플러그를 포함할 수 있다.
네트워크(630)를 통해 통신하는 각 컴퓨터(602)를 포함하는 컴퓨터 시스템과 연관된 또는 이러한 컴퓨터 시스템의 외부에 있는 임의의 수의 컴퓨터(602)가 존재할 수 있다. 또한, "클라이언트"와 "사용자"라는 용어 및 다른 적절한 용어는, 적절한 경우, 본 개시의 범위로부터 벗어나지 않으면서 상호교환가능하도록 사용될 수 있다. 또한, 본 개시는 다수의 사용자가 하나의 컴퓨터(602)를 사용하거나 하나의 사용자가 복수의 컴퓨터(602)를 사용할 수 있음을 예상한다.
본 명세서에 설명된, 컴퓨터 시스템으로부터 사용자 정보를 수집하기 위한 접근법은, 종래의 사용자 정보의 수집을 기술적으로 개선한다. 예컨대, 본 명세서에 설명된 계층화된 매칭 접근법은, 사용자 정보 수집의 일환인 전체적인 매칭 기능을 개선하기 위하여 수동으로 또는 동적으로 구성될 수 있다. 또한, 예컨대, 속도, 효율, 컴퓨팅 리소스 사용, 네트워크 대역폭, 또는 컴퓨터 데이터 저장을 개선하기 위하여, (데이터 암호화, 동적/정적 캐싱, 네트워크 스로틀링, 프로세서 관리, 데이터 저장 관리, 시간/지리적 위치 고려사항, 및 컴퓨터/데이터베이스 클러스터링과 같이) 사용자 정보 수집에 적용가능한 다른 기술적 양상이, 계층화된 매칭 접근법의 사용과 함께 (수동으로 또는 동적으로) 구성될 수 있다.
하나의 특정한 예로서, (프로세서 유형, 메모리 용량/속도, 및 데이터 저장 능력과 같은) 서버의 하나 이상의 속성의 구성에 기초해 서버의 처리를 최대화하기 위하여, 본 명세서에 설명된 (예컨대, 도 4 또는 도 5의) 컴퓨팅 시스템의 하나 이상의 컴포넌트에 의해, 계층화된 매칭 접근법을 위한 하나 이상의 방법이 선택될 수 있다. 또 다른 예로서, 취득된 텍스트 데이터의 수신 속도를 높이고 서버의 처리 능력을 최대화하기 위하여, 하나 이상의 컴퓨팅 컴포넌트에 의해 캐싱 기술이 활용될 수 있다(예컨대, 처리되는 매치는 서버의 능력만큼 신속하게 처리되고, 본 명세서에 설명된 컴퓨팅 시스템에 의한 최종적인 사용을 위해 메모리 내에 캐싱될 수 있음). 또한, 캐싱 기술의 사용은 네트워크 트래픽 관리 및 최적화의 개선을 도울 수 있다. 또 다른 예로서, 본 명세서에 설명된 접근법은 전체적인 매칭 효율을 높이는 데 사용될 수 있으므로, 처리 효율이 개선되고 더욱 잘 관리될 수 있다. 매칭 효율이 증가하면, 본 명세서에 설명된 컴퓨팅 시스템의 다양한 컴포넌트에 의한 사용을 위해, 사용자에게로의 더 빠른 데이터 반환을 위해, 그리고 응답성이 더 높은 애플리케이션 소프트웨어 및 모바일 컴퓨팅 디바이스를 위해, 결과 데이터가 더 신속하게 결정될 수 있다.
본 명세서에 설명된 주제의 구현예는 하나 이상의 특징을 단독으로 또는 조합으로 포함할 수 있다.
예컨대, 제 1 구현예에서, 컴퓨터-구현 방법은, 사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 단계; 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 단계로서, 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 프리셋 목록은, 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함하는, 계층화된 매칭을 수행하는 단계; 그리고 계층화된 매칭에 기초하여 사용자 정보를 결정하는 단계를 포함한다.
전술한 구현예 및 다른 설명된 구현예는 각각, 선택적으로, 다음의 특징 중 하나 이상을 포함할 수 있다.
다음의 특징 중 임의의 특징과 조합가능한 제1 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 단계는, 텍스트 정보가 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 텍스트 정보에 대해 제1 매칭을 수행하는 단계; 성공적이지 않은 제1 매칭에 응답하여, 텍스트 정보가 프리셋 목록의 단 하나의 엔트리를 포함하거나 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 텍스트 정보에 대해 제2 매칭을 수행하는 단계; 그리고, 성공적이지 않은 제2 매칭에 응답하여, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하는 단계를 더 포함하는, 제 1 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제2 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하는 단계는, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 단계; 최대 유사도 값을 결정하는 단계; 및 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하는 단계를 더 포함하는, 제2 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제3 특징으로서, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 단계는, 텍스트 정보와 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이를 계산하는 단계; 및 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누는 단계를 더 포함하는, 제3 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제4 특징으로서, 성공적인 제2 매칭에 응답하여, 제2 매칭에 기초해 프리셋 목록을 업데이트하는 단계를 더 포함하는, 제4 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제5 특징으로서, 계층화된 매칭에 기초하여 사용자 정보를 결정하는 단계는, 제1 매칭, 제2 매칭, 또는 제3 매칭에 기초하여 사용자 정보를 결정하는 단계를 더 포함하는, 제5 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제6 특징으로서, 텍스트 정보에 대해 데이터 클리닝을 수행하는 단계; 및 클리닝된 텍스트 정보에 대해, 계층화된 매칭을 수행하는 단계를 더 포함하는, 제6 특징.
제2 구현예에서, 비일시적 컴퓨터-판독가능 매체는, 사용자 정보와 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 동작; 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작으로서, 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 프리셋 목록은, 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함하는, 계층화된 매칭을 수행하는 동작; 및 계층화된 매칭에 기초하여 사용자 정보를 결정하는 동작을 포함하는 동작들을 수행하기 위하여 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한다.
전술한 또는 다른 설명된 구현예는 각각, 선택적으로, 다음의 특징 중 하나 이상을 포함할 수 있다.
다음의 특징 중 임의의 특징과 조합가능한 제1 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작은, 텍스트 정보가 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 텍스트 정보에 대해 제1 매칭을 수행하고; 성공적이지 않은 제1 매칭에 응답하여, 텍스트 정보가 프리셋 목록의 단 하나의 엔트리를 포함하거나 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 텍스트 정보에 대해 제2 매칭을 수행하고; 성공적이지 않은 제2 매칭에 응답하여, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하기 위한 하나 이상의 명령어를 더 포함하는, 제1 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제2 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하는 동작은, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하고; 최대 유사도 값을 결정하고; 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하기 위한 하나 이상의 명령어를 더 포함하는, 제2 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제3 특징으로서, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 동작은, 텍스트 정보와 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이를 계산하고; 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누기 위한 하나 이상의 명령어를 더 포함하는, 제 3 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제4 특징으로서, 동작들은, 성공적인 제2 매칭에 응답하여, 제2 매칭에 기초해 프리셋 목록을 업데이트하기 위한 하나 이상의 명령어를 더 포함하는, 제4 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제5 특징으로서, 계층화된 매칭에 기초하여 사용자 정보를 결정하는 동작은, 제1 매칭, 제2 매칭, 또는 제3 매칭에 기초하여 사용자 정보를 결정하기 위한 하나 이상의 명령어를 더 포함하는, 제5 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제6 특징으로서, 텍스트 정보에 대해 데이터 클리닝을 수행하고; 클리닝된 텍스트 정보에 대해, 계층화된 매칭을 수행하기 위한 하나 이상의 명령어를 더 포함하는, 제6 특징.
제3 구현예에서, 컴퓨터-구현 시스템은, 컴퓨터 메모리; 및 컴퓨터 메모리와 상호운용가능하도록 커플링된 하드웨어 프로세서로서, 사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 동작; 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작으로서, 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 프리셋 목록은, 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함하는, 계층화된 매칭을 수행하는 동작; 및 계층화된 매칭에 기초하여 사용자 정보를 결정하는 동작을 포함하는 동작들을 수행하도록 구성된, 하드웨어 프로세서를 포함한다.
전술한 구현예 및 다른 설명된 구현예는 각각, 선택적으로, 다음의 특징 중 하나 이상을 포함할 수 있다.
다음의 특징 중 임의의 특징과 조합가능한 제1 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작은 또한, 텍스트 정보가 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 텍스트 정보에 대해 제1 매칭을 수행하고; 성공적이지 않은 제1 매칭에 응답하여, 텍스트 정보가 프리셋 목록의 단 하나의 엔트리를 포함하거나 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 텍스트 정보에 대해 제2 매칭을 수행하고; 성공적이지 않은 제2 매칭에 응답하여, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하도록 구성되는, 제 1 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제2 특징으로서, 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초하여 텍스트 정보에 대해 제3 매칭을 수행하는 동작은 또한, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하고; 최대 유사도 값을 결정하고, 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하도록 구성되는, 제 2특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제3 특징으로서, 프리셋 유사도 공식을 사용하여 텍스트 정보와 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 동작은 또한, 텍스트 정보와 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이를 계산하고; 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누도록 구성되는, 제3 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제4 특징으로서, 컴퓨터-구현 시스템은 또한, 성공적인 제2 매칭에 응답하여, 제2 매칭에 기초해 프리셋 목록을 업데이트하도록 구성되며, 계층화된 매칭에 기초하여 사용자 정보를 결정하는 동작은 또한, 제1 매칭, 제2 매칭, 또는 제3 매칭에 기초하여 사용자 정보를 결정하도록 구성되는, 제4 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제5 특징으로서, 컴퓨터-구현 시스템은 또한, 텍스트 정보에 대해 데이터 클리닝을 수행하도록 구성되는, 제5 특징.
이전의 또는 다음의 특징 중 임의의 특징과 조합가능한 제6 특징으로서, 컴퓨터-구현 시스템은 또한, 클리닝된 텍스트 정보에 대해, 계층화된 매칭을 수행하도록 구성되는, 제6 특징.
본 명세서에 설명된 주제 및 기능적 동작의 구현예는, 디지털 전자 회로부로, 유형적으로(tangibly) 수록된 컴퓨터 소프트웨어 또는 펌웨어로, 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 소프트웨어 구현예는, 하나 이상의 컴퓨터 프로그램으로서, 즉, 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 유형적이고 비일시적인 컴퓨터-판독가능 컴퓨터-저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램 명령어 모듈로서 구현될 수 있다. 대안적으로, 또는 추가적으로, 프로그램 명령어는, 인공적으로 생성되어 전파되는 신호, 예컨대, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 송신할 정보를 인코딩하기 위해 생성된 기계-생성형 전기, 광학, 또는 전자기 신호 내에/상에 인코딩될 수 있다. 컴퓨터-저장 매체는, 기계-판독가능 저장 디바이스, 기계-판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터-저장 매체들의 조합일 수 있다.
"실-시간", "실 시간", "실시간", "실 (속) 시간(RFT)", "근 실-시간(NRT)", "준 실-시간", 또는 (당업자가 이해하기에) 이와 유사한 용어는, 행동과 응답이 실질적으로 동시에 발생한다고 개인이 인지하도록, 행동과 응답이 시간적으로 근접하다는 것을 의미한다. 예컨대, 데이터에 액세스하기 위한 개인의 행동에 수반되는 데이터의 디스플레이(또는 디스플레이의 초기화)에 대한 응답에 대한 시간차는 1ms 미만, 1초 미만, 또는 5초 미만일 수 있다. 요청된 데이터는 즉각적으로 디스플레이(또는 디스플레이를 위해 초기화)될 필요가 없지만, 요청된 데이터는, 본 명세서에 설명된 컴퓨터 시스템의 처리 한계, 그리고, 예컨대, 데이터를 수집하거나, 정확히 측정하거나, 분석하거나, 처리하거나, 저장하거나, 전송하는 데 요구되는 시간을 고려하여, 의도적인 지연 없이 디스플레이(또는 디스플레이를 위해 초기화)된다.
"데이터 처리 장치", "컴퓨터", 또는 "전자 컴퓨터 디바이스"라는 용어(또는 당업자에 의해 이해되는 등가물)는, 데이터 처리 하드웨어를 지칭하며, 예컨대, 프로그래밍가능 프로세서, 컴퓨터, 또는 복수의 프로세서나 컴퓨터를 비롯하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스, 및 기계를 망라한다. 이러한 장치는, 특수 목적 논리 회로부, 예컨대, CPU(central processing unit), FPGA(field programmable gate array), 또는 ASIC(application-specific integrated circuit)일 수도 있거나 이러한 특수 목적 논리 회로부를 더 포함할 수도 있다. 일부 구현예에서, 데이터 처리 장치 또는 특수 목적 논리 회로부(또는 데이터 처리 장치와 특수 목적 논리 회로부의 조합)는 하드웨어 기반이거나 소프트웨어 기반(또는 하드웨어 기반 및 소프트웨어 기반 둘 다의 조합)일 수 있다. 이러한 장치는, 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시는, 종래의 운영 체제, 예컨대, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, 또는 임의의 다른 적절한 종래의 운영 체제를 갖거나 갖지 않는 데이터 처리 장치의 사용을 고려한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로도 지칭되거나 설명될 수 있는 컴퓨터 프로그램은, 컴파일러형이나 인터프리터형 언어, 또는 선언형이나 절차형 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램, 또는 모듈, 컴포넌트, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛을 비롯한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있으나, 반드시 그러할 필요는 없다. 프로그램은, 다른 프로그램 또는 데이터를 보유한 파일의 일부, 예컨대, 마크업 언어 문서 내에 저장된 하나 이상의 스크립트에 저장되거나, 해당 프로그램 전용 단일 파일에 저장되거나, 복수의 조정된 파일, 예컨대, 하나 이상의 모듈, 서브프로그램, 또는 코드의 부분들을 저장한 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터, 또는 하나의 지점에 위치된 또는 복수의 지점에 걸쳐 분산되고 통신 네트워크에 의해 상호연결된 복수의 컴퓨터에서 실행되기 위하여 배치될 수 있다. 다양한 도면에 나타난 프로그램의 부분들은, 다양한 객체, 방법, 또는 다른 프로세스를 통해 다양한 특징 및 기능을 구현하는 개별적인 모듈로서 도시되었지만, 적절한 경우, 프로그램은 그 대신 다수의 서브모듈, 제삼자 서비스, 컴포넌트, 라이브러리 등을 포함할 수 있다. 반대로, 적절한 경우, 다양한 컴포넌트의 특징 및 기능이 단일 컴포넌트에 조합될 수 있다. 계산적 결정을 하기 위한 임계값은 정적으로, 동적으로, 또는 정적 및 동적 두 방식 모두로 결정될 수 있다.
본 명세서에 설명된 방법, 프로세스, 또는 논리 흐름은, 입력 데이터에 대해 연산을 수행하고 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능 컴퓨터에 의해 수행될 수 있다. 이러한 방법, 프로세스, 또는 논리 흐름은 특수 목적 논리 회로부, 예컨대, CPU, FPGA, 또는 ASIC에 의해 수행될 수도 있거나, 이러한 특수 목적 논리 회로부로서 장치가 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적절한 컴퓨터는, 범용 또는 특수 목적 마이크로프로세서, 둘 다, 또는 임의의 다른 종류의 CPU를 기반으로 할 수 있다. 일반적으로, CPU는 메모리로부터 명령어 및 데이터를 수신하고 메모리에 기입한다. 컴퓨터의 필수 요소는, 명령어를 수행 또는 실행하기 위한 CPU, 그리고 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예컨대, 자기 디스크, 자기-광학 디스크, 또는 광학 디스크도 포함하거나, 이러한 대용량 저장 디바이스로부터 데이터를 수신하거나 이러한 대용량 저장 디바이스에 데이터를 전송하거나 둘 모두를 위해 이러한 대용량 저장 디바이스에 동작가능하도록 커플링될 것이다. 그러나, 컴퓨터가 그러한 디바이스를 가질 필요는 없다. 또한, 컴퓨터는, 또 다른 디바이스에, 예컨대, 이동 전화기, PDA(personal digital assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(global positioning system) 수신기, 또는 휴대용 저장 디바이스, 예컨대, USB(universal serial bus) 플래시 드라이브 등에 임베딩될 수 있다.
컴퓨터 프로그램 명령어 및 데이터를 저장하는 데 적절한 컴퓨터-판독가능 매체(적절한 경우, 일시적 또는 비일시적)는, 예를 들면, 반도체 메모리 디바이스, 예컨대, RAM(random access memory), ROM(read-only memory), PRAM(phase change memory), SRAM(static random access memory), DRAM(dynamic random access memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 및 플래시 메모리 디바이스; 자기 디바이스, 예컨대, 테이프, 카트리지, 카세트, 내장형/탈착형 디스크; 자기-광학 디스크; 및 광학 메모리 디바이스, 예컨대, DVD(digital video disc), CD-ROM, DVD+/-R, DVD-RAM, DVD-ROM, HD-DVD, 및 BLU-RAY(BD), 및 다른 광학 메모리 기술을 비롯한, 모든 형태의 영구적/비영구적 또는 휘발성/비휘발성 메모리, 매체, 및 메모리 디바이스를 포함한다. 메모리는, 캐시, 클래스, 프레임워크, 애플리케이션, 모듈, 백업 데이터, 작업, 웹 페이지, 웹 페이지 템플리트, 데이터 구조, 데이터베이스 테이블, 동적 정보를 저장한 저장소, 그리고, 임의의 파라미터, 변수, 알고리즘, 명령어, 규칙, 제한사항, 또는 그에 대한 참조를 포함한 임의의 다른 적절한 정보를 비롯한, 다양한 객체 또는 데이터를 저장할 수 있다. 또한, 메모리는, 로그, 정책, 보안 또는 액세스 데이터, 보고 파일 등과 같은 임의의 다른 적절한 데이터를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 논리 회로부에 의해 보완되거나 특수 목적 논리 회로부에 포함될 수 있다.
사용자와의 상호작용이 가능하도록 하기 위하여, 본 명세서에 설명된 주제의 구현예는, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예컨대, CRT(cathode ray tube), LCD(liquid crystal display), LED(Light Emitting Diode), 또는 플라즈마 모니터, 그리고 포인팅 디바이스, 예컨대, 사용자가 컴퓨터에 입력을 제공하도록 할 수 있는 마우스, 트랙볼, 또는 트랙패드, 및 키보드를 갖는 컴퓨터 상에 구현될 수 있다. 입력은, 감압식 태블릿 컴퓨터 표면, 정전용량식 멀티터치 스크린, 또는 다른 유형의 터치스크린과 같은, 터치스크린을 사용하여 컴퓨터에 제공될 수도 있다. 사용자와의 상호작용이 가능하도록 하기 위하여 다른 종류의 디바이스가 사용될 수도 있으며; 예컨대, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 비롯한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자에 의해 사용되는 디바이스에 문서를 전송하고 해당 디바이스로부터 문서를 수신하여, 예컨대, 요청이 웹 브라우저로부터 수신되는 것에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써, 사용자와 상호작용할 수 있다.
"그래픽 사용자 인터페이스" 또는 "GUI"라는 용어는, 하나 이상의 그래픽 사용자 인터페이스, 그리고 특정한 그래픽 사용자 인터페이스의 디스플레이의 각각을 설명하기 위하여 단수형 또는 복수형으로 사용될 수 있다. 따라서, GUI는, 정보를 처리하고 정보 결과를 사용자에게 효율적으로 제공하는 웹 브라우저, 터치 스크린, 또는 CLI(command line interface)를 포함하지만 이에 한정되지 않는 임의의 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 복수의 사용자 인터페이스(UI) 요소를 포함할 수 있으며, 그 일부 또는 모두는, 인터랙티브 필드(interactive field), 풀다운 목록, 및 버튼과 같이, 웹 브라우저에 연관되어 있을 수 있다. 이러한 UI 요소 및 다른 UI 요소는 웹 브라우저의 기능과 관련되어 있거나 웹 브라우저의 기능을 나타낼 수 있다.
본 명세서에 설명된 주제의 구현예는, 예컨대 데이터 서버로서의, 백엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트, 예컨대, 애플리케이션 서버를 포함하는, 또는 프론트엔드 컴포넌트, 예컨대, 사용자가 본 명세서에 설명된 주제의 구현예와 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하는, 또는 그러한 백엔드, 미들웨어, 및 프론트엔드 컴포넌트 중 하나 이상의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 데이터 통신의 조합), 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크의 예는, LAN(local area network), RAN(radio access network), MAN(metropolitan area network), WAN(wide area network), WIMAX(Worldwide Interoperability for Microwave Access), 예컨대 802.11 a/b/g/n 또는 802.20(또는 802.11x와 802.20의 조합이나 본 명세서에 모순되지 않는 다른 프로토콜)을 사용하는, WLAN(wireless local area network), 인터넷의 모두 또는 일부, 또는 하나 이상의 위치에 있는 임의의 다른 통신 시스템 또는 시스템들(또는 통신 네트워크의 조합)을 포함한다. 네트워크는, 예컨대, IP(Internet Protocol) 패킷, Frame Relay 프레임, ATM(Asynchronous Transfer Mode) 셀, 음성, 동영상, 데이터, 또는 다른 적절한 정보(또는 통신 유형의 조합)를 사용하여 네트워크 주소 사이에서 통신할 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는, 각 컴퓨터 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 다수의 특정한 구현예 세부사항을 포함하고 있지만, 이들은 임의의 발명의 범위 또는 청구 대상이 될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되며, 오히려, 특정한 발명의 특정한 구현예에 특정할 수 있는 특징의 설명으로서 해석되어야 한다. 분리된 구현예의 맥락에서 본 명세서에 설명된 특정한 특징들은 단일 구현예에서 조합되어 구현될 수도 있다. 반대로, 단일 구현예의 맥락에서 설명된 다양한 특징은 복수의 구현예에서 분리되어 또는 임의의 적절한 부분조합으로 구현될 수도 있다. 또한, 전술한 특징은 특정한 조합으로 동작하는 것으로 설명되고 최초에 그와 같이 청구될 수도 있으나, 청구된 조합으로부터의 하나 이상의 특징은, 일부 경우, 조합으로부터 삭제될 수 있고, 청구된 조합은 부분조합 또는 부분조합의 변형예에 관한 것일 수 있다.
지금까지 본 명세서의 주제의 특정한 구현예가 설명되었다. 설명된 구현예의 다른 구현예, 변형예, 및 치환예는, 당업자에게 분명할 바와 같이, 다음 청구항들의 범위 내에 있다. 도면 또는 청구항에 동작이 특정한 순서로 묘사되었으나, 이는 바람직한 결과를 달성하기 위하여 그러한 동작이, 도시된 특정한 순서 또는 순차적 순서로 수행될 것 또는 설명된 모든 동작이 수행될 것(일부 동작은 선택적인 것으로 간주될 수 있음)을 요구하는 것으로 이해되어서는 안 된다. 특정한 상황에서, 멀티태스킹 또는 병렬 처리(또는 멀티태스킹과 병렬 처리의 조합)가 이로울 수 있으며 적절하다고 간주되는 방식으로 수행될 수 있다.
또한, 전술한 구현예에서의 다양한 시스템 모듈 및 컴포넌트의 분리 또는 통합은, 모든 구현예에서 그러한 분리 또는 통합을 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 복수의 소프트웨어 제품으로 패키징될 수 있는 것으로 이해되어야 한다.
따라서, 전술한 예시적 구현예들은 본 개시를 한정하거나 제한하지 않는다. 본 개시의 사상 및 범위로부터 벗어나지 않는 다른 변화, 대체, 및 변경도 가능하다.
또한, 임의의 청구된 구현예는 적어도 하나의 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독가능 명령어를 저장한 비일시적 컴퓨터-판독가능 매체; 및 컴퓨터-구현 방법 또는 비일시적 컴퓨터-판독가능 매체에 저장된 명령어를 수행하도록 구성된 하드웨어 프로세서와 상호운용가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터 시스템에 적용가능한 것으로 간주된다.

Claims (20)

  1. 컴퓨터-구현 방법(computer-implemented method)으로서,
    사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 단계;
    프리셋(preset) 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭(layered matching)을 수행하는 단계로서, 상기 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 상기 프리셋 목록은, 상기 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리(entry)를 포함하는, 상기 계층화된 매칭을 수행하는 단계; 및
    상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 단계
    를 포함하는, 컴퓨터-구현 방법.
  2. 제1항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭을 수행하는 단계는,
    상기 텍스트 정보가 상기 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제1 매칭을 수행하는 단계;
    성공적이지 않은 제1 매칭에 응답하여, 상기 텍스트 정보가 상기 프리셋 목록의 단 하나의 엔트리를 포함하거나 상기 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제2 매칭을 수행하는 단계; 및
    성공적이지 않은 제2 매칭에 응답하여, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식(similarity formula)에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  3. 제2항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하는 단계는,
    상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 단계;
    최대 유사도 값을 결정하는 단계; 및
    상기 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  4. 제3항에 있어서, 상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 단계는,
    상기 텍스트 정보와 상기 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이(longest common sub-string length)를 계산하는 단계; 및
    상기 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누는 단계를 더 포함하는, 컴퓨터-구현 방법.
  5. 제2항에 있어서, 성공적인 제2 매칭에 응답하여, 상기 제2 매칭에 기초해 상기 프리셋 목록을 업데이트하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  6. 제2항에 있어서, 상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 단계는, 상기 제1 매칭, 상기 제2 매칭, 또는 상기 제3 매칭에 기초하여 상기 사용자 정보를 결정하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  7. 제1항에 있어서,
    상기 텍스트 정보에 대해 데이터 클리닝(data cleaning)을 수행하는 단계; 및
    상기 클리닝된 텍스트 정보에 대해 상기 계층화된 매칭을 수행하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  8. 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한 비일시적 컴퓨터-판독가능 매체(non-transitory, computer-readable medium)로서, 상기 동작들은,
    사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 동작;
    프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작으로서, 상기 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 상기 프리셋 목록은, 상기 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함하는, 상기 계층화된 매칭을 수행하는 동작; 및
    상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 동작
    을 포함하는, 비일시적 컴퓨터-판독가능 매체.
  9. 제8항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작은,
    상기 텍스트 정보가 상기 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제1 매칭을 수행하고;
    성공적이지 않은 제1 매칭에 응답하여, 상기 텍스트 정보가 상기 프리셋 목록의 단 하나의 엔트리를 포함하거나 상기 프리셋 목록의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제2 매칭을 수행하고;
    성공적이지 않은 제2 매칭에 응답하여, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  10. 제9항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하는 동작은,
    상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하고;
    최대 유사도 값을 결정하고;
    상기 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  11. 제10항에 있어서, 상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 동작은,
    상기 텍스트 정보와 상기 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이를 계산하고;
    상기 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  12. 제9항에 있어서, 상기 동작들은, 성공적인 제2 매칭에 응답하여, 상기 제2 매칭에 기초해 상기 프리셋 목록을 업데이트하기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  13. 제9항에 있어서, 상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 동작은, 상기 제1 매칭, 상기 제2 매칭, 또는 상기 제3 매칭에 기초하여 상기 사용자 정보를 결정하기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  14. 제8항에 있어서,
    상기 텍스트 정보에 대해 데이터 클리닝을 수행하고;
    상기 클리닝된 텍스트 정보에 대해 상기 계층화된 매칭을 수행하기 위한 하나 이상의 명령어를 더 포함하는, 비일시적 컴퓨터-판독가능 매체.
  15. 컴퓨터-구현 시스템(computer-implemented system)으로서,
    컴퓨터 메모리; 및
    상기 컴퓨터 메모리와 상호운용가능하게 커플링되고 동작들을 수행하도록 구성된 하드웨어 프로세서를 포함하며, 상기 동작들은,
    사용자 정보에 관련된 텍스트 정보를 사용자 서비스 정보로부터 식별하는 동작;
    프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작으로서, 상기 계층화된 매칭은, 상이한 매칭 방법들을 포함하고, 상기 프리셋 목록은, 상기 사용자 정보에 관련된 상이한 프리셋 배경 식별 정보를 저장한 복수의 엔트리를 포함하는, 상기 계층화된 매칭을 수행하는 동작; 및
    상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 동작
    을 포함하는, 컴퓨터-구현 시스템.
  16. 제15항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보에 기초하여, 상기 텍스트 정보에 대해, 계층화된 매칭을 수행하는 동작은 또한,
    상기 텍스트 정보가 상기 프리셋 목록 내의 하나의 엔트리와 동일한지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제1 매칭을 수행하고;
    성공적이지 않은 제1 매칭에 응답하여, 상기 텍스트 정보가 상기 프리셋 목록 내의 단 하나의 엔트리를 포함하거나 상기 프리셋 목록 내의 단 하나의 엔트리에 포함되는지의 여부를 결정함으로써 상기 텍스트 정보에 대해 제2 매칭을 수행하고;
    성공적이지 않은 제2 매칭에 응답하여, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하도록 구성되는, 컴퓨터-구현 시스템.
  17. 제16항에 있어서, 상기 프리셋 목록 내의 프리셋 배경 식별 정보 및 프리셋 유사도 공식에 기초해 상기 텍스트 정보에 대해 제3 매칭을 수행하는 동작은 또한,
    상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하고;
    최대 유사도 값을 결정하고;
    상기 최대 유사도 값이 프리셋 임계값 이상인지의 여부를 결정하도록 구성되는, 컴퓨터-구현 시스템.
  18. 제17항에 있어서, 상기 프리셋 유사도 공식을 사용하여 상기 텍스트 정보와 상기 프리셋 목록 내의 각 엔트리 사이의 유사도 값을 계산하는 동작은 또한,
    상기 텍스트 정보와 상기 프리셋 목록 내의 해당 특정 엔트리 사이의 최장 공통 서브스트링 길이를 계산하고;
    상기 최장 공통 서브스트링 길이를 해당 특정 엔트리의 스트링 길이로 나누도록 구성되는, 컴퓨터-구현 시스템.
  19. 제16항에 있어서, 상기 컴퓨터-구현 시스템은 또한, 성공적인 제2 매칭에 응답하여, 상기 제2 매칭에 기초해 상기 프리셋 목록을 업데이트하도록 구성되며,
    상기 계층화된 매칭에 기초하여 상기 사용자 정보를 결정하는 동작은 또한, 상기 제1 매칭, 상기 제2 매칭, 또는 상기 제3 매칭에 기초하여 상기 사용자 정보를 결정하도록 구성되는, 컴퓨터-구현 시스템.
  20. 제15항에 있어서, 상기 컴퓨터-구현 시스템은 또한,
    상기 텍스트 정보에 대해 데이터 클리닝을 수행하고;
    상기 클리닝된 텍스트 정보에 대해 상기 계층화된 매칭을 수행하도록 구성되는, 컴퓨터-구현 시스템.
KR1020197003633A 2016-07-07 2017-07-07 컴퓨터 시스템으로부터의 사용자 정보 수집 KR102202326B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201610532453.8 2016-07-07
CN201610532453.8A CN106909600A (zh) 2016-07-07 2016-07-07 用户背景信息的收集方法及装置
US15/643,963 US10936636B2 (en) 2016-07-07 2017-07-07 Collecting user information from computer systems
US15/643,963 2017-07-07
PCT/US2017/041134 WO2018009823A1 (en) 2016-07-07 2017-07-07 Collecting user information from computer systems

Publications (2)

Publication Number Publication Date
KR20190026853A true KR20190026853A (ko) 2019-03-13
KR102202326B1 KR102202326B1 (ko) 2021-01-14

Family

ID=59206511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197003633A KR102202326B1 (ko) 2016-07-07 2017-07-07 컴퓨터 시스템으로부터의 사용자 정보 수집

Country Status (14)

Country Link
US (1) US10936636B2 (ko)
EP (1) EP3482301A4 (ko)
JP (1) JP6777807B2 (ko)
KR (1) KR102202326B1 (ko)
CN (1) CN106909600A (ko)
AU (1) AU2017292019A1 (ko)
BR (1) BR112019000188A2 (ko)
CA (1) CA3030075C (ko)
MX (1) MX2019000101A (ko)
PH (1) PH12019500052A1 (ko)
RU (1) RU2718422C1 (ko)
SG (1) SG11201900102YA (ko)
TW (1) TWI673617B (ko)
WO (1) WO2018009823A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106959958B (zh) 2016-01-11 2020-04-07 阿里巴巴集团控股有限公司 地图兴趣点简称获取方法和装置
CN109947873B (zh) * 2017-08-14 2021-11-23 清华大学 景点知识地图构建方法、装置、设备及可读存储介质
CN110019992B (zh) * 2017-09-14 2021-02-02 腾讯科技(深圳)有限公司 一种数据处理方法和装置
US10909317B2 (en) * 2019-07-26 2021-02-02 Advanced New Technologies Co., Ltd. Blockchain-based text similarity detection method, apparatus and electronic device
CN112887423B (zh) * 2021-02-24 2021-12-07 三川智慧科技股份有限公司 一种远程调试水表的方法及系统
CN114547404B (zh) * 2022-01-10 2023-02-17 普瑞纯证医疗科技(苏州)有限公司 一种大数据平台系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083062A1 (en) * 1999-09-10 2002-06-27 Neal Michael Renn Sequential subset catalog search engine
US20050097150A1 (en) * 2003-11-03 2005-05-05 Mckeon Adrian J. Data aggregation
US20090006394A1 (en) * 2007-06-29 2009-01-01 Snapp Robert F Systems and methods for validating an address
JP2009009295A (ja) * 2007-06-27 2009-01-15 Fujitsu Ltd アンケート方法、情報処理装置及びプログラム
US9049117B1 (en) * 2009-10-21 2015-06-02 Narus, Inc. System and method for collecting and processing information of an internet user via IP-web correlation

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050004799A1 (en) * 2002-12-31 2005-01-06 Yevgenly Lyudovyk System and method for a spoken language interface to a large database of changing records
US7640160B2 (en) * 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
JP5076575B2 (ja) 2007-03-19 2012-11-21 日本電気株式会社 同義表現抽出システム、同義表現抽出方法、及び同義表現抽出プログラム
US20090119581A1 (en) * 2007-11-05 2009-05-07 Verizon Data Services Inc. Method and apparatus for providing auto-completion of information using strings
US20110238591A1 (en) * 2010-03-24 2011-09-29 Findly, Inc. Automated profile standardization and competency profile generation
US20130132358A1 (en) * 2011-11-18 2013-05-23 Rawllin International Inc. Consumer information aggregator and profile generator
US10614099B2 (en) * 2012-10-30 2020-04-07 Ubiq Security, Inc. Human interactions for populating user information on electronic forms
US9449056B1 (en) * 2012-11-01 2016-09-20 Intuit Inc. Method and system for creating and updating an entity name alias table
CN103020230A (zh) * 2012-12-14 2013-04-03 中国科学院声学研究所 一种语义模糊匹配方法
US9413827B2 (en) * 2013-02-25 2016-08-09 Qualcomm Incorporated Context aware actions among heterogeneous internet of things (IOT) devices
US9760620B2 (en) * 2013-07-23 2017-09-12 Salesforce.Com, Inc. Confidently adding snippets of search results to clusters of objects
US10949904B2 (en) * 2014-10-04 2021-03-16 Proz.Com Knowledgebase with work products of service providers and processing thereof
US10296546B2 (en) * 2014-11-24 2019-05-21 Adobe Inc. Automatic aggregation of online user profiles
US10133813B2 (en) * 2015-08-12 2018-11-20 Adobe Systems Incorporated Form value prediction utilizing synonymous field recognition
CN106060113B (zh) * 2016-05-10 2019-07-02 腾讯科技(深圳)有限公司 账号推送方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020083062A1 (en) * 1999-09-10 2002-06-27 Neal Michael Renn Sequential subset catalog search engine
US20050097150A1 (en) * 2003-11-03 2005-05-05 Mckeon Adrian J. Data aggregation
JP2009009295A (ja) * 2007-06-27 2009-01-15 Fujitsu Ltd アンケート方法、情報処理装置及びプログラム
US20090006394A1 (en) * 2007-06-29 2009-01-01 Snapp Robert F Systems and methods for validating an address
US9049117B1 (en) * 2009-10-21 2015-06-02 Narus, Inc. System and method for collecting and processing information of an internet user via IP-web correlation

Also Published As

Publication number Publication date
CA3030075A1 (en) 2018-01-11
EP3482301A1 (en) 2019-05-15
JP2019530046A (ja) 2019-10-17
MX2019000101A (es) 2019-12-05
TWI673617B (zh) 2019-10-01
PH12019500052A1 (en) 2019-10-21
JP6777807B2 (ja) 2020-10-28
SG11201900102YA (en) 2019-02-27
WO2018009823A1 (en) 2018-01-11
AU2017292019A1 (en) 2019-01-31
TW201810093A (zh) 2018-03-16
BR112019000188A2 (pt) 2019-04-24
RU2718422C1 (ru) 2020-04-02
CA3030075C (en) 2020-09-29
US10936636B2 (en) 2021-03-02
EP3482301A4 (en) 2019-05-15
KR102202326B1 (ko) 2021-01-14
US20180011928A1 (en) 2018-01-11
CN106909600A (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
KR102202326B1 (ko) 컴퓨터 시스템으로부터의 사용자 정보 수집
US11727075B2 (en) Enhancing accuracy of presented search keywords
US10872070B2 (en) Distributed data processing
KR102358823B1 (ko) 투명한 자원 매칭
US11783243B2 (en) Targeted prioritization within a network based on user-defined factors and success rates
US10824630B2 (en) Search and retrieval of structured information cards
US9218568B2 (en) Disambiguating data using contextual and historical information
JP6678829B2 (ja) ユーザ信用評価
WO2023124005A1 (zh) 地图兴趣点查询方法、装置、设备、存储介质及程序产品
US10579666B2 (en) Computerized cognitive recall assistance
US11086941B2 (en) Generating suggestions for extending documents
JP6799151B1 (ja) 信頼できるイニシャライザを用いた秘密共有
US20180101541A1 (en) Determining location information based on user characteristics
US10484342B2 (en) Accuracy and security of data transfer to an online user account
US10803071B2 (en) Presenting a data handling method on a graphical user interface
US10817545B2 (en) Cognitive decision system for security and log analysis using associative memory mapping in graph database
US12124483B2 (en) Data segmentation using clustering
US20240303256A1 (en) Data segmentation using clustering
US20230385663A1 (en) Large scale forecasting with explanation information for time series datasets
US20220405650A1 (en) Framework for machine-learning model segmentation
US20160364442A1 (en) Recommendation system with hierarchical mapping and imperfect matching

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
N231 Notification of change of applicant
GRNT Written decision to grant