예제 #1
0
            internal void createEntryPointMap()
            {
                HashMap  hashMap  = new HashMap();
                HashMap  hashMap2 = new HashMap();
                Iterator iterator = HMMTree.access_000(this.this_0).iterator();

                while (iterator.hasNext())
                {
                    Unit     unit      = (Unit)iterator.next();
                    Node     node      = new Node(float.MinValue);
                    Iterator iterator2 = this.getEntryPointRC().iterator();
                    while (iterator2.hasNext())
                    {
                        Unit unit2 = (Unit)iterator2.next();
                        HMM  hmm   = HMMTree.access_100(this.this_0).getHMM(this.baseUnit, unit, unit2, HMMPosition.__BEGIN);
                        Node node2;
                        if ((node2 = (Node)hashMap.get(hmm)) == null)
                        {
                            node2 = node.addSuccessor(hmm, this.getProbability());
                            hashMap.put(hmm, node2);
                        }
                        else
                        {
                            node.putSuccessor(hmm, node2);
                        }
                        this.nodeCount++;
                        this.connectEntryPointNode(node2, unit2);
                    }
                    this.connectSingleUnitWords(unit, node, hashMap2);
                    this.unitToEntryPointMap.put(unit, node);
                }
            }
예제 #2
0
 private void connectSingleUnitWords(Unit lc, Node node, HashMap hashMap)
 {
     if (!this.singleUnitWords.isEmpty())
     {
         Iterator iterator = HMMTree.access_200(this.this_0).iterator();
         while (iterator.hasNext())
         {
             Unit    unit = (Unit)iterator.next();
             HMM     hmm  = HMMTree.access_100(this.this_0).getHMM(this.baseUnit, lc, unit, HMMPosition.__SINGLE);
             HMMNode hmmnode;
             if ((hmmnode = (HMMNode)hashMap.get(hmm)) == null)
             {
                 hmmnode = (HMMNode)node.addSuccessor(hmm, this.getProbability());
                 hashMap.put(hmm, hmmnode);
             }
             else
             {
                 node.putSuccessor(hmm, hmmnode);
             }
             hmmnode.addRC(unit);
             this.nodeCount++;
             Iterator iterator2 = this.singleUnitWords.iterator();
             while (iterator2.hasNext())
             {
                 Pronunciation pronunciation = (Pronunciation)iterator2.next();
                 if (pronunciation.getWord() == HMMTree.access_300(this.this_0).getSentenceStartWord())
                 {
                     HMMTree.access_402(this.this_0, new InitialWordNode(pronunciation, hmmnode));
                 }
                 else
                 {
                     float    num      = HMMTree.access_500(this.this_0, pronunciation.getWord());
                     WordNode wordNode = hmmnode.addSuccessor(pronunciation, num, HMMTree.access_600(this.this_0));
                     if (pronunciation.getWord() == HMMTree.access_300(this.this_0).getSentenceEndWord())
                     {
                         HMMTree.access_702(this.this_0, wordNode);
                     }
                 }
                 this.nodeCount++;
             }
         }
     }
 }