KR20180126452A - 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅 - Google Patents

인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅 Download PDF

Info

Publication number
KR20180126452A
KR20180126452A KR1020187022282A KR20187022282A KR20180126452A KR 20180126452 A KR20180126452 A KR 20180126452A KR 1020187022282 A KR1020187022282 A KR 1020187022282A KR 20187022282 A KR20187022282 A KR 20187022282A KR 20180126452 A KR20180126452 A KR 20180126452A
Authority
KR
South Korea
Prior art keywords
candidate
values
funnel
neural network
entities
Prior art date
Application number
KR1020187022282A
Other languages
English (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 KR20180126452A publication Critical patent/KR20180126452A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F17/2247
    • G06F17/30377
    • G06F17/30572
    • G06F17/3089
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Physiology (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Genetics & Genomics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

개략적으로 설명하여, 개시된 기술은 탐색 공간에서 모든 가능안 웹 페이지 디자인을 테스팅하지 않고도 탐색 공간에서 가장 성공적인 웹 페이지 디자인을 효율적으로 식별하기 위해 인공 신경망 및 진화적 조작들을 사용하는 소위 기계 학습된 전환 최적화(MLCO) 시스템을 제공한다. 탐색 공간은 마케터들에 의해 제공되는 웹 페이지 디자인들에 기초하여 정의된다. 신경망은 지놈들로 표현된다. 신경망은 라이브 사용자 트래픽으로부터의 사용자 속성들을 실시간으로 사용자들에게 제시되는 상이한 치수들 및 치수 값들의 출력 퍼널들에 맵핑한다. 지놈들은 지놈들은 능숙한 부모 지놈들 및 능숙할 개연성이 있는 자식 지놈들을 식별하기 위한 초기 설정, 테스팅, 경쟁, 및 번식과 같은 진화적 조작들의 대상이 된다.

Description

인공 뉴럴 네트워크들을 이용한 웹인터페이스 생성 및 테스팅
다른 출원 상호 참조
본 출원은 2016년 1월 5일에 출원된 미국 가 특허 출원 62/275,058 "기계 학습을 이용하는 자동 전환 최적화 시스템 및 방법(AUTOMATED CONVERSION OPTIMIZATION SYSTEM AND METHOD USING MACHINE LEARNING)"(대리인 문서 번호 GNFN 3301-1)의 혜택을 주장한다. 우선 가 출원은 이에 의해 참조로 통합된다;
본 출원은 2016년 1월 5일에 출원된 미국 가 특허 출원 62/275,074 "기계 학습을 이용하는 자동 세그멘테이션/개인화 전환 최적화(AUTOMATED SEGMENTATION/PERSONALIZATION CONVERSION OPTIMIZATION USING MACHINE LEARNING)"(대리인 문서 번호 GNFN 3302-1)의 혜택을 주장한다. 우선 가 출원은 이에 의해 참조로 통합된다;
본 출원은 이와 함께 동시에 출원된 "기계 학습 기반 웹 인터페이스 생성 및 테스팅 시스템(MACHINE LEARNING BASED WEBINTERFACE GENERATION AND TESTING SYSTEM)"(대리인 문서 번호 GNFN 3301-2)이라는 명칭의 미국 가 특허 출원을 참조로 통합한다;
본 출원은 이와 함께 동시에 출원된 "기계 학습 기반 웹 인터페이스 생성 및 배치 시스템(MACHINE LEARNING BASED WEBINTERFACE PRODUCTION AND DEPLOYMENT SYSTEM)"(대리인 문서 번호 GNFN 3301-3)이라는 명칭의 미국 가 특허 출원을 참조로 통합한다; 그리고
본 출원은 이와 함께 동시에 출원된 "인공 지능망을 이용하는 웹 인터페이스 생성 및 배치(WEBINTERFACE PRODUCTION AND DEPLOYMENT USING ARTIFICIAL NEURAL NETWORKS)"(대리인 문서 번호 GNFN 3302-3)이라는 명칭의 미국 가 특허 출원을 참조로 통합한다.
기술분야
개시된 기술은 일반적으로 인공 지능 및 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅, 특히 진화적 조작들을 이용하는 소위 기계 학습된 전환 최적화(MLCO, machine-learned conversion optimization) 솔루션들을 제공하는 것에 관한 것이다.
본 섹션에서 논의되는 주제는 본 섹션에서 단지 그것을 언급했다는 결과로 종래 기술로 간주되지 않아야 한다. 유사하게, 본 섹션에서 언급되는 또는 배경기술로서 제공되는 주제와 연관되는 문제는 종래 기술에서 이전에 인식되었던 것으로 간주되지 않아야 한다. 본 섹션에서의 주제는 단지 상이한 접근법들을 나타내며, 이것들은 그 자체로 또한 청구된 기술의 구현예들에 대응할 수도 있다.
개시된 기술은 탐색 공간에서 모든 가능안 웹 페이지 디자인을 테스팅하지 않고도 탐색 공간에서 가장 성공적인 웹 페이지 디자인을 효율적으로 하기 위해 인공 신경망 및 진화적 조작들을 사용하는 소위 기계 학습된 전환 최적화(MLCO) 시스템을 제공한다. 탐색 공간은 마케터들에 의해 제공되는 웹 페이지 디자인들에 기초하여 정의된다. 신경망은 지놈들로 표현된다. 신경망은 라이브 사용자 트래픽으로부터의 사용자 속성들을 실시간으로 사용자들에게 제시되는 상이한 치수들 및 치수 값들의 출력 퍼널들에 맵핑한다. 지놈들은 지놈들은 능숙한 부모 지놈들 및 능숙할 개연성이 있는 자식 지놈들을 식별하기 위한 초기 설정, 테스팅, 경쟁, 및 번식과 같은 진화적 조작들의 대상이 된다.
웹 사이트들 상에서 대조 실험들을 실시하기 위한 공통 방법들은 복잡한 전환 최적화 솔루션들을 포함한다. 전환 최적화는 동시에 웹 페이지들 및 페이지 요소들의 다수의 조합 및 변종들을 테스팅하는 것을 포함한다. 예를 들어, 두 개의 대체 이미지, 플러스 두 개의 대체 헤드라인, 플러스 두 개의 카피 텍스트 대체에 총 27개의 가능한 조합(기본 제어 버전들을 포함하여)이 제공될 수 있다. 그에 따라, 전환 최적화는 사용자들을 진심으로 사로잡는 페이지 요소들의 가장 효과적인 조합을 결정하기 위해 분석될 필요가 있는 순열들 및 조합들의 덜 복잡한 집합을 도입한다.
빅 데이터가 웹 개인화에서 더 중요한 역할을 함에 따라, 데이터 신호들의 수, 룰들의 복잡성, 및 결과들의 수가 기하급수적으로 증가하였다. 그렇게 됨에 따라, 인간 최적화는 사후에, 결과에 거의 영향을 줄 가능성이 없는 경우를 제외하고는 이루어질 수 없다. 알고리즘 최적화가 요구되나, 선형 관계들 및 연관들을 핸들링할 수 있는 간단한 선형 회귀 알고리즘들도 성능을 예측하기 위해 프로세싱되어야 하는 광대한 데이터 입력 및 그 결과로 초래되는 측정치들을 고려할 때, 개선된 결과들을 충분히 생성할 수 없을 수 있다
기계 학습 시스템들은 많은 변수 간 매우 복잡한 관계들을 갖는 변수들이 결과들을 결정하는 것에 수반되는 테스트들을 실행하기 위해 이용된다. 기계 학습 시스템들은 통상적으로 변수들 간 관계들이 사전에 알고리즘을 결정하기에 너무 복잡할 수 있다는 것을 고려할 때, 처음에 공식을 알아내려고 시도하는 것이 하니라 데이터로부터 공식을 알아내기 위해 학습하려고 시도한다. 따라서, 아주 많은 변수가 전환 최적화에 역할을 함에 따라, 입력들의 대용량 데이터 집합으로부터 학습하는 것에 기초하여 결과들에 대한 예측을 하기 위해 기계 학습, 인공 지능, 및 다른 비-선형 알고리즘들을 이용하는 매우 복잡한 알고리즘들이 요구된다.
도면들에서, 같은 참조 부호들을 일반적으로 상이한 도면들 전체에 걸쳐 같은 부분들을 지칭한다. 또한, 도면들은 반드시 일정한 비율로 그려진 것이 아니라, 일반적으로 개시된 기술의 원리들을 도시하는 것에 주안점이 주어진다. 이하 설명에서, 개시된 기술의 다양한 구현예가 이하 도면들을 참조하여 설명되며, 도면들에서:
도 1은 타겟 온라인 사용자 거동을 촉진하기 위한 기계 학습된 전환 최적화(MLCO) 시스템의 양상들을 도시한다.
도 2는 신경망을 나타내는 지놈의 일 구현예를 도시한다.
도 3은 기계 학습된 전환 최적화(MLCO)의 워크플로우를 도시한다.
도 4는 지놈에 의해 표현되는 신경망의 출력 레이어를 초기 설정하기 위해 사용되는 다수의 웹 인터페이스를 갖는 퍼널을 도시한다.
도 5는 지놈에 의해 표현되는 신경망의 출력 레이어를 초기 설정하기 위해 사용되는 퍼널의 웹 인터페이스 레이아웃을 도시한다.
도 6은 지놈에 의해 표현되는 신경망의 출력 레이어를 초기 설정하기 위해 사용되는 그것의 치수 및 치수 값들을 갖는 퍼널의 웹 인터페이스를 도시한다.
도 7은 스타터 퍼널의 편집기 디자인 표현을 런타임 디자인 표현으로 변환하는 일 구현예의 상징적인 도해이다.
도 8은 지놈에 의해 표현되는 신경망의 출력 레이어를 부호화하는 일 구현예의 상징적인 도해를 도시한다.
도 9 및 도 10은 도 1의 전단 제시 모듈의 양상들이다.
도 11은 기계 학습된 사용자 디바이스(MLUD, machine-learned user device)의 일 구현예이다.
도 12는 기계 학습된 콘텐츠 전달 네트워크(MLCDN, machine-learned content delivery network)의 일 구현예를 도시한다.
도 13은 개시된 기술을 구현하기 위해 사용될 수 있는 컴퓨터 시스템의 간략화된 블록도이다.
다음 논의는 해당 기술분야에서의 통상의 기술자가 개시된 기술을 이용 및 사용할 수 있게 하기 위해 제시되고, 특정 적용 및 그것의 요건들의 맥락에서 제공된다. 개시된 구현예들에 대한 다양한 변경예들이 해당 기술분야에서의 통상의 기술자들에게 쉽게 명백해질 것이고, 본 출원에서 정의되는 일반 원리들은 개시된 기술의 사상 및 범위에서 벗어나지 않고 다른 구현예들 및 적용예들에 적용될 수 있다. 그에 따라, 개시된 기술은 제시된 구현예들에 제한되도록 의도되는 것이 아니라, 본 출원에 개시된 원리들 및 특징들에 맞는 가장 넓은 범위를 부여 받아야 한다.
개시된 구현예들에 따른 시스템들, 장치, 및 방법들의 예들은 전환 최적화 맥락에서 설명된다. 다른 사례들에서, 개시된 기술은 다변량 테스팅, A/B 테스팅, 랜딩 페이지 최적화, 전환율 최적화, 웹 사이트 테스팅, 웹 사이트 최적화, 검색 엔진 최적화, 정보 기술, 통신 시스템들, 금융 시스템들, 증권 거래, 은행 업무, 비즈니스 인텔리전스, 마케팅, 의학 및 보건학, 채굴, 에너지 등에 적용될 수 있다. 다른 서비스들이 가능하며, 그에 따라 다음 예들은 범위, 맥락, 또는 설정 중 어느 것에서도 확정적이거나 제한적인 것으로 취해지지 않게 되어야 한다.
개시된 기술은 데이터베이스 시스템, 멀티-테넌트 환경, 또는 관계 데이터베이스 구현 이를테면 Oracle™ 호환가능 데이터베이스 구현, IBM DB2 Enterprise Server™ 호환가능 관계 데이터베이스 구현, MySQL™ 또는 PostgreSQL™ 호환가능 관계 데이터베이스 구현 또는 Microsoft SQL Server™ 호환가능 관계 데이터베이스 구현 또는 NoSQL™ 비-관계 데이터베이스 구현 이를테면 Vampire™ 호환가능 비-관계 데이터베이스 구현, Apache Cassandra™ 호환가능 비-관계 데이터베이스 구현, BigTable™ 호환가능 비-관계 데이터베이스 구현 또는 HBase™ 또는 DynamoDB™ 호환가능 비-관계 데이터베이스 구현을 포함하여 모든 컴퓨터 구현 시스템의 상황에서 구현될 수 있다. 또한, 개시된 기술은 상이한 프로그래밍 모델들 이를테면 MapReduce™, BSP(bulk synchronous programming), MPI 프리미티브 등 또는 상이한 스케일러블 배치(scalable batch) 및 스트림 관리 시스템들 이를테면 Amazon Elasticsearch Service™ 및 Amazon Kinesis™을 포함하는 Amazon Web Services(AWS)™, Apache Storm™, Apache Spark™, Apache Kafka™, Apache Flink™, Truviso™, IBM Info-Sphere™, Borealis™ 및 Yahoo! S4™를 사용하여 구현될 수 있다.
본 출원에서 사용될 때, 용어 "데이터베이스"는 반드시 구조의 모든 통일을 암시하지는 않는다. 예를 들어, 두 개 이상의 별개의 데이터베이스는 함께 고려될 때, 해당 용어가 본 출원에서 사용될 때 여전히 "데이터베이스"가 되는 것으로 여겨진다. 몇몇 구현예에서, 데이터베이스는 온-디맨드 데이터베이스 서비스(ODDS, on-demand database service)를 형성하기 위해 하나 이상의 테넌트로부터의 정보를 공통 데이터베이스 이미지의 테이블들에 저장할 수 있으며, 이는 멀티-테넌트 데이터베이스 시스템(MTDS)와 같은 많은 방식으로 구현될 수 있다. 데이터베이스 이미지는 하나 이상의 데이터베이스 객체를 포함할 수 있다. 다른 구현예들에서, 데이터베이스는 관계 데이터베이스 관리 시스템(RDBMS, relational database management system), 객체 지향 데이터베이스 관리 시스템(OODBMS, object oriented database management system), 분산 파일 시스템(DFS, distributed file system), 노-스키마 데이터베이스(no-schema database), 또는 임의의 다른 데이터 저장 시스템 또는 컴퓨팅 디바이스일 수 있다.
본 출원에서 사용될 때, 정보의 항목의 "식별(identification)"은 반드시 해당 정보의 항목의 직접 지정(direct specification)을 필요로 하지는 않는다. 정보는 필드에서 하나 이상의 간접 레이어를 통해 실제 정보를 간단히 나타냄으로써, 또는 실제 정보의 항목을 함께 결정하기에 충분한 상이한 정보의 하나 이상의 항목을 식별함으로써 "식별"될 수 있다. 또한, 용어 "지정하다(specify)"는 본 출원에서 "식별하다(identify)"와 동일한 의미로 사용된다.
본 출원에서 사용될 때, 소정의 신호, 이벤트 또는 값은 소정의 신호, 이벤트 또는 값에 의해 영향을 받는 이전 신호, 이벤트 또는 값의 이전 신호, 이벤트 또는 값에 "의존적"이다. 처리 요소, 단계 또는 시간 기간이 개재되는 경우에도, 소정의 신호, 이벤트 또는 값은 여전히 이전 신호, 이벤트 또는 값에 "의존적"일 수 있다. 개재된 처리 요소 또는 단계가 하나보다 많은 신호, 이벤트 또는 값을 조합할 경우, 처리 요소 또는 단계의 신호 출력은 신호, 이벤트 또는 값 입력들의 각각에 "의존적"인 것으로 고려된다. 소정의 신호, 이벤트 또는 값이 이전 신호, 이벤트 또는 값과 동일할 경우, 이는 단지 소정의 신호, 이벤트 또는 값이 여전히 이전 신호, 이벤트 또는 값에 "의존적" 또는 "의존하는" 또는 "기초하는" 것으로 고려되는 퇴보한 경우(degenerate case)이다. 소정의 신호, 이벤트 또는 값의 다른 신호, 이벤트 또는 값에 대한 "응답성"이 유사하게 정의된다.
본 출원에서 사용될 때, "동시에(concurrently)" 또는 "병행하여(in parallel)"는 정확한 동시성을 요구하지는 않는다. 그것은 개체들의 하나에 대한 평가가 완료되기 전에 개체들의 다른 하나에 대한 평가가 시작되면 충분하다.
본 출원에서 사용될 때, 용어 "퍼널(funnel")은 지놈에 의해 표현되는 신경망의 출력의 전단(frontend)을 지칭하며, 이는 최종 사용자들에 의해 인지가능, 작동가능, 그리고 이해가능하다. 구현예들에서, 퍼널은 사용자 상호작용을 요청하고 그것에 응답한다. 퍼널은 하나 이상의 웹 인터페이스를 포함한다. 웹 인터페이스들의 몇몇 예는 웹 페이지들 웹 사이트들, 이-메일들, 모바일 어플리케이션들, 데스크탑 어플리케이션, 디지 광고들, 소셜 미디어 메시지(예를 들어, Tweet™, Facebook post™), 소셜 미디어 피드 항목들, 소셜 미디어 프로필들, 소셜 미디어 계정들, 소셜 미디어 챗 메시지, 포괄적인 챗 메시지들, 폼들, 자동으로 채워지는 폼들 등의 제어 버전들 및 변종들 양자를 포함한다.
개시된 기술의 구현예들에서, 퍼널은 하나 이상의 인터넷 액세스가능 데이터 센터 이를테면 웹 사이트(퍼널들의 세트)에 또는 그것에 걸쳐, 웹 사이트 후면에서 실행되는 관련 어플리케이션들과 함께 구현된다. 최종 사용자들은 퍼널에 액세스하고 그것과 상호작용할 수 있는 인터넷 액세스가능한 클라이언트 디바이스들 또는 클라이언트들(예를 들어, 데스크탑 컴퓨터들, 노트북 컴퓨터들, 태블릿들, 모바일 디바이스들, 전화들 또는 렌더링 엔진들을 갖는 다른 디바이스들, 또는 그 밖에 유사한 것)을 작동한다. 일 구현예에서, 최종 사용자들은 웹 브라우저 또는 모바일 어플리케이션을 여는 것에 의해 퍼널에 액세스한다. 몇몇 구현예에서, 최종 사용자들은 퍼널(또는 이의 몇몇 부분)을 인증가능할 수 있다.
개시된 기술의 구현예들에서, 웹 인터페이스는 구조가 기저를 이루는 포맷에 의존하는 구조 문서이다. 예를 들어, 일 구현예에서, 웹 인터페이스는 하이퍼 텍스트 마크업 언어(HTML), 확장성 생성 언어(XML), 또는 다른 웹 지원 구조 문서에 기초하는 웹 지원 포맷을 갖는다. 웹 인터페이스는 하나 이상의 자원(예를 들어, 자바 스크립트 자원, 연속형 문서 양식(CSS, Cascading Style Sheet) 자원, 비동기 자바 스크립트 XML(AJAX, Asynchronous and JavaScript XML) 자원, 이미지 자원, 비디오 자원 등), 또는 보다 통상적으로, 웹 인터페이스 내에 끼워 넣어지는, 그러한 자원들을에 대한 레퍼런스들을 포함할 수 있다. 예로서, 웹 인터페이스에 끼워 넣어지는 자원은 일반적으로 다른 것들 중에서도, 자원의 유형에 따라, 스크립트 요소, 스타일 요소, 이미지 요소, 또는 객체 요소 내에 포함되거나 지정될 수 있다. 통상적으로, 최종 사용자의 클라이언트 디바이스에서 실행되는 웹 브라우저 또는 다른 클라이언트 어플리케이션은 수신된 웹 인터페이스의 문서 객체 모델(DOM) 재현을 구축한다.
다른 구현예에서, 웹 인터페이스는 평문, 리치 텍스트, 또는 HTML에 기초하는 이-메일 포맷(CSS와 같은 스타일 정의가 있거나 없는 포맷 또는 자바 스크립트와 같은 포맷의 스크립트 명령들, 예를 들어, Microsoft Outlook™, Google Gmail™, Apple Mail™, iOS Mail™, Thunderbird™, AOL Mail™, Yahoo Mail™, Windows Live™)을 갖는다. 또 다른 구현예들에서, 웹 인터페이스는 HTML5에 기초하는 모바일 어플리케이션 포맷, 네이티브 포맷들(예를 들어, iOS™ 또는 Android™), 및 하이브리드 포맷들을 갖는다.
임의의 다른 종래의 또는 장차 개발될 구조 문서들 또는 그것들의 또는 그것들에 사용되는 포맷들은 웹 인터페이스들인 것으로 고려된다. 상기한 구현예들은 개시된 기술(이를테면 웹 인터페이스들의 청각 및 촉각 제시들)의 사상 및 범위에서 벗어나지 않고 해당 기술분야에서의 통상의 기술자들에게 쉽게 명백해질 것이다.
웹 인터페이스(예를 들어, 웹 페이지들, 웹 사이트들, 이-메일들, 모바일 어플리케이션들, 데스크탑 어플리케이션들, 디지털 광고들)는 페이지 요소들을 포함한다. 페이지 요소들의 몇몇 예는 이미지들, 비디오들, 애니메이션들, 헤드라인, 헤딩, 콜-투-액션(calls-to-action), 텍스트 카피들, 폼 길이 등을 포함한다. 일례로, 콜-투-액션은 사용자가 웹 인터페이스의 임의의 부분을 클릭하거나 가볍게 두드릴 때 일어날 일을 정의한다. 웹 인터페이스의 페이지 요소들은 소위 웹 인터페이스 레이아웃에 배열된다. 웹 인터페이스 레이아웃은 웹 인터페이스의 페이지 요소들의 서로에 관한 위치 결정을 정의한다. 예를 들어, 이미지는 웹 인터페이스 레이아웃의 오른쪽 아래 그리고 비디오는 중심에 있을 수 있다. 웹 인터페이스에서, 모든 호환가능한 페이지 요소는 웹 인터페이스 레이아웃을 사용하여 설명되며, 이는 페이지 요소들이 서로에 관해 어떻게 보이기로 되어 있는지 그리고 그것들이 서로 어떻게 상호작용하기로 되어 있는지를 설명한다. 각 페이지 요소는 몇몇 속성을 갖는다. 예를 들어, 이미지 페이지 요소들은 유형, 배치, 및 크기와 관련된 속성들을 갖고; 콜-투-액션은 색상, 텍스트, 크기, 및 배치와 관련된 속성들을 가지며; 텍스트 카피들은 콘텐츠, 길이, 및 크기와 관련된 속성들을 갖는다.
도입
개시된 기술은 탐색 공간에서 모든 가능안 웹 페이지 디자인을 테스팅하지 않고도 탐색 공간에서 가장 성공적인 웹 페이지 디자인을 효율적으로 식별하기 위해 인공 신경망 및 진화적 조작들을 사용하는 소위 기계 학습된 전환 최적화(MLCO) 시스템을 제공한다. 탐색 공간은 마케터들에 의해 제공되는 웹 페이지 디자인들에 기초하여 정의된다. 신경망은 지놈들로 표현된다. 신경망은 라이브 사용자 트래픽으로부터의 사용자 속성들을 실시간으로 사용자들에게 제시되는 상이한 치수들 및 치수 값들의 출력 퍼널들에 맵핑한다. 지놈들은 지놈들은 능숙한 부모 지놈들 및 능숙할 개연성이 있는 자식 지놈들을 식별하기 위한 초기 설정, 테스팅, 경쟁, 및 번식과 같은 진화적 조작들의 대상이 된다.
전자 상거래에서, 사용자 경험들, 즉, 웹 페이지들 및 상호작용들을 디자인하는 것(이는 무심하게 둘러보는 사람들로부터 가능한 많은 최종 사용자를 돈을 낼 수 있을만한 고객들로 전환한다)은 중요한 목표이다. 간단함 및 일관성을 포함하여, 몇몇 주지의 디자인 원리가 있지만, 또한 종종 그것이 어떻게 잘 전환되는지를 결정하는 페이지의 요소들 간 예기치 않은 상호작용들이 있다. 동일한 요소가 하나의 상황에서는 잘 작용하나 다른 상황들에서는 그렇지 않을 수 있다―결과를 예측하는 것은 보통 힘들고, 소정의 페이지를 어떻게 개선할지를 결정하는 것은 훨씬 더 힘들다.
모든 산업은 이러한 과제들을 다루기 시작했다; 그것은 전환율 최적화, 또는 전환 과학이라 불리운다. 대부분 종업자들이 사용하는 표준 방법은 A/B 테스팅, 즉, 동일한 페이지의 두 개의 상이한 버전을 디자인하는 것, 그것들을 상이한 사용자들에게 제시하는 것, 그리고 그것들이 각각 얼마나 잘 전환되는지에 관한 통계 자료들을 수집하는 것이다. 이러한 프로세스는 도메인 및 전환 최적화에 대한 인간의 지식을 디자인에 통합시킨 다음, 그것들의 효과를 테스팅하는 것을 가능하게 한다. 결과들을 살펴본 후, 새로운 디자인들이 비교되고 점진적으로 개선될 수 있다. A/B 테스팅 프로세스는 어렵고 시간 소모가 크다: 단지 페이지 디자인들의 극히 일부만이 이러한 방식으로 테스팅될 수 있고, 디자인에서의 미묘한 상호작용들은 그저 완전히 놓쳐질 수 있다.
개시된 기술은 마케터들 자신이 생성하는 변수들 및 변수 값들로부터 테스팅될 웹 페이지 후보들을 자동으로 생성한다. 변수들 및 변수 값들은 버튼 색상 및 글꼴 두께와 같은 작은 변화들로부터 대규모 메시징 및 디자인 규격들까지, 웹 사이트 상의 모든 것일 수 있다. 이러한 변수들은 모두 퍼널에서의 단일 페이지 상에 또는 다수의 페이지에 걸쳐 있을 수 있다. 사용사 속성들의 소정의 집합에 대한, 사용자 개인화를 제공하기 위해, 개시된 기술은 광범위한 값들의 가능한 조합들 중에서 가장 성공적인 변수들 및 변수 값들을 찾는다. 개시된 기술은 시간이 흐르면서 어느 요소들의 조합들이 어느 사용자들에게 효과적일지 학습하고, 점진적으로 탐색의 포커스를 가장 유망한 디자인들에 맞춘다.
개시된 기술은 짧아진 시간 프레임들에 훨씬 더 많은 아이디어를 테스팅할 수 있는, 전환 최적화를 위해 자동화된 시스템이다. 그것은 전환 증가로 이어지는 변수들의 미묘한 조합들을 찾는다. 개시된 기술은 사람들에 의해 설계된 디자인들보다 양호하게 전환되는 디자인들을 발견할 수 있는데, 이는 보통 그것이 요소들간 예기치 않은 상호작용들을 찾기 때문이다. 예를 들어, 개시된 기술은 그것이 녹색일 필요가 있다는 것(그러나 그것이 투명할 때에만) 그리고 헤더가 작은 글꼴이고 헤더 텍스트가 정렬되어야 함을 발견할 수 있다. 상기한 상호작용들이 종종 존재하고, 그것들은 발견하기 매우 어려울 수 있다. 개시된 기술은 광범위한 사람의 노력 대신, 인공 지능에 기초하여, 이러한 발견 프로세스를 자동으로 만든다. 그에 따라 개시된 기술을 이용하면, 전환을 이전보다 더 양호하게 그리고 훨씬 더 큰 규모로 최적화하는 것-그리고 전자 상거래 상황들이 바뀔 때 그것들을 최적화하는 것을 유지하는 것이 가능하다.
기계 학습된 전환 최적화(MLCO) 시스템
도 1은 타겟 온라인 사용자 거동을 촉진하기 위한 기계 학습된 전환 최적화(MLCO) 시스템의 양상들을 도시한다. 일 구현예에서, 타겟 거동은 전환이나, 다른 구현예들에서 다른 거동이 타겟이 될 수 있다.
도 1의 시스템은 후보 "개체들(individuals)"의 모집단을 갖는 후보 데이터베이스(106)를 저장하는 메모리를 포함한다. 메모리(106)는 그것이 물리적으로 시스템의 부분이들 또는 단지 네트워크를 통해 도달가능하든, 본 출원에서 시스템에 액세스가능한 것으로 고려된다. "개체(individual)"는 타겟 사용자 거동을 획득하는 것에 있어서의 그것의 성공을 위해 테스팅될 특정 신경망을 통상적으로 부호화된 방식으로, 나타내는 "지놈(genome)"을 포함한다. 신경망의 예들은 다중층 인식, 앞먹임 신경망, 순환 또는 순환적 신경망, 심층 신경망, 얕은 신경망(shallow neural network), 완전하게 연결된 신경망, 성기게 연결된 신경망, 완전하게 연결된 신경망을 포함하는 콘볼루션 신경망, 완전하게 연결된 신경망이 없는 완전 콘볼루션 네트워크(fully convolutional network), 심층적으로 쌓아올려진 신경망(deep stacking neural network), 심층 신뢰 네트워크(deep belief network), 잔류 네트워크, ESN(echo state network), 액체 상태 기계(liquid state machine), 하이웨이 네트워크(highway network), LSTM(long short-term memory) 네트워크, GRU(gated recurrent unit), 사전 훈련된 프로즌 신경망(pre-trained and frozen neural networks) 등을 포함한다.
도 1의 구현예에서, 테스팅될 모든 신경망은 완전히 연결되었고, 입력 레이어에 고정된 수의 뉴런 그리고 출력 레이어에 고정된 수의 뉴런을 갖는다. 따라서 이러한 파라미터들에 대한 값들은 개체에 지정될 필요는 없다. 각 개체는 신경망의 다른 하이퍼 파라미터들, 이를테면 망의 은닉 레이어들의 수, 각 은닉 레이어에서의 뉴런들의 수, 그리고 그것들의 상호접속 가중치들에 대한 값들을 지정한다. 따라서 개체의 하이퍼 파라미터들은 신경망의 토폴로지 및 그것의 인터커넥트들에 대한 계수들을 기술한다. 하이퍼 파라미터들은 도 1의 시스템에서의 번식 동안 진화되는 값들이고, 그에 따라 개체의 지놈을 나타낸다. 각 개체는 또한 다른 정보, 이를테면 개체의 현재 적응도 추정치를 식별한다.
일 구현예에 따른 하이퍼 파라미터들의 샘플 집합은 다음을 포함한다:
토폴로지 하이퍼 파라미터들 운용상 하이퍼 파라미터들
완전히 연결된 신경망 모듈에 대해: 각 뉴런층에서의 뉴런들의 수, 뉴런층들의 수, 그리고 하나의 뉴런층에서 다음 뉴런층까지의 뉴런들 간 연결들.콘볼루션 신경망 모듈에 대해: 커널 크기, 커널들의 수, 커널 깊이, 커널 스트라이드, 커널 패딩, 활성 통합(activation pooling), 부차 추출, 통합, 및 표준화.
이미지 전처리 모듈에 대해: 이미지 이동, 병진이동, 및 플립핑.
학습률, 학습률 감퇴, 운동량, 가중치 초기 설정, 조직화 강도, 초기치 편차, 입력 초기치 편차, 색상 시프트, 채도 스케일, 채도 시프트, 명도 스케일, 명도 시프트, 픽셀? 드롭아웃, 픽셀 드롭아웃, L2 가중치 감퇴, 그리고 완전히 연결된 레이어 드롭아웃.
도 1로 돌아가, 개체에 의해 식별되는 신경망은 특정 사용자 속성들(입력 노드들에 제공되는)의 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에의 맵핑을 정의한다. 일 구현예에서, 퍼널은 웹 인터페이스들의 엄격한 선형 시퀀스인 반면, 다른 구현예에서 그것은 분기를 포함할 수 있다. 각 퍼널은 값들이 신경망에 의해 부여될 수 있는 다수의 "치수"(측면)를 갖는다. 입력 노드들에 제시되는 사용자 속성들의 집합에 응답하여, 신경망은 값들이 부여될 수 있는 퍼널 치수들의 각각에 대한 값을 갖는 벡터를 그것의 출력 노드들에 생성한다.각 퍼널은 타겟 사용자 거동의 획득이 검출될 수 있는 메커니즘을 갖는다. 일 구현예에서, 타겟 사용자 거동은 최종 사용자들에 의한 전환이다. 각 퍼널에 대해, 전환은 디자이너, 마케터, 광고자, 또는 콘텐츠 제작자에 의해 정의되는 전환 목표에 기초하여 검출될 수 있다. 전환 목표의 예들은 사용자가 퍼널의 특정 웹 인터페이스에 도달하는 것(예를 들어, 감사 페이지(thank you page)), 사용자가 퍼널의 웹 인터페이스 상의 링크 또는 버튼 또는 다른 사용자 인터페이스 요소를 클릭하는 것, 또는 (예를 들어, jQuery를 사용하여) 디자이너에 의해 정의되는 임의의 다른 사용자 정의 이벤트를 포함한다. 전환 목표의 다른 예들은 사용자가 Amazon.com™ 상의 "지금 구매(Buy Now)" 버튼을 클릭하는 것, 사용자가 이-메일 등록 페이지 상의 "가입(Sing Up)" 버튼을 클릭하는 것, 사용자가 어플리케이션 랜딩 페이지 상의 "지금 다운로드(Download Now)" 버튼을 클릭하는 것, 사용자가 리포트를 다운로드하기 위한 폼을 채우는 것, 사용자가 장바구니에 아이템을 추가하는 것, 사용자가 장바구니 결제를 초기 설정하는 것, 그리고 사용자가 책을 읽겠다는 약속을 하는 것을 포함한다. 전환 목표들은 상이한 퍼널들 및 상이한 테스팅 환경들에 대해 상이할 수 있다.
특정 개체의 신경망에 의해 출력되는 퍼널 치수 값들은 부호화된 방식으로 퍼널을 나타낸다. 때때로 본 출원에서 제시 데이터베이스로서 지칭되는 룰들의 집합은 퍼널 치수 값들로부터 사용자이 경험할 실제 이미지들 및 상호작용들로의 맵핑을 정의한다. 예를 들어, 다섯 개의 신경망 출력 노드의 하나의 그룹은 퍼널의 특정 웹 인터페이스의 주요 헤드라인의 텍스트에 대한 다섯 개의 선택가능한 수 중 하나를 선택하도록 지정될 수 있다. 제시 데이터베이스에서의 룰은 무엇이 그러한 노드의 부호화된 출력을 헤드라인의 실제 텍스트로 변환할지이다.
처음에, 도 1의 박스(102)에서, 디자이너는 테스팅 및 최적화될 웹 인터페이스 퍼널들의 기본 측면들에 대한 디자인을 지정한다. 일 구현예에서, 이는 입력 뉴런들의 수, 그것들이 어떤 사용자 속성들을 나타내는지, 출력 뉴런들의 수, 그것들의 그룹들로의 구분(이를테면 메인 헤드라인 텍스트의 선택을 부호화하기 위한 위에서 언급된 다섯 개의 뉴런), 뿐만 아니라 퍼널의 다른 시각적 및 상호작용 요소들을 포함한다. 박스(102)는 진화할 수 있을 퍼널의 측면들에 대한 값들을 지정하는 것을 포함하지 않는데, 이는 그것들이 하이퍼 파라미터들일 것이고 상이한 개체들에 있어서 다양할 것이기 때문이다. 그러나, 몇몇 구현예에서, 박스(102)는 하나 이상의 자손 개체(seed individual)에 대한 하나 이상의들을 지정하는 것을 포함할 수 있다.
박스(104)에서, 모집단 초기 설정 모듈은 개체들의 예비 풀을 생성하고 그것들을 후보 개체 모집단(106)에 기록한다. 각 개체는 개체의 하이퍼 파라미터들에 대한 값들의 각각의 합을 식별한다. 일 구현예에서 예비 풀은 랜덤으로 생성될 수 있는 반면, 다른 구현예에서는 미리 지정된 자손 개체들이 사용될 수 있다. 판독자는 많은 다른 옵션이 후보 개체들의 초기 모집단의 가능한 구축이라는 것을 이해할 것이다.
후보 개체 모집단(106)이 처음의 모집단을 포함한 후, 모집단에서의 각 개체가 개체의 신경망의 적응도를 추정하기 위해 많은 사용자에 관해 테스팅되는 루프가 시작된다. 모듈들(108, 110, 112, 및 118)을 포함하는 루프는 때때로 본 출원에서 후보 테스팅 모듈(120)로 지칭된다. 바람직하게는 신경망은 매우 다양한 속성을 갖는 매우 다양한 사용자에 관해 테스팅되는데, 이는 최적화되고 있는 것의 부분이 매우 다양한 사용자 속성에 걸친 신경망의 성공의 일관성이기 때문이다. 또한, 모든 개체는 바람직하게는 단지 개체의 신경망의 차이들만이 아니라 테스팅 시간의 차이들로부터 기인할 수 있는 성능 변화들을 최소화하기 위해, 거의 동시에(상이한 사용자들에 불리하더라도) 테스팅된다. 예시의 명확성을 위해, 단지 하나의 개체의 테스팅이 도 1에 도시된다. 루프의 다수의 인스턴스가 특정 구현예에서, 후보 개체 모집단(106)에서의 각 개인마다 하나씩 사용될 수 있다는 것이 이해될 것이다.
포워딩 패스 모듈 박스(108)는 테스팅될 특정 후보 개체의 지놈(하이퍼 파라미터 값들)을 수신한다. 포워딩 패스 모듈 박스(108)는 또한 사용자 속성 데이터(114)를 수신하고, 그것을 수신된 하이퍼 파라미터들의 집합에 의해 지정되는 신경망의 입력 노드들에 적용한다. 사용자 속성 데이터는 현재 사용자에 대해 얻어진 특성들을 기술하나, 그 이름에도 불구하고, 반드시 그러한 정보로 제한되는 것은 아니다. 그것은 또한 비-사용자-특정 정보 이를테면 현재 요일을 포함한다. 또한, 사용자 속성 데이터(114)가 도 1에 데이터베이스로서 도시되지만, 다른 구현예들에서 그것은 다른 송신부 이를테면 브라우저 쿠키들, IP 어드레스, 제3의 정보 출처 이를테면 Maxmind™로부터 올 수 있다. 본 출원에서 사용될 때, 사용자 속성 데이터(114)는 일반적으로 사용자 속성 데이터의 "송신부(source)"로부터 오는 것으로 고려된다.
디자인에 포함될 수 있는 사용자 속성 데이터의 예들은 사이트 방문 거동(예를 들어, 방문수, 마지막 방문 이후 시간, 온라인 구매 패턴들, 등록된 사용자 데이터), 방문 출처(예를 들어, 추천인, 광고 단어들), 디바이스/브라우저, 날짜(예를 들어, 요일, 시각, 계절), 연결 유형/ISP/셀 캐리어, 지리적인 위치, 인구학(예를 들어, 언어(브라우저/디바이스로부터의), 및 다른 이용가능한 속성들 이를테면 사이코그래프이다.
포워딩 패스 모듈 박스(108)의 출력은 소정의 제공된 사용자 속성들을 사용하기 위해 현재 후보의 신경망이 지정하는 특정 퍼널 변화에 대한 치수 값들의 집합이다. 이러한 값들은 전단 제시 모듈(110)에 제공되며, 이는 그것들을 전단 값들 이를테면 퍼널의 제3 웹 인터페이스의 메인 헤드라인에 대해 사용하기 위한 텍스트의 특정 선택, 퍼널의 제1 웹 인터페이스 상의 로고에 대해 사용하기 위한 특정 색상 또는 CSS, 및 퍼널의 제4 웹 인터페이스에서의 콜-투-액션 상에 사용하기 위한 특정 텍스트에 맵핑한다. 이러한 퍼널은 그 다음 라이브 온라인 평가(112)를 위해 사용자에게 제시된다. 퍼널이 출력 요소들 이를테면 이미지들, 뿐만 아니라 상호작용 요소들 이를테면 버튼들 및 링크들도 포함하기 때문에, 용어 "사용자에게 제시"는 통상적으로 사용자와의 양방향 상호작용(324)을 수반한다는 것이 이해될 것이라는 것에 주의하자.
라이브 온라인 평가(112)의 출력은 현재 사용자 세션에서의 타겟 사용자 거동을 획득하는 것에 있어서의 특정 퍼널 변화의 성공 표시이다. 디자인의 성능 측정에 의존하여, 출력은 타겟 사용자 거동이 획득되었는지 여부를 나타내는 이진 값일 수 있거나, 또는 그것은 타겟 사용자 거동이 획득된 정도를 나타내는 하나 이상의 값일 수 있다. 예를 들어, 전환 최적화 구현에서, 성능 측정치가 전환율이라면, 라이브 온라인 평가(112)의 출력은 전환이 현재 사용자 세션에서 획득되었거나 획득되지 않았다는 것을 간단히 예 또는 아니오로 나타낼 수 있다. 성능 측정이 수신되는 수익에 기초한다면, 라이브 온라인 평가(112)의 출력은 현재 사용자 세션으로부터 수신되는 수익을 나타낼 수 있다. 또 다른 구현예에서, 성능 측정치는 절대적인 것이 아니라, 일종의 대조군에 상대적일 수 있다. 대조군은 예를 들어, 그러한 관련된 후보 개체들과 동시에 다른 사용자 세션들에서 사용될 수 있는, 고정된, 변하지 않는 대조 퍼널의 성능일 수 있다.
적응도 종합 모듈(118)은 현재 후보 개체의 신경망이 사용된 모든 사용자 세션에 걸친 현재 후보 개체의 성능 측정치들을 종합한다. 종합은 평균일 수 있거나, 또는 개체에 대한 조합된 적응도 값을 전개시키기 위한 몇몇 다른 공식일 수 있다. 종합 성능 측정치는 현재 후보 개체에 관련하여 후보 개체 모집단 풀(106)에 기록된다.
언급된 바와 같이, 박스들(108, 110, 112, 및 118)의 루프의 다수의 인스턴스가 특정 구현예에서, 후보 개체 모집단(106)에서의 각 개인마다 하나씩 거의 동시에 사용될 수 있다. 대안적으로, 상이한 개체들이 루프의 단일 인스턴스에 삽입 방식으로 사용될 수 있다. 더 나아가, 이러한 두 대안예의 혼합이 사용될 수 있다. 하지만, 결국, 테스팅될 모든 개인이 개체의 적응도의 상당히 정확한 추정치가 그들의 각각에 대해 획득될 수 있도록 다수의 사용자 세션에서 테스팅된다. 일례로, 후보 개체 모집단 풀(106)은 50 개체를 포함할 수 있고, 그들 중 각 개체는 일련의 1000-2000 시행(사용자 세션)을 받는다.
또한 신경 진화 모듈(126)이 도 1에 도시된다. 후보 개체 모집단(106)으로부터 테스팅되는 모든 개체가 전체 일련의 사용자 세션에서 테스팅된 후, 신경 진화 모듈(126)이 그것들을 진화시켜 개체들의 새로운 세대를 형성한다.
신경 진화 모듈(126)은 경쟁 모듈(122)을 포함한다. 일 구현예에서, 진화적 조작들은 특정 세대들에서 운용할 수 있게 되는 경쟁 모듈(222)을 이용한다. 경쟁 모듈(122)은 경쟁 테스팅 모듈(120)에 의해 제공되는 업데이트된 성능 측정치들에 의존하여 후보 개체 모집단(106) 콘텐츠를 업데이트한다. 몇몇 구현예에서, 경쟁 모듈(122)은 최소 기준치 개체 적응도(예를 들어, 관리자에 의해 미리 설정되거나 자동으로 설정된)를 충족시키지 못하는 후보 개체들, 또는 "개체 적응도"가 유사하게 테스팅된 후보 개체들의 "개체 적응도" 뒤에 상대적으로 처지는 후보 개체들을 폐기한다. 모집단(106)은 수정된 콘텐츠로 업데이트된다.
경쟁 모듈(122)은 한 세대로부터 다음 세대로의 후보 개체들의 그래쥬에이션(graduation)을 관리한다. 이러한 프로세스는 다음과 같이 한 번에 하나의 후보 개체를 발생시키는 것으로 생각될 수 있다. 먼저, 경쟁 모듈(122)이 실행된 최종 시간 이후 성능 측정치들이 업데이트된 모든 후보 개체를 통해 루프가 시작된다. 일 구현예에서, 현재 후보 개체에 대한 성능 측정치들이 여전히 기준치 개체 적응도(예를 들어, 관리자에 의해 미리 설정되거나 자동으로 설정된) 미만이거나 다른 후보 개체들의 개체 적응도에 상대적으로 충분히 뒤처진다면, 현재 후보 개체는 폐기되고 다음 후보 개체가 고려된다. 현재 후보 개체에 대한 성능 측정치들이 여전히 기준치 개체 적응도(예를 들어, 관리자에 의해 미리 설정되거나 자동으로 설정된)를 넘거나 다른 후보 개체들의 개체 적응도와 상대적으로 유사하다면, 현재 후보 개체가 다음 세대에 추가된다. 그 다음 프로세스는 차례로 다음 후보 개체를 고려하도록 이동한다.
일 구현예에서, 경쟁 모듈(122)은 그것들의 절대적인 성능 측정치들이 아니라, 그것들의 "상대적인 성능 측정치들"에 기초하여 후보 개체를 평가한다. 후보 개체의 상대적인 성능 측정치는 제1 시간 기간에 결정된 대조 개체의 절대적인 성능 측정치와 또한 제1 시간 기간에 결정된 후보 개체의 절대적인 성능 측정치 간 차에 기초하여 계산된다. 따라서, 예를 들어, 제1 세대 동안 생성된 제1 후보 개체가 40%의 절대 평균 전환율을 갖고 또한 제1 세대에서 초기 설정된 제1 대조 개체가 35%의 절대 평균 전환율을 갖는다면, 제1 후보 개체의 상대적인 성능 측정치는 5%(40% - 35% = 5%)이다. 유사하게, 제1 세대 동안 생성된 제2 후보 개체가 45%의 절대 평균 전환율을 갖고 제2 세대에서의 제1 대조 개체의 절대 평균 전환율이 42%로 증가되었다면, 제2 후보 개체의 상대적인 성능 측정치는 3%(45% - 42% = 3%)이다. 그에 따라, 제1 및 제2 후보 개체들이 그것들의 각각의 상대적인 성능 측정치들에 기초하여 비교되고 제2 후보 개체의 절대적인 성능 측정가 제1 후보 개체의 절대적인 성능 측정보다 5%(45% - 40% = 5%) 더 높더라도 제1 후보 개체가 제1 후보 개체(5% - 3% = 2%)보다 2% 더 양호한 것으로 밝혀진다. 경쟁 모듈(122)에 의해 이루어지는 한 개체의 상대적인 성능 측정치와 다른 개체의 상대적인 성능 측정치 간 각 비교는 때때로 본 출원에서 비교 "인스턴스(instance)"로 지칭된다.
일 구현예에서, 경쟁 모듈(122)은 현재 후보 개체의 상대적인 성능 측정치가 후보 개체 모집단(106)에서의 최소한의 후보 개체의 상대적인 성능 측정치를 초과하는지 여부를 결정한다. 만약 그렇다면, 최소한의 후보 개체는 폐기되고, 현재 후보 개체는 다음 세대로 이동된다. 그렇지 않다면, 현재 후보 개체가 폐기된다. 그 다음 프로세스는 차례로 다음 후보 개체를 고려하도록 이동한다.
신경 진화 모듈(126)은 또한 번식 모듈(124)을 포함한다. 후보 개체 모집단(106)이 업데이트된 후, 번식 모듈(124)은 후보 개체 모집단(106)으로부터의 하나 이상의 부모 개체의 각각의 집합 및 부모들의 성능 측정치들에 의존하여 형성되는 새로운 개체들을 후보 개체 모집단에 추가한다. 임의의 종래의 또는 장차 개발될 기술이 번식을 위해 사용될 수 있다. 일 구현예에서, 부모 개체들로부터의 조건들, 출력들들, 또는 룰들이 다양한 방식으로 조합되어 자식 개체들을 형성하고(예를 들어, 적응도에 비례하는 선택), 그 다음 가끔 그것들이 변이(mutate)된다. 조합 프로세스는 예를 들어 교차(crossover)―즉, 자식 개체들을 형성하기 위해 부모 개체들 간 조건들, 출력들, 또는 전체 룰들을 교환하는 것을 포함할 수 있다. 번식을 통해 생성되는 새로운 개체들은 정의되지 않음에 따라 표시되는 성능 측정치들로 시작된다.
번식 모듈(124)은 신경망들의 하이퍼 파라미터들을 진화시킴으로써 새로운 개체들을 형성한다. 번식 모듈(124)은 출력 퍼널들의 치수 값들을 진화시키지 않는다는 것에 주의하자. 일 구현예에서, 번식 모듈(124)은 부모 개체들의 하이퍼 파라미터 값들 간 교차에 의해 새로운 개체들을 형성한다. 다른 구현예에서, 번식 모듈(124)은 적어도 부분적으로 부모 개체의 적어도 하나의 하이퍼 파라미터 값의 변이에 의해 새로운 개체들을 형성한다. 그 다음 모집단(106)이 수정된 콘텐츠로 업데이트된다.
개체들의 새로운 세대가 후보 개체 모집단(106)에 기록된 후, 박스들(104, 108, 112, 및 118)의 후보 테스팅 모듈(120)은 다른 일련의 사용자 세션 시행을 통해 반복된다. 그 다음 신경 진화 모듈(126)이 후보 개체들의 제3 세대 등을 진화시킨다.
최적의 신경망에 대한 검색 공간이 너무 크기 않은 경우, 개체들의 충분한 생성들 이후 추가 진화가 무의미하게 되도록 모집단이 집중될 수 있다는 것이 이해될 것이다. 그러한 상황에서, 구현예는 모든 또는 대부분 추가 사용자 세션에서 배치를 위한 하나 또는 몇몇 상위 수행 개체를 얻을 수 있다. 언급된 바와 같이, 개체의 적응도는 부분적으로 사용자 속성들의 집합들을 달리하는 것에 응답하여 그것의 신경망이 퍼널을 어떻게 잘 조절하는지에 대한 함수이다. 그에 따라 매우 적합한 개체는 계속해서 많은 유형의 사용자에 걸쳐 능숙해야 한다.
다른 한편으로는, 개체들을 어떤게든지 계속해서 진화시켜, 예를 들어 신경망에 제공되는 사용사 속성들에 반영디지 않는 환경 변화들을 고려하는 것이 유익할 수 있다. 소비자 벤더의 웹 사이트에 대해, 예를 들어, 그러한 변화들은 휴가 쇼핑 시즌으로의 또는 그것으로부터의 전환 시 일어날 수 있다.
진화가 집중 이후 계속된다면, 판독자가 얻어진 개체가 배치되는 동안에도 다른 장차 사용자 세션들을 그렇게 하기 위한 다수의 방법이 분명해질 것이다. 일례로, 얻어진 개체는 상이한 사용자 세션들과 사용 시 후보 개체들 사이사이에 들어가게 될 수 있다. 그러한 예에서, 얻어진 개체의 성능은 새로운 후보 개체들이 평가되는 대조군으로서 사용될 수 있다. 다른 변화들이 판독자에게 분명해질 것이다.
도 1의 도해는 신경 진화를 포함하지만, 다른 구현예에서는 어떠한 진화도 필요하지 않을 수 있다는 것이 이해될 것이다. 예를 들어, 모듈(126)은 열악하게 수행하는 개체들을 점진적으로 폐기하기 위한 경쟁 모듈(122)을 포함하나, 모집단을 재구축하기 위한 번식 모듈(124)은 포함하지 않을 수 있다. 그러한 시스템은 후보 개체 모집단(106)을 포함하는 메모리, 박스들(108, 110, 112, 및 118)의 후보 테스팅 모듈 및 경쟁 모듈(122)을 포함한다. 통상적으로 시스템은 또한 계속해서 모집단 디자인 박스(102) 및 모집단 초기 설정 모듈(104)을 포함할 수 있다. 도 1의 시스템의 다른 측면들은 동일하게 유지될 수 있다.
몇몇 구현예에서, MLCO 시스템은 임의적인 풀필먼트 시스템(fulfillment system)(미도시) 사용한다. 풀필먼트 시스템은 후보 테스팅 모듈(120)로부터의 출력/액션 신호들에 의해 작동으로 제어되는 시스템이다. 웹 페이지 테스팅 환경에서, 예를 들어, 풀필먼트 시스템은 컴퓨터 네트워크(미도시)를 통해 신호들을 수신하고 적절한 거래 및 배달 액션을 취하는 제품 분포 이-웨어하우스(예를 들어, Amazon.com™)이다.
지놈
도 2는 신경망을 나타내는 지놈의 일 구현예를 도시한다. 신경망은 입력 레이어, 하나 이상의 은닉 레이어, 및 출력 레이어를 포함한다. 신경 진화 모듈(126)은 단지 은닉 레이어들을 진화시킨다. 입력 및 출력 레이어들을 진화되지 않는다. 입력 레이어는 사용자 속성 데이터(114)를 입력으로서 취하고, 은닉 레이어는 비-선형 함수들 및 네트워크 가중치들을 사용하여 입력의 대안적인 표현들을 생성하며, 출력 레이어는 대안적인 표현들에 기초하여 출력 퍼널에 대한 치수 값들을 생성한다. 이러한 식으로 신경망은 사용자 속성 데이터(114)를 출력 퍼널의 치수 값들에 맵핑하다. 비-선형 함수들의 몇몇 예는 시그모이드 함수, ReLU(rectified linear unit), 하이퍼볼릭 탄젠트 함수, 하이퍼볼릭 탄젠트 함수의 절대값, LReLU(leaky ReLU), 및 PReLU(parametrized ReLU)를 포함한다.
입력 레이어 초기 설정
입력 레이어의 하이퍼 파라미터들은 사용자 속성 데이터(114)에 기초하고 디자이너, 마케터, 광고자, 또는 콘텐츠 제작자에 의해 제공되는 사양들에 기초하여 정의될 수 있다. 도 2에 도시된 예에서, 입력 레이어의 뉴런들은 어떤 요일에 사용자 활동이 검출되는지, 사용자의 디바이스의 운영 체제(O/S), 사용자의 디바이스의 유형, 및 사용자가 이동되는 광고 그룹에 속하는 사용자 속성들에 대응한다. 구현예들에서, 그러한 사용자 속성들의 선택은 디자이너 편집기(302)의 인터페이스(304)에 걸쳐 디자이너에 의해 제공되는 사양들에 기초한다. 다른 구현예들에서, 디자이너는 다른 사용자 속성들을 지정할 수 있고, 시스템은 그에 따라 입력 레이어의 하이퍼 파라미터들(입력 레이어에서의 뉴런들의 수)을 초기 설정하기 위해 그것들을 사용할 수 있다.
몇몇 구현예에서, 디자이너에 의해 지정되는 사용자 속성들은 입력 레이어에 의해 별도로 프로세싱된다. 예를 들어, "요일"에 대한 범주형 값들에서 입력으로서 취하는 것이 아니라, 입력 레이어가 "사인, 코사인" 부호화를 가짐으로써 주에 걸쳐 순환 패턴을 이용하기 위해 초기 설정될 수 있다. 다른 구현예들에서, 입력 레이어의 입력 부호화는 데이터 유형들 이를테면 이진 데이터 유형(0 또는 1), 양적 또는 수치적 데이터 유형, 질적 데이터 유형, 신중한 데이터 유형, 연속 데이터 유형(하한 및 상한을 가짐), 정수 데이터 유형(하한 및 상한을 가짐), 명목형 데이터 유형, 순서 또는 순위 데이터 유형, 범주형 데이터 유형, 구간 데이터 유형, 및/또는 비율 데이터 유형에 의존하는 다른 스키마들을 사용하여 표현될 수 있다.
출력 레이어 초기 설정
출력 레이어의 하이퍼 파라미터들은 디자이너에 의해 정의되는 스타터 퍼널에 의존하여 초기 설정된다. 스타터 퍼널은 지놈에 의해 표현되는 신경망이 출력할 수 있는 스타터 퍼널의 모든 가능한 변종의 퍼널 검색 공간을 정의한다. 퍼널 검색 공간은 스타터 퍼널의 스타터 치수들 및 스타터 치수 값들이 조합 조작들을 받게 함으로써 정의된다. 일례로, 디자이너가 4개의 스타터 페이지 요소(예를 들어, 로고, 메인 헤드라인, 서브 헤드라인, 콜-투-액션), 7개의 가능한 스타터 서브-요소, 및 19개의 가능한 스타터 서브-요소 값을 지정한다면, 8개의 상이한 로고의 변종, 5개의 상이한 메인 헤드라인의 변종, 4개의 상이한 서브 헤드라인의 변종, 및 4개의 상이한 콜-투-액션의 변종이 조합 조작들을 받게 함으로써 640개의 가능한 치수들 및 치수 값들의 조합을 갖는 퍼널 검색 공간이 정의된다(즉, 8x5x4x4 = 640). 사용자 속성 데이터(114)에 의해 식별되는 입력 값들에 의존하여, 신경망은 퍼널 검색 공간에서 특정 퍼늘널 변종을 식별하는 치수 값들을 출력한다. 그에 따라 상이한 입력 값들에 대해 신경망은 상이한 퍼널 변종들을 출력한다.
도 3을 참조하면, 디자인 편집기(302)는 MLCO 워크플로우를 구현하기 위해 디자이너, 마케터, 광고주, 또는 콘텐츠 제작자에 의해 사용되는 인터페이스(304)의 부분으로 다양한 인터페이스 구성요소를 포함한다. 특히, 디자인 편집기(302)는 디자이너에 의해: 지놈들에 의해 표현되는 신경망들에 대한 입력으로서 사용될 사용자 속성들을 지정하기 위해; 지놈들에 의해 표현되는 신경망들의 출력으로서 치수들 및 치수 값들을 지정하기 위해; 지놈들에 의해 표현되는 신경망들의 출력 퍼널들에 대한 전환 목표를 설정하기 위해; 지놈들에 의해 표현되는 신경망들에 대한 성능 측정치를 설정하기 위해; 테스트를 미리보기 위해; 그리고 테스트를 전개하기 위해 사용된다. 런타임 환경은 312로서 예시된다.
도 4는 세 개의 스타터 웹 인터페이스(예를 들어, 하나의 랜딩 페이지 및 두 개의 퍼널 페이지)를 갖는 스타터 퍼널의 일 구현예를 도시한다. 일 구현예에서, 스타터 웹 인터페이스들은 그것들의 각각의 액세스 경로들(예를 들어, URL들(unified resource locators)에 의해 스타터 퍼널에서 식별되고, 토폴로지 시퀀스로 배열된다. 통상적으로, 토폴로지 시퀀스는 퍼널에 대해 정의된 전환 목표를 이루기 위해 최종 사용자가 퍼널을 통해 따르는 경로를 결정한다. 토폴로지 시퀀스는 인터페이스(304)에 걸쳐 디자이너에 의해 그래픽으로 설정되고 메모리에 논리적으로 저장된다.
도 4는 또한 디자이너가 스타터 퍼널에 대한 전환 목표를 설정할 수 있게 하는 "전환 목표 정의" 버튼을 도시한다. 전환 목표의 예들은 또한 "리드들을 증가" 또는 "수익을 증가"를 포함한다. 디자이너는 또한 어떤 이벤트들의 유형이 전환이 발생했음을 나타내는 것으로 고려될 것인지, 이를테면 감사 페이지 방문, 버튼 또는 링크 클릭, 또는 사용자 정의 이벤트를 정의한다. 전환 목표를 설정한 후, 디자이너는 성능 측정치를 지정한다. 성능 측정치는 위에서 논의된 바와 같이, 테스트 동안 후보 개체들의 성능을 평가하기 위해 MLCO 시스템에 의해 사용된다.
그 다음, 웹 인터페이스 레이아웃이 스타터 퍼널에 대해 생성된다. 본 출원에서 사용될 때, "웹 인터페이스 레이아웃"은 단지 퍼널의 특정 웹 인터페이스를 정의하기 위해 치수들에 대한 대안적인 값들이 삽입되는 템플릿이다. 일 구현예에서, 웹 인터페이스 레이아웃은 다양한 스크린 캔버스들을 갖는 디바이스들(예를 들어, 스마트폰들, 태블릿들, 컴퓨터들, 웨어러블 디바이스들)의 옵션들 중으로부터 디자이너에 의해 선택되는 시뮬레이트된 디바이스에 걸쳐 디스플레이된다. 몇몇 구현예에서, 디바이스들의 옵션들은 상이한 디바이스 모델들 이를테면 iPhone6™, Samsung Galaxy S6™ 등을 나열한다. 도 5는 웹 인터페이스 레이아웃 및 웹 인터페이스 레이아웃에 적용될 수 있는 상이한 치수들 및 치수 값들의 일 구현예를 예시한다.
그 다음, 디자이너는 스타터 퍼널의 스타터 웹 인터페이스들의 각각에 대한 웹 인터페이스 레이아웃에 포함될 상이한 페이지 요소들(본 출원에서 "스타터 치수들"로 지칭됨)을 선택한다. 일 구현예에서, 디자이너는 또한 페이지 요소에 대한 유형을 지정한다. 예를 들어, 페이지 요소의 이름은 "Clean, Awesome and Multi-Purpose"이고 페이지 요소의 유형은 "헤드라인-메인"이다. 더 나아가, 디자이너는 스타터 퍼널의 스타터 웹 인터페이스들의 각각에 대한 상이한 서브-요소들(본 출원에서 또한 "스타터 치수들"로 지칭됨)을 정의한다. 서브-요소들의 예들은 텍스트, 포맷팅/CSS(연속형 문서 양식들), 페이지 요소 숨김, 페이지 요소 제거, 클래스, HTML, 사용자 정의 jQuery, 및 이미지를 포함한다. 몇몇 구현예에서, 디자이너는 (예를 들어, 드롭다운을 사용하여) 서브-요소들의 일부를 활성화 또는 비활성화할 수 있다. 일 구현예에서, 비활성 서브-요소들은 취소선으로 인터페이스(304)에 걸쳐 디스플레이된다. 다른 구현예들에서, 디자인 편집기(302)는 자동으로 몇몇 서브-요소를 활성으로 그리고 다른 서브 요소들을 비활성으로 만든다.
그 다음, 디자이너는 정의된 서브-요소들의 각각에 대한 서브-요소들의 값들(본 출원에서 "스타터 치수 값들"로 지칭됨)을 설정한다. 또한, 디자이너는 또한 정의된 서브-요소들의 각각에 대해, 대조 서브-요소 값 및 하나 이상의 테스트 서브-요소 값들을 설정한다. 다른 구현예들에서, 디자인 편집기(302)는 자동으로 서브-요소들에 대한 디폴트 대조 값을 설정한다. 예를 들어, 페이지 요소 "헤드라인 - 메인"에 대해, 대조 페이지 요소 값은 "Clean, Awesome and Multi-Purpose"인 것으로 설정되고, 테스트 서브-요소 값들은 "Slick, Awesome and Powerful", "New, Fast, Better", "Shiny, Better than the Competition", 및 "Best you can Buy"인 것으로 설정된다. 유사하게, 다른 구현예들에서는, 상이한 페이지 요소들 및 대응하는 서브-요소들 및 서브-요소 값들이 스타터 퍼널의 스타터 웹 인터페이스들의 각각의 스타터 치수들 및 스타터 치수 값들의 집합으로서 정의될 수 있다.
퍼널의 각 웹 인터페이스는 벡터 기반 검색 공간에서 점으로 생각될 수 있다. 벡터 공간에서의 차원 축은 페이지 요소들 중 하나에 대응하고, 소정의 축에 따른 각 상이한 좌표 위치는 해당 페이지 요소에 대해 디자이너가 지정한 대안예들 중 하나를 나타낸다. 예를 들어, 도 5에서, 콜-투-액션 치수는 네 개의 좌표 위치(값 또는 대안예)를 갖는다, 즉 “Go!”, “Go to the Auction!”, “Win the Auction!”, 및 “Win it NOW!” 퍼널의 특정 웹 인터페이스는 페이지 요소들/치수들의 각각에 대한 값을 지정한다.
도 6은 퍼널의 웹 인터페이스의 일 구현예를 도시한다. 도 6에서, 웹 인터페이스는 웹 인터페이스 레이아웃에서의 상이한 페이지 요소들/치수들의 배열 또는 위치, 및 페이지 요소들/치수들의 대응하는 속성들 또는 값들(그림(페이지 요소/치수), 배경 이미지(페이지 요소/치수), 배경 색상(페이지 요소 속성/치수 값), 헤드라인 카피(페이지 요소/치수), 헤드라인 카피의 활자체들 및 색상들(페이지 요소 속성/치수 값), 로고의 나타남/숨김(페이지 요소/치수), 서브 헤드 카피(페이지 요소/치수), 서브 헤드 카피의 활자체들 및 색상들(페이지 요소 속성/치수 값), 설명 카피(페이지 요소/치수), 설명 카피의 활자체들 및 색상들(페이지 요소 속성/치수 값), 전화 콜-투-액션(페이지 요소/치수), 전화 콜-투-액션의 유형, 포맷, 및 색상(페이지 요소 속성/치수 값), 폼 디자인(페이지 요소/치수), 버튼(페이지 요소/치수), 및 버튼의 형태, 색상, 및 텍스트(페이지 요소 속성/치수 값)의 선택을 포함)에 의해 정의된다.
디자이너는 임의의 데이터 유형을 사용하여 스타터 퍼널의 스타터 치수들 및 스타터 치수 값들을 정의할 수 있다. 몇몇 데이터 유형들의 예들은 이진 데이터 유형(0 또는 1), 양적 또는 수치적 데이터 유형, 질적 데이터 유형, 신중한 데이터 유형, 연속 데이터 유형(하한 및 상한을 가짐), 정수 데이터 유형(하한 및 상한을 가짐), 명목형 데이터 유형, 순서 또는 순위 데이터 유형, 범주형 데이터 유형, 구간 데이터 유형, 및/또는 비율 데이터 유형을 포함한다. 예를 들어, 스타터 치수들 및 스타터 치수 값들은 0과 1 사이 실제 값들, 0과 256 사이 적색, 녹색, 청색(RGB)과 같은 연속 값들, CSS 색상들의 16진수 값들(예를 들어, #F0F8FF), CSS 색상들의 범주형 색상 값들(예를 들어, 회색 띤 연푸른색(AliceBlue)), 다른 CSS 속성 그룹들 및 속성들의 각각의 값들(이를테면 < http://www.w3schools.com/cssref/#animation > 웹 상에 나열되는 것들), 특정 치수의 크기(예를 들어, 높이 및 너비), 상이한 값들 및 데이터 유형들의 집합(예를 들어, 상이한 수치 달러 가격 값들 또는 상이한 수치 달러 가격 값들 및 높이들 및 너비들의 조합) 등에 기초할 수 있다.
생성되면, 스타터 퍼널의 미리보기, 및 그것으로 구성되는 스타터 웹 인터페이스들이 인터페이스(304)에 걸쳐 디자이너에게 제시된다.
스타터 퍼널의 정의가 이해됨에 따라, 논의는 이제 지놈에 의해 표현되는 신경망의 출력 레이어가 스타터 퍼널에 기초한 런타임에서 어떻게 초기 설정되는지로 향한다.
도 7은 스타터 퍼널의 편집기 디자인 표현(702)을 런타임 디자인 표현(712)으로 변환하는 일 구현예의 상징적인 도해이다. 런타임(322)에서, 디자이너에 의해 정의된 스타터 퍼널의 편집기 디자인 표현(702)은 런타임 디자인 표현(712)으로 변환된다. 도 7에서 사용되는 예에서, 편집기 디자인 표현(702)은 "트리"를 포함한다. 출력 레이어 및 그것의 하이퍼 파라미터들은 트리의 임의의 레벨에 기초할 수 있다. 트리의 루트는 테스트가 수행되는 가장 세부적인 레벨이다. 웹 사이트 또는 모바일 웹 페이지에 대해, 루트는 도메인이다. 모바일 어플리케이션들에 대해, 루트는 어플리케이션이다. 이-메일들에 대해, 루트는 이-메일이고; 제목 및 페이지들이 트리의 다음 레벨이다. 다른 어플리케이션들(이를테면 광고)에 대해, 상이한 맵핑들이 사용될 수 있다. 웹 페이지들 및 모바일 어플리케이션들의 도메인에서, 웹 사이트는 1 내지 n개의 퍼널을 갖고; 각 퍼널은 목표, 및 1 내지 n개의 페이지를 갖는다. 각 페이지는 1 내지 n개의 요소들의 클러스터를 갖는다. 각 클러스터는 1 내지 n개의 요소를 갖는다. 각 요소는 요소의 속성을 변경하는 서브-요소들의 집합을 갖는다. 본 출원에서 사용될 때, 서브-요소들 역시 요소들이다. 각 서브-요소는 1 내지 n개의 값들 갖는다. 다른 구현예들에서, 구조는 상이할 수 있다. 예를 들어, 요소들은 클러스터링되지 않을 수 있거나, 또는 표현이 계층적이지 않을 수 있다.
도 8은 디자이너가 정의한 스타터 퍼널의 상이한 세부적인 수준들을 사용하여 출력 레이어를 초기 설정하는 것의 상이한 대표적인 구현예들을 도시한다. 도 8에 도시된 예에서, 출력 레이어 및 그것의 하이퍼 파라미터들은 클러스터들(802), 요소들(804), 서브-요소들(806), 또는 서브-요소 값들(808), 또는 이들의 임의의 조합에 기초할 수 있다.
그에 따라, 출력 레이어는 출력을 임의의 포맷으로 제공하도록 구성될 수 있다. 일례로, 출력은 이진 부호화(810) 형태로 될 수 있다. 다른 출력 포맷들의 양적 또는 수치적 데이터 유형, 질적 데이터 유형, 신중한 데이터 유형, 연속 데이터 유형(하한 및 상한을 가짐), 정수 데이터 유형(하한 및 상한을 가짐), 명목형 데이터 유형, 순서 또는 순위 데이터 유형, 범주형 데이터 유형, 구간 데이터 유형, 및/또는 비율 데이터 유형을 포함한다. 예를 들어, 출력은 0과 1 사이 실제 값들, 0과 256 사이 적색, 녹색, 청색(RGB)과 같은 연속 값들, CSS 색상들의 16진수 값들(예를 들어, #F0F8FF), CSS 색상들의 범주형 색상 값들(예를 들어, 회색 띤 연푸른색(AliceBlue)), 다른 CSS 속성 그룹들 및 속성들의 각각의 값들(이를테면 < http://www.w3schools.com/cssref/#animation > 웹 상에 나열되는 것들), 특정 치수의 크기(예를 들어, 높이 및 너비), 상이한 값들 및 데이터 유형들의 집합(예를 들어, 상이한 수치 달러 가격 값들 또는 상이한 수치 달러 가격 값들 및 높이들 및 너비들의 조합) 등에 기초할 수 있다.
뿐만 아니라, 다양한 해석 스키마가 출력 레이어의 출력을 해석하기 위해 채용될 수 있다. 예를 들어, 도 2에 도시된 예에서, 이진 부호화는 출력 퍼널의 서브-요소들 및 요소들에 대한 값들을 해석하기 위해 사용된다. 다른 구현예들에서는, 출력 레이어의 훨씬 더 적은 출력 뉴런의 연속 부호화가 요소들의 값들 및/또는 서브-요소 값들에 대한 연속 출력을 제공하기 위해 사용될 수 있고, "범위-기반" 해석 스키마가 서브-요소들에 대해 대응하는 값들을 결정하기 위해 이용될 수 있다. 또 다른 구현예들에서, "예측(predictive)" 해석 스키마가 출력 레이어에 의해 식별되는 요소들 및/또는 서브-요소들의 다른 집합의 값들에 의존하여 요소들 및/또는 서브-요소들의 집합의 값을 예측하는 것을 포함할 수 있다. 판독자는 많은 다른 옵션이 가능한 해석 스키마들이라는 것을 이해할 것이다.
전단 제시
도 9 및 도 10은 개체들의 지놈들에 의해 표현되는 하나 이상의 신경망에 의해 생성되는 치수 값들에 의존하여 최종 사용자들에게의 전단 제시를 위한 하나 이상의 웹 인터페이스의 출력 퍼널들을 생성하는 것의 일 구현예를 도시한다. 도 10은 네 개의 웹 인터페이스가 생성되는 치수 값들의 네 개의 집합을 도시한다.
도 9는 또한 각 출력 퍼널에 대한 치수 값들이 이진 시퀀스(스트링)에 의해 표현되는 것을 도시한다. 각 이진 시퀀스는 서브-시퀀스들(서브-스트링들)로 더 구분된다. 각 서브-시퀀스는 출력 퍼널에 대한 치수 및 대응하는 치수 값을 나타낸다. 그에 따라, 각 서브-시퀀스는 출력 집합들(OS 1 내지 OS 4)에 의존하여 생성될 웹 인터페이스들에 대한 서브-요소 및 대응하는 서브-요소 값을 식별한다. 웹 인터페이스들이 콘텐츠를 포함하는 전단(예를 들어, 그래픽) 객체들인 구현예들에서, 서브-시퀀스들은 출력 집합들(OS 1 내지 OS 4)에 기초하여 생성되는 웹 인터페이스들에 포함될 전단(예를 들어, 그래픽) 요소들/구성요소들 및 대응하는 요소/구성요소 값들을 식별한다.
도 9 및 도 10의 구현예에서, 출력 집합들(OS 1 내지 OS 4)의 각 요소는 서브-시퀀스로서 그룹화되는 비트들의 고정 길이 서브 스트링으로서 부호화된다는 것에 주의하자. 예를 들어, 서브 헤드라인 요소는 두 개의 서브-시퀀스로 그룹화되는 4 비트를 갖는다. 각 서브-시퀀스에 대해, 비트들 중 단지 1 비트만이 이용가능한 치수 값들의 집합으로부터 특정 치수 값을 식별하기 위해 활성 또는 "핫(hot")(예를 들어, "1"에 의해 표현됨)일 수 있다. 가장 왼쪽 비트는 서브-시퀀스의 "제어(control)" 값을 나타내며, 이는 일례로, 메인 헤드라인에 대해 "평문"을 나타낼 수 있다. 제2, 제3, 및 제4 비트들은 예를 들어, 각각, "굵게", "기울임꼴", 그리고 "굵은 밑줄"을 나타낼 수 있다. 상이한 구현예들에서 많은 다른 부호화가 가능하다는 것이 이해될 것이다. 예를 들어, 2-비트 수치 값이 사용될 수 있으며, "0"이 제어를 나타내고, "1"이 "굵게"를 나타내고, "2"가 "기울임꼴"을 나타내며, "3"이 "굵은 밑줄"을 나타낸다.
도 9 및 도 10의 다른 구현예들에서, 출력 집합은 이진 데이터 유형(0 또는 1)이 아닌 데이터 유형들, 이를테면 양적 또는 수치적 데이터 유형, 질적 데이터 유형, 신중한 데이터 유형, 연속 데이터 유형(하한 및 상한을 가짐), 정수 데이터 유형(하한 및 상한을 가짐), 명목형 데이터 유형, 순서 또는 순위 데이터 유형, 범주형 데이터 유형, 구간 데이터 유형, 및/또는 비율 데이터 유형에 의존하는 다른 스키마들을 사용하여 표현되고 부호화되는 요소들을 포함할 수 있다. 예를 들어, 출력 집합들의 부호화 및 도 9 및 도 10에서의 구성 요소들은 0과 1 사이 실제 값들, 0과 256 사이 적색, 녹색, 청색(RGB)과 같은 연속 값들, CSS 색상들의 16진수 값들(예를 들어, #F0F8FF), CSS 색상들의 범주형 색상 값들(예를 들어, 회색 띤 연푸른색(AliceBlue)), 다른 CSS 속성 그룹들 및 속성들의 각각의 값들(이를테면 < http://www.w3schools.com/cssref/#animation > 웹 상에 나열되는 것들), 특정 치수의 크기(예를 들어, 높이 및 너비), 상이한 값들 및 데이터 유형들의 집합(예를 들어, 상이한 수치 달러 가격 값들 또는 상이한 수치 달러 가격 값들 및 높이들 및 너비들의 조합) 등에 기초할 수 있다.
출력 집합들(OS 1 내지 OS 4)은 위에서 논의된 바와 같이, 포워드 패스 모듈(108)에 의해 생성 및 제공된다. 그 다음 전단 제시 모듈(110)은 출력 집합들(OS 1 내지 OS 4)을 하나 이상의 웹 인터페이스의 출력 퍼널들로 변환하기 위해 제시 데이터베이스(920) 및 제시 모듈(910)을 이용한다.
제시 데이터베이스(920)는 퍼널의 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 룰 저장소로서의 역할을 한다. 제시 모듈(910)은 선택된 출력 집합에 의해 식별되는 치수 값들에 대응하는 전단 요소 값들을 결정하기 위해 출력 집합 중 선택된 출력 집합을 제시 데이터베이스(920)에 적용한다. 그에 따라, 제시 모듈(910)은 제시 데이터베이스(920)와 비교하여 포워드 패스 모듈(108)에 의해 제공되는 출력 집합을 평가하여 출력 집합에 기초한 퍼널의 적절한 변종을 생성할 수 있다.
제시 데이터베이스(920)은 다양한 요소 룰을 포함한다. 제시 데이터베이스(920)에서, 요소 룰들에는 퍼널 검색 공간에서의 모든 가능한 치수, 즉, 웹 인터페이스에 포함될 수 있는 모든 가능한 전단(예를 들어, 그래픽) 요소/구성요소가 제공된다. 또한, 각 요소 룰은 소정의 치수 또는 페이지 요소/구성요소에 대해 모든 가능한 치수 값들 또는 페이지 요소/구성요소 값들을 식별하는 포인터들을 포함한다. 예를 들어, "서브 헤드라인" 요소 룰은 "서브 헤드라인" 요소의 모든 가능한 속성, 이를테면 색상, 텍스트, 크기, 배치 기타 같은 종류의 것에 대한 포인터들을 포함한다.
선택된 출력 집합에 대해, 제시 모듈(910)은 제시 데이터베이스(920)에 액세스하고 선택된 출력 집합에서의 각 서브-시퀀스에 대한 적용가능한 요소 룰을 평가한다. 도 9의 예에서, 요소 1 룰은 모든 로고 서브-시퀀스에 대해 식별되고, 요소 2 룰은 모든 메인 헤드라인 서브-시퀀스에 대해 식별되고, 요소 3 룰은 모든 서브 헤드라인 서브-시퀀스에 대해 식별되며, 요소 4 룰은 모든 액션 버튼 서브-시퀀스에 대해 식별된다. 나아가, 각 요소 룰은 각각의 서브-시퀀스 값들에 대한 포인터를 식별하고 대응하는 전단(예를 들어, 그래픽) 요소들/구성요소들 및 요소/구성요소 값들을 생성한다.
일 구현예에서, 치수들의 각각에 대해 이용가능한 값들 중 하나가 디폴트 값일 때, 그 결과로 초래된 퍼널은 치수들의 각각의 디폴트 치수 값에 대한 디폴트 전단 요소 값을 갖는다. 그러한 구현예에서, 제시 모듈(910)은 제시 데이터베이스(920)에 선택된 출력 집합을 적용하여 치수들의 각각에 대한 디폴트 치수 값 외에 선택된 출력 집합에 의해 식별되는 모든 치수 값에 대응하는 전단 요소 값들을 결정한다.
다른 구현예들에서는, 웹 인터페이스 퍼널의 특정 변종에 대해, 퍼널의 치수들의 각각에 대한 값을 저장하는 퍼널 사용자 정의 지정 메모리가 이용된다. 그러한 구현에에서, 제시 모듈(910)은 퍼널 사용자 정의 지정 메모리에 저장된 치수 값들에 대응함에 따라 제시 데이터베이스(920)에 의해 표시되는 전단 요소 값들을 갖는 퍼널을 사용자에게 제시한다. 퍼널 사용자 정의 지정 메모리는 또한 퍼널의 치수들의 각각에 대한 값들의 새로운 집합으로 업데이트된다. 퍼널 사용자 정의 지정 메모리에 대해 업데이트된 값들은 퍼널에 진입하기 위한 사용자 거동(예를 들어, 사용자가 브라우저를 통해 랜딩 페이지 URL을 제공하는 것)에 응답하여 검색된다. 또한, 제시 모듈(910)은 사용자 거동(예를 들어, 사용자가 브라우저를 통해 랜딩 페이지 URL을 제공하는 것)에 응답하여 제시 데이터베이스(920)에 액세스한다.
일 구현예에서, 치수들의 각각에 대해 이용가능한 값들 중 하나가 디폴트 값일 때, 퍼널은 치수들의 각각의 디폴트 치수 값에 대한 디폴트 전단 요소 값을 갖는다. 그러한 구현예에서, 제시 모듈(910)에 의해 사용자에게 제시되는 퍼널은 치수들의 각각에 대한 디폴트 치수 값 외에 퍼널 사용자 정의 지정 메모리에서 식별되는 모든 치수 값에 대응함에 따라 제시 데이터베이스(920)에 의해 표시되는 전단 요소 값들을 갖는다.
도 10에서, 네 개의 웹 인터페이스(WI 1 내지 WI 4)가 출력 집합들(OS 1 내지 OS 4)의 각각에 의존하여 제시 모듈(910)에 의해 생성된다. 웹 인터페이스들의 각각은 제시 데이터베이스(920)에서의 룰들에 의해 식별되는 전단(예를 들어, 그래픽) 요소들/구성요소들 및 요소/구성요소 값들을 포함한다. 그 다음, 웹 인터페이스(WI 1 내지 WI 4)는 라이브 온라인 평가(112)를 위해 최종 사용자들에게 제시된다.
개시된 기술의 서버-측 구현예들에서, 포워드 패스 모듈(108)은 신경망이 서버에서 실행되도록 서버에서 구현 및 실행된다. 개시된 기술의 클라이언트-측 구현예들에서, 포워드 패스 모듈(108)은 신경망이 사용자 디바이스에서 실행되도록 사용자 디바이스에서 구현 및 실행된다.
기계 학습된 사용자 디바이스(MLUD)
도 11은 본 출원에서 "기계 학습된 사용자 디바이스"(MLUD)로 지칭되는, 개선된 사용자 디바이스의 일 구현예를 예시한다. 도 11에서, 최 사용자는 벤더 웹 사이트에 액세스하기 위해 MLUD(1104) 상에서 실행되는 브라우저를 사용한다. 벤더 웹 서버는 최종 사용자가 벤더 웹 사이트에 액세스하는 것에 응답하여 웹 페이지의 부분으로서, 전환 스니펫(conversion snippet)을 MLUD(1104)에 배치하도록 구성된다. 전환 스니펫이 MLUD(1104)에 전송된 후 그리고 웹 페이지가 최종 사용자에게 렌더링된 후, 전환 스니펫은 네트워크 서버 인프라스트럭처를 호출한다. 네트워크 서버 인프라스트럭처는 후보 테스팅 모듈(120), 후보 개체 모집단(106), 및 콘텐츠 전달 네트워크(CDN, content delivery network)(1108)를 포함한다.
MLUD(1104)에 배치되는 전환 스니펫은 CDN(1108)으로부터 제시 파일(930)을 검색하고 제시 파일(930)을 MLUD(1104)에 저장한다. CDN(1108)에는 제시 파일(930)이 미리 로딩된다. 현재 공통 CDN 서비스들의 예들은 Akamai™, CloudFlare™, CloudFront™, Fastly™, MaxCDN™, KeyCDN™, Incapsula™, 및 GlobalDots™를 포함한다. 제시 파일(930)은 위에서 논의된, 제시 데이터베이스(920) 및 제시 모듈(910)을 포함한다.
그 다음, MLUD(1104)에 배치된 전환 스니펫은 후보 테스팅 모듈(120)로부터 지놈을 요청한다. 이에 응답하여, 후보 테스팅 모듈(120)은 후보 개체 모집단(106)으로부터 지놈을 검색하고 선택된 지놈을 MLUD(1104)에 전달한다.
그 다음, 후보 테스팅 모듈(120)로부터 선택된 지놈 및 CDN(1108)으로부터의 제시 파일(930)을 수신한 MLUD(1104)는 입력으로서 사용자 속성 데이터(114)를 사용하여 지놈에 의해 표현되는 신경망을 실행하고 출력 퍼널에 대한 치수 값들을 생성한다. 일 구현예에서, MLUD(1104)는 지놈에 의해 표현되는 신경망을 실행하기 위해 로컬 포워드 패스 모듈을 이용한다.
그 다음, MLUD(1104)는 제시 모듈(910)을 실행한다. 제시 모듈(910)은 위에서 논의된 바와 같이, 제시 데이터베이스(920)의 룰들과 비교하여 치수 값들을 평가하고 하나 이상의 웹 인터페이스의 출력 퍼널을 생성한다. 그에 따라, 표준 사용자 디바이스는 신경망을 실행하고 알고리즘적으로 진화된 웹 인터페이스들을 생성하도록 개선된다.
기계 학습된 콘텐츠 전달 네트워크(MLCDN)
도 12는 본 출원에서 "기계 학습된 콘텐츠 전달 네트워크"(MLCDN)로 지칭되는, 개선된 콘텐츠 전달 네트워크(CDN)의 일 구현예를 예시한다. 도 12에서, 최종 사용자들은 벤더 웹 사이트에 액세스하기 위해 사용자 디바이스들(1202) 상에서 실행되는 브라우저들을 사용한다. 벤더 웹 서버는 최종 사용자들이 벤더 웹 사이트에 액세스하는 것에 응답하여 웹 페이지의 부분으로서, 전환 스니펫을 사용자 디바이스들(1202)에 배치하도록 구성된다. 전환 스니펫이 사용자 디바이스들(1202)에 전송된 후 그리고 웹 페이지가 최종 사용자둘에게 렌더링된 후, 전환 스니펫은 네트워크 서버 인프라스트럭처를 호출한다. 네트워크 서버 인프라스트럭처는 후보 테스팅 모듈(120), 후보 개체 모집단(106), 및 콘텐츠 전달 네트워크(CDN, content delivery network)(1108)를 포함한다.
MLCDN(1204)에는 제시 파일(930)이 미리 로딩된다. 제시 파일(930)은 위에서 논의된, 제시 데이터베이스(920) 및 제시 모듈(910)을 포함한다.
그 다음, MLCDN(1204)은 후보 테스팅 모듈(120)로부터 지놈을 요청한다. 이에 응답하여, 후보 테스팅 모듈(120)은 후보 개체 모집단(106)으로부터 지놈을 검색하고 선택된 지놈을 MLCDN(1204)에 전달한다.
그 다음, 선택된 지놈 및 제시 파일(1330) 양자를 갖는 MLCDN(1204)은 입력으로서 사용자 속성 데이터(114)를 사용하여 지놈에 의해 표현되는 신경망을 실행하고 출력 퍼널에 대한 치수 값들을 생성한다. 일 구현예에서, MLUD(1104)는 지놈에 의해 표현되는 신경망을 실행하기 위해 로컬 포워드 패스 모듈을 이용한다.
그 다음, MLCDN(1204)은 제시 모듈(910)을 실행한다. 제시 모듈(910)은 위에서 논의된 바와 같이, 제시 데이터베이스(920)의 룰들과 비교하여 치수 값들을 평가하고 하나 이상의 웹 인터페이스의 출력 퍼널을 생성한다. 그에 따라, 표준 사용자 디바이스는 신경망을 실행하고 알고리즘적으로 진화된 웹 인터페이스들을 생성하도록 개선된다.
그 다음, MLCDN(1204)은 제시 모듈(910)을 실행한다. 제시 모듈(910)은 위에서 논의된 바와 같이, 제시 데이터베이스(920)의 룰들과 비교하여 치수 값들을 평가하고 하나 이상의 웹 인터페이스의 출력 퍼널을 생성한다. 그에 따라, 표준 CDN은 신경망을 실행하고 알고리즘적으로 진화된 웹 인터페이스들을 생성하도록 개선된다.
컴퓨터 시스템
도 13은 개시된 기술을 구현하기 위해 사용될 수 있는 컴퓨터 시스템의 간략화된 블록도이다. 컴퓨터 시스템(1310)은 통상적으로 버스 서브 시스템(1312)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(1314)를 포함한다. 이러한 주변 디바이스들은 예를 들어, 메모리 디바이스들 및 파일 스토리지 서브 시스템을 포함하는 스토리지 서브시스템(1324), 사용자 인터페이스 입력 디바이스들(1322), 사용자 인터페이스 출력 디바이스들(1318), 및 네트워크 인터페이스 서브 시스템(1316)을 포함할 수 있다. 입력 및 출력 디바이스들은 컴퓨터 시스템(1310)과의 사용자 상호작용을 가능하게 한다. 네트워크 인터페이스 서브 시스템(1316)은 다른 컴퓨터 시스템들에서의 대응하는 인터페이스 디바이스들에 대한 인터페이스를 포함하여, 외부 네트워크들에 대한 인터페이스를 제공한다.
일 구현예에서, 전환 시스템(104)은 스토리지 서브 시스템(1324) 및 사용자 인터페이스 입력 디바이스들(1322)에 통신가능하게 링크된다.
사용자 인터페이스 입력 디바이스들(1322) 또는 클라이언트들 또는 클라이언트 디바이스들은 키보드; 포인팅 디바이스들 이를테면 마우스, 트랙볼, 터치패드, 또는 그래픽 태블릿; 스캐너; 디스플레이에 통합된 터치 스크린; 오디오 입력 디바이스들 이를테면 음성 인식 시스템들 및 마이크로폰들; 및 다른 유형들의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스"의 사용은 정보를 컴퓨터 시스템(1310)에 입력하기 위한 모든 가능한 유형의 디바이스들 및 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들(1318)은 디스플레이 서브 시스템, 프린터, 팩스 머신, 또는 비-시각적 디스플레이들 이를테면 오디오 출력 디바이스들을 포함할 수 있다. 디스플레이 서브 시스템은 음극선관(CRT), 평면 디바이스 이를테면 액정 디스플레이(LCD), 프로젝션 디바이스, 또는 시각적 이미지를 생성하기 위한 몇몇 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 비-시각적 디스플레이 이를테면 오디오 출력 디바이스들을 제공할 수 있다. 일반적으로, 용어 "출력 디바이스"의 사용은 컴퓨터 시스템(1310)으로부터 사용자에게 또는 다른 기계 또는 컴퓨터 시스템에 출력하기 위한 모든 가능한 유형의 디바이스들 및 방식들을 포함하도록 의도된다.
스토리지 서브 시스템(1324)은 본 출원에 설명된 모듈들 및 방법들 중 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구성들을 저장한다. 이러한 소프트웨어 모듈들은 일반적으로 단독으로 또는 다른 프로세서들과 조합하여 프로세서(1314)에 의해 실행된다.
스토리지 서브 시스템에 사용되는 메모리(1326)는 프로그램 실행 동안 명령들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리(RAM)(1334) 및 고정된 명령들이 저장되는 판독 전용 메모리(ROM)(1332)를 포함하여 다수의 메모리를 포함할 수 있다. 파일 스토리지 서브 시스템(1328)은 프로그램 및 데이터 파일들에 대한 영구 저장을 제공할 수 있고, 하드 디스크 드라이브, 관련 착탈가능한 미디어와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광 드라이브, 또는 착탈가능한 미디어 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 스토리지 서브 시스템(1328)에 의해 스토리지 서브 시스템(1324)에, 또는 프로세서에 의해 액세스가능한 다른 기계들에 저장될 수 있다.
버스 서브 시스템(1312)은 컴퓨터 시스템(1310)의 다양한 구성요소 및 서브 시스템이 서로 의도된 대로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브 시스템(1312)은 단일 버스로서 개략적으로 도시되지만, 버스 서브 시스템의 대안적인 구현예들은 다수의 버스를 사용할 수 있다. 어플리케이션 서버(1320)는 컴퓨터 시스템(1310)의 어플리케이션들이 이를테면 하드웨어 및/또는 소프트웨어, 예를 들어, 운영 체제를 실행할 수 있게 하는 프레임워크일 수 있다.
컴퓨터 시스템(1310) 자체는 개인용 컴퓨터, 휴대용 컴퓨터, 워크스테이션, 컴퓨터 단말, 네트워크 컴퓨터, 텔레비전, 메인프레임, 서버 팜, 느슨하게 네트워킹된 컴퓨터들의 넓게 분산된 집합, 또는 임의의 다른 데이터 프로세싱 시스템 또는 사용자 디바이스를 포함하여 다양한 유형을 가질 수 있다. 컴퓨터들 및 네트워크들의 끊임없이 변화하는 속성으로 인해, 도 13에 도시된 컴퓨터 시스템(1310)에 대한 설명은 단지 본 발명의 바람직한 실시예들을 예시하기 위한 특정 예로서 의도된다. 컴퓨터 시스템(1310)의 많은 다른 구성은 도 13에 도시된 컴퓨터 시스템보다 더 많거나 적은 구성요소를 갖는 것이 가능하다.
조항들
다음 조항들은 본 발명의 측면들과 관련된 시스템들 및 방법들의 다양한 예의 측면들을 설명한다.
조항 2S1. 미리 결정된 타겟 사용자 거동을 촉진하는 컴퓨터 구현 웹 인터페이스 생성 및 테스팅 시스템으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 치수를 갖고 또한 상기 타겟 사용자 거동의 획득이 검출될 수 있는 메커니즘을 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리;
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
상기 퍼널들이 라이브 온라인 평가를 받게 함으로써 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가에 의존하여 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 후보 개체들의 상기 타겟 사용자 거동을 획득하는 것에 있어서의 성공 지표인, 상기 후보 테스팅 모듈;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 포함하는, 시스템.
조항 2S2. 조항 2S1에 있어서, 상기 번식 모듈은 상기 새로운 개체에 대한 유전인자들이 상기 후보 개체 모집단에서의 상기 부모 개체들로부터 적응도에 비례해서 선택되도록 상기 새로운 개체들 중 하나를 형성하는, 시스템.
조항 2S3. 조항 2S1에 있어서, 전개된 상기 성능 측정치들에 의존하여 상기 후보 개체 모집단으로부터 폐기하기 위한 상기 라이브 온라인 평가 중인 개체들을 선택하는 경쟁 모듈을 포함하도록 더 구성되는, 시스템.
조항 2S4. 조항 2S3에 있어서, 상기 번식 모듈은 아직 폐기하도록 선택되지 않고 상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는, 시스템.
조항 2S5. 조항 2S4에 있어서, 상기 번식 모듈은 적어도 부분적으로 두 개의 선택된 부모 개체의 하이퍼 파라미터 값들 간 교차(crossover)에 의해 새로운 개체들을 형성하는, 시스템.
조항 2S6. 조항 2S4에 있어서, 상기 번식 모듈은 적어도 부분적으로 부모 개체의 적어도 하나의 하이퍼 파라미터 값의 변이(mutation)에 의해 새로운 개체들을 형성하는, 시스템.
조항 2S7. 조항 2S3에 있어서, 상기 제어 모듈은 상기 후보 테스팅 모듈, 상기 경쟁 모듈, 및 상기 번식 모듈을 반복하는, 시스템.
조항 2S8. 조항 2S1에 있어서, 상기 후보 개체들의 각각에 의해 식별되는 상기 신경망들은 뉴런들의 입력 레이어, 뉴런들의 출력 레이어, 및 적어도 하나의 뉴런들의 은닉 레이어를 포함하되,
상기 입력 레이어에서의 다수의 뉴런은 모든 후보 개체에 대해 선험적으로 구성되고,
상기 번식 모듈은 상기 후보 개체 모집단에 추가되는 모든 새로운 개체가 해당 개체의 부모들과 상기 입력 레이어에서의 동일한 수의 뉴런을 갖도록 하는, 시스템.
조항 2S9. 조항 2S1에 있어서, 상기 후보 개체들의 각각에 의해 식별되는 상기 신경망들은 뉴런들의 입력 레이어, 뉴런들의 출력 레이어, 및 적어도 하나의 뉴런들의 은닉 레이어를 포함하되,
상기 출력 레이어에서의 다수의 뉴런은 모든 후보 개체에 대해 선험적으로 구성되고,
상기 번식 모듈은 상기 후보 개체 모집단에 추가되는 모든 새로운 개체가 해당 개체의 부모들과 상기 출력 레이어에서의 동일한 수의 뉴런을 갖도록 하는, 시스템.
조항 2S10. 조항 2S1에 있어서, 상기 타겟 사용자 거동은 최종 사용자들에 의한 전환인, 시스템.
조항 2S11. 조항 2S10에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 후보 개체의 신경망에 의해 생성되고 상기 라이브 온라인 평가를 받는 퍼널들의 집합의 전환율들에 기초하는, 시스템.
조항 2S12. 조항 2S10에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 후보 개체의 신경망에 의해 생성되고 상기 라이브 온라인 평가를 받는 퍼널들의 집합의 수익에 기초하는, 시스템.
조항 2S13. 사용자 속성 데이터의 송신부와 사용하기 위한, 개선된 웹 인터페이스들을 생성하기 위한 컴퓨터 구현 시스템으로서,
지놈들의 풀을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 지놈들의 각각은 상기 지놈의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별함으로써 각각의 신경망을 식별하고, 상기 하이퍼 파라미터들은 상기 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 각각의 신경망은 상기 사용자 속성 데이터로부터의 사용자 속성 값들의 상이한 집합들에 의존하여 하나 이상의 웹 인터페이스의 출력 퍼널들을 생성하며, 각 지놈은 또한 각각의 적응도 추정치의 표시를 위한 그것과 연관된 스토리지를 갖는, 상기 메모리; 및
지놈 풀 프로세서로서:
사용자 속성 데이터에 관해 상기 지놈 풀로부터의 지놈들을 테스팅하되, 각 지놈은 각각의 일련의 적어도 하나의 시행(trial)을 받아 테스팅되고, 각 시행은 사용자 속성 값들의 각각의 집합을 상기 각각의 지놈의 상기 신경망에 적용하여 대응하는 출력 퍼널을 생성하고,
상기 일련의 시행으로 출력 퍼널들을 생성하는 것에 있어서 상기 지놈의 상기 신경망의 미리 결정된 적응도 측정치에 의존하여 테스팅되는 상기 지놈들의 각각과 연관된 상기 적응도 추정치를 업데이트하며, 그리고
그것의 업데이트된 적응도 추정치에 의존하여 상기 지놈 풀로부터 폐기하기 위한 지놈들을 선택하는, 상기 지놈 풀 프로세서를 제공하는 단계를 포함하는, 방법.
조항 2S14. 조항 2S13에 있어서, 상기 신경망들 중 소정의 신경망의 상기 미리 결정된 적응도 측정치는 상기 일련의 시행에서 상기 소정의 신경망에 의해 생성되는 상기 출력 퍼널들의 전환율들에 의존적인, 시스템.
조항 2S15. 조항 2S13에 있어서, 상기 신경망들 중 소정의 신경망의 상기 미리 결정된 적응도 측정치는 상기 일련의 시행에서 상기 소정의 신경망에 의해 생성되는 상기 출력 퍼널들의 수익률들에 의존적인, 시스템.
조항 2S16. 조항 2S13에 있어서, 테스팅되는 상기 지놈들 중 각 소정의 지놈과 연관되는 상기 적응도 추정치의 각 업데이트는 상기 소정의 지놈과 연관되는 상기 적응도 추정치를 개량하는, 시스템.
조항 2S17. 조항 2S13에 있어서, 상기 지놈 풀 프로세서는 상기 지놈 풀로부터의 하나 이상의 부모 지놈의 각각의 집합에 의존하여 새로운 지놈들을 형성하는 번식 모듈을 더 포함하는, 시스템.
조항 2S18. 조항 2S13에 있어서, 각 일련의 시행은 복수의 시행을 포함하는, 시스템.
조항 2M1. 미리 결정된 타겟 사용자 거동을 촉진하는 컴퓨터 구현 웹 인터페이스 생성 및 테스팅 방법으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 치수를 갖고 또한 상기 타겟 사용자 거동의 획득이 검출될 수 있는 메커니즘을 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계;
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 단계;
상기 퍼널들이 라이브 온라인 평가를 받게 함으로써 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 단계로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가에 의존하여 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 후보 개체들의 상기 타겟 사용자 거동을 획득하는 것에 있어서의 성공 지표인, 상기 후보 테스팅 단계;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는 번식 단계; 및
상기 번식 단계 이후 상기 후보 테스팅 단계를 반복하는 반복 단계를 포함하는, 방법.
조항 2M2. 조항 2M1에 있어서, 상기 번식 단계는 상기 새로운 개체에 대한 유전인자들이 상기 후보 개체 모집단에서의 상기 부모 개체들로부터 적응도에 비례해서 선택되도록 상기 새로운 개체들 중 하나를 형성하는, 방법.
조항 2M3. 조항 2M1에 있어서, 상기 번식 단계 이전에, 전개된 상기 성능 측정치들에 의존하여 상기 후보 개체 모집단으로부터 폐기하기 위한 상기 라이브 온라인 평가 중인 개체들을 선택하는 경쟁 단계를 더 포함하는, 방법.
조항 2M4. 조항 2M3에 있어서, 상기 번식 단계는 아직 폐기하도록 선택되지 않고 상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는, 방법.
조항 2M5. 조항 2M4에 있어서, 상기 번식 단계는 적어도 부분적으로 두 개의 선택된 부모 개체의 하이퍼 파라미터 값들 간 교차(crossover)에 의해 새로운 개체들을 형성하는, 방법.
조항 2M6. 조항 2M4에 있어서, 상기 번식 단계는 적어도 부분적으로 부모 개체의 적어도 하나의 하이퍼 파라미터 값의 변이(mutation)에 의해 새로운 개체들을 형성하는, 방법.
조항 2M7. 조항 2M3에 있어서, 상기 반복 단계는 상기 후보 테스팅 단계의 상기 반복 이후에 상기 경쟁 단계를 반복하는, 방법.
조항 2M8. 조항 2M1에 있어서, 상기 후보 개체들의 각각에 의해 식별되는 상기 신경망은 뉴런들의 입력 레이어, 뉴런들의 출력 레이어, 및 적어도 하나의 뉴런들의 은닉 레이어를 포함하되,
상기 입력 레이어에서의 다수의 뉴런은 상기 후보 데이터베이스에서의 모든 후보 개체에 대해 선험적으로 구성되고,
상기 번식 단계는 상기 후보 개체 모집단에 추가되는 모든 새로운 개체가 해당 개체의 부모들과 상기 입력 레이어에서의 동일한 수의 뉴런을 갖도록 하는, 방법.
조항 2M9. 조항 2M1에 있어서, 상기 후보 개체들의 각각에 의해 식별되는 상기 신경망은 뉴런들의 입력 레이어, 뉴런들의 출력 레이어, 및 적어도 하나의 뉴런들의 은닉 레이어를 포함하되,
상기 출력 레이어에서의 다수의 뉴런은 상기 후보 데이터베이스에서의 모든 후보 개체에 대해 선험적으로 구성되고,
상기 번식 단계는 상기 후보 개체 모집단에 추가되는 모든 새로운 개체가 해당 개체의 부모들과 상기 출력 레이어에서의 동일한 수의 뉴런을 갖도록 하는, 방법.
조항 2M10. 조항 2M1에 있어서, 상기 타겟 사용자 거동은 최종 사용자들에 의한 전환인, 방법.
조항 2M11. 조항 2M10에 있어서, 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각에 대한 상기 후보 테스팅 단계에서 전개되는 상기 성능 측정치는 상기 라이브 온라인 평가를 받을 때 신경망들이 더 높은 전환율들을 갖는 퍼널들을 생성하는 개체들에 유리한, 방법.
조항 2M12. 조항 2M10에 있어서, 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각에 대한 상기 후보 테스팅 단계에서 전개되는 상기 성능 측정치는 신경망들이 상기 라이브 온라인 평가를 받을 때 수신되는 더 높은 수익을 내는 퍼널들을 생성하는 개체들에 유리한, 방법.
조항 2M13. 사용자 속성 데이터의 송신부와 사용하기 위한, 개선된 웹 인터페이스들을 생성하기 위한 컴퓨터 구현 방법으로서,
지놈들의 풀을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 지놈들의 각각은 상기 지놈의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별함으로써 각각의 신경망을 식별하고, 상기 하이퍼 파라미터들은 상기 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 각각의 신경망은 상기 사용자 속성 데이터로부터의 사용자 속성 값들의 상이한 집합들에 의존하여 하나 이상의 웹 인터페이스의 출력 퍼널들을 생성하며, 각 지놈은 또한 각각의 적응도 추정치의 표시를 위한 그것과 연관된 스토리지를 갖는, 상기 메모리를 제공하는 단계; 및
지놈 풀 프로세서를 제공하는 단계로서, 상기 지놈 풀 프로세서는:
사용자 속성 데이터에 관해 상기 지놈 풀로부터의 지놈들을 테스팅하되, 각 지놈은 각각의 일련의 적어도 하나의 시행(trial)을 받아 테스팅되고, 각 시행은 사용자 속성 값들의 각각의 집합을 상기 각각의 지놈의 상기 신경망에 적용하여 대응하는 출력 퍼널을 생성하고,
상기 일련의 시행으로 출력 퍼널들을 생성하는 것에 있어서 상기 지놈의 상기 신경망의 미리 결정된 적응도 측정치에 의존하여 테스팅되는 상기 지놈들의 각각과 연관된 상기 적응도 추정치를 업데이트하며, 그리고
그것의 업데이트된 적응도 추정치에 의존하여 상기 지놈 풀로부터 폐기하기 위한 지놈들을 선택하는, 상기 지놈 풀 프로세서를 제공하는 단계를 포함하는, 방법.
조항 2M14. 조항 2M13에 있어서, 테스팅되는 상기 지놈들의 각각에 대한 상기 미리 결정된 적응도 측정치는 신경망들이 상기 일련의 시행에서 더 높은 전환율들을 내는 출력 퍼널들을 생성하는 지놈들에 유리한, 방법.
조항 2M15. 조항 2M13에 있어서, 테스팅되는 상기 지놈들의 각각에 대한 상기 미리 결정된 적응도 측정치는 신경망들이 상기 일련의 시행에서 더 높은 수익률들을 내는 출력 퍼널들을 생성하는 지놈들에 유리한, 방법.
조항 2M16. 조항 2M13에 있어서, 테스팅되는 상기 지놈들 중 각 소정의 지놈과 연관되는 상기 적응도 추정치의 각 업데이트는 상기 소정의 지놈과 연관되는 상기 적응도 추정치를 개량하는, 방법.
조항 2M17. 조항 2M13에 있어서, 상기 지놈 풀 프로세서는 상기 지놈 풀로부터의 하나 이상의 부모 지놈의 각각의 집합에 의존하여 새로운 지놈들을 형성하는 번식 단계를 더 수행하는, 방법.
조항 2M18. 조항 2M13에 있어서, 각 일련의 시행은 복수의 시행을 포함하는, 방법.
조항 3S1. 사용자 속성 데이터의 송신부와 사용하기 위한, 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리;
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스; 및
제시 모듈로서:
a. 상기 후보 개체들 중 선택된 후보 개체에 의해 기술되는 상기 신경망으로부터, 상기 사용자 속성 데이터의 송신부로부터의 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
b. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
c. 결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 포함하는, 시스템.
조항 3S2. 조항 3S1에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 치수들의 각각의 상기 디폴트 치수 값에 대한 디폴트 전단 요소 값을 갖고,
상기 제시 모듈은 상기 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 치수 값에 대응하는 상기 전단 요소 값들을 적용하는, 시스템.
조항 3S3. 사용자 정의가능한 웹 인터페이스 퍼널을 위한 컴퓨터 구현 배치 시스템으로서, 상기 퍼널은 복수의 치수에 따라 사용자 정의가능하고,
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스;
신경망의 특정 변화에 대해, 상기 신경망의 토폴로지 및 상기 신경망의 인터커넥트들을 위한 계수들을 기술하는 복수의 하이퍼 파라미터의 각각에 대한 값을 저장하는 신경망 지정 메모리로서, 상기 신경망들은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리; 및
제시 모듈로서:
a. 상기 신경망 사용자 정의 지정 메모리에 저장된 상기 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
b. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
c. 결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 포함하는, 시스템.
조항 3S4. 조항 3S3에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
상기 제시 모듈에 의해 상기 사용자에게 제시되는 상기 퍼널은 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 상기 퍼널 치수 값에 대응함에 따라 상기 제시 데이터베이스에 의해 표시되는 전단 요소 값들을 갖는, 시스템.
조항 3S5. 조항 3S3에 있어서, 상기 신경망 사용자 정의 지정 메모리를 상기 하이퍼 파라미터들의 각각에 대한 값들의 새로운 집합으로 업데이트하도록 더 구성되는, 시스템.
조항 3S6. 조항 3S3에 있어서, 상기 시스템은 퍼널에 진입하기 위한 사용자 거동에 응답하여 상기 신경망 사용자 정의 지정 메모리에 대한 상기 값들을 검색하는, 시스템.
조항 3S7. 조항 3S6에 있어서, 사용자 거동에 응답하여 상기 제시 데이터베이스를 또한 검색하는, 시스템.
조항 3S8. 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리; 및
네트워크를 통해 수신된 하나 이상의 제1 요청에 응답하여, 제1 클라이언트 컴퓨터 시스템에 리턴하는 네트워크 서버 인프라스트럭처로서:
a. 상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스,
b. 상기 모집단에서의 상기 후보 개체들 중 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합, 및
c. 제시 모듈로서:
i. 상기 신경망 하이퍼 파라미터 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
ii. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
iii. 결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 리턴하는, 상기 네트워크 서버 인프라스트럭처를 포함하는, 시스템.
조항 3S9. 조항 3S8에 있어서, 상기 퍼널 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
상기 제시 모듈은 상기 제시 데이터베이스에 상기 제1 선택된 후보 개체를 적용하여 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 퍼널 치수 값에 대응하는 전단 요소 값들을 결정하는, 시스템.
조항 3S10. 조항 3S8에 있어서, 상기 네트워크 서버 인프라스트럭처는 네트워크를 통해 수신된 하나 이상의 제2 요청에 응답하여, 제2 클라이언트 컴퓨터 시스템에:
상기 제시 데이터베이스;
상기 제시 모듈; 및
상기 모집단에서의 상기 후보 개체들 중 제2 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는, 시스템.
조항 3S11. 조항 3S8에 있어서, 웹 인터페이스는 웹 페이지를 나타내는, 시스템.
조항 3S12. 조항 3S8에 있어서, 웹 인터페이스는 모바일 어플리케이션을 나타내는, 시스템.
조항 3S13. 조항 3S8에 있어서, 웹 인터페이스는 이-메일을 나타내는, 시스템.
조항 3S14. 조항 3S8에 있어서, 웹 인터페이스는 소셜 미디어 메시지를 나타내는, 시스템.
조항 3S15. 조항 3S8에 있어서, 웹 인터페이스는 소셜 미디어 피드 항목을 나타내는, 시스템.
조항 3S16. 조항 3S8에 있어서, 웹 인터페이스는 챗 메시지를 나타내는, 시스템.
조항 3S17. 조항 3S8에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 시스템은:
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체의 상기 하이퍼 파라미터들에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 모듈;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 더 포함하되,
상기 후보 테스팅 모듈은 상기 네트워크 서버 인프라스트럭처에 포함되고 상기 후보 개체 모집단으로부터 신경망 하이퍼 파라미터들이 상기 요청들에 응답하여 클라이언트 컴퓨터 시스템들에 리턴될 상기 선택된 후보 개체들을 선택하는, 시스템.
조항 3S18. 조항 3S17에 있어서, 상기 타겟 사용자 거동은 사용자들에 의한 전환인, 시스템.
조항 3S19. 조항 3S17에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 후보 개체들의 상기 라이브 온라인 평가에서 획득되는 증가된 전환율들에 유리한, 시스템.
조항 3S20. 조항 3S17에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 라이브 온라인 평가 중인 상기 후보 개체들의 상기 라이브 온라인 평가에서 발생되는 증가된 수익에 유리한, 시스템.
조항 3S21. 조항 3S8에 있어서, 상기 네트워크 서버 인프라스트럭처는:
상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제시 데이터베이스 및 상기 제시 모듈을 리턴하는 CDN; 및
상기 데이터베이스로부터 상기 제1 선택된 후보 개체를 검색하고, 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는 전환 시스템을 포함하는, 시스템.
조항 3S22. 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리; 및
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스에 액세스가능하게 되는 기계 학습 콘텐츠 전달 네트워크로서, 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여:
a. 상기 데이터베이스로부터 상기 모집단에서의 상기 후보 개체들 중 선택된 후보 개체를 검색하도록,
b. 검색된 상기 후보 개체에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하도록,
c. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하도록, 그리고
d. 상기 클라이언트 컴퓨터 시스템에 선택된 상기 후보 개체의 상기 치수 값들에 의해 표시되는 전단 요소 값들을 갖는 퍼널을 전달하도록 구성되는, 상기 기계 학습 콘텐츠 전달 네트워크를 포함하는, 시스템.
조항 3S23. 조항 3S22에 있어서, 상기 기계 학습 콘텐츠 전달 네트워크는 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여 상기 퍼널을 준비하는, 시스템
조항 3S24. 조항 3S22에 있어서, 상기 데이터베이스에 액세스할 수 있는 전환 시스템을 더 포함하되,
상기 기계 학습 콘텐츠 전달 네트워크는 상기 선택된 후보 개체를 검색 시, 상기 전환 시스템으로부터 후보 개체를 요청하도록 더 구성되고,
상기 전환 시스템은 상기 기계 학습 콘텐츠 전달 네트워크로부터의 요청에 응답하여 상기 선택된 후보 개체를 선택하도록, 그리고 상기 선택된 후보 개체를 상기 기계 학습 콘텐츠 전달 네트워크에 리턴하도록 구성되는, 시스템.
조항 3S25. 조항 3S24에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 전환 시스템은:
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
상기 라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 모듈;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 포함하되,
상기 선택된 후보 개체를 선택 시, 상기 후보 테스팅 모듈은 상기 후보 개체 모집단으로부터 상기 선택된 후보 개체를 선택하는, 시스템.
조항 3M1. 사용자 속성 데이터의 송신부와 사용하기 위한, 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계;
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스를 제공하는 단계;
상기 후보 개체들 중 선택된 후보 개체에 의해 기술되는 상기 신경망으로부터, 상기 사용자 속성 데이터의 송신부로부터의 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하는 단계,
식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하는 단계; 및
결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는 단계를 포함하는, 방법.
조항 3M2. 조항 3M1에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 치수들의 각각의 상기 디폴트 치수 값에 대한 디폴트 전단 요소 값을 갖고,
상기 제시 데이터베이스에 식별된 상기 퍼널 치수 값들을 적용하는 단계는 상기 제시 데이터베이스에 상기 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 치수 값에 대응하는 상기 전단 요소 값들을 적용하는 단계를 포함하는, 방법.
조항 3M3. 사용자 정의가능한 웹 인터페이스 퍼널을 위한 컴퓨터 구현 배치 방법으로서, 상기 퍼널은 복수의 치수에 따라 사용자 정의가능하고,
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스를 제공하는 단계;
신경망의 특정 변화에 대해, 상기 신경망의 토폴로지 및 상기 신경망의 인터커넥트들을 위한 계수들을 기술하는 복수의 하이퍼 파라미터의 각각에 대한 값을 제공하는 단계로서, 상기 신경망들은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 복수의 하이퍼 파라미터의 각각에 대한 값을 제공하는 단계;
상기 신경망 사용자 정의 지정 메모리에 저장된 상기 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하는 단계,
식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하는 단계; 및
결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는 단계를 포함하는, 방법.
조항 3M4. 조항 3M3에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는 단계는 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 상기 퍼널 치수 값에 대응함에 따라 상기 제시 데이터베이스에 의해 표시되는 전단 요소 값들을 상기 사용자에게 제시하는 단계를 포함하는, 방법.
조항 3M5. 조항 3M3에 있어서, 신경망의 제2 변화에 대한, 상기 하이퍼 파라미터들의 각각에 대한 제2 값을 제공하는 단계를 더 포함하는, 방법.
조항 3M6. 조항 3M3에 있어서, 퍼널에 진입하기 위한 사용자 거동에 응답하여 복수의 하이퍼 파라미터의 각각에 대한 값을 제공하는 단계가 발생하는, 방법.
조항 3M7. 조항 3M6에 있어서, 사용자 거동에 응답하여 상기 제시 데이터베이스를 검색하는 단계를 더 포함하는, 방법.
조항 3M8. 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계; 및
네트워크 서버 인프라스트럭처를 제공하는 단계로서, 네트워크를 통해 수신된 하나 이상의 제1 요청에 응답하여, 제1 클라이언트 컴퓨터 시스템에:
a. 상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스,
b. 상기 모집단에서의 상기 후보 개체들 중 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합, 및
c. 제시 모듈로서,
i. 상기 신경망 하이퍼 파라미터 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
ii. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
iii. 결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 리턴하는, 상기 네트워크 서버 인프라스트럭처를 제공하는 단계를 포함하는, 방법.
조항 3M9. 조항 3M8에 있어서, 상기 퍼널 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
상기 제시 모듈은 상기 제시 데이터베이스에 상기 제1 선택된 후보 개체를 적용하여 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 퍼널 치수 값에 대응하는 전단 요소 값들을 결정하는, 방법.
조항 3M10. 조항 3M8에 있어서, 상기 네트워크 서버 인프라스트럭처는 네트워크를 통해 수신된 하나 이상의 제2 요청에 응답하여, 제2 클라이언트 컴퓨터 시스템에:
상기 제시 데이터베이스;
상기 제시 모듈; 및
상기 모집단에서의 상기 후보 개체들 중 제2 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는, 방법.
조항 3M11. 조항 3M8에 있어서, 웹 인터페이스는 웹 페이지, 모바일 어플리케이션, 이-메일, 소셜 미디어 메시지, 소셜 미디어 피드 항목, 및 챗 메시지로 이루어지는 군의 멤버를 나타내는, 방법.
조항 3M17. 조항 3M8에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 방법은:
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 단계;
라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 단계로서, 상기 후보 테스팅 모듈은 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체의 상기 하이퍼 파라미터들에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 단계;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 단계; 및
상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 반복 단계를 더 포함하되,
상기 후보 테스팅 모듈은 상기 네트워크 서버 인프라스트럭처에 포함되고 상기 후보 개체 모집단으로부터 신경망 하이퍼 파라미터들이 상기 요청들에 응답하여 클라이언트 컴퓨터 시스템들에 리턴될 상기 선택된 후보 개체들을 선택하는, 방법.
조항 3M18. 조항 3M17에 있어서, 상기 타겟 사용자 거동은 최종 사용자들에 의한 전환인, 방법.
조항 3M19. 조항 3M17에 있어서, 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각에 대한 상기 후보 테스팅 단계에서 전개되는 상기 성능 측정치는 상기 라이브 온라인 평가를 받을 때 신경망들이 더 높은 전환율들을 갖는 퍼널들을 생성하는 개체들에 유리한, 방법.
조항 3M20. 조항 3M17에 있어서, 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각에 대한 상기 후보 테스팅 단계에서 전개되는 상기 성능 측정치는 신경망들이 상기 라이브 온라인 평가를 받을 때 수신되는 더 높은 수익을 내는 퍼널들을 생성하는 개체들에 유리한, 방법.
조항 3M21. 조항 3M8에 있어서, 상기 네트워크 서버 인프라스트럭처는:
상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제시 데이터베이스 및 상기 제시 모듈을 리턴하는 CDN; 및
상기 데이터베이스로부터 상기 제1 선택된 후보 개체를 검색하고, 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는 전환 시스템을 포함하는, 방법.
조항 3M22. 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계; 및
상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스에 액세스가능하게 되는 기계 학습 콘텐츠 전달 네트워크를 제공하는 단계로서, 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여:
a. 상기 데이터베이스로부터 상기 모집단에서의 상기 후보 개체들 중 선택된 후보 개체를 검색하도록,
b. 검색된 상기 후보 개체에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하도록,
c. 식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하도록, 그리고
d. 상기 클라이언트 컴퓨터 시스템에 선택된 상기 후보 개체의 상기 치수 값들에 의해 표시되는 전단 요소 값들을 갖는 퍼널을 전달하도록 구성되는, 상기 기계 학습 콘텐츠 전달 네트워크를 제공하는 단계를 포함하는, 방법.
조항 3M23. 조항 3M22에 있어서, 상기 기계 학습 콘텐츠 전달 네트워크는 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여 상기 퍼널을 준비하는, 방법.
조항 3M24. 조항 3M22에 있어서, 상기 데이터베이스에 액세스할 수 있는 전환 시스템을 더 포함하되,
상기 기계 학습 콘텐츠 전달 네트워크는 상기 선택된 후보 개체를 검색 시, 상기 전환 시스템으로부터 후보 개체를 요청하도록 더 구성되고,
상기 전환 시스템은 상기 기계 학습 콘텐츠 전달 네트워크로부터의 요청에 응답하여 상기 선택된 후보 개체를 선택하도록, 그리고 상기 선택된 후보 개체를 상기 기계 학습 콘텐츠 전달 네트워크에 리턴하도록 구성되는, 방법.
조항 3M25. 조항 3M24에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 전환 시스템은:
후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
상기 라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 모듈;
상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 더 포함하되,
상기 선택된 후보 개체를 선택 시, 상기 후보 테스팅 모듈은 상기 후보 개체 모집단으로부터 상기 선택된 후보 개체를 선택하는, 방법.
본 출원인은 이에 의해 별개로 본 출원에서 설명된 각 개체 특징 및 두 개 이상의 그러한 특징의 임의의 조합을, 그러한 특징들 또는 특징들의 조합들이 본 출원에 개시된 모든 문제를 해결하는지 여부에 관계 없이, 그리고 청구항들의 범위에 제한되지 않고, 그러한 특징들 또는 조합들이 해당 기술분야에서의 통상의 기술자의 공통 일반적 지식을 고려하여 전체로서 본 명세서에 기초하여 수행될 수 있는 정도로, 개시한다. 본 출원인은 본 발명의 측면들이 임의의 그러한 특징 또는 특징들의 조합으로 구성될 수 있음을 나타낸다. 앞에서의 설명을 고려하여, 해당 기술분야에서의 통상의 기술자에게 본 발명의 범위 내에서 많은 변경이 이루어질 수 있다는 것이 명백할 것이다.
선행하는 설명은 개시된 기술을 이용 및 사용할 수 있게 하기 위해 제시된다. 개시된 구현예들에 대한 다양한 변경예들이 명백해질 것이고, 본 출원에서 정의되는 일반 원리들은 개시된 기술의 사상 및 범위에서 벗어나지 않고 다른 구현예들 및 적용예들에 적용될 수 있다. 그에 따라, 개시된 기술은 제시된 구현예들에 제한되도록 의도되는 것이 아니라, 본 출원에 개시된 원리들 및 특징들에 맞는 가장 넓은 범위를 부여 받아야 한다. 개시된 기술의 범위는 첨부된 청구항들에 의해 정의된다.

Claims (43)

  1. 미리 결정된 타겟 사용자 거동을 촉진하는 컴퓨터 구현 웹 인터페이스 생성 및 테스팅 시스템으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 치수를 갖고 또한 상기 타겟 사용자 거동의 획득이 검출될 수 있는 메커니즘을 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리;
    후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
    상기 퍼널들이 라이브 온라인 평가를 받게 함으로써 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가에 의존하여 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 후보 개체들의 상기 타겟 사용자 거동을 획득하는 것에 있어서의 성공 지표인, 상기 후보 테스팅 모듈;
    상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
    상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 포함하는, 시스템.
  2. 청구항 1에 있어서, 상기 번식 모듈은 상기 새로운 개체에 대한 유전인자들이 상기 후보 개체 모집단에서의 상기 부모 개체들로부터 적응도에 비례해서 선택되도록 상기 새로운 개체들 중 하나를 형성하는, 시스템.
  3. 청구항 1에 있어서, 전개된 상기 성능 측정치들에 의존하여 상기 후보 개체 모집단으로부터 폐기하기 위한 상기 라이브 온라인 평가 중인 개체들을 선택하는 경쟁 모듈을 포함하도록 더 구성되는, 시스템.
  4. 청구항 3에 있어서, 상기 번식 모듈은 아직 폐기하도록 선택되지 않고 상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는, 시스템.
  5. 청구항 4에 있어서, 상기 번식 모듈은 적어도 부분적으로 두 개의 선택된 부모 개체의 하이퍼 파라미터 값들 간 교차(crossover)에 의해 새로운 개체들을 형성하는, 시스템.
  6. 청구항 4에 있어서, 상기 번식 모듈은 적어도 부분적으로 부모 개체의 적어도 하나의 하이퍼 파라미터 값의 변이(mutation)에 의해 새로운 개체들을 형성하는, 시스템.
  7. 청구항 3에 있어서, 상기 제어 모듈은 상기 후보 테스팅 모듈, 상기 경쟁 모듈, 및 상기 번식 모듈을 반복하는, 시스템.
  8. 청구항 1에 있어서, 상기 후보 개체들의 각각에 의해 식별되는 상기 신경망들은 뉴런들의 입력 레이어, 뉴런들의 출력 레이어, 및 적어도 하나의 뉴런들의 은닉 레이어를 포함하되,
    상기 입력 레이어에서의 다수의 뉴런은 모든 후보 개체에 대해 선험적으로 구성되고,
    상기 번식 모듈은 상기 후보 개체 모집단에 추가되는 모든 새로운 개체가 해당 개체의 부모들과 상기 입력 레이어에서의 동일한 수의 뉴런을 갖도록 하는, 시스템.
  9. 청구항 1에 있어서, 상기 타겟 사용자 거동은 최종 사용자들에 의한 전환(conversion)인, 시스템.
  10. 청구항 9에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 후보 개체의 신경망에 의해 생성되고 상기 라이브 온라인 평가를 받는 퍼널들의 집합의 전환율들에 기초하는, 시스템.
  11. 청구항 9에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 후보 개체의 신경망에 의해 생성되고 상기 라이브 온라인 평가를 받는 퍼널들의 집합으로부터 수신되는 수익에 기초하는, 시스템.
  12. 사용자 속성 데이터의 송신부와 사용하기 위한, 개선된 웹 인터페이스들을 생성하기 위한 컴퓨터 구현 시스템으로서,
    지놈들(genomes)의 풀(pool)을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 지놈들의 각각은 상기 지놈의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별함으로써 각각의 신경망을 식별하고, 상기 하이퍼 파라미터들은 상기 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 각각의 신경망은 상기 사용자 속성 데이터로부터의 사용자 속성 값들의 상이한 집합들에 의존하여 하나 이상의 웹 인터페이스의 출력 퍼널들을 생성하며, 각 지놈은 또한 각각의 적응도 추정치의 표시를 위한 그것과 연관된 스토리지를 갖는, 상기 메모리; 및
    지놈 풀 프로세서로서:
    사용자 속성 데이터에 관해 상기 지놈 풀로부터의 지놈들을 테스팅하되, 각 지놈은 각각의 일련의 적어도 하나의 시행(trial)을 받아 테스팅되고, 각 시행은 사용자 속성 값들의 각각의 집합을 상기 각각의 지놈의 상기 신경망에 적용하여 대응하는 출력 퍼널을 생성하고,
    상기 일련의 시행으로 출력 퍼널들을 생성하는 것에 있어서 상기 지놈의 상기 신경망의 미리 결정된 적응도 측정치에 의존하여 테스팅되는 상기 지놈들의 각각과 연관된 상기 적응도 추정치를 업데이트하며, 그리고
    그것의 업데이트된 적응도 추정치에 의존하여 상기 지놈 풀로부터 폐기하기 위한 지놈들을 선택하는, 상기 지놈 풀 프로세서를 포함하는, 시스템.
  13. 청구항 12에 있어서, 상기 신경망들 중 소정의 신경망의 상기 미리 결정된 적응도 측정치는 상기 일련의 시행에서 상기 소정의 신경망에 의해 생성되는 상기 출력 퍼널들의 전환율들에 의존적인, 시스템.
  14. 청구항 12에 있어서, 상기 신경망들 중 소정의 신경망의 상기 미리 결정된 적응도 측정치는 상기 일련의 시행에서 상기 소정의 신경망에 의해 생성되는 상기 출력 퍼널들의 수익률들에 의존적인, 시스템.
  15. 청구항 12에 있어서, 테스팅되는 상기 지놈들 중 각 소정의 지놈과 연관되는 상기 적응도 추정치의 각 업데이트는 상기 소정의 지놈과 연관되는 상기 적응도 추정치를 개량하는, 시스템.
  16. 청구항 12에 있어서, 상기 지놈 풀 프로세서는 상기 지놈 풀로부터의 하나 이상의 부모 지놈의 각각의 집합에 의존하여 새로운 지놈들을 형성하는 번식 모듈을 더 포함하는, 시스템.
  17. 청구항 12에 있어서, 각 일련의 시행은 복수의 시행을 포함하는, 시스템.
  18. 미리 결정된 타겟 사용자 거동을 촉진하는 컴퓨터 구현 웹 인터페이스 생성 및 테스팅 방법으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 치수를 갖고 또한 상기 타겟 사용자 거동의 획득이 검출될 수 있는 메커니즘을 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계;
    후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 단계;
    상기 퍼널들이 라이브 온라인 평가를 받게 함으로써 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 단계로서, 상기 후보 테스팅 모듈은 상기 라이브 온라인 평가에 의존하여 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 후보 개체들의 상기 타겟 사용자 거동을 획득하는 것에 있어서의 성공 지표인, 상기 후보 테스팅 단계;
    상기 후보 개체 모집단으로부터의 하나 이상의 부모 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 개체들을 상기 후보 개체 모집단에 추가하는 번식 단계; 및
    상기 번식 단계 이후 상기 후보 테스팅 단계를 반복하는 반복 단계를 포함하는, 방법.
  19. 사용자 속성 데이터의 송신부와 사용하기 위한, 개선된 웹 인터페이스들을 생성하기 위한 컴퓨터 구현 방법으로서,
    지놈들의 풀을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 지놈들의 각각은 상기 지놈의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별함으로써 각각의 신경망을 식별하고, 상기 하이퍼 파라미터들은 상기 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 각각의 신경망은 상기 사용자 속성 데이터로부터의 사용자 속성 값들의 상이한 집합들에 의존하여 하나 이상의 웹 인터페이스의 출력 퍼널들을 생성하며, 각 지놈은 또한 각각의 적응도 추정치의 표시를 위한 그것과 연관된 스토리지를 갖는, 상기 메모리를 제공하는 단계; 및
    지놈 풀 프로세서를 제공하는 단계로서, 상기 지놈 풀 프로세서는:
    사용자 속성 데이터에 관해 상기 지놈 풀로부터의 지놈들을 테스팅하되, 각 지놈은 각각의 일련의 적어도 하나의 시행을 받아 테스팅되고, 각 시행은 사용자 속성 값들의 각각의 집합을 상기 각각의 지놈의 상기 신경망에 적용하여 대응하는 출력 퍼널을 생성하고,
    상기 일련의 시행으로 출력 퍼널들을 생성하는 것에 있어서 상기 지놈의 상기 신경망의 미리 결정된 적응도 측정치에 의존하여 테스팅되는 상기 지놈들의 각각과 연관된 상기 적응도 추정치를 업데이트하며, 그리고
    그것의 업데이트된 적응도 추정치에 의존하여 상기 지놈 풀로부터 폐기하기 위한 지놈들을 선택하는, 상기 지놈 풀 프로세서를 제공하는 단계를 포함하는, 방법.
  20. 사용자 속성 데이터의 송신부와 사용하기 위한, 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리;
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스; 및
    제시 모듈로서:
    상기 후보 개체들 중 선택된 후보 개체에 의해 기술되는 상기 신경망으로부터, 상기 사용자 속성 데이터의 송신부로부터의 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 포함하는, 시스템.
  21. 청구항 20에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
    상기 퍼널은 상기 치수들의 각각의 상기 디폴트 치수 값에 대한 디폴트 전단 요소 값을 갖고,
    상기 제시 모듈은 상기 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 치수 값에 대응하는 상기 전단 요소 값들을 적용하는, 시스템.
  22. 사용자 정의가능한 웹 인터페이스 퍼널을 위한 컴퓨터 구현 배치 시스템으로서, 상기 퍼널은 복수의 치수에 따라 사용자 정의가능하고,
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스;
    신경망의 특정 변화에 대해, 상기 신경망의 토폴로지 및 상기 신경망의 인터커넥트들을 위한 계수들을 기술하는 복수의 하이퍼 파라미터의 각각에 대한 값을 저장하는 신경망 지정 메모리로서, 상기 신경망들은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리; 및
    제시 모듈로서:
    상기 신경망 사용자 정의 지정 메모리에 저장된 상기 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 포함하는, 시스템.
  23. 청구항 22에 있어서, 상기 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
    상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
    상기 제시 모듈에 의해 상기 사용자에게 제시되는 상기 퍼널은 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 상기 퍼널 치수 값에 대응함에 따라 상기 제시 데이터베이스에 의해 표시되는 전단 요소 값들을 갖는, 시스템.
  24. 청구항 22에 있어서, 상기 신경망 사용자 정의 지정 메모리를 상기 하이퍼 파라미터들의 각각에 대한 값들의 새로운 집합으로 업데이트하도록 더 구성되는, 시스템.
  25. 청구항 22에 있어서, 상기 시스템은 퍼널에 진입하기 위한 사용자 거동에 응답하여 상기 신경망 사용자 정의 지정 메모리에 대한 상기 값들을 검색하는, 시스템.
  26. 청구항 25에 있어서, 사용자 거동에 응답하여 상기 제시 데이터베이스를 또한 검색하는, 시스템.
  27. 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리; 및
    네트워크를 통해 수신된 하나 이상의 제1 요청에 응답하여, 제1 클라이언트 컴퓨터 시스템에 리턴하는 네트워크 서버 인프라스트럭처로서:
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스,
    상기 모집단에서의 상기 후보 개체들 중 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합, 및
    제시 모듈로서,
    상기 신경망 하이퍼 파라미터 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 리턴하는, 상기 네트워크 서버 인프라스트럭처를 포함하는, 시스템.
  28. 청구항 27에 있어서, 상기 퍼널 치수들의 각각에 대한 상기 이용가능한 값들 중 하나는 디폴트 값이되,
    상기 퍼널은 상기 퍼널 치수들의 각각의 상기 디폴트 값에 대한 디폴트 전단 요소 값을 가지며, 그리고
    상기 제시 모듈은 상기 제시 데이터베이스에 상기 제1 선택된 후보 개체를 적용하여 상기 퍼널 치수들의 각각에 대한 상기 디폴트 치수 값 외에 상기 신경망에 의해 식별되는 모든 퍼널 치수 값에 대응하는 전단 요소 값들을 결정하는, 시스템.
  29. 청구항 27에 있어서, 상기 네트워크 서버 인프라스트럭처는 네트워크를 통해 수신된 하나 이상의 제2 요청에 응답하여, 제2 클라이언트 컴퓨터 시스템에:
    상기 제시 데이터베이스;
    상기 제시 모듈; 및
    상기 모집단에서의 상기 후보 개체들 중 제2 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는, 시스템.
  30. 청구항 27에 있어서, 웹 인터페이스는 웹 페이지, 모바일 어플리케이션, 이-메일, 소셜 미디어 메시지, 소셜 미디어 피드, 및 챗 메시지로 이루어지는 군의 멤버를 나타내는, 시스템.
  31. 청구항 27에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 시스템은:
    후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
    라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체의 상기 하이퍼 파라미터들에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 모듈;
    상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
    상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 더 포함하되,
    상기 후보 테스팅 모듈은 상기 네트워크 서버 인프라스트럭처에 포함되고 상기 후보 개체 모집단으로부터 신경망 하이퍼 파라미터들이 상기 요청들에 응답하여 클라이언트 컴퓨터 시스템들에 리턴될 상기 선택된 후보 개체들을 선택하는, 시스템.
  32. 청구항 31에 있어서, 상기 타겟 사용자 거동은 사용자들에 의한 전환인, 시스템.
  33. 청구항 31에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 후보 개체들의 상기 라이브 온라인 평가에서 획득되는 증가된 전환율들에 유리한, 시스템.
  34. 청구항 31에 있어서, 상기 후보 테스팅 모듈에 의해 전개되는 상기 성능 측정치는 상기 라이브 온라인 평가 중인 상기 후보 개체들의 상기 라이브 온라인 평가에서 발생되는 증가된 수익에 유리한, 시스템.
  35. 청구항 27에 있어서, 상기 네트워크 서버 인프라스트럭처는:
    상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제시 데이터베이스 및 상기 제시 모듈을 리턴하는 CDN; 및
    상기 데이터베이스로부터 상기 제1 선택된 후보 개체를 검색하고, 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여, 상기 클라이언트 컴퓨터 시스템에 상기 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합을 리턴하는 전환 시스템을 포함하는, 시스템.
  36. 컴퓨터 구현 웹 인터페이스 생성 및 배치 시스템으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계; 및
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스에 액세스가능하게 되는 기계 학습 콘텐츠 전달 네트워크로서, 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여:
    상기 데이터베이스로부터 상기 모집단에서의 상기 후보 개체들 중 선택된 후보 개체를 검색하도록,
    검색된 상기 후보 개체에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하도록,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하도록, 그리고
    상기 클라이언트 컴퓨터 시스템에 선택된 상기 후보 개체의 상기 치수 값들에 의해 표시되는 전단 요소 값들을 갖는 퍼널을 전달하도록 구성되는, 상기 기계 학습 콘텐츠 전달 네트워크를 포함하는, 시스템.
  37. 청구항 36에 있어서, 상기 기계 학습 콘텐츠 전달 네트워크는 상기 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여 상기 퍼널을 준비하는, 시스템.
  38. 청구항 36에 있어서, 상기 데이터베이스에 액세스할 수 있는 전환 시스템을 더 포함하되,
    상기 기계 학습 콘텐츠 전달 네트워크는 상기 선택된 후보 개체를 검색 시, 상기 전환 시스템으로부터 후보 개체를 요청하도록 더 구성되며, 그리고
    상기 전환 시스템은 상기 기계 학습 콘텐츠 전달 네트워크로부터의 요청에 응답하여 상기 선택된 후보 개체를 선택하도록, 그리고 상기 선택된 후보 개체를 상기 기계 학습 콘텐츠 전달 네트워크에 리턴하도록 구성되는, 시스템.
  39. 청구항 38에 있어서, 상기 데이터베이스에서의 상기 후보 개체들의 모집단은 미리 결정된 타겟 사용자 거동을 촉진하는 것에 있어서의 그것들의 성공을 위해 테스팅되는 후보 개체들을 포함하고, 상기 전환 시스템은:
    후보 개체들의 예비 풀을 상기 후보 개체 모집단에 기록하는 모집단 초기 설정 모듈;
    라이브 온라인 평가에 의해 상기 후보 개체 모집단에서의 상기 후보 개체들의 각각을 테스팅하는 후보 테스팅 모듈로서, 상기 후보 테스팅 모듈은 라이브 온라인 평가 중인 상기 후보 개체들의 각각에 대한 성능 측정치를 전개시키고, 상기 성능 측정치는 상기 타겟 사용자 거동을 획득하는 것에 있어서의 상기 후보 개체에 의해 기술되는 상기 신경망의 성공 지표인, 상기 후보 테스팅 모듈;
    상기 후보 개체 모집단으로부터의 하나 이상의 부모 후보 개체의 각각의 집합 및 상기 부모들의 성능 측정치들에 의존하여 형성되는 새로운 후보 개체들을 상기 후보 개체 모집단에 추가하는 번식 모듈; 및
    상기 후보 테스팅 모듈 및 상기 번식 모듈을 반복하는 제어 모듈을 포함하되,
    상기 선택된 후보 개체를 선택 시, 상기 후보 테스팅 모듈은 상기 후보 개체 모집단으로부터 상기 선택된 후보 개체를 선택하는, 시스템.
  40. 사용자 속성 데이터의 송신부와 사용하기 위한, 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 특성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계;
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스를 제공하는 단계;
    상기 후보 개체들 중 선택된 후보 개체에 의해 기술되는 상기 신경망으로부터, 상기 사용자 속성 데이터의 송신부로부터의 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하는 단계,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하는 단계; 및
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는 단계를 포함하는, 방법.
  41. 사용자 정의가능한 웹 인터페이스 퍼널을 위한 컴퓨터 구현 배치 방법으로서, 상기 퍼널은 복수의 치수에 따라 사용자 정의가능하고,
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스를 제공하는 단계;
    신경망의 특정 변화에 대해, 상기 신경망의 토폴로지 및 상기 신경망의 인터커넥트들을 위한 계수들을 기술하는 복수의 하이퍼 파라미터의 각각에 대한 값을 제공하는 단계로서, 상기 신경망들은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 치수들의 각각에 대한 값을 식별하는, 상기 복수의 하이퍼 파라미터의 각각에 대한 값을 제공하는 단계;
    상기 신경망 사용자 정의 지정 메모리에 저장된 상기 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하는 단계,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하는 단계; 및
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는 단계를 포함하는, 방법.
  42. 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계; 및
    네트워크 서버 인프라스트럭처를 제공하는 단계로서, 네트워크를 통해 수신된 하나 이상의 제1 요청에 응답하여, 제1 클라이언트 컴퓨터 시스템에:
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스,
    상기 모집단에서의 상기 후보 개체들 중 제1 선택된 후보 개체에 의해 식별되는 상기 신경망 하이퍼 파라미터 값들의 집합, 및
    제시 모듈로서:
    상기 신경망 하이퍼 파라미터 값들에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하고,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하며, 그리고
    결정된 상기 전단 요소 값들을 갖는 퍼널을 사용자에게 제시하는, 상기 제시 모듈을 리턴하는, 상기 네트워크 서버 인프라스트럭처를 제공하는 단계를 포함하는, 방법.
  43. 컴퓨터 구현 웹 인터페이스 생성 및 배치 방법으로서,
    후보 개체들의 모집단을 갖는 후보 데이터베이스를 저장하는 메모리를 제공하는 단계로서, 상기 후보 개체들의 각각은 상기 후보 개체의 복수의 하이퍼 파라미터에 대한 각각의 값들을 식별하고, 상기 하이퍼 파라미터들은 각각의 신경망의 토폴로지 및 상기 각각의 신경망의 인터커넥트들을 위한 계수들을 기술하고, 상기 신경망들의 각각은 사용자 속성들을 하나 이상의 웹 인터페이스를 갖는 각각의 퍼널에 맵핑하고, 각 퍼널은 값들이 상기 신경망에 의해 부여될 수 있는 복수의 퍼널 치수를 가지며, 상기 신경망은 값들이 부여될 수 있는 상기 퍼널 치수들의 각각에 대한 값을 식별하는, 상기 메모리를 제공하는 단계; 및
    상기 퍼널의 상기 치수들의 각각의 적어도 하나의 이용가능한 값의 각각에 대한 전단 요소 값을 식별하는 제시 데이터베이스에 액세스가능하게 되는 기계 학습 콘텐츠 전달 네트워크를 제공하는 단계로서, 클라이언트 컴퓨터 시스템으로부터의 요청에 응답하여:
    상기 데이터베이스로부터 상기 모집단에서의 상기 후보 개체들 중 선택된 후보 개체를 검색하도록,
    검색된 상기 후보 개체에 의해 기술되는 상기 신경망으로부터, 사용자 속성 데이터에 의존하여 상기 신경망에 의해 식별되는 퍼널 치수 값들을 결정하도록,
    식별된 상기 퍼널 치수 값들을 상기 제시 데이터베이스에 적용하여 상기 식별된 퍼널 치수 값들에 대응하는 전단 요소 값들을 결정하도록, 그리고
    상기 클라이언트 컴퓨터 시스템에 선택된 상기 후보 개체의 상기 치수 값들에 의해 표시되는 전단 요소 값들을 갖는 퍼널을 전달하도록 구성되는, 상기 기계 학습 콘텐츠 전달 네트워크를 제공하는 단계를 포함하는, 방법.
KR1020187022282A 2016-01-05 2017-01-05 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅 KR20180126452A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662275058P 2016-01-05 2016-01-05
US201662275074P 2016-01-05 2016-01-05
US62/275,058 2016-01-05
US62/275,074 2016-01-05
PCT/IB2017/050044 WO2017118937A1 (en) 2016-01-05 2017-01-05 Webinterface generation and testing using artificial neural networks

Publications (1)

Publication Number Publication Date
KR20180126452A true KR20180126452A (ko) 2018-11-27

Family

ID=59226444

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187022282A KR20180126452A (ko) 2016-01-05 2017-01-05 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅
KR1020187022280A KR20180131531A (ko) 2016-01-05 2017-01-05 기계 학습 기반 웹 인터페이스 생성 및 테스팅 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187022280A KR20180131531A (ko) 2016-01-05 2017-01-05 기계 학습 기반 웹 인터페이스 생성 및 테스팅 시스템

Country Status (11)

Country Link
US (7) US11386318B2 (ko)
EP (2) EP3400517A4 (ko)
JP (3) JP7000341B2 (ko)
KR (2) KR20180126452A (ko)
CN (2) CN108780518A (ko)
AU (2) AU2017205231B2 (ko)
CA (3) CA3010567A1 (ko)
IL (1) IL260372B (ko)
RU (2) RU2018128030A (ko)
SG (2) SG11201805794XA (ko)
WO (2) WO2017118937A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117318A1 (en) * 2018-12-05 2020-06-11 Ebay Inc. Adaptive data platforms
US10983900B2 (en) 2010-03-19 2021-04-20 Ebay Inc. Orthogonal experimentation in a computing environment

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180126452A (ko) * 2016-01-05 2018-11-27 센티언트 테크놀로지스 (바베이도스) 리미티드 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅
US11250328B2 (en) 2016-10-26 2022-02-15 Cognizant Technology Solutions U.S. Corporation Cooperative evolution of deep neural network structures
US10585185B2 (en) 2017-02-03 2020-03-10 Rohde & Schwarz Gmbh & Co. Kg Security scanning system with walk-through-gate
US11403532B2 (en) 2017-03-02 2022-08-02 Cognizant Technology Solutions U.S. Corporation Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US10726196B2 (en) 2017-03-03 2020-07-28 Evolv Technology Solutions, Inc. Autonomous configuration of conversion code to control display and functionality of webpage portions
US11507844B2 (en) 2017-03-07 2022-11-22 Cognizant Technology Solutions U.S. Corporation Asynchronous evaluation strategy for evolution of deep neural networks
US20190043115A1 (en) * 2017-08-02 2019-02-07 Thomas Purves Machine learning tool
US20190095828A1 (en) * 2017-09-27 2019-03-28 Linkedin Corporation Automatic ramp-up of controlled experiments
US11250314B2 (en) 2017-10-27 2022-02-15 Cognizant Technology Solutions U.S. Corporation Beyond shared hierarchies: deep multitask learning through soft layer ordering
US11475305B2 (en) * 2017-12-08 2022-10-18 Advanced Micro Devices, Inc. Activation function functional block for electronic devices
WO2019118290A1 (en) 2017-12-13 2019-06-20 Sentient Technologies (Barbados) Limited Evolutionary architectures for evolution of deep neural networks
US11182677B2 (en) 2017-12-13 2021-11-23 Cognizant Technology Solutions U.S. Corporation Evolving recurrent networks using genetic programming
CN108182243B (zh) * 2017-12-28 2020-07-14 大连理工大学 一种基于Spark的分布式进化算法岛模型并行化方法
US10445762B1 (en) 2018-01-17 2019-10-15 Yaoshiang Ho Online video system, method, and medium for A/B testing of video content
CN108229435B (zh) * 2018-02-01 2021-03-30 北方工业大学 一种用于行人识别的方法
CN110134464A (zh) * 2018-02-02 2019-08-16 富士通株式会社 信息处理方法和装置
US11574201B2 (en) 2018-02-06 2023-02-07 Cognizant Technology Solutions U.S. Corporation Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US11527308B2 (en) 2018-02-06 2022-12-13 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty-diversity selection
KR102104295B1 (ko) * 2018-02-20 2020-04-24 주식회사 아이오티큐브 탐색 전략을 자동으로 생성하는 방법 및 자동으로 생성된 탐색 전략을 사용한 콘콜릭 테스팅 수행 방법
CN108256694A (zh) * 2018-03-02 2018-07-06 我知盘中餐(厦门)电子商务有限公司 基于重复遗传算法的模糊时间序列预测系统、方法及装置
CN108460726B (zh) * 2018-03-26 2020-08-11 厦门大学 一种基于增强递归残差网络的磁共振图像超分辨重建方法
AU2018202382A1 (en) * 2018-04-04 2019-10-24 ADEVI lP HOLDING COMPANY PTY LTD Methods and systems for resolving user interface features, and related applications
CN108763055B (zh) * 2018-04-19 2020-08-25 北京航空航天大学 一种基于表观遗传的测试用例约束控制技术的构建方法
US10614268B1 (en) * 2018-04-24 2020-04-07 InVisionApp Inc. Auto-complete design for content-creating applications
US11477166B2 (en) 2018-05-29 2022-10-18 Cognizant Technology Solutions U.S. Corporation Systems and methods for providing secure evolution as a service
CN108875925A (zh) * 2018-06-28 2018-11-23 中国科学院计算技术研究所 一种针对卷积神经网络处理器的控制方法及装置
US11093503B2 (en) 2018-07-05 2021-08-17 Cognizant Technology Solutions U.S. Corporation Systems and methods for providing data-driven evolution of arbitrary data structures
US11755979B2 (en) 2018-08-17 2023-09-12 Evolv Technology Solutions, Inc. Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization
CN112771530A (zh) * 2018-09-27 2021-05-07 谷歌有限责任公司 交互式web文档的自动导航
US10915599B2 (en) * 2018-11-15 2021-02-09 Elementor Ltd. System and method for producing transferable, modular web pages
CN111275472A (zh) * 2018-12-04 2020-06-12 北京嘀嘀无限科技发展有限公司 模型训练方法、用户识别方法、装置及电子设备
CN110018869B (zh) * 2019-02-20 2021-02-05 创新先进技术有限公司 通过强化学习向用户展示页面的方法及装置
US11314825B2 (en) * 2019-02-21 2022-04-26 Sitecore Corporation A/S Machine-learning based personalization
US11481639B2 (en) 2019-02-26 2022-10-25 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty pulsation
EP3702974A1 (en) * 2019-02-27 2020-09-02 Ovh Systems and methods for operating a data center based on a generated machine learning pipeline
CA3129731A1 (en) 2019-03-13 2020-09-17 Elliot Meyerson System and method for implementing modular universal reparameterization for deep multi-task learning across diverse domains
WO2020198520A1 (en) 2019-03-27 2020-10-01 Cognizant Technology Solutions U.S. Corporation Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
US11727265B2 (en) * 2019-06-27 2023-08-15 Intel Corporation Methods and apparatus to provide machine programmed creative support to a user
CN112328465A (zh) * 2019-08-05 2021-02-05 四川大学 一种基于深度学习与遗传算法的浏览器样本集获取方法
US10853442B1 (en) * 2019-08-12 2020-12-01 Capital One Services, Llc Techniques for selecting a user experience design
CN110443321B (zh) * 2019-08-14 2023-06-02 北京百度网讯科技有限公司 模型结构调整方法及装置
CA3159572A1 (en) * 2019-10-30 2021-05-06 Liveperson, Inc. Message rerouting from an e-mail environment to a messaging environment
US10783064B1 (en) * 2019-11-27 2020-09-22 Capital One Services, Llc Unsupervised integration test builder
US11212188B2 (en) * 2020-02-07 2021-12-28 Facebook, Inc. Communication network out-of-capacity predictions
CN111566684B (zh) * 2020-04-13 2022-05-27 支付宝(杭州)信息技术有限公司 用于优化广告的用户分组的方法和系统
CN111651346B (zh) * 2020-04-27 2022-11-18 深圳平安医疗健康科技服务有限公司 前端组件的测试方法、装置、存储介质及计算机设备
US11790030B2 (en) * 2020-06-04 2023-10-17 Promoted.ai, Inc. Creating an effective product using an attribute solver
US11775841B2 (en) 2020-06-15 2023-10-03 Cognizant Technology Solutions U.S. Corporation Process and system including explainable prescriptions through surrogate-assisted evolution
CN112039885B (zh) * 2020-08-31 2022-09-02 绿盟科技集团股份有限公司 一种网站风险评估方法及装置
CN112199285B (zh) * 2020-10-12 2023-08-01 中国农业银行股份有限公司 一种测试案例优选方法、装置及电子设备
KR102259945B1 (ko) 2021-03-03 2021-06-02 (주)플랜아이 인공지능 기반의 예측을 활용하는 a/b 테스팅 시스템 및 방법
US11200151B1 (en) 2021-03-12 2021-12-14 Sas Institute Inc. Graphical user interface and debugger system for selecting and testing alterations to source code for software applications
US11966449B2 (en) 2022-08-26 2024-04-23 Capital One Services, Llc Systems and methods for generating custom content
US11978087B2 (en) 2022-08-26 2024-05-07 Maplebear Inc. Using a genetic algorithm to identify a balanced assignment of online system users to a control group and a test group for performing a test
US12008064B1 (en) * 2022-11-28 2024-06-11 Sav.com, LLC Systems and methods for a website generator that utilizes artificial intelligence

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3775341A (en) 1971-08-02 1973-11-27 Ppg Industries Inc Liquid dialkyl peroxydicarbonate composition
US5343554A (en) * 1988-05-20 1994-08-30 John R. Koza Non-linear genetic process for data encoding and for solving problems using automatically defined functions
US4935877A (en) 1988-05-20 1990-06-19 Koza John R Non-linear genetic algorithms for solving problems
WO1991014990A1 (en) 1990-03-28 1991-10-03 Koza John R Non-linear genetic algorithms for solving problems by finding a fit composition of functions
US5568590A (en) 1993-12-17 1996-10-22 Xaos Tools Image processing using genetic mutation of neural network parameters
GB9517775D0 (en) 1995-08-31 1995-11-01 Int Computers Ltd Computer system using genetic optimization techniques
US5867397A (en) 1996-02-20 1999-02-02 John R. Koza Method and apparatus for automated design of complex structures using genetic programming
JP3254393B2 (ja) 1996-11-19 2002-02-04 三菱電機株式会社 遺伝的アルゴリズムマシン及び遺伝的アルゴリズムマシンの製造方法及び遺伝的アルゴリズムの実行方法
US6088690A (en) 1997-06-27 2000-07-11 Microsoft Method and apparatus for adaptively solving sequential problems in a target system utilizing evolutionary computation techniques
AU4861899A (en) 1998-07-06 2000-01-24 Bios Group Lp A method for performing market segmentation and for predicting consumer demand
WO2000058878A2 (en) * 1999-03-26 2000-10-05 Koninklijke Philips Electronics N.V. Evolving advertisements via an evolutionary algorithm
US6523016B1 (en) 1999-04-12 2003-02-18 George Mason University Learnable non-darwinian evolution
US8805715B1 (en) * 1999-12-29 2014-08-12 Carl Meyer Method for improving the performance of messages including internet splash pages
JP2004529406A (ja) * 2000-11-10 2004-09-24 アフィノバ, インコーポレイテッド 動的なリアルタイムマーケットセグメンテーションのための方法および装置
US6826550B2 (en) 2000-12-15 2004-11-30 International Business Machines Corporation Method, system, and program for converting application program code to executable code using neural networks based on characteristics of the inputs
US20020082077A1 (en) * 2000-12-26 2002-06-27 Johnson Douglas R. Interactive video game system with characters that evolve physical and cognitive traits
US7340676B2 (en) 2000-12-29 2008-03-04 Eastman Kodak Company System and method for automatic layout of images in digital albums
WO2002057946A1 (en) 2001-01-18 2002-07-25 The Board Of Trustees Of The University Of Illinois Method for optimizing a solution set
US6957200B2 (en) * 2001-04-06 2005-10-18 Honeywell International, Inc. Genotic algorithm optimization method and network
US7444309B2 (en) 2001-10-31 2008-10-28 Icosystem Corporation Method and system for implementing evolutionary algorithms
US7216295B2 (en) 2001-12-20 2007-05-08 Canon Kabushiki Kaisha Method of automatic production of image presentations
US7353184B2 (en) * 2002-03-07 2008-04-01 Hewlett-Packard Development Company, L.P. Customer-side market segmentation
US20030191731A1 (en) * 2002-04-04 2003-10-09 Daleen Technologies, Inc. Method and system for rule based validation prior to committing data to a database system
US7171617B2 (en) 2002-07-30 2007-01-30 Xerox Corporation System and method for fitness evaluation for optimization in document assembly
US20040024888A1 (en) 2002-08-01 2004-02-05 Micron Technology, Inc. Systems and methods for managing web content and behavior rules engine
JP2007504576A (ja) 2003-01-17 2007-03-01 アヤラ,フランシスコ,ジェイ 人工知能を開発するためのシステム及び方法
WO2004090692A2 (en) 2003-04-04 2004-10-21 Icosystem Corporation Methods and systems for interactive evolutionary computing (iec)
US7333960B2 (en) 2003-08-01 2008-02-19 Icosystem Corporation Methods and systems for applying genetic operators to determine system conditions
US7356518B2 (en) 2003-08-27 2008-04-08 Icosystem Corporation Methods and systems for multi-participant interactive evolutionary computing
US7035740B2 (en) 2004-03-24 2006-04-25 Illumina, Inc. Artificial intelligence and global normalization methods for genotyping
US7707220B2 (en) 2004-07-06 2010-04-27 Icosystem Corporation Methods and apparatus for interactive searching techniques
US20060103667A1 (en) 2004-10-28 2006-05-18 Universal-Ad. Ltd. Method, system and computer readable code for automatic reize of product oriented advertisements
US20060225003A1 (en) 2005-04-05 2006-10-05 The Regents Of The University Of California Engineering design system using human interactive evaluation
US7502763B2 (en) 2005-07-29 2009-03-10 The Florida International University Board Of Trustees Artificial neural network design and evaluation tool
US8423323B2 (en) * 2005-09-21 2013-04-16 Icosystem Corporation System and method for aiding product design and quantifying acceptance
US20070094072A1 (en) 2005-10-26 2007-04-26 Etica Entertainment, Inc., Dba Position Research Apparatus and method of identifying critical factors in a pay-for-performance advertising network
US8914301B2 (en) 2005-10-28 2014-12-16 Joyce A. Book Method and apparatus for dynamic ad creation
US7617164B2 (en) 2006-03-17 2009-11-10 Microsoft Corporation Efficiency of training for ranking systems based on pairwise training with aggregated gradients
US20070298866A1 (en) 2006-06-26 2007-12-27 Paolo Gaudiano Methods and systems for interactive customization of avatars and other animate or inanimate items in video games
US20070300185A1 (en) * 2006-06-27 2007-12-27 Microsoft Corporation Activity-centric adaptive user interface
US7613692B2 (en) 2006-07-25 2009-11-03 Microsoft Corporation Persona-based application personalization
DE102006046319B4 (de) 2006-09-29 2008-07-03 Siemens Ag Verfahren zum Auffinden und zur Anzeige von Informationen in einem Informationssystem einer medizinischen Einrichtung
US9208251B2 (en) * 2007-01-19 2015-12-08 Linkedin Corporation Computer-based evaluation tool for selecting personalized content for users
US8898072B2 (en) 2007-04-20 2014-11-25 Hubpages, Inc. Optimizing electronic display of advertising content
US8775603B2 (en) * 2007-05-04 2014-07-08 Sitespect, Inc. Method and system for testing variations of website content
US8321359B2 (en) 2007-07-24 2012-11-27 Hiconversion, Inc. Method and apparatus for real-time website optimization
US7917859B1 (en) * 2007-09-21 2011-03-29 Adobe Systems Incorporated Dynamic user interface elements
US20090083268A1 (en) * 2007-09-25 2009-03-26 International Business Machines Corporation Managing variants of artifacts in a software process
CN101939727A (zh) * 2007-11-08 2011-01-05 遗传学金融(巴巴多斯)有限公司 执行复杂算法的分布式网络
US20090259534A1 (en) 2008-04-11 2009-10-15 Microsoft Corporation Internal business arbitrage
WO2009154480A1 (en) * 2008-06-20 2009-12-23 Business Intelligence Solutions Safe B.V. A method of graphically representing a tree structure
US9870629B2 (en) 2008-06-20 2018-01-16 New Bis Safe Luxco S.À R.L Methods, apparatus and systems for data visualization and related applications
US20090327913A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Using web revisitation patterns to support web interaction
KR100909232B1 (ko) * 2008-07-10 2009-07-23 주식회사 로직플랜트 웹 페이지 인터페이스 제공 방법 및 시스템
US10169221B2 (en) * 2008-07-22 2019-01-01 Accelerate Group Limited Method and system for web-site testing
US9002729B2 (en) 2008-10-21 2015-04-07 Accenture Global Services Limited System and method for determining sets of online advertisement treatments using confidences
US20100169234A1 (en) 2009-01-01 2010-07-01 Wizbill Ltd Method for Capturing the Essence of Product and Service Offers of Service Providers
US9378505B2 (en) * 2010-07-26 2016-06-28 Revguard, Llc Automated multivariate testing technique for optimized customer outcome
US20140108143A1 (en) * 2010-08-05 2014-04-17 Solariat Inc. Social content distribution network
US9104978B2 (en) * 2010-10-07 2015-08-11 Microsoft Technology Licensing, Llc System and method for parameter evaluation
US8775341B1 (en) 2010-10-26 2014-07-08 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
WO2012058718A1 (en) * 2010-11-02 2012-05-10 Survey Engine Pty Ltd Choice modelling system and method
US8489526B2 (en) * 2010-11-24 2013-07-16 International Business Machines Corporation Controlling quarantining and biasing in cataclysms for optimization simulations
US9400774B1 (en) * 2011-01-12 2016-07-26 Optimizely, Inc. Multi-page website optimization
US8839093B1 (en) * 2011-01-12 2014-09-16 Optimizely, Inc. Systems and methods for website optimization
US8868446B2 (en) 2011-03-08 2014-10-21 Affinnova, Inc. System and method for concept development
US8880450B2 (en) 2011-05-26 2014-11-04 World Heart Corporation Systems and methods for predicting characteristics of an artificial heart using an artificial neural network
US20130024290A1 (en) 2011-06-17 2013-01-24 Motiva79 Llc Method and apparatus for managing sales promotions and generating customer leads
US9002759B2 (en) * 2011-07-15 2015-04-07 Sentient Technologies (Barbados) Limited Data mining technique with maintenance of fitness history
US9117176B2 (en) 2011-09-21 2015-08-25 Qualcomm Technologies Inc. Round-trip engineering apparatus and methods for neural networks
US8862521B2 (en) 2011-10-13 2014-10-14 Aol Inc. Systems and methods for determining whether to publish an advertisement on a web page associated with a web page article or to exclude advertisements from publication on the web page associated with the web page article based on the comparison of a first numeric likelihood to a first set of threshold values
US8924516B2 (en) 2012-01-06 2014-12-30 Apple Inc. Dynamic construction of modular invitational content
US9311383B1 (en) 2012-01-13 2016-04-12 The Nielsen Company (Us), Llc Optimal solution identification system and method
US20130246435A1 (en) * 2012-03-14 2013-09-19 Microsoft Corporation Framework for document knowledge extraction
US11328325B2 (en) * 2012-03-23 2022-05-10 Secureads, Inc. Method and/or system for user authentication with targeted electronic advertising content through personal communication devices
US9384444B2 (en) * 2012-07-12 2016-07-05 Dell Products L.P. Web analytics neural network modeling prediction
US20190205020A1 (en) 2012-08-08 2019-07-04 Neal Fairbanks Adaptive user interface system
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
US20140067556A1 (en) * 2012-08-30 2014-03-06 Sharon Burt Methods and systems for establishing a mobile-optimized web presence and a mobile-optimized marketing campaign
EP2704037A3 (en) * 2012-08-31 2014-07-09 Sitecore A/S A method for generating or updating an interactive webpage
US20140067514A1 (en) 2012-09-04 2014-03-06 Mobile Spinach, Inc. Merchant acquisition and advertisement bundling with offers and lead generation system and method
US9405427B2 (en) * 2012-09-12 2016-08-02 Facebook, Inc. Adaptive user interface using machine learning model
US9317392B2 (en) 2012-10-10 2016-04-19 Webtrends, Inc. Methods and automated systems for testing, optimization, and analysis that preserve continuity in identities and status of users who access remote information from different contexts
US9633363B2 (en) 2012-11-08 2017-04-25 Thnx, Llc System and method of incentivized advertising
US20140236875A1 (en) 2012-11-15 2014-08-21 Purepredictive, Inc. Machine learning for real-time adaptive website interaction
CN103853656B (zh) * 2012-11-30 2016-08-10 阿里巴巴集团控股有限公司 网页测试方法和装置
EP2954459A4 (en) * 2013-02-08 2016-10-19 Emotient Inc HARVESTING MACHINE LEARNING TRAINING DATA FOR EXPRESSION RECOGNITION
US9785995B2 (en) 2013-03-15 2017-10-10 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary algorithms with respondent directed breeding
US9799041B2 (en) 2013-03-15 2017-10-24 The Nielsen Company (Us), Llc Method and apparatus for interactive evolutionary optimization of concepts
US8775332B1 (en) * 2013-06-13 2014-07-08 InsideSales.com, Inc. Adaptive user interfaces
US9082084B2 (en) 2013-06-28 2015-07-14 Linkedin Corporation Facilitating machine learning in an online social network
CN104281611B (zh) * 2013-07-08 2018-04-03 阿里巴巴集团控股有限公司 网站测试系统中的用户流量分配方法及装置
US20150019173A1 (en) * 2013-07-09 2015-01-15 International Business Machines Corporation Multiobjective optimization through user interactive navigation in a design space
US20150039416A1 (en) * 2013-08-05 2015-02-05 Google Inc Systems and methods of optimizing a content campaign
US20150066645A1 (en) * 2013-09-05 2015-03-05 International Business Machines Corporation Enhancing Marketing Funnel Conversion Through Intelligent Social Tagging and Attribution
US10228913B2 (en) 2013-09-10 2019-03-12 Oracle International Corporation Functional rule and component storage
US20150095756A1 (en) 2013-10-01 2015-04-02 Zijad F. Aganovic Method and apparatus for multi-loop, real-time website optimization
CN103685308B (zh) * 2013-12-25 2017-04-26 北京奇虎科技有限公司 一种钓鱼网页的检测方法及系统、客户端、服务器
US9928526B2 (en) 2013-12-26 2018-03-27 Oracle America, Inc. Methods and systems that predict future actions from instrumentation-generated events
US9911143B2 (en) 2013-12-26 2018-03-06 Oracle America, Inc. Methods and systems that categorize and summarize instrumentation-generated events
WO2015103122A2 (en) * 2013-12-31 2015-07-09 Clicktale Ltd. A method and system for tracking and gathering multivariate testing data
US9477648B1 (en) * 2014-02-28 2016-10-25 Intuit Inc. Optimized web application user experience
CN103823876A (zh) * 2014-02-28 2014-05-28 上海斐讯数据通信技术有限公司 一种用于网关设备的网页交换界面实现系统及其方法
JP6193799B2 (ja) 2014-04-22 2017-09-06 日本電信電話株式会社 ウェブ要素マッチング装置とマッチング確率分布生成装置と、それらの方法とプログラム
US9792205B2 (en) * 2014-06-13 2017-10-17 Ebay Inc. A/B testing for mobile applications
WO2016058153A1 (en) * 2014-10-16 2016-04-21 Yahoo! Inc. Personalizing user interface (ui) elements
US10187388B2 (en) * 2015-03-12 2019-01-22 At&T Intellectual Property I, L.P. System and method for managing electronic interactions based on defined relationships
CN104734918A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种轻量级网页性能测试架构和方法
US20160321716A1 (en) * 2015-04-30 2016-11-03 Wal-Mart Stores, Inc. System, method, and non-transitory computer-readable storage media for enhancing online product search through multiobjective optimization of product search ranking functions
BR112017026293B1 (pt) * 2015-06-07 2023-10-24 Wix.Com Ltd Sistema para um sistema de construção de sites implementado em um servidor e método para um sistema de construção de sites implementado em um servidor
CN104950906A (zh) * 2015-06-15 2015-09-30 中国人民解放军国防科学技术大学 基于移动通信网络的无人机远程测控系统及方法
US10262068B2 (en) * 2015-08-31 2019-04-16 Walmart Apollo, Llc System, method, and non-transitory computer-readable storage media for displaying an optimal arrangement of facets and facet values for a search query on a webpage
WO2017063092A1 (en) 2015-10-17 2017-04-20 Rubikloud Technologies Inc. System and method for computational analysis of the potential relevance of digital data items to key performance indicators
US10650417B2 (en) 2015-10-29 2020-05-12 International Business Machines Corporation Social media messaging management for brand integrity
KR20180126452A (ko) 2016-01-05 2018-11-27 센티언트 테크놀로지스 (바베이도스) 리미티드 인공 신경망을 이용하는 웹 인터페이스 생성 및 테스팅
US10503529B2 (en) 2016-11-22 2019-12-10 Sap Se Localized and personalized application logic
US10255173B2 (en) * 2016-12-27 2019-04-09 Optimizely, Inc. Experimentation in internet-connected applications and devices
US20180203826A1 (en) * 2017-01-18 2018-07-19 Go Daddy Operating Company, LLC System and method for generating web page layouts
US11475372B2 (en) * 2018-03-26 2022-10-18 H2O.Ai Inc. Evolved machine learning models

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10983900B2 (en) 2010-03-19 2021-04-20 Ebay Inc. Orthogonal experimentation in a computing environment
WO2020117318A1 (en) * 2018-12-05 2020-06-11 Ebay Inc. Adaptive data platforms
US11086963B2 (en) 2018-12-05 2021-08-10 Ebay Inc. Adaptive data platforms
US11921811B2 (en) 2018-12-05 2024-03-05 Ebay Inc. Adaptive data platforms

Also Published As

Publication number Publication date
WO2017118936A1 (en) 2017-07-13
RU2018128030A (ru) 2020-02-06
CN108780378A (zh) 2018-11-09
SG11201805797SA (en) 2018-08-30
AU2017205231B2 (en) 2022-04-28
JP2022058399A (ja) 2022-04-12
US10783429B2 (en) 2020-09-22
CA3010567A1 (en) 2017-07-13
EP3400517A4 (en) 2019-09-04
AU2017205231A1 (en) 2018-08-09
EP3400557A4 (en) 2019-09-04
KR20180131531A (ko) 2018-12-10
US20170193367A1 (en) 2017-07-06
JP7394106B2 (ja) 2023-12-07
EP3400517A1 (en) 2018-11-14
CN108780518A (zh) 2018-11-09
US20210004659A1 (en) 2021-01-07
US11062196B2 (en) 2021-07-13
RU2018128029A (ru) 2020-02-06
AU2017205232A1 (en) 2018-08-09
JP2019505936A (ja) 2019-02-28
WO2017118937A1 (en) 2017-07-13
US20170193403A1 (en) 2017-07-06
US11803730B2 (en) 2023-10-31
US11386318B2 (en) 2022-07-12
CA3010803C (en) 2023-01-10
EP3400557A1 (en) 2018-11-14
US20170193366A1 (en) 2017-07-06
CA3183941A1 (en) 2017-07-13
US10438111B2 (en) 2019-10-08
IL260372B (en) 2021-04-29
US20210334625A1 (en) 2021-10-28
CN108780378B (zh) 2021-07-02
JP2019504428A (ja) 2019-02-14
US20170192638A1 (en) 2017-07-06
JP7000341B2 (ja) 2022-01-19
US20220351016A1 (en) 2022-11-03
CA3010803A1 (en) 2017-07-13
SG11201805794XA (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US11803730B2 (en) Webinterface presentation using artificial neural networks
US11461348B2 (en) Automated presentation of information using infographics
US11403532B2 (en) Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm
US11574201B2 (en) Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
US20160224999A1 (en) Recommending common website features
US20160224991A1 (en) Evaluating features for a website within a selected industry vertical