I have 2 disparate data models and I want to identify when they are talking about conceptually similar things.
- All elements are constructed from the same basis set of 60+ observables. Compound elements are allowed. (For example: Room has 'Volume' and 'Temperature', House has 'Room' and 'Capacity')
- The basic approach needs to use only structural properties leveraging the commonality of the observables. The names of the entities are ignored at this stage.
- I will need to influence the matching with different factors. (Like input from the user saying these 2 are definitely the same. Or some NLP analysis saying the names are similar)
I treated the observables as basis vectors, then entities are constructed using vector sum. So in the above example, (House = Room + Capacity = Volume + Temperature + Capacity = 100 + 010 + 001 = 111). Then I used a stochastic grapth-matching algorithm, FastPFP , to perform the identification. The results were not very good on my test models. I have not figured out how to extend this approach into taking 'advice'. I also have an issue where circular dependencies are allowed, and the vector sum fails.
I am wondering if there is a whole different way to think about this that would work better. Maybe a machine learning approach.