Comments (3)
I'm also playing with some code in python that uses networkx to break cliques.
The algorithm is:
PartitionCliques(G):
for clique in cliques(G):
if size(clique) > N:
SG = subgraph(clique, G)
E = sort(SG.edge, key=confidence)
while |E|:
e = pop(E)
SG.remove(e)
subcliques = cliques(SG)
if len(subcliques) > 1:
PartitionCliques(subgraph(c), SG) for c in subcliques
break
there are possibly more efficient ways. The way this is written it works for bidi and unidi graphs. For boomer we would use diagraphs and asserted edges both directions for equivalence. The existing boomer clique extract should just swap in here.
In theory this could quite brutally remove a lot of informative edges, but this is worth it not to have boomer run forever. So long as broken cliques are reported a curator can handle accordingly. We could also just reduce the overall confidence in any broken cliques. Even a crude measure like reducing confidence by 50% in any clique that was broken from a larger one should be sufficient
from boomer.
Two steps:
1 additional local probability refinement (optional, but will help avoid throwing out things accidentally in next step)
2 for each clique, gradually raise a threshold and throw out any axioms from the clique with Pr < threshold until clique is broken. recursively apply to each sub clique until below desired size.
I think there are some other tickets for step 1. I will add more detail later. A very simple naive approach is to simply look for parallel structures
E.g. given:
- A' eq A
- B' eq B.
then the following reinforce one another:
- A r B
- A' r B'
Boost the weight of both by a constant factor if both present. If only one is present then decrease the weight of the other
This can be done in a more formal way with a probabilistic open world approach with priors for missing information but as a heuristic this can help modify local probs to help bust cliques than are then tractable with global calculations
from boomer.
Does this make sense to you @balhoff? I think it does to me!
from boomer.
Related Issues (20)
- Boomer markdown output HOT 2
- Include SiblingOf in json output HOT 2
- Bayesian calculation of unspecified probabilities from priors
- --output-internal-axioms is dropping disjointness axioms
- Provided more detailed documentation of window-count
- Consider not outputting cliques of size 2 or less HOT 1
- What is the best way to communicate changes in axioms to a user HOT 2
- allow providing prefixes declarations separate from list of prohibited within-namespace equivalents HOT 1
- Output sssom mapping files rather than (just) owl HOT 1
- What do the images mean? HOT 2
- JSON filenames that are hashed have no mention in the `output.md` file HOT 1
- Supporting Mapping QC workflow
- Supporting the Mapping Integration workflow HOT 1
- Report posterior probability of each proposed axiom in a solution
- Docs: Add link to `README.md`
- Add additional diagnostics to figure out points where boomer doesn't complete HOT 1
- fail fast if there are no satisfiable solutions
- "No possible resolution of perplexity" + no results HOT 11
- Merging 14 Ontologies (huge merge) HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from boomer.