Kotlin implementation of a Streams Blending Recommender (SBR) framework.
Generally speaking, Kotlin-SBR is a "computer scientist" implementation of a recommendation system based on sparse linear algebra. See the article [AA1] for details. Object-Oriented Programming (OOP) is used.
This implementation is loosely based on the software monads SMRMon-WL, [AAp1], and SMRMon-R, [AAp2], and very closely follows the SBR Raku implementation [AAr3].
The current implementation is mostly a "reference implementation" that is supposed to be clear to OOP-knowledgeable programmers. (And definitely to Java and Kotlin programmers.)
Hence, some implementation steps are easier to understand than faster to compute.
Since Kotlin is a "first class citizen" in IntelliJ IDEA this implementation can be studied using the automatically generate Unified Modeling Language (UML) diagrams.
Another reference implementation -- also using OOP -- is given with the Raku package [AAp3].
[AA1] Anton Antonov, "Mapping Sparse Matrix Recommender to Streams Blending Recommender", (2019), GitHub/antononcube.
[AAp1] Anton Antonov, Monadic Sparse Matrix Recommender Mathematica package, (2018), GitHub/antononcube.
[AAp2] Anton Antonov, Sparse Matrix Recommender Monad R packages, (2018), R-packages at GitHub/antononcube.
[AAp3] Anton Antonov, Streams Blending Recommender Raku package, (2021), GitHub/antononcube.