# Deep NLP-based Recommenders at Finn.no

DevFeed: [Deep NLP-based Recommenders at Finn.no](<https://devfeed.tech/articles/deep-nlp-based-recommenders-at-finn-no-32019.md>)

Original publisher: [Read original article](<https://tech.finn.no2017/09/08/NLP-based-recommenders-at-finn/>)

Author: Simen Eide

Published: 2017-09-08T13:56:49Z

Content type: tutorial

Language: en

Sources: [Finn.no](<https://devfeed.tech/sources/finn-no.md>)

Topics: [Natural language processing](<https://devfeed.tech/topics/nlp.md>), [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Embeddings](<https://devfeed.tech/topics/embeddings.md>), [recommendations](<https://devfeed.tech/topics/recommendations.md>), [Keras](<https://devfeed.tech/topics/keras.md>), [Hackathon](<https://devfeed.tech/topics/hackathon.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [embeddings](<https://devfeed.tech/tags/embeddings.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [keras](<https://devfeed.tech/tags/keras.md>), [model-architecture](<https://devfeed.tech/tags/model-architecture.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [nlp](<https://devfeed.tech/tags/nlp.md>), [recommendations](<https://devfeed.tech/tags/recommendations.md>)

## AI overview

The article describes a FINN.no hackathon project exploring deep NLP-based recommendations for classified ads. The team used categorized ad data, word embeddings, and a convolutional neural network architecture to model similarity, but the supplied text does not include the final performance results.

## Source excerpt

During a hackathon at FINN.no, we figured we wanted to learn more about deep NLP-models. FINN.no has a large database with ads of people trying to sell stuff (around 1 million active ads at any time), and they are categorized into a category tree with three or four layers. For example, full suspension bikes can be found under "Sport and outdoor activities" / "Bike sport" / "Full suspension bikes". In our daily jobs we are working on recommendations. There, we already have a content based (tf-idf) recommender build on Solr's More Like This. It seems to work well in areas where our collaborative filtering approaches does not. Would it be possible to build a deep learning NLP-model of similar performance? To achieve a measure of similarity, building a classifier of the previously mentioned categories seemed like a good choice, since we already had a lot of pre-existing data. The NLP team at Schibsted had already tokenized around six million ads as well as trained a word2vec model for us - we were ready to roll! Some preprocessing still had to be done. We ran through all ads, concatenated the title and description strings, and after a quick look at the data took the first 15 words of each ad. Model architecture proposed by the paper Our initial experiments were done with a simple "Bag of words" model included in the Keras repository, but we promptly switched over to "Convolutional Neural Networks for Sentence Classification" based architecture after hearing about it from our colleague, Tobias. By looking at the first 15 words of the ad, and using 200 dimensional embeddings for each word, our input is transformed into a 15x200 matrix. We apply three different convolutions on each document. The three convolutions looks at 2, 3 and 4 words (kernel sizes) in each convolution. It then max-pools each over the whole document, so that you end up with one value per document per convolution. For each kernel size you do 100 different filters. Finally you add a dense layer for clas