Showing posts with label Bigdata. Show all posts
Showing posts with label Bigdata. Show all posts

Wednesday, April 11, 2012

BIGDATA


I started working in Semantic technologies in 2008 and was very intrigued with potential of Semantic technologies to create a meaning out of unstructured data. I did POCs and developed libraries using GATE and lingpipe the NLP parser to parse the free English text and breaks down the sentences in to RDF tags. I could run SPARQL queries over the entire text similar SQL queries over RDBMS Database.

Suddenly, in 2012 the concept has come back again with new name BigData.

Major software Vendors are making their products Bigdata compliant. Trend I see is more for Content Management Product companies because they hosted the unstructured text in their CMS

What is BIGData? 
Layman uptake-
1)      Does when data gets very big it becomes BIGDATA?  Keep adding disk does it not solve problem.
2)      Is it is about Hadoop? Hadoop has HDFS similar to Google File Cluster and Map-Reduce which google used for processing large files. So does Hadoop does solves my problem
Let me list few things which characterizes BiGDATA as industry is speaking about-
1)      Big data is massive scale of data which is being generated in the organization in order of petabytes and zetabytes.
a.       Humans generated data like journal, reports , text, documents (text or otherwise), pictures, videos, slideware, chat, blogs etc.
b.      Machine generated data like logs , GPS output, Sensors outputs, Output from interfaces of medical, devices, cameras etc.
c.       One file (video/audio/corpus) itself can be so big as to be of size terabytes. Hence, need the provision of splitting the file and storing.
2)      Data is not very valuable or even interesting because
a.       Data is not so critical that if we lose some of the data the system will crash or revenue loss will happen.
b.      Data starts to provide some value only by aggregation or summary of the entire data.
We would not spending million dollars to house this in traditional data tools like expensive databases.
So BigData is not transactional data.
Transactional is very critical and required ACID for marinating the integrity of the data. Any loss or corruption of such data can be huge revenue loss to the company.

Enter HADOOP
Hadoop Distributed File System (HDFS)- Hence, enters Hadoop, which is Cloud of commodity low value workstation.  Distributed architecture challenges of synchronization, network failure tolerance, redundancy of data are in-built in hadoop. It solves the problem of storing this inexpensive large data on the grid of low commodity machines.
Map-Reduce - Next, the data is so large that processing it in real-time is a very large problem. Again, Hadoop solves this problem by utilizing the famous Map-Reduce paradigm to break large data into smaller sets of data and processing to aggregate into a meaningful data.

Hadoop may be able to solve the problem of infrastructure for BigData.
Vendors are now implementing their product using Hadoop stack for developing grid using low commodity servers.
However, real problem lies in how we actually extract meaning out of unstructured free text. Is Hadoop’s Regular expression enough to extract the meaning out of this free unstructured text.
 Log files are fine; because they have well defined structure and can be extracted meaningfully by regular extraction patterns.
But free text like journals, chat, blogs, reports, books, audio files etc. are different ballgame.  
Enter Semantic technology
Analysis of aggregation–
First step towards analyzing these texts have been of using cluster analysis using corpus by way of machine learning.
Training or Machine Learning - Corpus is created by feeding the Analyzer with large text which creates a dictionary of a sort associated with a concept. This phase is called training.
The next phase is actual analysis. Analyzer is fed the free text and based on its dictionary of words with concepts predicts what is the concept of the input text. It provides the concept matching with some accuracy percentage.
Example -
 If the text contains words like football, stadium, match, score … Most probably the analyzer will predict that the text is of Category:Sports, Sub-Category:Football-Match.
Few more words are like, Obama, speech, audience, ties… Analyzer may indicate some like 15% probability of concept being politics.
Advance Phase –
The Free text is processed and analyzed and concepts (entities- place, person, thing etc.)  are extracted linked with the ton of informative data on web by linking (similar to dumb linking we have of pages in html today; but it will be intelligent linking this time).
The entire text can be broken in RDF statement of facts:- subject, predicate and objects. Well depicted by RDF statements (n-tuple of RDF/XML).
This will allow SQL like queries over RDFs and worlds’s entire information (Bigdata) will be a big meaningful database accessible to Web agents.


IT industry vendors have a unique way of converting every business concept into mundane technology problem to sell their technology products


IT industry has it own way of converting every beautiful business concept into mundane technology problem to sell their technology stack. They reduce every business problem entering market and killing it by labeling as technology problem. 

WEB 2.0
Web 2.0 is not so much of technology but new way of doing business using crowd-sourcing, social networking, collaboration across value chain. 

Strength of  - JavaScript , Making rich UI, Open source LAMP,  Open source products gave way for blogging sites, Rapid Development frameworks, AJAX ... --- thus technology was starting to overshadow Web 2.0 concept. People started claiming Web 2.0 === AJAX.    

