I am going to design a neural network which will be able to break a 5-letter word into its corresponding syllables (hybrid syllables, I mean it will not strictly adhere to grammatical syllable rules but will be based on some training sets I provide).
Example: "train" -> "tra"-"in"
.
I think of implementing it in terms of some feedforward neural network with 1 input layer, 1 hidden layer and 1 output layer.
There will be 5 input nodes in the form of decimals (1/26 = 0.038
for 'A'
; 2/26 = 0.076
for 'B'
, etc.)
The output layer consists of 4 nodes, which corresponds to each gap between two characters in the word.
And fires as follows:
For
"train"
("tra"-"in"
), the input is(0.769, 0.692, 0.038, 0.346, 0.538)
and the output would be(0, 0, 1, 0)
.For
"boric"
("bo"-"ri"-"c"
), the input is something else, and the output is(0, 1, 0, 1)
.
Is it possible to implement the neural network in the way I am doing? If possible, then how will I decide the number of hidden layers and nodes in each layer?
In the book I am reading, the XOR gate problem and its implementation using hidden layer is given. In XOR, we could decide the number of nodes and hidden layers required by seeing the linear separability of XOR using two lines. But here I think such analysis can't be made..
So, how do I proceed? Or is it a trial and error process?