GraphAware Blog - NLP

Find out what's new in the Neo4j world

Why You Should Start Thinking About Your Organization as a Graph

22 Oct 2018 by Janos Szendi-Varga Knowledge Graph NLP Neo4j Connected Data Knowledge Platform

Do you think there is no space for a graph database in your company? Or it would be a huge effort to integrate a graph database into your product? I have to tell you: You can use a graph database like Neo4j without touching your product, and you can use it for managing your company’s knowledge as well as to improve your software development process. So, even if your business problem is not inherently graphy (hard to believe in 2018), there are a few reasons why you should think about your environment as a graph. Without knowing your core business,...

Bring Order to Chaos: A Graph-Based Journey from Textual Data to Wisdom

26 Sep 2018 by Dr. Alessandro Negro, Dr. Vlasta Kůs NLP Knowledge Graph Sentiment Analysis word2vec NER

Data is everywhere. News, blog posts, emails, videos and chats are just a few examples of the multiple streams of data we encounter on a daily basis. The majority of these streams contain textual data – written language – containing countless facts, observations, perspectives and insights that could make or break your business. The data, in its native form, is completely useless because it doesn’t provide any value. It is sparse, distributed and unstructured – it is chaotic. To make sense of the data, we have to transform and organize it – a process that produces information. However, for the...

Caring about sentiment: how to get the most from people feelings

17 Sep 2018 by Dr. Vlasta Kůs, Dr. Alessandro Negro Sentiment Analysis doc2vec NLP Knowledge Graph

It is often useful to relate a piece of text with the sentiment expressed in it. Extracting and processing sentiments from text provides not only a new emotional access pattern to your corpus but also new knowledge which can reveal new insights. Suppose you want to build a recommendation engine which leverages reviews to spot detailed strengths and weaknesses of different hotels, such as good location but bad staff. Or, it certainly makes a difference whether an article talks about your organization in a positive or negative manner. What’s out there? Extracting sentiments from texts is a difficult task. Many...

Deep text understanding combining Graph Models, Named Entity Recognition and Word2Vec

10 Sep 2018 by Dr. Vlasta Kůs, Dr. Alessandro Negro word2vec NLP NER Knowledge Graph

One of the key components of Information Extraction (IE) and Knowledge Discovery (KD) is Named Entity Recognition, which is a machine learning technique that provides us with generalization capabilities based on lexical and contextual information. Named Entities are specific language elements that belong to certain predefined categories, such as persons names, locations, organizations, chemical elements or names of space missions. They are not easy to find and subsequently classify (for example, organizations and space missions share similar formatting and sometimes even context), but having them is of significant help for various tasks: improving search capabilities relating documents among themselves or...

Advanced Document Representation

03 Sep 2018 by Dr. Vlasta Kůs, Dr. Alessandro Negro doc2vec NLP Knowledge Graph

Representation is one of the most complex and compelling tasks in machine learning. The way in which we represent facts, events, objects, labels, etc. affects how an autonomous learning agent can analyze them and extract insights, make predictions and deliver knowledge. In this blog post, we focus on natural language processing and how to represent textual entities such as words, sentences, paragraphs or whole documents. Dealing with text is hard because, from the “algorithm” perspective, it is just a list of strings or characters. If we want to efficiently grab text and use it in various analytics tasks, we need...

Efficient unsupervised keywords extraction using graphs

03 Oct 2017 by Alessandro Negro, Vlasta Kůs, Miro Marchi, Christophe Willemsen Neo4j NLP Knowledge Platform Cognitive Computing

Companies of any size have to manage and access huge amounts of data providing advanced services for their end-users or to handle their internal processes. The greater part of this data is usually stored in the form of text. Processing and analyzing this huge source of knowledge represents a competitive advantage, but often, even providing simple and effective access to it is a complex task, due to the unstructured nature of the textual data. This blog post will focus on a specific use case: provide effective access to a huge set of documents - later referred as a corpus -...

Reverse Engineering Book Stories with Neo4j and GraphAware NLP

24 Jul 2017 by Christophe Willemsen Neo4j NLP Cypher

A book tells us a story, but for a computer it is a wall of text. How can we use graphs and NLP to help our machines make more sense of a story? Our example comes from the A Song of Ice and Fire books, aka Game of Thrones. We converted the e-books (epub) to text-files and used a small python program to split them into chapters, paragraphs, and sentences. So a book turned into this model : GraphAware NLP GraphAware NLP Framework is a project that integrates NLP processing capabilities available in several software packages like Stanford NLP and...

Relevant Search Leveraging Knowledge Graphs with Neo4j

05 May 2017 by Alessandro Negro Neo4j Elasticsearch Knowledge Graph Search NLP Recommendations

“Relevance is the practice of improving search results for users by satisfying their information needs in the context of a particular user experience, while balancing how ranking impacts business’s needs.” [1] Providing relevant information to the user performing search queries or navigating a site is always a complex task. It requires a huge set of data, a process of progressive improvements, and self-tuning parameters together with infrastructure that can support them. Such search infrastructure must be introduced seamlessly and smoothly into the existing platform, with access to all relevant data flows to provide always up-to-date data. Moreover, it should allow...

Using NLP + Neo4j for a Social Media Recommendation Engine

04 Oct 2016 by Alessandro Negro Neo4j NLP

In recent years, the rapid growth of social media communities has created a vast amount of digital documents on the web. Recommending relevant documents to users is a strategic goal for the effectiveness of customer engagement but at the same time is not a trivial problem. In a previous blog post, we introduced the GraphAware Natural Language Processing (NLP) plugin. It provides the basis to realize more complex applications that leverage text analysis and to offer enhanced functionalities to end users. An interesting use case is combining content-based recommendations with a collaborative filtering approach to deliver high quality “suggestions”. This...

Power a Github Notification Bot for Issue Reviewers with Graph Based NLP

06 Sep 2016 by Christophe Willemsen Neo4j NLP Advanced

Without question, Github is the biggest code sharing platform on the planet. With more than 14 millions users and 35 million repositories, the insights you can discover by analyzing the data available through its API are surprising and revealing. I’ve been very passionate about this data for a long time, as much as I am about Neo4j. Importing this data into a graph database can reveal interesting new information. Two years ago I created a Github Gist with some interesting queries on that dataset. I showed many more queries at several conferences since. Recently, I came across mention-bot from Facebook,...

Mining and Searching Text with Graph Databases

07 Jul 2016 by Alessandro Negro Neo4j GraphAware Enterprise NLP Search Advanced

A great part of the world’s knowledge is stored using text in natural language, but using it in an effective way is still a major challenge. Natural Language Processing (NLP) techniques provide the basis for harnessing this huge amount of data and converting it into a useful source of knowledge for further processing. Introduction NLP is used in a wide variety of disciplines to solve many different types of problems. Analysis is performed on text from different sources, such as blogs, tweets, and various social media, with size ranging from a few words to multiple documents. Machine learning and text...