I'm trying to develop an application where users can click a button and all of the open tabs in their browser will be placed into tab groupings based on similarity of the tab. Microsoft Edge has a feature just like it and I am trying to accomplish basically the same thing.

The data I am working with includes the title of the tab and the domain name. For example:

"Coinbase - Buy & Sell Bitcoin, Ethereum, and more with trust - coinbase.com"
"2.3. Clustering \u2014 scikit-learn 1.3.1 documentation - scikit-learn.org"
"10 personal finance lessons that changed my life - YouTube - youtube.com"

I have access to quite a large database of these and also these are accessible from the chrome browser api so anyone using the app can easily send the application this data based on the tabs they currently have open on their browser.

The method I have so far is to take a large chunk of my database of these Title/domain name strings, run some string pre-processing on them, then run them through OpenAI's embeddings. Next I am running KMeans on them and I have a set of clusters. For each cluster I used chatGPT to generate a human readable title for that cluster. So now I have a set of K cluster centers and K labels associated with each.

The model does only an OK job. Its not perfect obviously. It tends to group links into more categories than an end user would typically like, and some topics it doesn't seem very good at categorizing at all.

My question is how can I use re-enforcement learning to improve my model over time based on user feedback? Looking at the Microsoft Edge example, users have an opportunity to modify the predicted output by the model. How might they use that feedback (i.e. the predicted state vs the human modified state) in order to improve the model?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.