Vendors started a war of coming up with framework of AJAX. Each came up with his own version of AJAX library selling them to customers with make-believe of Web 2.0. In this war actual meaning of Web 2.0 was lost somewhere.

Web 2.0 is very highly innovative concept. It needs a radical shift in culture and Way of Working. It may disrupt the entire traditional revenue model.  
Ex- In news industries, where there were defined reporters who could publish the news. Now in Web 2.0, every man can be a reporter and contribute to news making.
In publishing industry, there were renowned authors who could author a book or article. Now in Web 2.0, every man can be a author, publisher. Any person can become a reviewer and do proof-editing.
In music industry, only contracted bands came out with music. Now any man can try his hand at singing and upload it on Youtube.
In Retail, companies will contract person to develop the software and sell. Now any man can develop software and host it on AppStore and sell it to mass.

Telecom companies are new music sellers.  
Coffee houses are new retailers.
Retail companies are new IT Hardware Sellers. 

These concepts are business ideas requiring a deep thinking and change in which make the difference between a successful and failures.
But innovative business concepts cannot be commoditized hence cannot be sold and hence ignore by Vendors.

SOA
SOA is not so much of technology but aligning technology to business. It is paradigm of thinking in terms of Enterprise functions in terms of business process. And technology then is aligned to meets those processes. 

IT Vendors knew what will sell is not this concept but their technology products. So they came out with tons of materials equating SOA with ESB, BPM .... and SOA === ESB+BPM.

Vendors started a war of coming up with their ESBand  BPM. Each came up with his own version of ESB  product selling them to customers with make-believe of SOA. SOA was killed every project started with the customer asking which ESB, which BPM.  
Aligning technology to Business went missing. result thousands of dollars down the drain because of failure of SOA projects.
  
SOA is foremost a business concept. Demanding companies start thinking in terms of their business services they offer to the world. These services are then broken down in business processes which are broken down into granular services. Real challenge is in service identification and aligned with attributes which make them reusable in different client scenarios.

The services identifications, making service reusable, service design principles are complex concepts require deep analysis not commoditizable. Hence are ignored by vendors. These are ideas which make a SOA project successful or failure.


BIGDATA
Bigdata is a business problem of utilizing millions of unstructured information assets (text, audio, video, chats etc.) to the benefit of business.


IT Vendors knows and have converted this into a mundane technology problem. Enter problem “Of Storing of large data and processing large data”. Enters Hadoop.

Vendor has now started the race of coming up with their own version of Hadoop infrastructure.
But real problem lies in how we actually extract meaning out of unstructured free text. Is Hadoop’s Regular expression enough to extract the meaning out of this free structure text? Log may be fine; because they have structure and can be extracted meaningfully by regular extraction patterns.

BIGDATA is more a concept of semantic text meaningful web than infrastructure. It is more about converting the text of non-meaningful words, phrases into more meaningful text by extracting the concepts and entity from them and linking into existing Web of information. LinkedData, DBPedia , WikiPedia, Semantic technology, Ontology , Corpus, are more important than infrastructure. 

The extracting meaning, pattern recognition, Natural language parsing, ontology, corpus creation are complex concept not comoditizable hence ignored by most. These are ideas which will make BigData problem successful or failure.


Wednesday, August 4, 2010

Semantic Technology bringing Structure to Unstructured Text

Semantic Technology can be explained better with analogy comparison with RDBMS SQL instead of Search.

Semantic Technology takes a normal unorganized text and converts into a structured meaningful text (similar to RDBMS database) which can be queried using SPARQL (similar SQL queries)

In this blog, I take an example of a random text from a history book. Then, explain how it is converted to RDF and then what becomes possible on this RDF.

Article
“One of the most famous stories of decipherment comes from Egypt, a country in north Africa where there were kings and queens about 5000 years ago.
Rosetta is a town on the north coast of Egypt, and here an inscribed stone was found, which contained inscriptions in three different languages and scripts (Greek, and two forms of Egyptian). Scholars who could read Greek figured out that the names of kings and queens were enclosed in a little frame, called a cartouche. They then placed the Greek and the Egyptian signs side by side, and identified the sounds for which the Egyptian letters stood. As you can see, a lion stood for L, and a bird for A. Once they knew what the letters stood for, they could read other inscriptions as well.”

The text is converted in RDF Tuples:




<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xml:base="http://xmlns.temp.org/rdf/"
xmlns:prop="http://xmlns.temp.org/rdf/property/"
xmlns:report="http://xmlns.temp.org/rdf/report/"
xmlns:med="http://127.0.0.1/ontology/my.owl/"
>
<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Famous stories of decipherment">
<rdf:type>#Story</rdf:type>
<prop:come_from resource="http://xmlns.temp.org/rdf/Egypt"/>
<prop:decipher resource="http://xmlns.temp.org/rdf/inscribed stone"/>
</rdf:Description>

