Neamar / KISS

Lightning fast, open-source, < 250kb Android launcher
https://kisslauncher.com/
GNU General Public License v3.0
2.98k stars 582 forks source link

Question: What is the current model for predicting user app? #1935

Open EmmanuelMess opened 2 years ago

EmmanuelMess commented 2 years ago

What is the ordering of apps based on the app history and other info?

TBog commented 2 years ago

In what context? What are you looking for? The question is too broad imho.

When you search there is a class named FuzzyScore that computes a match score for each app and the results are ordered by that score. Besides that, the match score is increased by how many times you selected a certain app after searching the same thing.

EmmanuelMess commented 2 years ago

In what context? What are you looking for?

The theoretical base that is used for sorting apps in this kind of setting.

When you search there is a class named FuzzyScore that computes a match score for each app and the results are ordered by that score.

What was used to create the computation? Is it a specific algorithm? (Like if you asked me what was used to make the calculator I'd say the shunting yard algorithm).

Besides that, the match score is increased by how many times you selected a certain app after searching the same thing.

Is there a decay of score for older selections? How does a selection affect the current score of all other apps?

TBog commented 2 years ago

Is it a specific algorithm?

How the score is calculated. But we are using different constants.

Is there a decay of score for older selections?

If I remember correctly, older history gets trimmed. But I'll have to look at the code for details.

TBog commented 2 years ago

History older than 3 months gets deleted. https://github.com/Neamar/KISS/blob/c4d24f6ae01a587cb109d7107072178d1ec20851/app/src/main/java/fr/neamar/kiss/db/DBHelper.java#L67-L73)


Boost score for previously selected results of the same query https://github.com/Neamar/KISS/blob/c4d24f6ae01a587cb109d7107072178d1ec20851/app/src/main/java/fr/neamar/kiss/searcher/QuerySearcher.java#L54-L59


Previous results for query (knownIds from the previous snippet) is computed like this: https://github.com/Neamar/KISS/blob/c4d24f6ae01a587cb109d7107072178d1ec20851/app/src/main/java/fr/neamar/kiss/db/DBHelper.java#L218-L222