clulab / eidos

Machine reading system for World Modelers
Apache License 2.0
36 stars 24 forks source link

Compositional (re)grounding is not repeatable across serialization #1041

Closed kwalcock closed 3 years ago

kwalcock commented 3 years ago

If we have a read and grounded document in memory, it can be regrounded without the result changing. The two versions serialize exactly the same. Regrounding means that the OntologyHandler grounds every eidosMention in the AnnotatedDocument, even if it has been grounded before Additionally, if the read and grounded document is serialized, deserialized, and serialized again, nothing changes. If, however, the read and grounded document is serialized, deserialized, regrounded, and serialized again, the result changes. The grounding is dependent on something that probably changes order during the serialization/deserialization process, like the keys of a set.

kwalcock commented 3 years ago

The lessThan method in JLDSerializer has been updated. To get right down to the bottom, but hashCode will be used shortly.