Skip to content

Misc Scripts

Patrick Hammer edited this page Apr 11, 2021 · 12 revisions

Concept filter Allows to filter for the highest k useful concepts: ./NAR shell | python3 concept_usefulness_filter.py 10

Concept filter Allows to filter for the highest k useful concepts:

./NAR shell | python3 concept_usefulness_filter.py 10

Graph export Together with the previous it allows to visualize and output the most useful concepts:

./NAR shell InspectionOnExit < nalfile.nal | python3 concept_usefulness_filter.py 10 | python3 concepts_to_graph.py

Derivation priority filter Allows to show only derivations above a certain priority threshold:

./NAR shell | python3 DerivationPriorityFilter.py 0.8

Python interface The interface file is available in /misc/Python/NAR.py From there:

>>> import NAR as nar
>>> print(nar.AddInput("<a --> b>."))
{'input': [{'occurrenceTime': 'eternal', 'punctuation': '.', 'term': '<a --> b>', 'truth': {'frequency': '1.000000,', 'confidence': '0.900000'}}], 'derivations': [], 'answers': [], 'executions': []}
>>> print(nar.AddInput("<?1 --> b>?"))
{'input': [{'occurrenceTime': 'eternal', 'punctuation': '?', 'term': '<?1 --> b>'}], 'derivations': [], 'answers': [{'occurrenceTime': 'eternal', 'punctuation': '0', 'term': '<a --> b>', 'truth': {'frequency': '1.000000,', 'confidence': '0.900000'}}], 'executions': []}
>>> print(nar.AddInput("*stats"))
{'countConceptsMatchedTotal': 1.0, 'countConceptsMatchedMax': 1.0, 'countConceptsMatchedAverage': 0.0, 'currentTime': 2.0, 'total_concepts': 1.0, 'Maximum_chain_length_in_concept_hashtable': 1.0, 'Maximum_chain_length_in_atoms_hashtable': 1.0}
>>> nar.Exit()

Example of processing toothbrush.nal with UDPNAR (Continuous run of ONA):
Run with --verbose to see the steps of the demo
Run with --iterations to get an average of real-time required for handling toothbrush.nal

python3 toothbrush_demo.py --verbose
python3 toothbrush_demo.py --iterations 20

IRC interface
Run via irc_nar.py, needs Python 2.

Clone this wiki locally