49 comments

[ 5.4 ms ] story [ 98.2 ms ] thread
(comment deleted)
(comment deleted)
The sample set contains:

    {
        "causal_relation": {
            "cause": {
                "concept": "boom"
            },
            "effect": {
                "concept": "bust"
            }
        }
    }
It's practically a hedge-fund-in-a-box.
> CauseNet aims at creating a causal knowledge base that comprises all human causal knowledge and to separate it from mere causal beliefs

Pretty bold to use a picture of philosophers as your splash page and then make a casual claim like this. To say the least, this is an impossible task!

The tech looks cool and I'm excited to see how I might be able to work it into my stuff and/or contribute. But I'd encourage the authors to reign in the rhetoric...

Indeed. I can't take an epistemology project seriously if it has no humility.

Building a perfectly accurate model of the world isn't possible. We need to create tools that make it easier for regular people to build more accurate models, not delude ourselves with dreams of perfection.

It's nice to see more semantic web experiments. I always wanted to do more reasoning with ontologies, etc., and it's such an amazing idea, to reference objects/persons/locations/concepts from the real world with uris and just add labeled arrows between them.

This is such a cool schemaless approach and has so much potential for open data linking, classical reasoning, LLM reasoning. But open data (together with RSS) has been dead for a while as all big companies have become just data hoarders. And frankly, while the concept and the possibilities are so cool, the graph databases are just not that fast and also not fun to program.

semantic web/OWL was always way too heavy to imagine humans using, you could imagine AI doing the heavy lifting here though..
I know it's a reductive take to point to a single mistake and act like the whole project might be a bit futile (maybe it's a rarity) but this example in their sample is really quite awful if the idea is to give AI better epistemics:

    {
        "causal_relation": {
            "cause": {
                "concept": "vaccines"
            },
            "effect": {
                "concept": "autism"
            }
        }
    },
... seriously? Then again, they do say these are just "causal beliefs" expressed on the internet, but seems like some stronger filtering of which beliefs to adopt ought to be exercised for an downstream usecase.
Reminds me of the early attempts at hand categorising knowledge for AI
"The map is not the territory" ensures that bias and mistakes are inextricable from the entire AI project. I don't want to get all Jaron Lanier about it, but they're fundamental terms in the vocabulary of simulated intelligence.
This makes little sense to me. Ontologies and all that have been tried and have always been found to be too brittle. Take the examples from the front page (which I expect to be among the best in their set): human_activity => climate_change. Those are such a broad concepts that it's practically useless. Or disease => death. There's no nuance at all. There isn't even a definition of what "disease" is, let alone a way to express that myxomatosis is lethal for only European rabbits, not humans, nor gold fish.
Democritus (b 460BCE) said, “I would rather discover one cause than gain the kingdom of Persia,” which suggests that finding true causes is rather difficult.
Agreed. About the strongest we can hope for are causal mechanisms, and most of those will be at most hypotheses and/or partial explanations that only apply under certain conditions.

Honestly, I don’t know understand how these so-ontologies have persisted. Who is investing in this space, and why?

But “disease => death” + AI => surely at least few billion in VC funding.
Given we've tried to develop such ontologies constantly for thousands of years now. What do you think the cause for such hopeless optimism might be? If only we had a database of causal relationships to consult...
It's pretty easy to outline a high level ontology and let LLMs annotate/link it into something pretty useful, you can even have a benchmark suite using that ontology via LLM as a judge to progressively optimize it.
What is an ontology exactly? I see Palantir talking about it all the time and it just sounds like vague marketing.
I'm actively working with ontologies (disclaimer: as a researcher), and yours is the top comment, so I'll try to make some counterclaims here. No relation to this work tho.

> Ontologies and all that have been tried and have always been found to be too brittle.

I'd invite you to look at ontologies as nothing more than representations of things we know in some text-based format. If you've ever written an if statement, used OOP, trained a decision tree, or sketched an ER diagram, you've also represented known things in a particular text-based format.

We probably can agree that all these things are ubiquitous and provide value. It's just that those representations are not serialized as OWL/RDF, claim less about being accurate models of real-world things, and are often coupled with other things (i.e., functions).

