summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-04-02 10:46:16 +0800
committerPeng Wu <alexepico@gmail.com>2013-04-02 10:46:16 +0800
commit22b0c5bb461e4fb2bb0a9672b803fe803b7e50b2 (patch)
tree2dfc37b236a313bcb4e908d5d9d184b091c2b9cf
parentdd31367bdfdc250a628a71592e05846302766ddd (diff)
downloadlibpinyin-22b0c5bb461e4fb2bb0a9672b803fe803b7e50b2.tar.gz
libpinyin-22b0c5bb461e4fb2bb0a9672b803fe803b7e50b2.tar.xz
libpinyin-22b0c5bb461e4fb2bb0a9672b803fe803b7e50b2.zip
update estimate_k_mixture_model.cpp
-rw-r--r--utils/training/estimate_k_mixture_model.cpp48
1 files changed, 19 insertions, 29 deletions
diff --git a/utils/training/estimate_k_mixture_model.cpp b/utils/training/estimate_k_mixture_model.cpp
index 4fd9932..c0fa03f 100644
--- a/utils/training/estimate_k_mixture_model.cpp
+++ b/utils/training/estimate_k_mixture_model.cpp
@@ -23,10 +23,16 @@
#include "pinyin_internal.h"
#include "k_mixture_model.h"
-void print_help(){
- printf("Usage: estimate_k_mixture_model [--bigram-file <FILENAME>]\n");
- printf(" [--deleted-bigram-file <FILENAME]\n");
-}
+static const gchar * bigram_filename = "k_mixture_model_ngram.db";
+static const gchar * deleted_bigram_filename = "k_mixture_model_deleted_ngram.db";
+
+static GOptionEntry entries[] =
+{
+ {"bigram-file", 0, 0, G_OPTION_ARG_FILENAME, &bigram_filename, "the bigram file", NULL},
+ {"deleted-bigram-file", 0, 0, G_OPTION_ARG_FILENAME, &deleted_bigram_filename, "the deleted bigram file", NULL},
+ {NULL}
+};
+
parameter_t compute_interpolation(KMixtureModelSingleGram * deleted_bigram,
KMixtureModelBigram * unigram,
@@ -91,32 +97,16 @@ parameter_t compute_interpolation(KMixtureModelSingleGram * deleted_bigram,
}
int main(int argc, char * argv[]){
- int i = 1;
- const char * bigram_filename = "k_mixture_model_ngram.db";
- const char * deleted_bigram_filename = "k_mixture_model_deleted_ngram.db";
-
setlocale(LC_ALL, "");
- while ( i < argc ){
- if ( strcmp("--help", argv[i] ) == 0 ){
- print_help();
- exit(0);
- } else if ( strcmp("--bigram-file", argv[i]) == 0 ){
- if ( ++i >= argc ) {
- print_help();
- exit(EINVAL);
- }
- bigram_filename = argv[i];
- } else if ( strcmp("--deleted-bigram-file", argv[i]) == 0){
- if ( ++i >= argc ) {
- print_help();
- exit(EINVAL);
- }
- deleted_bigram_filename = argv[i];
- } else{
- print_help();
- exit(EINVAL);
- }
- ++i;
+
+ GError * error = NULL;
+ GOptionContext * context;
+
+ context = g_option_context_new("- estimate k mixture model");
+ g_option_context_add_main_entries(context, entries, NULL);
+ if (!g_option_context_parse(context, &argc, &argv, &error)) {
+ g_print("option parsing failed:%s\n", error->message);
+ exit(EINVAL);
}
/* TODO: magic header signature check here. */