Upload
semantic-web-company
View
430
Download
0
Embed Size (px)
Citation preview
1
1
FIRST LAST
TITLE
Welcome Message
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum posuere pretium. Quisque nibh dolor, dignissim ac dignissim ut, luctus ac urna. Aliquam aliquet non massa quis tincidunt. Mauris ullamcorper justo tristique dui posuere tincidunt. In nec lacus laoreet orci varius
imperdiet sit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum posuere pretium. Quisque nibh dolor, dignissim ac dignissim ut, luctus ac urna. Aliquam aliquet non massa quis tincidunt. Mauris ullamcorper justo tristique dui posuere tincidunt. In nec lacus
laoreet orci varius imperdiet sit. In nec lacus laoreet orci varius imperdiet sit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Welcome message goes here
Named entity recognition and disambiguation using an iterative
graph processing system
Julien Gonçalves
2
2
Julien Gonçalves
VP research and partner at Reportlinker
Working on semantic technologies since 2004
@rlk_jgo
fr.linkedin.com/pub/julien-gonçalves/2/557/a21
3
3
Who is Reportlinker?
ReportLinker is a technology company focused on providing actionable information from global market research and data, to Marketers, Analysts, Researchers and knowledge workers in the enterprise.
4000 recurring clients around the world (HonneyWell, 3M, …)
A 10M€ Company
40 Employees with 50% engineers and semantic specialists
5
5
Find, Filter and Organize
30 million new documents analyzed / month
Document discovery NLP Search Engine
1 billion url verified / month
3 million documents available as relevant
Each part of the workflow is scalable
6
6
Natural Language Processing
Text preprocessingConverting
PDF/DOC/PTT format to Text.
Lexical analysisParsing words and
sentences
Morphology analysis
Chapter/Table/Figure detection using the
morphology of the original document
Semantic analysis
Using a thesaurus with 3.5 millions
ontologies (industry,
geography, topic)
Storage
Structured, annoted, sliced:
ready to be searchable
Data relevance
Scoring each type of data by relevance
(statistics, analysis, …)
7
7
Semantic Analysis
Industry
Geography
Topic
A Data Lexical Platform using a thesaurus with 3 dimensions
350 industries, 3000 sub-industries
world regions, countries, main cities
Ontologies about industrial economics (production, exportation, …)
8
8
Semantic Analysis
Industry
Controlled vocabulary helps to find the right meaning of a term
Agribusiness
Food
Fruit and Vegetable
Fruit
apple banana
One term can be used for several meanings (ex: “apple” as fruit or company).
The proximity with other concept in the thesaurus helps to find the right meaning when found in the same section of text.
9
Semantic Analysis
How can we find, normalize and classify the company names mentioned in our
reports ?
10
Semantic Analysis : Company
Very simple approach: Use a database of company names as ontology
FAIL ! This approach did not work at all
We bought and used a database with 2 000 000 company names
Too many company names existing as common name (ex: “Post Office”, “Table”, …)
To avoid the noise, we need to match more context in order to be sure of the right meaning of a concept.
11
Semantic Analysis : Company
Millions of companies exist around the world
Company context changes very often (acquisisions, new activities, ...)
Hundreds of companies can have the same name
To be able to disambiguate, we need additional context for each company concept.
12
Our approach
STEP 1Hypotheses
STEP 2
Inferences
STEP 3
Analysis & Classification
To create our own database of company names with additional context for disambiguation.
To exploit our content (110 millions documents) to discover and identify company names, people, products.
To use an inference engine to build a relational graph with verified concepts and contexts.
To use this new base of verified companies, enriched with contexts, to find the right companies in our content.
13
Step 1: Hypotheses
For each document analysed, we extract several “hypotheses” (unverified facts) using text mining rules
Identification of a concept (the probability that its a company, person, product, …)
We mainly have 3 types of hypotheses:
Relation between 2 concepts (context proximity between 2 concepts in the document)
Proximity between a concept and an industry/country (context proximity with an other dimension in the document)
14
Step 1: Hypotheses
In march 2010, Toto inc. acquired Thingso corp., the new CEO Kevin Sherpa wants to be present in China to sell the new Xbrid3.
Example
“Kevin Sherpa” is guessed as a person name (NER rules).
“Toto inc.” and “Thingso corp.” are guessed as company (using NER rules). More the pattern is “safe”, more the hypothese is strong.
“China” is a country (Ontology).
“Xbrid3” is an unidentified named entity (NER rules).
15
Step 1: Hypotheses
Toto inc.
Label Context Industry / Geography
Toto inc. Thingso corp. (C) / Kevin Sherpa (P) / Xbrid3 China
Thingso corp. Toto inc. (C) / Kevin Sherpa (P) / Xbrid3 China
Thingso corp.
Kevin Sherpa Xbrid3
16
Step 1: Hypotheses
To validate these hypotheses we need to find more facts verifying the same hypotheses.
Data volume is one of the key elements of this approach
We mine billions of sentences from economic reports and 3 million news update every month.
Each hypothese brings new information and new contexts around a company concept.
More an hypothese is verified with several sources, more chance it has to become a verified fact.
17
Step 2: Inferences
An inference engine verifies all the hypotheses around each concept in order to keep only the verified facts
C1
C2
P2
P1
From millions/billions of sub-graphs (each scope of context), we obtain 1 final consolidated graph composed of only thousands of sub-graphs.
18
Step 2: Inferences
Apache Giraph is an iterative graph processing system built for high scalability.
Giraph implements the Pregel model and other features that makes it easy to use graph computation.
Giraph loads all the graph in-memory, computation is very quick.
Giraph is highly scalable.
19
Step 2: Inferences
Graph reduction continues until we can’t reduce the graph anymore
Toto Inc. #1
Kevin SherpaThingso corp.Xbrid3
Toto Inc. #2
Kevin SherpaDavid RegoXbrid3
Toto Inc. #3
Thingso corp.David RegoXbrid ProjectNeko Ltd.
Toto Inc. #4
Kevin SherpaXbrid ProjectNeko Ltd.
China ChinaUS
China
Toto Inc. #1 Kevin SherpaDavid RegoThingso corp.Xbrid3
China
Toto Inc. #2
Xbrid ProjectKevin SherpaXbrid3
ChinaUS
Toto Inc. #1
Xbrid ProjectKevin SherpaDavid RegoThingso corp.Neko Ltd.
Iteration 1
Iteration 2
David RegoThingso corp.Neko Ltd.
ChinaUS
20
Step 2: Inferences
The final graph is filtered to obtain a base of verified companies
Only the best context is kept for each company name (context frequently related to the company)
Special iterations are processed to normalize company names having very close names (ex: “Google France” and “Google Fr”).
21
Step 3: Semantic Analysis
Company Name
Name to Match / Alias Contexts Industry / Geography
Toto inc. Toto inc.Toto incorporatedToto
Xbrid ProjectKevin SherpaXbrid3David RegoThingso corp.Neko Ltd....
ChinaUS
Apple inc. Apple inc.Apple incorporatedApple
Tim CookiPhoneiPadSteve Jobs...
USWorld
More a company name is “common”, the more it will need a better diversity of context to be verified (common noun, several company with the same names, high frequency in the corpus)
22
Step 3: Semantic Analysis
Kevin Sherpa said “Toto forecasts to double its revenue in China selling the new Xbrid3.”
1) “Toto” is a possible name to match, normalized as “Toto inc.”
2) “Toto” is found in this text, we load all the contextual terms terlated to this concept in order to disambiguate and select the right concept.
3) Contextual terms are found, “Toto” is classified as “Toto inc.” in this text.
23
Step 3: Semantic Analysis
Contextual terms related to
companies
Verified company names
NLP
Content to analyse
Load in memory
Checking contextual terms
company found: disambiguated and classified
Company names that are eligible are loaded in memory (NLP process)
Contexts are loaded in memory in a remote cluster (Redis)
24
Beta version: Statistics
400 million hypotheses
2 million documents analysed
graph nodes: 27 milliongraph edges: 380 million
> 400 000 companies verified, enriched with contexts
25
Conclusion
Using Big Data analytics we found a very good approach to discover, disambiguate and normalise company names. This solution works because we succeed in resolving 3 main issues:
Data volume
Pattern detection to discover hypotheses (NER rules)
Optimized algorithms for the inference engine