7 ms·
Show HN: A bookmark manager that uses TF-IDF vectors to group similar bookmarks
- devinhn 6y agoHello!, Everyone I know has a bookmark graveyard of bits of interesting information we wanted to come back to later but added into a general folder that ends up being a mess. So I did what any good ML student would do and built a simple ML system (using TF-IDF vectors) that will recommend you similar bookmarks. I use Obsidian.md as my second brain but needed a space to put the interesting links without spending the time to create a new note incorporate it into my organizational system. I think lxi.ai does a good job of being the middle ground for holding the interesting links for me to come back to when I really want to wrestle with the ideas. Hope some people like it too! website: https://lxi.ai/ https://lxi.ai/ chrome extension: https://chrome.google.com/webstore/detail/lxiai/dkhfhajlhegdenbhkejkbagnlkgjnpcl?hl=en https://chrome.google.com/webstore/detail/lxiai/dkhfhajlhegd... firefox addon: https://addons.mozilla.org/addon/lxi-ai/ https://addons.mozilla.org/addon/lxi-ai/
- shaggy8871 6y agoThat’s pretty cool, going to give it a try.
- rasulkireev 6y agoLooks very good, will certainly give it a try. I am assuming you built this with Python, right? Any chance you can share the approach? Would love to try building something for the web with the use of Tensorflow.
- devinhn 6y agoHey thanks for giving it a try! And yes, built it with python - specifically I'm using a modified version of gensim's TF-IDF model implementation. If you haven't heard of TF-IDF before give http://www.tfidf.com/ http://www.tfidf.com/ a read through. It might be overkill to use tensorflow for TF-IDF, but go for it! With lxi.ai, I use the top 10 most important keywords for the actual comparison along with some other tricks to make sure the model can scale. Might be worth a blog post or something.
- rasulkireev 6y agoThanks. Found a small bug. I've added a few bookmarks and when I press the Random Bookmark link I get an Internal Server Error at this url (https://lxi.ai/bookmarks/achieve https://lxi.ai/bookmarks/achieve): ``` The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application. ```
- devinhn 6y agoAh yes that makes sense - it'll be fixed within the hour.
- rasulkireev 6y ago- How did build the graph view, looks very good? - Did you use Python to build the Chrome addon, too? If so, do you mind sharing a resource where I can see how to do that, cause when I was looking, did not find anything. Thanks a ton in advance.
- devinhn 6y agoThe graph is built with D3.js and some minor JS/CSS changes to create the hover effects. The extensions are built with simple html/js/css - they're basically mini webpages with special permissions. For example, I use an activeTab api provided by the browser to read the page text when the user clicks a button. I recommend google's getting started docs: https://developer.chrome.com/docs/extensions/mv3/getstarted/ https://developer.chrome.com/docs/extensions/mv3/getstarted/ Or find a youtube video and follow along!