@@ -58,7 +58,7 @@ <h3>Maven POM</h3>
58
58
<dependency>< br />
59
59
<groupId>org.aika-software</groupId>< br />
60
60
<artifactId>aika</artifactId>< br />
61
- <version>1.1 .0</version>< br />
61
+ <version>1.3 .0</version>< br />
62
62
</dependency>< br />
63
63
</ b >
64
64
</ p >
@@ -80,7 +80,7 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
80
80
HashMap<String, Neuron> inputNeurons = new HashMap< > ();
81
81
82
82
for(String word: new String[] {"jackson", "cook"}) {
83
- Neuron in = m.createNeuron("W-" + word);
83
+ Neuron in = m.createNeuron("W-" + word, INPUT );
84
84
85
85
inputNeurons.put(word, in);
86
86
}
@@ -93,9 +93,9 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
93
93
< div class ="prettyprint-code ">
94
94
< pre class ="prettyprint ">
95
95
< code class ="language-java ">
96
- Neuron forenameCategory = m.createNeuron("C-forename");
97
- Neuron surnameCategory = m.createNeuron("C-surname");
98
- Neuron inhibitingN = m.createNeuron("INHIB");
96
+ Neuron forenameCategory = m.createNeuron("C-forename", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT );
97
+ Neuron surnameCategory = m.createNeuron("C-surname", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT );
98
+ Neuron inhibitingN = m.createNeuron("INHIB", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT );
99
99
</ code >
100
100
</ pre >
101
101
</ div >
@@ -114,10 +114,8 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
114
114
< pre class ="prettyprint ">
115
115
< code class ="language-java ">
116
116
Neuron cookSurnameEntity = Neuron.init(
117
- m.createNeuron("E-cook (surname)"),
117
+ m.createNeuron("E-cook (surname)", EXCITATORY, RECTIFIED_HYPERBOLIC_TANGENT ),
118
118
6.0, // adjusts the bias
119
- RECTIFIED_HYPERBOLIC_TANGENT,
120
- EXCITATORY,
121
119
new Synapse.Builder() // Requires the word to be recognized
122
120
.setSynapseId(0)
123
121
.setNeuron(inputNeurons.get("cook"))
@@ -165,8 +163,6 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
165
163
Neuron.init(
166
164
forenameCategory,
167
165
0.0,
168
- RECTIFIED_LINEAR_UNIT,
169
- EXCITATORY,
170
166
new Synapse.Builder() // In this example there is only one forename considered.
171
167
.setSynapseId(0)
172
168
.setNeuron(jacksonForenameEntity)
@@ -180,8 +176,6 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
180
176
Neuron.init(
181
177
surnameCategory,
182
178
0.0,
183
- RECTIFIED_LINEAR_UNIT,
184
- EXCITATORY,
185
179
new Synapse.Builder()
186
180
.setSynapseId(0)
187
181
.setNeuron(cookSurnameEntity)
@@ -204,8 +198,6 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
204
198
Neuron.init(
205
199
inhibitingN,
206
200
0.0,
207
- RECTIFIED_LINEAR_UNIT,
208
- INHIBITORY,
209
201
new Synapse.Builder().setNeuron(cookProfessionEntity)
210
202
.setSynapseId(0)
211
203
.setWeight(1.0)
@@ -279,23 +271,27 @@ <h3>Named Entity Recognition / Entity Resolution example</h3>
279
271
< pre class ="prettyprint ">
280
272
< code class ="language-java ">
281
273
282
- Activation ID - Final Decision - Slots | Identity - Neuron Label - Logic Layer - Upper Bound -
274
+ Activation ID - Neuron Type - Final Decision - Slots (Ranges) | Identity - Neuron Label - Logic Layer - Upper Bound -
283
275
Value | Sum | Weight - Input Value | Target Value
284
276
285
- ...
286
- 3 - SELECTED - (0:4, 1:12) () - C-forename - OR[] - V:1.0 Net:1.0 W:0.0
287
- 4 - SELECTED - (0:4, 1:12) () - INHIB - OR[] - V:1.0 Net:1.0 W:0.0
288
- 1 - SELECTED - (0:4, 1:12) () - W-jackson - OR[] - V:1.0 Net:0.0 W:0.0 - IV:1.0
289
- 2 - SELECTED - (0:4, 1:12) () - E-jackson (forename) - V:1.0 Net:6.0 W:6.0
290
- 5 - EXCLUDED - (0:4, 1:12) () - E-jackson (city) -
291
- 8 - SELECTED - (0:12, 1:17) () - C-surname - OR[] - V:1.0 Net:1.0 W:0.0
292
- 9 - SELECTED - (0:12, 1:17) () - INHIB - OR[] - V:1.0 Net:1.0 W:0.0
293
- 6 - SELECTED - (0:12, 1:17) () - W-cook - OR[] - V:1.0 Net:0.0 W:0.0 - IV:1.0
294
- 7 - SELECTED - (0:12, 1:17) () - E-cook (surname) - V:1.0 Net:8.0 W:8.0
295
- 10 - EXCLUDED - (0:12, 1:17) () - E-cook (profession) -
296
- ...
297
-
298
- Final SearchNode:8 WeightSum:13.999
277
+ 0 INPUT - - (0:0, 1:4) "mr. " () - W-mr. - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
278
+ 4 INHIBITORY - - (0:4, 1:12) "jackson " () - C-forename - V:1.0 UB:1.0 Net:1.0 W:0.0
279
+ 5 INHIBITORY - - (0:4, 1:12) "jackson " () - INHIB - V:1.0 UB:1.0 Net:1.0 W:0.0
280
+ 1 INPUT - - (0:4, 1:12) "jackson " () - W-jackson - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
281
+ 2 EXCITATORY - SELECTED - (0:4, 1:12) "jackson " () - E-jackson (forename) - V:1.0 UB:1.0 Net:6.0 W:6.0
282
+ 3 EXCITATORY - EXCLUDED - (0:4, 1:12) "jackson " () - E-jackson (city) - V:0.0 UB:0.0 Net:-95.0 W:0.0
283
+ 9 INHIBITORY - - (0:12, 1:17) "cook " () - C-surname - V:1.0 UB:1.0 Net:1.0 W:0.0
284
+ 10 INHIBITORY - - (0:12, 1:17) "cook " () - INHIB - V:1.0 UB:1.0 Net:1.0 W:0.0
285
+ 6 INPUT - - (0:12, 1:17) "cook " () - W-cook - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
286
+ 7 EXCITATORY - SELECTED - (0:12, 1:17) "cook " () - E-cook (surname) - V:1.0 UB:1.0 Net:6.0 W:6.0
287
+ 8 EXCITATORY - EXCLUDED - (0:12, 1:17) "cook " () - E-cook (profession) - V:0.0 UB:0.0 Net:-95.0 W:0.0
288
+ 11 INPUT - - (0:17, 1:21) "was " () - W-was - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
289
+ 12 INPUT - - (0:21, 1:26) "born " () - W-born - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
290
+ 13 INPUT - - (0:26, 1:29) "in " () - W-in - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
291
+ 14 INPUT - - (0:29, 1:33) "new " () - W-new - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
292
+ 15 INPUT - - (0:33, 1:38) "york " () - W-york - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
293
+
294
+ Final SearchNode:6 WeightSum:12.0
299
295
</ code >
300
296
</ pre >
301
297
</ div >
@@ -316,19 +312,17 @@ <h3>Mutual exclusion example</h3>
316
312
Model m = new Model();
317
313
318
314
// Create the input neurons for the network.
319
- Neuron inA = m.createNeuron("IN-A");
320
- Neuron inB = m.createNeuron("IN-B");
321
- Neuron inC = m.createNeuron("IN-C");
315
+ Neuron inA = m.createNeuron("IN-A", INPUT );
316
+ Neuron inB = m.createNeuron("IN-B", INPUT );
317
+ Neuron inC = m.createNeuron("IN-C", INPUT );
322
318
323
319
// Instantiate the inhibitory neuron. Its inputs will be added later on.
324
320
Neuron inhibN = m.createNeuron("INHIB");
325
321
326
322
// Create three neurons that might be suppressed by the inhibitory neuron.
327
323
Neuron pA = Neuron.init(
328
- m.createNeuron("A"),
324
+ m.createNeuron("A", EXCITATORY ),
329
325
3.0,
330
- RECTIFIED_HYPERBOLIC_TANGENT,
331
- EXCITATORY,
332
326
new Synapse.Builder()
333
327
.setSynapseId(0)
334
328
.setNeuron(inA)
@@ -352,10 +346,8 @@ <h3>Mutual exclusion example</h3>
352
346
);
353
347
354
348
Neuron pB = Neuron.init(
355
- m.createNeuron("B"),
349
+ m.createNeuron("B", EXCITATORY ),
356
350
5.0,
357
- RECTIFIED_HYPERBOLIC_TANGENT,
358
- EXCITATORY,
359
351
new Synapse.Builder()
360
352
.setSynapseId(0)
361
353
.setNeuron(inB)
@@ -379,10 +371,8 @@ <h3>Mutual exclusion example</h3>
379
371
);
380
372
381
373
Neuron pC = Neuron.init(
382
- m.createNeuron("C"),
374
+ m.createNeuron("C", EXCITATORY ),
383
375
2.0,
384
- RECTIFIED_HYPERBOLIC_TANGENT,
385
- EXCITATORY,
386
376
new Synapse.Builder()
387
377
.setSynapseId(0)
388
378
.setNeuron(inC)
@@ -409,8 +399,6 @@ <h3>Mutual exclusion example</h3>
409
399
Neuron.init(
410
400
inhibN,
411
401
0.0,
412
- RECTIFIED_LINEAR_UNIT,
413
- INHIBITORY,
414
402
new Synapse.Builder()
415
403
.setSynapseId(0)
416
404
.setNeuron(pA)
@@ -443,10 +431,9 @@ <h3>Mutual exclusion example</h3>
443
431
.setRelation(EQUALS)
444
432
);
445
433
446
- Neuron outN = Neuron.init(m.createNeuron("OUT"),
434
+ Neuron outN = Neuron.init(
435
+ m.createNeuron("OUT", EXCITATORY),
447
436
0.0,
448
- RECTIFIED_HYPERBOLIC_TANGENT,
449
- EXCITATORY,
450
437
new Synapse.Builder()
451
438
.setSynapseId(0)
452
439
.setNeuron(pB)
@@ -486,17 +473,17 @@ <h3>Mutual exclusion example</h3>
486
473
487
474
< pre class ="prettyprint ">
488
475
< code class ="language-java ">
489
- Activation ID - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
476
+ Activation ID - Neuron Type - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
490
477
Value | Net | Weight - Input Value | Target Value
491
478
492
- 0 - SELECTED - (0:0, 1:1) () - IN-A - V:1.0 Net:0.0 W:0.0 - IV:1.0
493
- 3 - SELECTED - (0:0, 1:1) () - IN-B - V:1.0 Net:0.0 W:0.0 - IV:1.0
494
- 6 - SELECTED - (0:0, 1:1) () - IN-C - V:1.0 Net:0.0 W:0.0 - IV:1.0
495
- 2 - SELECTED - (0:0, 1:1) () - INHIB - V:1.0 Net:1.0 W:0.0
496
- 1 - EXCLUDED - (0:0, 1:1) () - A -
497
- 4 - SELECTED - (0:0, 1:1) () - B - V:1.0 Net:5.0 W:5.0
498
- 7 - EXCLUDED - (0:0, 1:1) () - C -
499
- 5 - SELECTED - (0:0, 1:1) () - OUT - V:0.762 Net:1.0 W:0.0
479
+ 0 INPUT - - (0:0, 1:1) "f" () - IN-A - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
480
+ 3 INPUT - - (0:0, 1:1) "f" () - IN-B - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
481
+ 6 INPUT - - (0:0, 1:1) "f" () - IN-C - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
482
+ 2 INHIBITORY - - (0:0, 1:1) "f" () - INHIB - V:1.0 UB :1.0 Net:1.0 W:0.0
483
+ 1 EXCITATORY - EXCLUDED - (0:0, 1:1) "f" () - A - V:0.0 UB:0.0 Net:-97.0 W:0.0
484
+ 4 EXCITATORY - SELECTED - (0:0, 1:1) "f" () - B - V:1.0 UB :1.0 Net:5.0 W:5.0
485
+ 7 EXCITATORY - EXCLUDED - (0:0, 1:1) "f" () - C - V:0.0 UB:0.0 Net:-98.0 W:0.0
486
+ 5 INHIBITORY - - (0:0, 1:1) "f" () - OUT - V:0.762 UB :0.762 Net:1.0 W:0.0
500
487
501
488
Final SearchNode:10 WeightSum:5.0
502
489
</ code >
@@ -518,16 +505,14 @@ <h3>Pattern matching example</h3>
518
505
519
506
// Create an input neuron for every letter in this example.
520
507
for(char c: new char[] {'a', 'b', 'c', 'd', 'e', 'f'}) {
521
- Neuron in = m.createNeuron(c + "");
508
+ Neuron in = m.createNeuron(c + "", INPUT );
522
509
523
510
inputNeurons.put(c, in);
524
511
}
525
512
526
513
Neuron pattern = Neuron.init(
527
- m.createNeuron("BCDE"),
514
+ m.createNeuron("BCDE", EXCITATORY ),
528
515
5.0,
529
- RECTIFIED_HYPERBOLIC_TANGENT,
530
- EXCITATORY,
531
516
new Synapse.Builder()
532
517
.setSynapseId(0)
533
518
.setNeuron(inputNeurons.get('b'))
@@ -605,15 +590,15 @@ <h3>Pattern matching example</h3>
605
590
< div class ="prettyprint-code ">
606
591
< pre class ="prettyprint ">
607
592
< code class ="language-java ">
608
- Activation ID - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
593
+ Activation ID - Neuron Type - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
609
594
Value | Net | Weight - Input Value | Target Value
610
595
611
- 0 - SELECTED - (0:0, 1:2) () - a - V:1.0 Net:0.0 W:0.0 - IV:1.0
612
- 1 - SELECTED - (0:2, 1:4) () - b - V:1.0 Net:0.0 W:0.0 - IV:1.0
613
- 5 - SELECTED - (0:2, 1:10) () - BCDE - V:1.0 Net:5.0 W:0.0
614
- 2 - SELECTED - (0:4, 1:6) () - c - V:1.0 Net:0.0 W:0.0 - IV:1.0
615
- 3 - SELECTED - (0:6, 1:8) () - d - V:1.0 Net:0.0 W:0.0 - IV:1.0
616
- 4 - SELECTED - (0:8, 1:10) () - e - V:1.0 Net:0.0 W:0.0 - IV:1.0
596
+ 0 INPUT - - (0:0, 1:2) "a " () - a - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
597
+ 1 INPUT - - (0:2, 1:4) "b " () - b - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
598
+ 5 EXCITATORY - SELECTED - (0:2, 1:10) "b c d e " () - BCDE - V:1.0 UB :1.0 Net:5.0 W:0.0
599
+ 2 INPUT - - (0:4, 1:6) "c " () - c - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
600
+ 3 INPUT - - (0:6, 1:8) "d " () - d - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
601
+ 4 INPUT - - (0:8, 1:10) "e " () - e - V:1.0 UB :1.0 Net:0.0 W:0.0 - IV:1.0
617
602
618
603
Final SearchNode:1 WeightSum:0.0
619
604
</ code >
0 commit comments