| … | … | @@ -23,13 +23,13 @@ |
| 23 | 23 | ; on pairs, as well as on marginals. |
| 24 | 24 | |
| 25 | 25 | ; Counts are located in the third slot of the TV predicate. |
| 26 | | (define tvp (PredicateNode "*-TruthValueKey-*")) |
| 26 | (define cvp (PredicateNode "*-CountingKey-*")) |
| 27 | 27 | |
| 28 | 28 | (define (incr-counts THING-A THING-B) |
| 29 | | (cog-inc-value! (List THING-A THING-B) tvp 1.0 2) |
| 30 | | (cog-inc-value! (List (AnyNode "left wildcard") THING-B) tvp 1.0 2) |
| 31 | | (cog-inc-value! (List THING-A (AnyNode "right wildcard")) tvp 1.0 2) |
| 32 | | (cog-inc-value! (AnyNode "grand total") tvp 1.0 2)) |
| 29 | (cog-inc-value! (List THING-A THING-B) cvp 1.0 2) |
| 30 | (cog-inc-value! (List (AnyNode "left wildcard") THING-B) cvp 1.0 2) |
| 31 | (cog-inc-value! (List THING-A (AnyNode "right wildcard")) cvp 1.0 2) |
| 32 | (cog-inc-value! (AnyNode "grand total") cvp 1.0 2)) |
| 33 | 33 | |
| 34 | 34 | ; Same as above, but works with strings. It counts how often a pair |
| 35 | 35 | ; was "observed". |
| … | … | @@ -55,11 +55,11 @@ |
| 55 | 55 | (Log2 |
| 56 | 56 | (Divide |
| 57 | 57 | (Times |
| 58 | | (FloatValueOf (List (Variable "$L") (Variable "$R")) tvp) |
| 59 | | (FloatValueOf (AnyNode "grand total") tvp)) |
| 58 | (FloatValueOf (List (Variable "$L") (Variable "$R")) cvp) |
| 59 | (FloatValueOf (AnyNode "grand total") cvp)) |
| 60 | 60 | (Times |
| 61 | | (FloatValueOf (List (Variable "$L") (Any "right wildcard")) tvp) |
| 62 | | (FloatValueOf (List (Any "left wildcard") (Variable "$R")) tvp)))))) |
| 61 | (FloatValueOf (List (Variable "$L") (Any "right wildcard")) cvp) |
| 62 | (FloatValueOf (List (Any "left wildcard") (Variable "$R")) cvp)))))) |
| 63 | 63 | |
| 64 | 64 | ; A utility to install the above formula on a pair. |
| 65 | 65 | ; The CollectionOfLink is used to wrap the formula with a FormulaStream. |
| … | … | @@ -137,13 +137,13 @@ |
| 137 | 137 | (cog-execute! |
| 138 | 138 | (Decimate |
| 139 | 139 | (BoolValueOf (Concept "someplace") (Predicate "mask key")) |
| 140 | | (FloatValueOf (AnyNode "grand total") tvp))) |
| 140 | (FloatValueOf (AnyNode "grand total") cvp))) |
| 141 | 141 | |
| 142 | 142 | ; Wrap it in a utility constructor |
| 143 | 143 | (define (make-deci ATOM) |
| 144 | 144 | (Decimate |
| 145 | 145 | (BoolValueOf (Concept "someplace") (Predicate "mask key")) |
| 146 | | (FloatValueOf ATOM tvp))) |
| 146 | (FloatValueOf ATOM cvp))) |
| 147 | 147 | |
| 148 | 148 | ; A new procedure, that works only on the one item. |
| 149 | 149 | (DefineLink |