Lelelo1 / seek-search

Haxe embedded client search
0 stars 0 forks source link

Use semantic matching #12

Closed Lelelo1 closed 3 years ago

Lelelo1 commented 3 years ago

Use semantic matching I got another idea that should work out fine and also make it so that I don't need a search engine and having to make externs. The idea is to make a semantic match between the search word and the tags stored in local sqlite which is the download format in the Open Street Map taginfo website.

Create a model in PyTorch and use RoBERTa. Try to create most of the solution in haxe, and compile to C. Later on setup up a good flow, and documentation on how to interact with the compiled C, from C# and Swift. Some dependencies might need to be passed in to the haxe solution.

There is also a potential speed and performance problem when analyzing every tag in the local sqlite database on the device, but it should be able at least partially dealt with multi threading - to set the score of the tags.

Lelelo1 commented 3 years ago

To clarify, the idea is to loop and use semantic match scoring model on each tag/key that are of interest in the Open Street Map, with the search word. It should give a score, where they highest tag/key then can be identified and used in Open Street map query

Lelelo1 commented 3 years ago

The smallest roberta ml model file in 512MB - so it can't really be embedded