Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

https://media.hachyderm.io/media_attachments/files/109/405/5...

This looks very mundane but I do think about it very mathematically as well: user interaction with a search engine. The "encode" arrow for example is very much about NLP and tokenizing, which is a functor from the "category" of natural language to the functor of "lucene tokens" which then has a functor to "lucene queries". This is of course the very mundane typing of functions as:

function parseQuery(query: NaturalLanguageString): LuceneQuery

nothing spectacular, but the abstract approach means I know I can cache/batch/precompute/distribute/pipeline/modularize it.

Similar mathematical concepts apply to all the other arrows, even if some are a bit wild (how does a search result influence a person's ideas?) But it means I can try to model the "wildness", and create say a probabilistic model to exercise and understand how my search engine actually performs (see for example click models and probabilistic graphical models)

I hope that makes sense?

edit: forgot picture link



Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: