3 ms·
Can someone help me understand what an ontology is supposed to be or do? I've seen the word come up in a number of HN articles lately and any definition I find
by TallGuyShort 7y ago
Can someone help me understand what an ontology is supposed to be or do? I've seen the word come up in a number of HN articles lately and any definition I find online seems impossibly vague.
- steerpike 7y agoAn ontology is supposed to be a formal way of describing things so that the people who want to discuss their concepts have a very clear and disambiguated set of terms for conducting that discussion. There's more to it than that, but really that's the most practical explanation of ontologies within the most common context you'll likely encounter it. A good example is the BBC Program ontology[0] which you can see the practical usage of in the (still fantastic) talk 'Beyond the polar bear'[1] [0]https://www.bbc.co.uk/ontologies/po https://www.bbc.co.uk/ontologies/po [1]https://www.youtube.com/watch?v=8iaqcf9-riI https://www.youtube.com/watch?v=8iaqcf9-riI
- ImaCake 7y agoIt's a big graph, from graph theory. Think of a bunch of words connected to each other by lines ("edges") where the lines are some kind of causal link (e.g. both involved in processing sugars). It's basically organised like an XML file or JSON. The ontologies are actually quite small to download (46kb for the gene ontology). You can go look at one here [0] The idea of the ontologies is to use the same words for the same things, and have a kind of summary for all the research into the things listed in the ontology. Having this all standardised allows for a lot of interoperability. Big problems with the ontologies is they are years out of date and have poor uptake in many parts of life science research. Which is shame because they are a fantastic fundamental tool, it's just that the life scientists are underfunded and already work ridiculous hours. 0. http://geneontology.org/docs/download-ontology/#go_obo_and_owl http://geneontology.org/docs/download-ontology/#go_obo_and_o...
- zmmmmm 7y agoOne very simple thing it does is help you understand hierarchical semantic relationships. So, for example, you could have sibling => => brother => sister Then you know when eg: parsing text that if you observe the symbol "sister" in one place and "sibling" in another, they could be the same thing. This kind of thing is used in the medical space where one doctor might discribe a problem using a general term and the next in a more specific way and you have to be able to match them.
- antpls 7y agoIsn't it what word2vec does? The algorithm gives vectors to words in such way that words appearing in similar contexts have similar vectors. I guess new deep networks give even better results. Unsupervised methods like w2v look more scalable than hand made ontologies. Maybe ontologies help refine the result of word embeddings in this case?
- gewa 7y agoPlease remember, that these ontologies describe biological systems and are used as a standard for common nomenclature. It's orders of magnitudes harder to derive an ontology describing the localization of proteins in the cell by an algorithm, compared to w2v. Even then, there would be the fundamental issue that the ontology needs to be consistent over time in order to be useful.
- specialist 7y agoGenerally, ontologies are formal attempts at domain bounded knowledge representation modeled using verb-object-subject phrases. https://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning https://en.wikipedia.org/wiki/Knowledge_representation_and_r... https://en.wikipedia.org/wiki/Verb–object–subject https://en.wikipedia.org/wiki/Verb–object–subject I worked for a SemanticWeb startup. About the time of the folksonomy debates. Lots of pretension and malarky. (The CTO liked to wax poetic about metametametadata. Not kidding.) Once I figured out that it's all just typed & labeled nodes and edges, everything kind of fell into place. Various modeling systems will allow some parts to be implicit, for better conciseness. Analogy: when implementing a DAG, parents and children, the "edges" can be implemented with an array, which is mostly ignored from the outside.