Hi Stephen!
Sorry for the delay, here some input finally:
"I tried out the code you mentioned but was not able to get a clear set of results back from NARS. E.g. top 5 concepts"
A command line example:
./NAR shell InspectionOnExit < ./examples/nal/propertymatching.nal | python3 concept_usefulness_filter.py 5 | python3 colorize.py
Without InspectionOnExit ONA won't print the concepts and their content, unless explicitly the *concepts command is input.
To build a knowledge graph, see/use concepts_to_graph.py:
./NAR shell InspectionOnExit < ./examples/nal/propertymatching.nal | python3 concept_usefulness_filter.py 5 | python3 concepts_to_graph.py
besides creating a NetworkX graph it also outputs it as a graphml file.
"I was thinking that I might be able to run multiple NARS instances to build out a set of concept categories and then merge them back together."
Yes that's totally possible! Example getting the best 5 concepts of two runs on different examples (please make sure to pull newest master):
./NAR shell InspectionOnExit < ./examples/nal/propertymatching.nal | python3 concept_usefulness_filter.py 5 > mergedMemory
./NAR shell InspectionOnExit < ./examples/nal/diagnostic.nal | python3 concept_usefulness_filter.py 5 >> mergedMemory
Now, starting an instance with the merged concepts which are 10 in total:
./NAR shell < mergedMemory
or interactively:
cat mergedMemory /dev/stdin | ./NAR shell
or visualizing the merged content and creating a graphml file:
./NAR shell InspectionOnExit < mergedMemory | python3 concept_usefulness_filter.py 10 | python3 concepts_to_graph.py
"I find that NARS tends to forget things or runs out of memory when I send it too much data."
Memory size can be adjusted, but when entering floods of input at some point it will of course reach the limit and will kick out what has been used least often.
"I am trying to use NARS inference engine to create short term memory concepts and a knowledge graph for the long term memory concepts."
"Perhaps I may be using NARS in an unusual way but I like the tool your team built and will try to use its unique inference engine for my work."
The way you use it seems fine to me!
Feel free to play with ConceptNet as well, if you like how this channel works you can of course attach your own KB in a similar fashion, example:
python3 english_to_narsese.py | python3 concept_net_narsese.py | ./NAR shell | python3 colorize.py
A car is made of what?
Answer: <(car * metal) --> make_of>. ...
Best regards,
Patrick