I am a pretty newbie in semantics, I have already asked a few questions here but still I am not clear about what to do.I am actually doing a university project whose end point is a Question Answer system based on semantics, need some help please. I have very short time as my time for the project is exhausting.
My understanding is that I have to convert all my data into ontologies first. Then I have to develop an front interface for the user to answer questions and connect the front interface to the ontology.I am not sure whether the questions should also be converted into triples or not?
I am following the following steps in order to achieve my goal:
I parse the plain text that I have using stanford parser
I have a piece of plain text e.g;
"In this tutorial, I will show you the steps I took to create this Rough Woody Text Effect Made of Wood Splinters in Photoshop."
So this is what I have after parsing (using stanford online parser):
prep(show-7, In-1) det(tutorial-3, this-2) pobj(In-1, tutorial-3) nsubj(show-7, I-5) aux(show-7, will-6) root(ROOT-0, show-7) iobj(show-7, you-8) det(steps-10, the-9) dobj(show-7, steps-10) nsubj(took-12, I-11) rcmod(steps-10, took-12) aux(create-14, to-13) xcomp(took-12, create-14) det(Effect-19, this-15) nn(Effect-19, Rough-16) nn(Effect-19, Woody-17) nn(Effect-19, Text-18) dobj(create-14, Effect-19) partmod(Effect-19, Made-20) prep(Made-20, of-21) nn(Splinters-23, Wood-22) pobj(of-21, Splinters-23) prep(Splinters-23, in-24) pobj(in-24, Photoshop-25)
Someone here said that I already have the triples. So I assume I already have the triples.
Question 1: Please tell me if my understanding is correct?
I want to create the ontology (knowledge representation) for the parsed text I have
I assume that knowledge representation can be done by making ontologies for the above sentence.The problem is that I have large amount of data that needs to be converted into ontologies. It is impossible for me make ontologies manually. I need a automatic tool that converts my plain or parsed text to ontologies. I was suggested to use FRED by someone here but it seems that the ontologies created by FRED give errors when loading into ontology editors such as Protege 4.1, Top Braid Composer.
Question 2: Are there any GUI tools available so that I can convert my plain or parsed text automatically into ontologies?
Question 3: Please let me know whether I am going in the right direction. Is it necessary to convert triples into an ontology for the purpose of question answer system or can i directly run queries on triples. I am too confused by different ways and opinions of people. Also, what should be my next steps towards development of the QA system.Any suggestions/recommendations, please?
Waiting for your replies.Thank You All
Do you understand what that output is? I'm no expert on NLP, but it seems your parser has just Part-of-speech (POS)-tagged the sentence (EDIT: more specifically, building a dependency graph between words in the sentence; thanks @AKSWMember). This means that the machine has a rough idea of what the nouns and adjectives and prepositions, etc., are in the sentence.
That is something the NLP folks call "Shallow Parsing", which means that the machine has not really begun to analyse the semantics (i.e., meaning) of that sentence. Hence, from what you have parsed, all you can formally represent (e.g., in an ontology or even in RDF) is the structure of the sentence. Now you can match user questions and input sentences on a shallow level, but that will not buy you much by way of accuracy.
As a question for you to think about, do you know what kind of ontology you want to create from your example sentence "In this tutorial, I will show you the steps I took to create this Rough Woody Text Effect Made of Wood Splinters in Photoshop."? In other words ... Could you do manually for that example what you want to program machines to do automatically for all examples? If not, I guess you're in trouble.
Because, if you want to automatically build a true machine-readable ontology representing the meaning of that sentence and sentences like it, you will have solved an AI-complete problem, namely natural language understanding, and I hope you will mention us in your Nobel prize acceptance speech. :)
In general, I strongly reiterate my previous advice that you should talk to an advisor or supervisor about your topic. It is my impression that your project is far too ambitious, esp. given the time constraints you have. Of course, I hope I'm wrong. :)
It is not necessary to use triples or ontologies to build a QA-system. There has been 50 years of research into Question Answering, and most of the techniques heavily rely on NLP advancements.
Sorry no time for a long answer, but, I wonder if you might have better luck working with Open Calais ( especially since you are familiary with TBC). See this blog
I would suggest just getting some triples from Calais, and write SPARQL queries over that and see if you can "answer questions" without the need of a custom ontology first. Just get to know the Calais output and SPARQL, and then take your next steps. Then, post more questions in a day or two.
answered 21 Jan, 00:19
Question answering is no trivial problem, also not in the Semantic Web world. Have you ever tried to read some related work? I also worked on this topic, and the general approach was to process some natural language question and generate a SPARQL query based on this question.
answered 21 Jan, 11:14