Enhance 'Unlinked Mentions' with 'Similar Notes' and 'Similar Links'

The automatic backlinks, and ‘unlinked mentions’, are undoubtedly one of the key features that attract users to Obsidian. They add tremendous value to the app, and any effort to enhance them further would definitely be greatly appreciated by the users.

Right now, the ‘unlinked mentions’ function seems to be doing a very simple text search: it’s just looking for the full note title inside the text of other notes. There are already some suggestions here in the forum on ways to enhance the ‘unlinked mentions’ - e.g., by using fuzzy searching. But perhaps an even better way of finding note relationships would be to compare the entire note, rather than just the title.

There are many well-known ‘string metric functions’, which can be used to compare how similar 2 strings (of any length) are. Obsidian could use string metric functions to compare ‘how similar’ the current note is to other notes in the vault. It could then provide a ‘heat map’ list of similar documents - i.e., a list showing the ‘top similar’ documents. This is easy to do, because most of these string metric functions already have open-source, speed-optimised implementations in various languages. That way, rather than just showing just ‘unlinked mentions’, Obsidian could also show a ‘similar notes’ list.

Obsidian could then go one step further: if the current note has many other ‘similar’ notes, and these are all consistently linking to a certain particular note, it is likely that the current note might also want to link there, too. So, Obsidian could actually suggest new links, based on similarity to already existing content, and the previous linking patterns of the user. Now, that would be awesome: Obsidian providing us with an AI-like ‘similar links’ suggestion list!

23 Likes

+1 great idea, I dont much about code but it sounds performance intensive when you have thousands of notes

+1 I’m not sure this could be run that regularly for big vaults but I like the idea if there was probably another way to implement it and not run every time unlinked mentions are calculated. Maybe there could be an option to have it work continuously in the background if allowed so as to not use to many resources at any particular moment.