| 11 | | This is the recommendation system that recommends open task requests to workers that have the most similar completed tasks. For this purpose we first embedded the open task requests and then as a starting point for our system we embedded three task requests that resulted in a completed task for each worker. We found this number of tasks enough as a starting point for our app. We built these embeddings and we used a table to store these vectors: |
| | 11 | This is the recommendation system that recommends open task requests to workers that have the most similar completed tasks. For this purpose we first embedded the open task requests and then as a starting point for our system we embedded three task requests that resulted in a completed task for each worker. We found this number of tasks enough as a starting point for our app. We built these embeddings with the script [attachment:embed_taskrequests.py] and we used a table to store these vectors: |
| | 12 | |
| | 13 | {{{ |
| | 14 | #!sql |
| | 15 | CREATE TABLE task_request_embeddings ( |
| | 16 | task_request_id INT PRIMARY KEY |
| | 17 | REFERENCES TaskRequest(id) |
| | 18 | ON DELETE CASCADE |
| | 19 | ON UPDATE CASCADE, |
| | 20 | |
| | 21 | embedding vector(384) NOT NULL, |
| | 22 | |
| | 23 | embedded_at TIMESTAMP NOT NULL |
| | 24 | DEFAULT CURRENT_TIMESTAMP |
| | 25 | ); |
| | 26 | }}} |
| | 27 | |
| | 28 | Once we embedded all the task requests we needed — the completed ones so we can build the worker profiles and the open ones so we can recommend them — we continued with making the worker recommendation profiles. We did this with a SQL query and we stored them in the table: worker_recommendation_profiles |