<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Egypt">
<rdf:type>#Country</rdf:type>
<prop:in>http://xmlns.temp.org/rdf/North Africa</prop:in>
<prop:where_there_were> kings and queens about 5000 years ago</prop:where_there_were>
<prop:circumtances> about 5000 years ago</prop:circumtances>
</rdf:Description>

<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Rosetta">
<rdf:type>#Place</rdf:type>
<prop:north_coast resource="http://xmlns.temp.org/rdf/Egypt"/>
<prop:found rdf:resource="http://xmlns.temp.org/rdf/inscribed stone"/>
</rdf:Description>

<rdf:Description rdf:about="http://xmlns.temp.org/rdf/inscribed stone">
<prop:contained>
inscriptions in three different languages and scripts Greek and two forms of Egyptian
</prop:contained>
<prop:read_by resource="http://xmlns.temp.org/rdf/Scholars"/>
</rdf:Description>


<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Scholars">
<rdf:type>#Profession</rdf:type>
<prop:qualification>read Greek</prop:qualification>
<prop:figured rdf:resource="http://xmlns.temp.org/rdf/cartouche"/>
<prop:method_of_reading resource="http://xmlns.temp.org/rdf/Decipher Method"/>

</rdf:Description>


<rdf:Description rdf:about="http://xmlns.temp.org/rdf/cartouche">
<prop:comment>
names of kings and queens were enclosed in a little frame
</prop:comment>
</rdf:Description>


<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Decipher Method">
<prop:identified>
the sounds for which the Egyptian letters stood
</prop:identified >
<prop:method>
placed the Greek and the Egyptian signs side by side
</prop:method>
<prop:result>
a lion stood for L, and a bird for A
</prop:result>
<prop:coud_read resource="http://xmlns.temp.org/rdf/Other Inscriptions"/>
</rdf:Description>
<rdf:Description rdf:about="http://xmlns.temp.org/rdf/Other Inscriptions">
<prop:condition>
Once they knew what the letters stood for
</prop:condition>
</rdf:Description>

</rdf:RDF>
Now, I see it through a Jena Visualizer…



Queries


Natural language Query
What could Scholars identify?

Equivalent SPARQL:

BASE
PREFIX rdf:
PREFIX rdfs:
PREFIX prop:
PREFIX report:
SELECT $subject $relation $value
WHERE {
?subject ?property ?object .
?object ?relation ?value
FILTER (REGEX(STR(?subject), "Scholars", "i")
)
FILTER (REGEX(STR(?relation), "identified", "i")
)
}


Result
subject relation value
<http://xmlns.temp.org/rdf/Scholars> <http://xmlns.temp.org/rdf/property/identified> " the sounds for which the Egyptian letters stood"
2. Natural Query

Where did the stories of decipherment come from? Also tell about that place?

Equivalent SPARQL
BASE
PREFIX rdf:
PREFIX rdfs:
PREFIX prop:
PREFIX report:
SELECT $object $relation $value
WHERE {
?subject ?property ?object .
?object ?relation ?value
FILTER (REGEX(STR(?subject), "Famous stories of decipherment", "i")
)
FILTER (REGEX(STR(?property), "come", "i")
)
FILTER (REGEX(STR(?relation), "", "i")
)
}


Result


object relation value
<http://xmlns.temp.org/rdf/Egypt> <http://xmlns.temp.org/rdf/property/circumtances> "about 5000 years ago"
<http://xmlns.temp.org/rdf/Egypt> <http://xmlns.temp.org/rdf/property/where_there_was> "kings and queens about 5000 years ago"
<http://xmlns.temp.org/rdf/Egypt> <http://xmlns.temp.org/rdf/property/in> "http://xmlns.temp.org/rdf/North Africa"
<http://xmlns.temp.org/rdf/Egypt> <http://www.w3.org/1999/02/22/-rdf-syntax-ns#type> "#Country"



Now, imagine all the course books are converted into such RDF tuples. Anybody can do a natural language query on it to retrieve the answer. Now, search would not return the list of book which have mentions of the keyword searched for, But would return the actual answer.


Scale this to World Wide Web; where all sites are expressed in form of a RDF.  RDF is understandable by computers ....


Thus, it enables Tim Berners-Lee's vision of the Semantic Webhttp://articles.techrepublic.com.com/5100-10878_11-5552998.html?part=rss&tag=feed&subj=tr

"The Web was designed as an information space, with the goal that it should be useful not only for human-human communication, but also that machines would be able to participate and help. ..."


Semantic Agent could be written
- To query for “Doctor who is a lady in within a 100 miles radius of my address and has open appointment between 2:30 PM – 3:30 PM”.
- If a successful query, book an appointment and SMS me the appointment#.

OR a scenario,
- Find me a holiday with a beach theme, has budget of between $1000-1500.
- If successful, find a return flight within that range of dates in budget of $500-600.
- If successful, find a car and hotel …

Future - World of Semantic Intelligence and Automation …