source: trunk/autoquest-ui-core/src/main/java/de/ugoe/cs/autoquest/commands/usage/CMDtrainMarkovModel.java @ 927

Last change on this file since 927 was 927, checked in by sherbold, 12 years ago
  • added copyright under the Apache License, Version 2.0
File size: 2.1 KB
Line 
1//   Copyright 2012 Georg-August-Universität Göttingen, Germany
2//
3//   Licensed under the Apache License, Version 2.0 (the "License");
4//   you may not use this file except in compliance with the License.
5//   You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9//   Unless required by applicable law or agreed to in writing, software
10//   distributed under the License is distributed on an "AS IS" BASIS,
11//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12//   See the License for the specific language governing permissions and
13//   limitations under the License.
14
15package de.ugoe.cs.autoquest.commands.usage;
16
17import java.util.List;
18import java.util.Random;
19
20import de.ugoe.cs.autoquest.usageprofiles.FirstOrderMarkovModel;
21import de.ugoe.cs.autoquest.usageprofiles.HighOrderMarkovModel;
22import de.ugoe.cs.autoquest.usageprofiles.TrieBasedModel;
23
24/**
25 * <p>
26 * Command to train first-order and high-order Markov models.
27 * </p>
28 *
29 * @author Steffen Herbold
30 * @version 2.0
31 */
32public class CMDtrainMarkovModel extends AbstractTrainCommand {
33
34        /**
35         * <p>
36         * Order of the Markov model.
37         * </p>
38         */
39        int order;
40
41        /*
42         * (non-Javadoc)
43         *
44         * @see de.ugoe.cs.util.console.Command#help()
45         */
46        @Override
47        public String help() {
48                return "trainMarkovModel <modelname> <sequencesName> {<order>}";
49        }
50
51        /**
52         * <p>
53         * Handles the parameter order.
54         * </p>
55         *
56         * @see de.ugoe.cs.autoquest.commands.usage.AbstractTrainCommand#handleOptionalParameters(java.util.List)
57         */
58        @Override
59        void handleAdditionalParameters(List<Object> parameters) throws Exception {
60                if (parameters.size() >= 3) {
61                        order = Integer.parseInt((String) parameters.get(2));
62                } else {
63                        order = 1;
64                }
65        }
66
67        /*
68         * (non-Javadoc)
69         *
70         * @see de.ugoe.cs.autoquest.ui.commands.AbstractTrainCommand#createModel()
71         */
72        @Override
73        TrieBasedModel createModel() {
74                if (order == 1) {
75                        return new FirstOrderMarkovModel(new Random());
76                } else {
77                        return new HighOrderMarkovModel(order, new Random());
78                }
79        }
80
81}
Note: See TracBrowser for help on using the repository browser.