• Stars
    star
    105
  • Rank 328,196 (Top 7 %)
  • Language
    Scala
  • Created over 10 years ago
  • Updated almost 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Reactive Factorization Engine

Elasticworks.

Predictiveworks. is an open ensemble of predictive engines and has been made to cover a wide range of today's analytics requirements. Predictiveworks. brings the power of predictive analytics to Elasticsearch.

Reactive Context-Aware Analysis Engine

Factorization Machines Overview

The Context-Aware Analysis Engine is one of the nine members of the open ensemble and has a strong focus on context-sensitive data and interactions in multi-dimensional datasets. It is the key to the next-generation of personalized predictions and customer relationships.

Examples

The Context-Aware Analysis Engine is based on factorization machines. These are multi-purpose predictors that are applicable to many different application areas. Below we describe some selected uses cases that we think are of common interest, and we certainly do not claim that the list of use cases is complete.

Context-Aware Recommendations

Recommender systems are an important feature of modern websites. Especially commercial sites benefit from a boost in customer loyalty, click-through rates and revenues when using recommender systems.

The majority of existing approaches to recommender systems focus on recommending the most relevant items to individual users and do not take into account any contextual information, such as time, place and the company of other people.

For personalized recommendations, however, it is not sufficient to consider only users and their engagement on a set of items. It is important to incorporate contextual information in order to recommend items to users under certain circumstances, and make those recommendations more personalized.

For example, using a temporal context, a travel recommender system would provide vacation recommendations in the winter, that can be very different from those in the summer.

Semantic Concept Prediction

Semantic concepts are a commonly used means to specify the meaning of web pages. These concepts are either explicitly provided by the respective authors (e.g in terms of metadata tags) or derived by sophisticated linguistic and semantic techniques. The latter thereby rely on specific terminologies, such as taxonomies, term-concept maps or even domain specific ontologies.

Different website owners usually assign semantic concepts that refer to different terminologies. The hidden semantics of two different articles may be the same, but the assigned concepts differ and are controlled by different authors. Due to this situation, the content profiles associated with these articles are different.

Factorization Machines are an appropriate means to overcome this concept heterogeneity and help to improve semantic interoperability.

Factorization Machines

Matrix factorization (MF) approaches to recommendations have become very popular as they usually outperform traditional k-nearest neighbor methods. MF, however, is context-unaware.

The most approaches to take contextual information into account focus on contextual pre- or post-filtering where a standard context-unaware technique, such as MF is applied to the filter data.

New approaches extend the 2-dimensional space (user,item,rating) R: U x I -> R to an n-dimensional space (user,item,c1,c2,...,rating) R: U x I x C1 x C2 x ... -> R, where c1, c2 etc describe contextual dimensions. These approaches extend matrix models (MF) to tensor models (TF).

Recently a recommendation approach, called Multiverse Recommendation, as been proposed that uses Tucker decomposition to factorize these n-dimensional tensor models. However, a drawback of this approach is its computational complexity.

Therefore, we suggest to build a context-aware recommender system on Factorization Machines (FM), recently introduced by Steffen Rendle. This approach results in fast context-aware recommendations as the model equation of FMs can be computed in linear time both in the number of contextual parameters and the selected factorization size.

Factorization Machines in Spark

This is an implementation of Factorization Machines based on Scala and Apache Spark. It actually uses stochastic gradient descent (SGD) as a learning method while training the model parameters.

From http://libfm.org:

Factorization machines (FM) are a generic approach that allows to mimic most factorization models by feature engineering. This way, factorization machines combine the generality of feature engineering with the superiority of factorization models in estimating interactions between categorical variables of large domain.

For more details, please refer to: Steffen Rendle (2012): Factorization Machines with libFM, in ACM Trans. Intell. Syst. Technol., 3(3), May.

More Repositories

1

spark-elastic

This project combines Apache Spark and Elasticsearch to enable mining & prediction for Elasticsearch.
Scala
206
star
2

customerml

CustomerML is an open source customer science platform leveraging the power of Predictiveworks and fully integrated with Elasticsearch and Shopify. CustomerML starts with proven RFM analysis and combines the results with machine learning thereby providing a deep customer understanding.
Scala
46
star
3

spark-piwik

Beyond Piwik Analytics with Scala and Apache Spark
Scala
45
star
4

spark-arules

This project provides association rule mining for Apache Spark. The algorithms are based on the work of Philippe Fournier-Viger and comprise his TOP-K and TOP-K NR algorithm. Both algorithms do no longer depend on the minimum support parameter and increase the usability of association rule analysis tremendously.
Scala
30
star
5

spark-fsm

This project provides sequential pattern mining for Apache Spark. The algorithms are based on the work of Philippe Fournier-Viger and comprise his SPADE and TSR algorithm. This enables to perform sequential pattern and also sequential rule mining.
Scala
28
star
6

spark-intent

Reactive Intent Recognition Engine
Scala
13
star
7

spark-connect

A subproject of Predictiveworks that provides common access to Cassandra, Elasticsearch, HBase, MongoDB, Parquet, JDBC database and other data sources from Apache Spark.
Scala
13
star
8

spark-outlier

Reactive Outlier Detection Engine
Scala
12
star
9

WSS-Client-for-Android

WSS-Client for Android brings SOAP and Web Service Security to Android Platforms and provides next-generation security for mobile shopping apps and more.
Java
10
star
10

spark-weblog

Implementation of Web Log Analysis in Scala and Apache Spark
Scala
10
star
11

akka-nlp

An integration of the text mining system GATE with Akka
Scala
9
star
12

scala-hmm

Scala implementation of a Hidden Markov Model
Scala
7
star
13

spark-social

Reactive Social Trending
Scala
6
star
14

spark-recom

A Recommender System based on Predictiveworks and Apache Spark
Scala
5
star
15

spark-cluster

Reactive Similarity Analysis Engine
Scala
4
star
16

scala-text

Reactive Text Analysis Engine
Scala
4
star
17

spark-decision

Reactive Decision Analysis Engine
Scala
4
star
18

spark-rest

Predictiveworks. Open Ensemble of Predictive Engines
Scala
4
star
19

spark-core

Scala
4
star
20

mahout-samples

This repository provides a collection of Mahout code snippets.
Java
2
star
21

storm-samples

This repository holds a collection of storm topologies.
Java
2
star
22

spark-insight

Real-time Insights with Apache Spark
2
star
23

OASIS-ebXML-RegRep-v4.0

Java
2
star
24

AMES-Web-Service

The web service component of the Ad-hoc Mobile Ecosystem.
Java
2
star
25

elastic-streaming

This project leverages Apache Spark streaming to index streaming data in an Elasticsearch cluster.
Scala
2
star
26

AMES-Search

This project adds semantic search to the Ad hoc Mobile Ecosystem.
Java
1
star
27

AMES-Nlp

This project add natural language processing to the Ad-hoc Mobile Ecosystem.
Java
1
star
28

AMES-Map-GUI

This project adds map support to the Ad-hoc Mobile Ecosystem.
Java
1
star
29

AMES-OOJDrew

This project adds reasoning support to the Ad-hoc Mobile Ecosystem
Java
1
star
30

spark-datasift

DataSift Streaming for Apache Spark
Scala
1
star
31

elastic-insight

An ES 6.x plugin to connect Elasticsearch to CDAP 5.x analytics
Java
1
star
32

gate-server

A Socket Server to connect to GATE text mining.
Java
1
star
33

AMES-WebDAV

This project add WebDAV support to the Ad-hoc Mobile Ecosystem
Java
1
star
34

AMES-TheJit

JavaScript
1
star
35

spark-pref

User Preference Engine
Scala
1
star
36

AMES-Web-GUI

The Web 2.0 based component of the Ad-hoc Mobile Ecosystem.
JavaScript
1
star
37

AMES-Http

This project aims to provide a functionality for mutual authentication over SSL/TLS.
Java
1
star
38

AMES-Semantic

This project adds semantic support to the Ad-hoc Mobile Ecosystem.
Java
1
star
39

AMES-Web-Shared

This project holds shared information for all AMES-related projects.
Java
1
star
40

AMES-Office

This project adds Office-Support to the Ad-hoc Mobile Ecosystem
Java
1
star
41

core-arules

An extension to the Association Rules implementation of the SPMF open source data mining library
Java
1
star