This may seem reductionist in the sense of "we're all made of atoms", but I think it's important to understand why ontologies as a concept stick: they provide atomic components for expressing any knowledge in a dedicated place, and reasoning about it. Maybe the serializations, engines, results or creators suck, or maybe codebase + database is enough for most needs, but it's hard to not see the value of having some deterministic knowledge about a domain.

If you take _ontology_ to mean OWL/RDF, this paper wouldn't qualify, so I'm assuming you took the broader meaning (i.e., _semantic triples_).

> Take the examples from the front page (which I expect to be among the best in their set)

Most scientific work will be in-progress, not WordNet-level (which also needs a lot of funding to get there). You ideally want to show a very simple example, and then provide representative examples that signal the level of quality that other contributors/scientists can expect.

Here, they're explicit about creating triples of whatever causal statements they found on Wikipedia. I wouldn't expect it to be immediately useful to me, unless I dedicate time to prune and iron out things of interest.

> human_activity => climate change. Those are such a broad concepts that it's practically useless.

Disagree. If you had one metric that aggregated different measurements of climate change-inducing human activity, and one metric that did the same for climate change, you could create some predictions about N-order effects from climate change. Statistical analysis anyway requires you to make an assumption about the causal relationship behind what you're investigating.

So, if this the level of detail you need, this helps you potentially find new hypotheses just based on Nth order causal relations in Wikipedia text. It's also valuable to show where there is not enough detail.

> Or disease => death. There's no nuance at all.

Aside from my point above - haven't looked at the source data, but I doubt it stops at that level. But even if it does, it's 11 million things with provenance you can play with or add detail to.

Or you can also show that your method or choice of source data gets more conceptual/causal detail out of Wikipedia, or that their approach isn't replicable, or that they did a bad job, etc. These are all very useful contributions.

> I'd invite you to look at ontologies as nothing more than representations of things we know in some text-based format.

That's because we know how to interpret the concepts used in these representations, in relation to each other. It's just a syntactic change.

You might have a point if it's used as a kind of search engine: "show me wikipedia articles where X causes Y?" (although there is at least one source besides wikipedia, but you get my drift).

> Aside from my point above - haven't looked at the source data, but I doubt it stops at that level.

It does. It isn't even a triple, it's a pair: (cause, effect). There's no other relation than "causes". And if I skimmed the article correctly, they just take noun phrases and slap an underscore between the words and call it a concept. There's no meaning attached to the labels.

But the higher-order causations you mention are going to be pretty useless if there's no way on how to interpret them. It'll only work for highly specialized, unambiguous concepts, like myxomatosis (which is akin to encoding knowledge in the labels themselves), and the broad nature of many of the concepts will lead to quickly decaying usefulness when the length of the path increases. Here are some random examples (length 4 and 8, no posterior selection) from their "precision" set (197k pairs):

    ['mistake', 'deaths', 'riots', 'violence']
    ['higher_operating_income', 'increase_in_operating_income', 'increase_in_net_income', 'increase']
    ['mail_delivery', 'delays', 'decline_in_revenue', 'decrease']
    ['wastewater', 'environmental_problems', 'problems', 'treatment']
    ['sensor', 'alarm', 'alarm', 'alarm']
    ['thatch', 'problems', 'cost_overruns', 'project_delays']
    ['smoking_pot', 'lung_cancer', 'shortness_of_breath', 'conditions']
    ['older_medications', 'side_effects', 'physical_damage', 'loss']
    ['less_fat', 'weight_loss', 'death', 'uncertainties']
    ['diesel_particles', 'cancer', 'damages', 'injuries']
    ['malfunction_in_the_heating_unit', 'fire', 'fire_damage', 'claims']
    ['drug-resistant_malaria', 'deaths', 'violence', 'extreme_poverty']
    ['fairness_in_circumstances', 'stress', 'backache', 'aching_muscles']
    ['curved_spine', 'back_pain', 'difficulties', 'stress', 'difficulties', 'delay', 'problem', 'serious_complications']
    ['obama', 'high_gas_prices', 'recession', 'hardship', 'happiness', 'success', 'promotions', 'bonuses']
    ['financial_devastation', 'bankruptcy', 'stigma', 'homelessness', 'health_problems', 'deaths', 'pain', 'quality_of_life']
    ['methylmercury', 'neurological_damage', 'seizures', 'changes', 'crisis', 'growth', 'problems', 'birth_defects']
