Ads Searching System Description



  • Project Overview

    Introduction
    Ads Searching is a multi-billion dollar business. In this project, we will implement a simplified search ads stack which selects ads for a given query and returns sorted ads based on some ranking criteria.

    Basic process flow: Query understanding -> Select Ads Candidates -> Rank Ads ->Filter Ads -> Pricing -> Allocate Ads

    *This is an open-ended challenge. Do your best to come up with your own implementation

    Project Description

    Instructions:

    First stage: Build query understanding module using a basic Natural Language Processing algorithm[1]: query cleaning, tokenize.
    Second stage: Build an index for Ads Data including an inverted index[2] and a forward index[3]. We may use a key value store such as memcached.
    Schema of reverted index – Key: word, Value: list
    Schema of forward index
    Third stage: Implement Ads selection and rank logic
    Suggested Prerequisite Knowledge
    Basic Java
    Basic knowledge of key value storage[3]
    Submission Instructions
    Please upload your final code to your Github account
    Please record a video explaining the design choices you made including: the overall structure of the application, how you chose to index and retrieve ads, and any other features you would like to highlight. Please keep the video under 5 minutes.

    References

    [1]NLP: https://en.wikipedia.org/wiki/Natural_language_processing
    [2]Inverted Index: https://en.wikipedia.org/wiki/Inverted_index
    [3]Key Value Storage: https://en.wikipedia.org/wiki/Key-value_database


登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待