Download the PHP package hans-thomas/lilac without Composer
On this page you can find all versions of the php package hans-thomas/lilac. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hans-thomas/lilac
More information about hans-thomas/lilac
Files in hans-thomas/lilac
Package lilac
Short Description it is a recommender system based-on pairwise association rules.
License MIT
Informations about the package lilac
lilac
It's a recommender system using pairwise association rules (PAR) based-on this paper. There is an enhanced PAR (EPAR) algorithm which reduces the producing recommendation time. this recommender system is able to create train model and generate recommends for one or more than one model.
Installation
Via composer
Then
Usage
Let's assume there are two Post
and Category
models which they have a many-to-many
relationship.
Config
In config file, we should define our relationship first. there is a template definition of a relation that you can edit that.
Available methods
recommends
To generate some recommendation, use recommends
method.
It will return a collection of models that sorted by the score they've got.
updateTrainModel
Lilac
provides a caching system to store the created data and prevents to create duplicate train model. when you
create some recommendation for a model(s), the related train model will be cached for future use. meanwhile, you make
some changes in the relationship between you models. in this scenario, if you try to create some recommendation for you
model, you will receive out-dated recommends. to fix this, you can run updateTrainModel
for updated related model(s).
This will update and cache the related train model.
fresh
Sometimes you need to ignore cached train models and make recommendation using the latest data from database. for this,
you can use fresh
method before recommends
method.
cache
You may want to create recommendation for two models in one scope. first one using fresh data and second one using
cached data. in this situation, you should use cache
in you second call.
trainer
To set your trainer, you can pass the instance to the trainer
method.
You can set your default trainer in config file.
limit
You can set a limit to returned recommendation count.
Jobs
To automatically keep train models up-to-date, there are two jobs than you can use. You can fire these jobs whenever you update the relationship or just setting hooks for you relationships using this package.
UpdateEntityTrainModel
To update the train model of a single model, you can fire UpdateEntityTrainModel
and pass the related model.
UpdateWrapperTrainModel
To update the train model of a bunch of related models, you should pass them as a collection
to UpdateWrapperTrainModel
job.