Challenge Overview
1. Context
Project Context
- This is the third challenge in the project meant to add AI capabilities to operations at Topcoder.
Challenge Context
In this challenge, a minor update needs to be made to the existing code and once the dataset is updated, it should be used to generate a large dataset.
2. Challenge Details
Existing Tools
The existing APIs have been included in the forum and can be downloaded from there. The deployment instructions are present in the readme files in the included coe.
Individual requirements
The requirements of the challenge are as follows:
1. Get a date-specific member profile
The Member Profile API should be updated, such that a datetime can be passed in any particular standard format, the the API returns the raw or processed (modes in the API) calculated using only the history till that particular datetime. This capability will be required to generate some kinds of datasets as described below.
2. Create a configurable script that creates a dataset
Create a script that creates a dataset using the V5 challenge API, the member profile API (provided in forum) and the challenge tagging API (also provided in the forum).
The script should be able to generate datasets, with at least the following kinds of configurations. These configurations should be tunable via a config.json file. (Note that the Member Profile API and the Challenge Tagging API mentioned below are both provided in the forum.)
- 1. Challenge Profiles or Member profiles
- 2. List of all member profile objects that have submitted in the last past N days (i.e. N days starting from some input date D).
- 3. In the point 2 above, it should be able to create such a set at every M day interval. For instance, starting today create a dataset as described in the point 2 above, then again create as on M days ago, then again as on 2M days ago, then 3M, 4M... etc.
For example, it should be possible to generate a dataset as described in point 2 above, with M being 1 and N being 90. This sort of dataset can be used as a training set for future Machine Learning applications.
- 4. List of all challenge objects between a particular interval - this can be pulled directly from the V5 API, the configurations of the V5 API should be possible to do in the config.json file like - ascending/descending etc
- 5. Option to add challenge tags (using the challenge tagger API) to each challenge object
- 6. Option to get only a few attributes instead of all. As in it should be possible to define a skip list (where the mentioned attributes will be skipped and won't be added to the output).
Note - If required, feel free to create separate dataset generator scripts for each kind of completely different kind of dataset, like a separate for member profiles, challenge profiles etc.
3. Use the script to create a dataset
Demo outputs of each of the above 6 example types should be submitted. But large datasets as described in point 3 and point 5 (with all attributes - no filtering) should be submitted. For point 3, the M should be 1, and N should 90 days. And both should take into challenges as long back as possible, such a 5-10 years.
3. Expected Outcome
The expected outcomes of this challenge are: updated Member Profile API that can return datetime-specific member profile, a configurable script to generate data and the generated data.
4. Scorecard Aid
Judging Criteria
- The review will subjective and will be broadly done on the basis of following weightage:
- 60% - Overall correctness of the solution
- 15% - Code quality
- 20% - documentation and deployment instructions quality
- 5% - demo video
Final Submission Guidelines
The submission should include:
- Updated Code of the Member profile API with all existing capabilities intact
- A configurable script that can produce the dataset
- Produced data
- Detailed documentation - assuming that the reader is just a layperson with a terminal
- Demo Video
Project Context
Challenge Context
In this challenge, a minor update needs to be made to the existing code and once the dataset is updated, it should be used to generate a large dataset.- 1. Challenge Profiles or Member profiles
- 2. List of all member profile objects that have submitted in the last past N days (i.e. N days starting from some input date D).
- 3. In the point 2 above, it should be able to create such a set at every M day interval. For instance, starting today create a dataset as described in the point 2 above, then again create as on M days ago, then again as on 2M days ago, then 3M, 4M... etc.
For example, it should be possible to generate a dataset as described in point 2 above, with M being 1 and N being 90. This sort of dataset can be used as a training set for future Machine Learning applications. - 4. List of all challenge objects between a particular interval - this can be pulled directly from the V5 API, the configurations of the V5 API should be possible to do in the config.json file like - ascending/descending etc
- 5. Option to add challenge tags (using the challenge tagger API) to each challenge object
- 6. Option to get only a few attributes instead of all. As in it should be possible to define a skip list (where the mentioned attributes will be skipped and won't be added to the output).
Existing Tools
The existing APIs have been included in the forum and can be downloaded from there. The deployment instructions are present in the readme files in the included coe.Individual requirements
-
The requirements of the challenge are as follows:
1. Get a date-specific member profile
The Member Profile API should be updated, such that a datetime can be passed in any particular standard format, the the API returns the raw or processed (modes in the API) calculated using only the history till that particular datetime. This capability will be required to generate some kinds of datasets as described below.2. Create a configurable script that creates a dataset
Create a script that creates a dataset using the V5 challenge API, the member profile API (provided in forum) and the challenge tagging API (also provided in the forum). The script should be able to generate datasets, with at least the following kinds of configurations. These configurations should be tunable via a config.json file. (Note that the Member Profile API and the Challenge Tagging API mentioned below are both provided in the forum.)3. Use the script to create a dataset
Demo outputs of each of the above 6 example types should be submitted. But large datasets as described in point 3 and point 5 (with all attributes - no filtering) should be submitted. For point 3, the M should be 1, and N should 90 days. And both should take into challenges as long back as possible, such a 5-10 years.3. Expected Outcome
The expected outcomes of this challenge are: updated Member Profile API that can return datetime-specific member profile, a configurable script to generate data and the generated data.
4. Scorecard Aid
Judging Criteria
- The review will subjective and will be broadly done on the basis of following weightage:
- 60% - Overall correctness of the solution
- 15% - Code quality
- 20% - documentation and deployment instructions quality
- 5% - demo video
Final Submission Guidelines
The submission should include:
- Updated Code of the Member profile API with all existing capabilities intact
- A configurable script that can produce the dataset
- Produced data
- Detailed documentation - assuming that the reader is just a layperson with a terminal
- Demo Video
- The review will subjective and will be broadly done on the basis of following weightage:
- 60% - Overall correctness of the solution
- 15% - Code quality
- 20% - documentation and deployment instructions quality
- 5% - demo video
Judging Criteria
Final Submission Guidelines
The submission should include:
- Updated Code of the Member profile API with all existing capabilities intact
- A configurable script that can produce the dataset
- Produced data
- Detailed documentation - assuming that the reader is just a layperson with a terminal
- Demo Video