| ▲ | Show HN: MS MARCO click-translation expansion tables ("poor man's" DSSM)(huggingface.co) | |
| 4 points by hessdalenlight 4 hours ago | 1 comments | ||
| ▲ | hessdalenlight 4 hours ago | parent [-] | |
TLDR: I made "poor man’s" DSSM (Deep Structured Semantic Model) — the count-based translation table that can enrich the inverted index for full-text search. This trick can improve baseline BM25. So the idea is the following: - You have supervised pairs (query, relevant document), e.g., MS MARCO or click logs. - You tokenize both sides into some units (char n‑grams, wordpieces, words). - You count cross‑pair co‑occurrences: unit u on the document side vs. unit v on the query side (not co‑occurrence within the same text). - For each document‑side unit u, you keep the top‑k query‑side units v with the strongest association. - At indexing time, each document gets postings not only for its own units, but also for the top‑k associated units of each of its units — i.e., document expansion baked into the inverted index. It’s like mixing synonyms into the search query (but it’s not a synonyms exactly). The one difference from the DSSM is that it can only handle linear dependencies whilst DSSM can do the non-linear one. And so it improves the performance over BM25 baseline. I packed it as hf model repo: https://huggingface.co/mirth/msmarco-expansion-tables with a small usage demo script. I am not claiming that this is a new idea. I made it because it’s fun and I’m planning to use it in my own search engine project. | ||