Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Figure out how to convey "user intent" via a "knowledge type" constraint #324

Closed
edeutsch opened this issue Apr 7, 2022 · 7 comments
Closed

Comments

@edeutsch
Copy link
Collaborator

edeutsch commented Apr 7, 2022

As proposed last week, it seems useful to try to encode "user intent" via a "knowledge type" constraint in a Query Graph QNode. This would allow greater precision in converting an English question into a Query Graph with nuances about what type of relationships/assertions are being sought.

For example, consider a querier asking "Which drugs treat Alzheimer disease?"
But is the user asking for a simple lookup in the major databases? Wanting drugs with some published evidence of efficacy? computational predictions? inferences? any of the above?

I propose we design a "knowledge type" nuance that can be attached to any QEdge predicate with a controlled vocabulary something like:

  • known to
  • formally approved to
  • experimentally demonstrated to
  • observed in data to
  • computationally predicted to
  • indirectly inferred to
  • could potentially

i.e., this gives a specific modifier to encode questions like:

  • Which drugs are known to treat Alzheimer disease?
  • Which drugs are formally approved to treat Alzheimer disease?
  • Which drugs are experimentally demonstrated to treat Alzheimer disease?
  • Which drugs have been prescribed to treat Alzheimer disease?
  • Which drugs are computationally predicted to treat Alzheimer disease?
  • Which drugs are indirectly inferred to treat Alzheimer disease?
  • Which drugs could potentially treat Alzheimer disease?

The data sources and approaches to answer these different questions could be considered by ARAs.
The last "could potentially" seems like carte blanche to try many different avenues of exploration, as is current being considered for the open ended queries. This provides a specific mechanism for specifying how answering a Query should be approached by an ARA.

Such knowledge types could be synchronized with KG assertions to some degree, as it seems useful to code assertions with similar categories, as is done in ECO:
https://www.ebi.ac.uk/ols/ontologies/eco
and similar ontologies.

Comments?

@vdancik
Copy link
Collaborator

vdancik commented Apr 7, 2022

Would it make sense to add a mechanism to add directives to queries:

"directives": [
    { 
        "directive_type": "hint",
        "applicable_to" : "ARA",
        "directive_context" : "lung cancer"
    }
]

@edeutsch
Copy link
Collaborator Author

I do not understand this comment in the context of this issue. Was the above comment intended for #319? It seems to make more sense in that context?

@ehinderer
Copy link
Contributor

Please see my comment on #319

@ehinderer
Copy link
Contributor

To add to that comment, it might be worth considering starting with a broader set of intention, perhaps 2 intention categories:

  • known, direct lookups (known to, formally approved to, experimentally demonstrated to, observed in data to, computationally predicted to).
  • inferred, indirect path tracing (indirectly inferred to, could potentially).

@edeutsch
Copy link
Collaborator Author

edeutsch commented May 24, 2022

After pondering this a little more, here's a refined idea for today's EPC call:

Eric's idea:

  • The following is a list of concepts for how well a relationship is known: a "knowledge_type" concept.
  • It is presented as a hierarchy of most confidently known to least confidently known.
  • It should apply symmetrically to KG assertions as well as queries.
  • Perhaps not all relationships can support all modifiers
    known to					overwhelming evidence and acceptance for a relationship
    formally approved to			approved by a regulator after extensive evaluation of evidence for a relationship
    clinically demonstrated to			Result of a clinical trial demonstrating a relationship
    experimentally demonstrated to		Experimental result testing the hypothesized relationship
    observed in data to				Observational result without experimental hypothesis testing of the relationship
    NLP understood to				Relationship from literature as understood by a text mining process
    computationally predicted to		Prediction based on a computational model of the relationship
    hypothesized to				Provision of an explicit hypothesis for the relationship
    indirectly inferred to			Potential relationship based on indirect inference

Assertions:
A biolink:treats B
A is xxxxxxxxxxxx treat B

X biolink:molecularly_interacts_with Y
X is xxxxxxxxxxx molecularly_interact_with Y

Queries:
Which drugs biolink:treats disease B?
Which drugs are xxxxxxxxxxxxxx treat disease B?

Which small molecules biolink:molecularly_interacts_with Y?
Which small molecules are xxxxxxxxxxxxxx molecularly_interact_with Y?

  • "Indirectly inferred to" in the context of a query could be the signal for the developing "creative mode".
  • Unless there might be actual assertions with that tag? Maybe "creative mode" should be triggered by a "knowledge_type" that cannot be used for an assertion?

Some existing item from Biolink:

predicate_qualifier_enum:
    description: >-
      constrained list of qualifying terms that soften or expand the definition of the predicate used.
      can be used to constrain or qualify any predicate (any child of related_to).
    permissible_values:
      "predicted":					--> ? computationally predicted to
      "possibly":						--> indirectly inferred to
      "hypothesized":					--> hypothesized to
      "validated":					--> ?
      "supported by real-world evidence":		--> experimentally demonstrated to
      "supported by clinical evidence":		--> clinically demonstrated to

This seems to be reasonably compatible with existing ECO codes:
image

https://academic.oup.com/nar/article/50/D1/D1515/6431816

@ozborn
Copy link

ozborn commented Jun 2, 2022

Agree with Eric's idea need to specify knowledge type, I think the ideal situation would be to harmonize with ECO codes, map to ECO codes or use them directly.

@edeutsch
Copy link
Collaborator Author

The EPC group is actively working on this, so closing this issue.
See https://docs.google.com/document/d/1tHbNng89sOJ59R7krEazBObI61Mo0mvdZXPOTOdNnms/edit#heading=h.2s2aushu15v6

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants