Apache Camel is an integration framework. What does that mean? Let’s suppose you are working on a project that consumes data from Kafka and RabbitMQ, reads and writes from and to various databases, transforms data, logs everything to files and outputs the processed data to another Kafka topic. You also have to implement the error handling of the service (retries, dead letter channel, etc.) for everything to run flawlessly. It seems hard.

Apache Camel helps you to integrate with many components, such as databases, files, brokers, and much more, while keeping the simplicity and promoting enterprise integration patterns. Let’s see…


Photo by jason charters on Unsplash

Hi there! When you are watching your favorite football team, have you ever got that feeling that there is a player that has great potential, but is playing in the wrong position? Do you think that if the manager would put him in a different position he would be so much better? Well, I do! How can we develop a tool that uses artificial intelligence to help us detect the best-suited positions for players?

In this post I will show how to train a machine learning model to detect the best positions of a player, using a Football Manager dataset…


Designed by Freepik

[For this and more posts, check my website]

Hi there! This post is the last one in a three-part series about Sentence Embeddings. If you didn’t read part 1 or part 2, you can find them here and here.

In this post, I will explain the State-Of-The-Art (SOTA) approach to create Sentence Embeddings.

Sentence-Bert

Sentence-Bert is currently (April, 2020) the SOTA algorithm to create Sentence Embeddings. …


Designed by Freepik

[For this and more posts, check my website]

Hi there! This post is the second in a three-part series about Sentence Embeddings. If you didn’t read part 1, you can find it here.

In this post, I will explain two approaches to create Sentence Embeddings: Doc2vec and InferSent.

To improve the sentence representations from the TF-IDF representations, we must take into account the semantics of each word and the word order. Sentence embeddings try to encode all of that.

Sentence embeddings are similar to word embeddings. Each embedding is a low-dimensional vector that represents a sentence in a dense format…


Designed by Freepik

[For this and more posts, check my website]

Recently, I wrote two articles in Engineering Talkdesk Blog, about Word Embeddings and Sentence Embeddings. In this series of three blog posts, I will explain in detail some of the approaches described to obtain Sentence Representations.

In this first part, I will explain how to represent a word numerically and how to represent a sentence numerically using the TF-IDF algorithm.

Obtaining Word Representations

How do we represent a word?

The simplest way to represent a word is with a one-hot encoded vector. Let’s imagine we have a vector with the size of the vocabulary, where…


Image by Gerd Altmann/Pixabay

The Natural Language Processing (NLP) team at Talkdesk is in charge of improving the agent and customer experience in contact centers by understanding their conversation.

In a previous post, we discussed how Word Embeddings represent the meaning of the words in a conversation.

Sometimes we need to go a step further and encode the meaning of the whole sentence to be able to understand the context in which the words are said.

The representation of the meaning of a sentence is important for many tasks.

It allows us to understand the intention of the sentence without calculating individually the embeddings…


Image by studiogstock/Freepik

Our Natural Language Processing (NLP) team at Talkdesk uses the transcriptions of the dialogues of phone calls to improve the agent and customer experience in contact centers.

An important part of our work is understanding the dialogue between the agent and the customer.

In this post, we will explain what are Word Embeddings and how they can help us understand the meaning of words.

Agent Assist provides real-time suggestions to help the agent handle customer needs.

Those suggestions are based on the conversation between the agent and the customer.

Agent Assist uses a Machine Learning component that requires a numerical…


[For this and more posts, check my website https://diogodanielsoaresferreira.github.io]

Hi there!

In this post I will describe what is a Bloom Filter, its purpose and scenarios where it can be useful to use one. I will also implement a Bloom Filter from scratch in Python, for an easier understanding of its internals.

Goal of a Bloom Filter

A Bloom Filter is a data structure with the goal of checking if an element is NOT in a set in a fast way (for those who know Big O notation, the complexity of inserting and checking if an element belongs to a set using a Bloom Filter…


[Check the original post in https://diogodanielsoaresferreira.github.io/use-agile-in-your-dissertation/]

Hi there!

After the previous dissertation posts, I noticed that the agile principles were the basis of some tips that I gave. There are remarking similarities between my tips and some agile principles. However, many people still fail in getting a good experience out of the dissertation because they don’t apply these principles. In this post, I will explain how the 12 Agile principles relate to the dissertation, and how to apply them to achieve a better dissertation.

For all that don’t know what Agile is, here is a quick explanation.

What is agile?
The…


Hi there, and welcome to the last part of this series!

If you didn’t read the previous post, check it out here. I am summarizing tips I would give myself before starting the dissertation, explaining my good and bad decisions along the way.

Before, a heads up: the content of this blog post is highly subjective and related to my dissertation experience, so don’t take it as the ground truth. But do think critically about my advice and, whether you agree with them or not, comment on what you think about it

This post is divided into four parts:
I —…

Diogo Ferreira

Software Engineer @ Talkdesk. Passionate about cloud and data-driven architectures. https://diogodanielsoaresferreira.github.io/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store