Log in

No account? Create an account

Previous Entry | Next Entry

Bioinformatics Ontologies

I've got four students in CIS 730 (Artificial Intelligence) who chose term projects in the area of knowledge representation (KR) and knowledge bases for expert systems. This year, the project topics are in specific areas that I pre-selected, and the KR application is to build an evidence ontology for a web service or data integration (data source mediator) for computational genomics, especially protein interaction.

Have any of you worked with Protege, the suite of Web Ontology Language (OWL) tools, or with any other Semantic Web tools or ontology editors?



( 12 comments — Leave a comment )
Sep. 12th, 2006 01:39 pm (UTC)
The only KRL I've played with is the one developed by UT and Boeing for the Knowledge Machine. I remember you showing me OWL and the Semantic Web, though. My poor Linux box incubus is in shambles still. :(
Sep. 12th, 2006 04:50 pm (UTC)
Bioinformatics community: if you're interested...
... we could make a bioinformatics LJ community or commandeerjoin one, and I could share some of the links, papers, etc. from our literature review.

I'm open to suggestions.

Sep. 12th, 2006 04:14 pm (UTC)
Actually, yes. About two and a half years ago (man, that long ago, now?! urrrrr), I used Protege to build a simple OWL Lite ontology that described web service QoS, for a project that turned out to be my Master's work. I didn't use the program in any great detail, and I didn't use it for specifying more complex ontologies (OWL DL or even Full), but it was a useful program at the time.

I haven't used any other ontology editor, I don't believe.
Sep. 12th, 2006 05:49 pm (UTC)
OWL and Protege: Late to the bandwagon
I'm a bit late to the Protege bandwagon, even though I started learning about the semantic web c. 2001. I'm not familiar with OWL Lite, but I'll look at it.

Since you seem to have some knowlege engineering (KE) and "ontological engineering" background, I have a survey question for you: what would to tell a beginning AI student who is studying knowledge representation about the purpose of developing an ontology? Specifically, what can you do with description logics and ontologies for various domains?

Please highlight the following once you've thought of your answer:
I'm specifically thinking of applications in the domains of online databases and web services, but I didn't want to unduly bias your answer. I'm finding it a little difficult to articulate what ontologies are used for, probably because I've really used them only as textbook exercises of classical AI (part-whole or IS-A hierarchies) and in a somewhat ad hoc software engineering sense, to design and refactor class diagrams for an object-oriented collection, abstract data type, or data description language (DDL, aka data definition language). As far as really generating or rewriting relational database queries, mediating access to OO code or databases, etc., I understand the general principles, but I haven't done much with ontologies to date.

Sep. 12th, 2006 07:10 pm (UTC)
Re: OWL and Protege: Late to the bandwagon
OWL Lite is a sublanguage of OWL that allows the creation of taxonomies. You can probably do other things with it, too, but it's deliberately limited, so as to allow reasoning in "reasonable time" (P, I think, but don't quote me).

For me, the value of the creation of ontologies is that it allows one to say, "this is exactly what I feel is a good representation of some domain." The biggest hurdle I've seen to the acceptance of ontologies usually comes down to a complaint I heard when I attended a talk on ontologies at CASCON '04:

"But how can you capture exactly what something is? Won't people's opinions differ?"

What people need to understand is that ontologies aren't some giant, philosophical hurdle that one has to jump. To mangle the famous quote, an ontology is simply "a formalization of someone's conceptualization". It's a starting point, a point for discussion, and when used right, a tool for clarity.

So, when I made my WS QoS ontology, it was a first step, a first attempt. My goal wasn't to create the be-all and end-all of WS QoS ontologies. In fact, mine was deliberately simple (though extensible). My goal was simply to create a simple representation that I could use to keep everything straight in my head, as well as that others could use to either more easily understand what I was jibber-jabbering about in my paper/thesis, or to write software that could communicate using the same set of terms.

Sep. 12th, 2006 08:18 pm (UTC)
Re: OWL and Protege: Late to the bandwagon
Indeed: good ontologies are local, provisional, temporary, and personal, and these very attributes are what makes them valuable, because it is this focused nature that makes them handy for tasks.

This is more powerful than it seems: UML class diagrams are effective because they focus very specifically on classes, and their relationships, instead all of software. In doing so, they are given great power in other disciplines, by proxy through the usefulness of classes.
Sep. 12th, 2006 05:45 pm (UTC)
Yes. Protege and homegrown. The Protege database backend, and database-backend interface, are super brain-dead. Full-scale replacement, as a project, would be welcome.
Sep. 12th, 2006 05:51 pm (UTC)
New to Protege
Please see my reply to prolog above - I'd be interested in your answer, too.

Brain-dead in what way? I'm not familiar with the DB back end and interface yet.

Sep. 12th, 2006 05:55 pm (UTC)
Re: New to Protege

Normally I don't laugh at misery, but this is a special exception.

Ok, essentially the entire system is one table. Just the most primitive think you can imagine: a name, an id, a reference id, and a few other things. It is hideously slow (performance graphs are in seconds). They say, in the documentation, that if you want to change it, go right ahead, this database backend is a strawman and look, we even give you a nice backend interface.

Unfortunately, the backend interface is written only in terms of that table structure: to write a beter one, you'd essentially have to unflatten all of their flattening back into a more conventional table hierarchy.
Sep. 12th, 2006 06:54 pm (UTC)
Problems with Protege
Do you know of a more flexible, lightweight implementation of an OWL renderer / editor UI?

I've been looking into developing or using some format exporters, even those that can interface OWL to first-order inference engines.

Sep. 12th, 2006 06:56 pm (UTC)
Re: Problems with Protege
Well, you might be fine, then. You could get away with using pretty much anything for "small enough" problems
Sep. 12th, 2006 06:06 pm (UTC)
Re: New to Protege
First of all, I, through intellectual tradition and experience, am very, very biased against traditional K&R. Those were the bad old days, when we regarded AI as a kind of search. Now that we regard AI as classification, we can prove strong, efficient, and robust approximations to tasks that would normally take exponential time. So, you should take my opinions from this light.

Having said that, the purposes of ontologies are:

1. To help encode priors within the feature set.
2. To give users a semantically familiar interface.
3. To provide semantic lift, such that if a different loss function is used, we can transfer our prior learning.

In general, ontologies are for transfering knowledge between learning tasks.
( 12 comments — Leave a comment )

Latest Month

December 2008

KSU Genetic and Evolutionary Computation (GEC) Lab



Science, Technology, Engineering, Math (STEM) Communities

Fresh Pages


Powered by LiveJournal.com
Designed by Naoto Kishi