This slide cover the Crospell Engine; an engine made with multiple approaches for Natural Language Processing; NLP. It covers a wide variety of topics in text and image processing. From spell checking to topics prediction. It's a project made in late 2012 and delivered in early 2013.
45. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
List<Suggestion
>
46. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
List<Suggestion
>
47. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Word
List<Suggestion
Variations
>
48. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Word
List<Suggestion
Variations
>
49. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Word
List<Suggestion
Variations
>
50. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Word
List<Suggestion
Variations
>
51. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Suggestion Word
List<Suggestion s Handler Variations
>
52. CyberSpell – Dictionary Search
Model
Dictionary
Input Word Search Dictionary
Handler
Suggestion Word
List<Suggestion s Handler Variations
>
53. CyberSpell – Dictionary Search
Model
Dictionary
“tade” Search Dictionary
Handler
Suggestion Word
List<Suggestion s Handler Variations
>
54. CyberSpell – Dictionary Search
Model
Dictionary
“tade” Search Dictionary
Handler
Suggestion “ade”,
List<Suggestion s Handler “tde”, ..etc
>
55. CyberSpell – Dictionary Search
Model
Dictionary
“tade” Search Dictionary
Handler
CyperFa
st
Mode
Made
Take
Suggestion “ade”,
Trade
s Handler “tde”, ..etc
Tide
Take
Bade
Fade
7
56. CyberSpell – Dictionary Search
Model
Dictionary
“tade” Search Dictionary
Handler
CyperFa Normal
st Mode
Mode
Made Made
Take Take
Suggestion “ade”,
Trade Trade
s Handler “tde”, ..etc
Tide …
Take The
Bade Have
Fade ...
7 128
59. CyberSpell – Keyboard Map
<?xml version="1.0" encoding="utf-8"?>
<KeyboardMap>
<KeyboardRow RowNum="0">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[` 1 2 3 4 5 6 7 8 9 0 - =]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[~ ! @ # $ % ^ & * ( ) _ +]]>
</KeyboardRowKeys>
</KeyboardRow>
<KeyboardRow RowNum="1">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[q w e r t y u i o p [ ]]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[Q W E R T Y U I O P { }]]>
</KeyboardRowKeys>
</KeyboardRow>
60. CyberSpell – Keyboard Map
<?xml version="1.0" encoding="utf-8"?>
<KeyboardMap>
<KeyboardRow RowNum="0">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[` 1 2 3 4 5 6 7 8 9 0 - =]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[~ ! @ # $ % ^ & * ( ) _ +]]>
</KeyboardRowKeys>
</KeyboardRow>
<KeyboardRow RowNum="1">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[q w e r t y u i o p [ ]]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[Q W E R T Y U I O P { }]]>
</KeyboardRowKeys>
</KeyboardRow>
61. CyberSpell – Keyboard Map
<?xml version="1.0" encoding="utf-8"?>
<KeyboardMap>
<KeyboardRow RowNum="0">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[` 1 2 3 4 5 6 7 8 9 0 - =]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[~ ! @ # $ % ^ & * ( ) _ +]]>
</KeyboardRowKeys>
</KeyboardRow>
<KeyboardRow RowNum="1">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[q w e r t y u i o p [ ]]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[Q W E R T Y U I O P { }]]>
</KeyboardRowKeys>
</KeyboardRow>
62. CyberSpell – Keyboard Map
<?xml version="1.0" encoding="utf-8"?>
<KeyboardMap>
<KeyboardRow RowNum="0">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[` 1 2 3 4 5 6 7 8 9 0 - =]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[~ ! @ # $ % ^ & * ( ) _ +]]>
</KeyboardRowKeys>
</KeyboardRow>
<KeyboardRow RowNum="1">
<KeyboardRowKeys Layer="0" ShiftEnabled="false">
<![CDATA[q w e r t y u i o p [ ]]]>
</KeyboardRowKeys>
<KeyboardRowKeys Layer="1" ShiftEnabled="true">
<![CDATA[Q W E R T Y U I O P { }]]>
</KeyboardRowKeys>
</KeyboardRow>
64. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
65. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
66. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
67. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
68. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
69. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - =
Q E R T Y U I O P [ ]
A S D F G H J K L ; „
Z X C V B N M , , . /
70. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - =
Q E R T Y U I O P [ ]
A S D F G H J K L ; „
Z X C V B N M , , . /
71. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - =
Q E R T Y U I O P [ ]
A S D F G H J K L ; „
Z X C V B N M , , . /
72. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - =
Q E R T Y U I O P [ ]
A S D F G H J K L ; „
Z X C V B N M , , . /
73. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
74. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
75. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
76. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
77. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
78. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
79. CyberSpell – Keyboard Map
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
80. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
81. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
82. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
83. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
84. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
85. CyberSpell – Nonlinear Dist.
` 1 2 3 4 5 6 7 8 9 0 - = <
Tab Q W E R T Y U I O P [ ] Enter
Caps A S D F G H J K L ; „
Shift Z X C V B N M , , . / Shift
92. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast
[154]Made
[87]Take
[52]Trade
[13]Tide
[5]Tale
[2]Bade
[1]Fade
7
93. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod
e
[154]Made [154]Made
[87]Take [87]Take
[52]Trade [52]Trade
[13]Tide …
[5]Tale The
[2]Bade Have
[1]Fade ...
7 128
94. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod UserPref
e
[154]Made [154]Made [5]Take
[87]Take [87]Take [4]Made
[52]Trade [52]Trade [1]Trade
[13]Tide … [13]Tide
[5]Tale The [5]Tale
[2]Bade Have [2]Bade
[1]Fade ... [1]Fade
7 128 3
95. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod UserPref
e
[154]Made [154]Made [5]Take
[87]Take [87]Take [4]Made
[52]Trade [52]Trade [1]Trade
[13]Tide … [13]Tide
[5]Tale The [5]Tale
[2]Bade Have [2]Bade
[1]Fade ... [1]Fade
7 128 3
96. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod UserPref KeyMap
e
[154]Made [154]Made [5]Take [52]Trade
[87]Take [87]Take [4]Made
[52]Trade [52]Trade [1]Trade
[13]Tide … [13]Tide
[5]Tale The [5]Tale
[2]Bade Have [2]Bade
[1]Fade ... [1]Fade
7 128 3 1
97. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod UserPref KeyMap Scallar
e
[154]Made [154]Made [5]Take [52]Trade [487]Take
[87]Take [87]Take [4]Made [454]Make
[52]Trade [52]Trade [1]Trade [152]Trade
[13]Tide … [13]Tide [13]Tide
[5]Tale The [5]Tale [5]Tale
[2]Bade Have [2]Bade [2]Bade
[1]Fade ... [1]Fade [1]Fade
7 128 3 1 3
98. CyberSpell – Example
For a misspelled input word: “tade”
CyperFast NormalMod UserPref KeyMap Scallar
e
[154]Made [154]Made [5]Take [52]Trade [487]Take
[87]Take [87]Take [4]Made [454]Make
[52]Trade [52]Trade [1]Trade [152]Trade
[13]Tide … [13]Tide [13]Tide
[5]Tale The [5]Tale [5]Tale
[2]Bade Have [2]Bade [2]Bade
[1]Fade ... [1]Fade [1]Fade
7 128 3 1 3
99. CyberSpell – Example
For a misspelled input word “tade”
CyperFast
` 1 2 3 4 5 6 7 8 9 0 - = < [154]Made
[87]Take
Tab Q W E R T Y U I O P [ ] Enter [52]Trade
[13]Tide
Caps A S D F G H J K L ; „
[5]Tale
Shift Z X C V B N M , , . / Shift [2]Bade
[1]Fade
7
100. CyberSpell – Example
For a misspelled input word “tade”
CyperFast
` 1 2 3 4 5 6 7 8 9 0 - = < [154]Made
[87]Take
Tab Q W E R T Y U I O P [ ] Enter [52]Trade
[13]Tide
Caps A S D F G H J K L ; „
[5]Tale
Shift Z X C V B N M , , . / Shift [2]Bade
[1]Fade
7
101. CyberSpell – Example
For a misspelled input word “tade”
CyperFast
` 1 2 3 4 5 6 7 8 9 0 - = < [154]Made
[87]Take
Tab Q W E R T Y U I O P [ ] Enter [52]Trade
[13]Tide
Caps A S D F G H J K L ; „
[5]Tale
Shift Z X C V B N M , , . / Shift [2]Bade
[1]Fade
7
102. CyberSpell – Example
For a misspelled input word “tade”, the Key map
hueristic will give the following suggestions:
` 1 2 3 4 5 6 7 8 9 0 - = <
KeyMap
Tab Q W E R T Y U I O P [ ] Enter
[52]Trade
Caps A S D F G H J K L ; „
1
Shift Z X C V B N M , , . / Shift
108. Language Identification
Model
Language 1
Train
Language X Language 2
LM
Corpus .
.
Language N
109. Language Identification
Model
Language 1
Train
Language X Language 2
LM
Corpus .
.
Language N
Text to
Identify
110. Language Identification
Model
Language 1
Train
Language X Language 2
LM
Corpus .
.
Language N
Text to Identification
Identify Handler
111. Language Identification
Model
Language 1
Train
Language X Language 2
LM
Corpus .
.
Language N
Text to Identification Identified
Identify Handler Language
163. Image Processing – Regular
MED
Model – Phase 1
Source
Image
Target
Image
164. Image Processing – Regular
MED
Model – Phase 1
R Comp
Source
Image G Comp
B Comp
Target
Image
165. Image Processing – Regular
MED
Model – Phase 1
Stream
R Comp
Source R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
Target
Image
166. Image Processing – Regular
MED
Model – Phase 1
Stream
R Comp
Source R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
Stream
R Comp
Target R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
167. Image Processing – Regular
MED
Model – Phase 1
Stream
R Comp
Source R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
Stream
R Comp
Target R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
168. Image Processing – Regular
MED
Model – Phase 1
Stream
R Comp
Source R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
Stream
R Comp
Target R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
169. Image Processing – Regular
MED
Model – Phase 1
Stream
R Comp
Source R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
Stream
R Comp
Target R
Thresholdin Stream
Image G Comp g G
Stream
B Comp
B
171. Image Processing – Regular
MED
Model – Phase 2
MED Final
Distance
Distnace
172. Image Processing – Regular
MED
Model – Phase 2
MED Final
Distance
Distnace
For Each Stream
Pair
CalcDist(Stream1, Stream2)
Stream: CompR, CompG,
CompB
173. Image Processing – Regular
MED
Model – Phase 2
MED Distances Final
Distance Handler
Distnace
For Each Stream
Pair
CalcDist(Stream1, Stream2)
Stream: CompR, CompG,
CompB
174. Image Processing - MED
D = 30
D = 100
D = 70
Very Slow
D = 20
D = 98
D=0
175. Image Processing - MED
D = 30
Memory Dump D = 100
D = 70
D = 20
D = 98
D=0
176. Image Processing - MED
D = 30
D = 100
Run out of memory in D = 70
big images D = 20
D = 98
D=0
206. Image Processing - Proc. Time
Model Performance VS Time
25
20
15
10
5
0
1 2 3 4 5
1. MED Regular 4. MED Stalker with BT Enhanced
2. MED Stalker with BT (With Polym.) 5. MED Stalker without BT Enhanced
3. MED Stalker without BT (No Polym.)
207. Image Processing - Proc. Time
Model Performance VS Time
25
20
15
10
5
0
1 2 3 4 5
1. MED Regular 4. MED Stalker with BT Enhanced
2. MED Stalker with BT (With Polym.) 5. MED Stalker without BT Enhanced
3. MED Stalker without BT (No Polym.)
208. Image Processing - Proc. Time
Model Performance VS Time
25
20
15
10
5
0
1 2 3 4 5
1. MED Regular 4. MED Stalker with BT Enhanced
2. MED Stalker with BT (With Polym.) 5. MED Stalker without BT Enhanced
3. MED Stalker without BT (No Polym.)
209. Image Processing - Proc. Time
Model Performance VS Time
25
20
15
10
5
0
1 2 3 4 5
1. MED Regular 4. MED Stalker with BT Enhanced
2. MED Stalker with BT (With Polym.) 5. MED Stalker without BT Enhanced
3. MED Stalker without BT (No Polym.)
210. Image Processing - Proc. Time
Model Performance VS Time
25
20
15
10
5
0
1 2 3 4 5
1. MED Regular 4. MED Stalker with BT Enhanced
2. MED Stalker with BT (With Polym.) 5. MED Stalker without BT Enhanced
3. MED Stalker without BT (No Polym.)
211. Image Processing - Proc. Time
Algorithm Processing Time for a set of
250 pictures, each 26 x 26
MEDRegular 18.6
MEDStalkerWithBT 21.4
MEDStalkerWithoutBT 13.6
MEDStalkerWithBTEnhanced 6.1
MEDStalkerWithoutBTEnhanced 5.9
212. Image Processing - Proc. Time
Algorithm Processing Time for a set of
250 pictures, each 26 x 26
MEDRegular 18.6
MEDStalkerWithBT 21.4
MEDStalkerWithoutBT 13.6
MEDStalkerWithBTEnhanced 6.1
MEDStalkerWithoutBTEnhanced 5.9