The latter is probably correct, but the chain of reasoning is false...

This one is cherry-picked, but I found it to funny to omit:

    ['agnosticism', 'despair', 'feelings', 'aggression', 'action', 'riot', 'arrest', 'embarrassment', 'problems', 'black_holes']

   > There's no other relation than "causes".
Looking at their Neo4j graph, they also retain the provenance of the causal relation in "claimedIn" relations between the reified triple of each cause-effect pair. So, that's at least marginally useful for fact-checking or quality evals.

   > they just take noun phrases and slap an underscore between the words and call it a concept.
Not to defend lazy approaches, but you could make this point about tokens also ("take any bunch of characters that happens often enough, and call it a token").

   > It'll only work for highly specialized, unambiguous concepts 
Fair point. Practically, there's not much use in this unless you really dedicate time to figure out what's meant by each concept, and prune junk. And by that time, you may as well make your own pairs.

But from a research POV, hardly anyone will go through such effort, so I still find it quite useful. Some potential questions that I could derive from this (aside from ~110 works citing it since 2020, which is not bad for KRR work):

- What is the quality of causal relations (e.g., diagnostic decision trees) in medical articles?

- How can the original scientific provenance of cause-effect pairs best be represented?

- Which extracted causes are true variables in some effect, and to what extent/direction? (i.e., an ablation study at scale, provided you can find appropriate data)

True.

I think we look at it from different sides. Mine is "how good will this be in independently running code" (where 80% correctness is minimally needed), yours seems to be more "how well does this represent our knowledge" (from different angles).

> you could make this point about tokens also ("take any bunch of characters that happens often enough, and call it a token").

My reason was more that such an approach doesn't work well with (unrestricted natural language) text. E.g. side_effects => physical_damage: What side effects? (Why plural?) Not all cause physical damage. And not all side effects that cause physical damage cause the same damage. The differences are described elsewhere in the text, but not consistent enough to extend the token with that information, so just associating literal excerpts from a text will practically guarantee underspecification (except for practically unambiguous term). The effectiveness will be language dependent, of course.

Anyway...

I have some faith in this process. With enough facts, you get contradictions. Weighing contradicting vectors is a way of making decisions. So overall collecting a bunch of weakly connected facts might actually be useful. I'd like to see that in action.
This reminds me of an article I read that was posted on HN only a few days ago: Uncertain<T>[1]. I think that a causality graph like this necessarily needs a concept of uncertainty to preserve nuance. I don't know whether this would be practical in terms of compute, but I'd think combining traditional NLP techniques with LLM analysis may make it so?

[1] https://github.com/mattt/Uncertain

I wonder how they will quantize causality. Sometimes a particular cause has different, and even opposite, effects.

Alcohol causes anxiety. At the same time it causes relaxation. These effects depend on time frame, and many individual circumstances.

This is a single example but the world is full of them. Codifying causality will involve a certain amount of bias and belief. That does not lead to a better world.

I was hoping this would be actual normalized time series data and correlation ratios. Such a dataset would be interesting for forecasting.
I don’t know if it’s inadvertent, but it’s headed toward just becoming an engine for over fitted generalizations. Each casual pair will just emerge based on frequency, which will reinforce itself in preemptively and prematurely classifying all future information.

Unfortunately, frequency is the primary way AI works, but it will never be accurate for causality because causality always has the dynamic that things can happen just “because”. It’s hacked into LLMs via deliberate randomness in next-token prediction.

the cyc of this current ai winter
this will be super cool if it can be done!
(comment deleted)
A cool idea, in desperate need of an example use case.
Why not use PROLOG then, is the essence of cause and effect in programming. And also can expound syllogisms.
Causality is literally impossible to deduce...
Can't an LLM extract this type of information with reasonably high accuracy?
I read it as "casual" rather than "causal", got very dissapointed while reading the article!

An inventory of casual knowledge would be really fun, although it's hard to think what it would consist of now that I think about it...

There is this concept of "hidden knowledge" about all the things you know at work that no one really thinks about is knowledge so it's hard to let newcomers know about it.

But that does sound different than "casual knowledge", and so does "trivia".

Oh well!

Could you be referring to what is known as tacit knowledge?