Spreading Activation in Soar: An Update Steven Jones Computer Science and Engineering, University of Michigan, Ann Arbor scijones@umich.edu June 13, 2016 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 1 / 28
Overview 1 Problem: Ambiguous Contextualized Retrieval 2 Approach: Spreading Activation The Naive Way 3 Evaluation Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 2 / 28
Problem: Ambiguous Contextualized Retrieval Symbolic Long Term Memories Procedural Semantic Episodic Reinforcement Chunking Cued Retrieval Episodic Learning Appraisal Detector Symbolic Short-Term Memory Decision Procedure Clustering LT Visual Memory Perception ST Visual Memory Action Body Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 3 / 28
Problem: Ambiguous Contextualized Retrieval Ambiguous Cue-based Retrieval The postman[1] mailed[1] the letter[2]. mail noun SMEM instance mailed message To disambiguate: message, character character string string "letter" WMEM prev input mailed "letter" Query string "letter" Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 4 / 28
Problem: Ambiguous Contextualized Retrieval Ambiguous Cue-based Retrieval The postman[1] mailed[1] the letter[2]. SMEM To disambiguate: message, character What if we have more information? mail noun instance character mailed string message string "letter" WMEM prev input mailed "letter" Query string "letter" Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 4 / 28
Problem: Ambiguous Contextualized Retrieval Ambiguous Cue-based Retrieval The postman[1] mailed[1] the letter[2]. To disambiguate: message, character mail noun SMEM instance mailed message P(message mailed) > P(character mailed)? character string string "letter" WMEM input Query prev mailed "letter" string "letter" Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 4 / 28
Approach: Spreading Activation 1 Problem: Ambiguous Contextualized Retrieval 2 Approach: Spreading Activation The Naive Way 3 Evaluation Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 5 / 28
Spreading Activation: The Model.45.45 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 6 / 28
Spreading Activation: The Model.45.405.135.45.135.135 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 6 / 28
Spreading Activation: The Model.45.405.45.4995.135.06075.19575 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 6 / 28
Spreading Activation: The Model.45 Properties Decays with distance from context. More connections to a node give higher value..405.4995.45.135.06075.19575 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 7 / 28
The Naive Way How to calculate? What algorithm?.3.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
The Naive Way How to calculate? What algorithm? 1.2.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
The Naive Way How to calculate? What algorithm? Problems Always recompute from scratch 1.2.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
The Naive Way How to calculate? What algorithm? Problems Always recompute from scratch Won t reuse good values 1.2.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
The Naive Way How to calculate? What algorithm? Problems Always recompute from scratch Won t reuse good values Might not even need calculated values 1.2.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
The Naive Way How to calculate? What algorithm? Problems Wasted Computation 1.2.3.135.435 Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 8 / 28
How to avoid wasteful computation during a task Only process changes Cache already-calculated spread Precalculate Defer processing until queries Don t process in unambiguous queries Only process spread for potential query results Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 9 / 28
How to avoid wasteful computation during a task Only process changes Cache already-calculated spread Precalculate Defer processing until queries Don t process in unambiguous queries Only process spread for potential query results Bold improvements already exist in ACT-R. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 9 / 28
An Example of Waste List for Context: Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange grape Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange grape potato Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange grape potato Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange grape Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste List for Context: apple banana watermelon orange grape Then, ask questions (do queries). Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 10 / 28
An Example of Waste A1 B1 O1 G1 W1 provides is-a is-a is-a provides provides has-sense provides is-a provides is-a apple banana T1 O2 E2 grape V1 watermelon has-sense has-property tree O3 orange edible edible_fruit vine P1 E4 is-a provides is-a C4 E3 T2 potato has-property edible_meat edible has-property color edible_vegetable edible tuber Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 11 / 28
An Example of Waste Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Bold indicates spreading activation calculation. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 12 / 28
Change-Only Processing Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 13 / 28
Change-Only Processing Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 13 / 28
Spread Caching Suppose that at t=-3 and -5, the agent had already encountered apple and watermelon, respectively. Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 14 / 28
Spread Caching Suppose that at t=-3 and -5, the agent had already encountered apple and watermelon, respectively. Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Blue italics indicates reduced computation by caching. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 14 / 28
Precalculation Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 15 / 28
Precalculation Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 15 / 28
Query-Deferred Processing Postpone the spreading calculations until the query (when they are needed). Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 16 / 28
Query-Deferred Processing Postpone the spreading calculations until the query (when they are needed). Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 16 / 28
Ambiguity-Only Processing Cue: Answer: Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 17 / 28
Ambiguity-Only Processing Cue: ˆcapital-of Michigan Answer: Lansing Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 17 / 28
Ambiguity-Only Processing Cue: ˆhas-property edible Answer: Edible Fruit, Edible Vegetable, Edible Meat Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 17 / 28
Ambiguity-Only Processing A1 B1 O1 G1 W1 provides is-a is-a is-a provides provides has-sense provides is-a provides is-a apple banana T1 O2 E2 grape V1 watermelon has-sense has-property tree O3 orange edible edible_fruit vine P1 E4 is-a provides is-a C4 E3 T2 potato has-property edible_meat edible has-property color edible_vegetable edible tuber Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 18 / 28
Candidate-Only Processing A1 B1 O1 G1 W1 provides is-a is-a is-a provides provides has-sense provides is-a provides is-a apple banana T1 O2 E2 grape V1 watermelon has-sense has-property tree O3 orange edible edible_fruit vine P1 E4 is-a provides is-a C4 E3 T2 potato has-property edible_meat edible has-property color edible_vegetable edible tuber Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 19 / 28
Candidate-Only Processing Cue: ˆhas-property edible Answer: Edible Fruit, Edible Vegetable, Edible Meat Recipients of Spread: Edible Fruit, Tree, Color, Vine Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 20 / 28
Candidate-Only Processing Cue: ˆhas-property edible Answer: Edible Fruit, Edible Vegetable, Edible Meat Recipients of Spread: Edible Fruit, Tree, Color, Vine Decision Cycle LTI source 12345678 @A1 (apple) 2345678 @B1 (banana) 345678 @W1 (watermelon) 45678 @O2 (orange) 5678 @G1 (grape) 678 @P1 (potato) Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 20 / 28
Candidate-Only Processing A1 B1 O1 G1 W1 provides is-a is-a is-a provides provides has-sense provides is-a provides is-a apple banana T1 O2 E2 grape V1 watermelon has-sense has-property tree O3 orange edible edible_fruit vine P1 E4 is-a provides is-a C4 E3 T2 potato has-property edible_meat edible has-property color edible_vegetable edible tuber Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 21 / 28
Evaluation Evaluation 1 Problem: Ambiguous Contextualized Retrieval 2 Approach: Spreading Activation The Naive Way 3 Evaluation Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 22 / 28
Evaluation Word Sense Disambiguation Original sentence: The postman put the letter in the mailbox. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 23 / 28
Evaluation Word Sense Disambiguation Original sentence: The postman put the letter in the mailbox. Corpus annotation: The postman[1] put[1] the letter[2] in the mailbox[1]. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 23 / 28
Evaluation Word Sense Disambiguation Original sentence: The postman put the letter in the mailbox. Corpus annotation: The postman[1] put[1] the letter[2] in the mailbox[1]. What the agent receives: postman[?] put[?] letter[?] mailbox[?] letter corresponding to message, not character Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 23 / 28
Evaluation Measure of Task Performance How many guesses does it take to get the right word sense? Time How long does a processing cycle take? Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 24 / 28
Evaluation Measure of Task Performance How many guesses does it take to get the right word sense? Time How long does a processing cycle take? Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 24 / 28
Evaluation Word Sense Disambiguation Data Set - SemCor: Annotated version of a subset of the Brown corpus 352 texts of 2000 words each from fiction, nonfiction, books, journals, but no poetry >200,000 WordNet 3.0 sense references for nouns and verbs Semantic Memory - WordNet 3.0: WordNet synonyms, antonyms, hypernyms, hyponyms, part-of, derivationally-related 470,000 nodes, 1,500,000 edges.5gb Working Memory (Context): Previous words Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 25 / 28
Evaluation Results Spreading Activation Mechanism Spread Time (s) Naive Spreading >100,000 + Change-Only Processing 3316 + Caching 1200 + Precalculation 810 + Query-Deferred Processing 803 + Ambiguity-Only Processing 778 + Candidate-Only Processing 245 Timed performance on the WSD task across seven variants. Rows with prefaced with + denote an additional cumulative improvement. Bold indicates an improvement implemented in ACT-R. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 26 / 28
Conclusion Nuggets and Coal Nuggets Coal Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 27 / 28
Conclusion Nuggets and Coal Nuggets Much faster spreading activation Coal Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 27 / 28
Conclusion Nuggets and Coal Nuggets Much faster spreading activation Worst case is only as bad as previous worst case Coal Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 27 / 28
Conclusion Nuggets and Coal Nuggets Much faster spreading activation Worst case is only as bad as previous worst case Coal No demonstration of spreading activation s utility Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 27 / 28
Conclusion Nuggets and Coal Nuggets Much faster spreading activation Worst case is only as bad as previous worst case Coal No demonstration of spreading activation s utility Precalculation requires large database files Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 27 / 28
Conclusion Future Work Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 28 / 28
Conclusion Future Work Edge Weights Spreading Activation could be made to change over time similarly to Base-level Activation. Steven Jones (U-M) Spreading Activation in Soar June 13, 2016 28 / 28