@@ -25,13 +25,37 @@ def test_cws():
2525evaluate_cws (dnncrf ,'../dnlp/data/cws/pku_test.pickle' )
2626
2727
28- def train_emr ():
28+ def train_emr_ngram ():
29+ data_path = '../dnlp/data/emr/emr_training.pickle'
30+ config_bi_bigram = DnnCrfConfig (skip_left = 1 ,skip_right = 1 )
31+ config_left_bigram = DnnCrfConfig (skip_left = 1 ,skip_right = 0 )
32+ config_right_bigram = DnnCrfConfig (skip_left = 0 ,skip_right = 1 )
33+ config_unigram = DnnCrfConfig (skip_left = 0 ,skip_right = 0 )
34+ mlpcrf_bi_bigram = DnnCrf (config = config_bi_bigram ,task = 'ner' ,data_path = data_path ,nn = 'lstm' ,remark = 'bi_bigram' )
35+ mlpcrf_left_bigram = DnnCrf (config = config_left_bigram ,task = 'ner' ,data_path = data_path ,nn = 'lstm' ,
36+ remark = 'left_bigram' )
37+ mlpcrf_right_bigram = DnnCrf (config = config_right_bigram ,task = 'ner' ,data_path = data_path ,nn = 'lstm' ,
38+ remark = 'right_bigram' )
39+ mlpcrf_unigram = DnnCrf (config = config_unigram ,task = 'ner' ,data_path = data_path ,nn = 'lstm' ,remark = 'unigram' )
40+ mlpcrf_bi_bigram .fit ()
41+ mlpcrf_left_bigram .fit ()
42+ mlpcrf_right_bigram .fit ()
43+ mlpcrf_unigram .fit ()
44+
45+
46+ def test_emr_ngram ():
47+ model_path = '../dnlp/models/ner-lstm-bi_bigram-10.ckpt'
48+ config_bi_bigram = DnnCrfConfig (skip_left = 1 ,skip_right = 1 )
49+ mlpcrf_bi_bigram = DnnCrf (model_path = model_path ,config = config_bi_bigram ,mode = 'predict' ,task = 'ner' ,nn = 'lstm' )
50+ evaluate_ner (mlpcrf_bi_bigram ,'../dnlp/data/emr/emr_test.pickle' )
51+
52+
53+ def train_emr_random_init ():
2954data_path = '../dnlp/data/emr/emr_training.pickle'
30- embedding_path = '../dnlp/data/emr/emr_skip_gram.npy'
3155config = DnnCrfConfig ()
32- mlpcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'mlp' , embedding_path = embedding_path )
56+ mlpcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'mlp' )
3357mlpcrf .fit ()
34- rnncrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'rnn' , embedding_path = embedding_path )
58+ rnncrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'rnn' )
3559rnncrf .fit ()
3660lstmcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'lstm' )
3761lstmcrf .fit ()
@@ -41,7 +65,23 @@ def train_emr():
4165grulstmcrf .fit ()
4266
4367
44- def test_emr ():
68+ def train_emr_with_embeddings ():
69+ data_path = '../dnlp/data/emr/emr_training.pickle'
70+ embedding_path = '../dnlp/data/emr/emr_skip_gram.npy'
71+ config = DnnCrfConfig ()
72+ mlpcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'mlp' ,embedding_path = embedding_path )
73+ mlpcrf .fit ()
74+ rnncrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'rnn' ,embedding_path = embedding_path )
75+ rnncrf .fit ()
76+ lstmcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'lstm' ,embedding_path = embedding_path )
77+ lstmcrf .fit ()
78+ bilstmcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'bilstm' ,embedding_path = embedding_path )
79+ bilstmcrf .fit ()
80+ grulstmcrf = DnnCrf (config = config ,task = 'ner' ,data_path = data_path ,nn = 'gru' ,embedding_path = embedding_path )
81+ grulstmcrf .fit ()
82+
83+
84+ def test_emr_with_embeddings ():
4585sentence = '多饮多尿多食'
4686config = DnnCrfConfig ()
4787# dnncrf = DnnCrf(config=config, task='ner', mode='predict', model_path=model_path, nn='lstm')
@@ -77,6 +117,8 @@ def train_emr_skipgram():
77117parser = argparse .ArgumentParser ()
78118parser .add_argument ('-t' ,'--t' ,dest = 'train' ,action = 'store_true' ,default = False )
79119parser .add_argument ('-p' ,'--p' ,dest = 'predict' ,action = 'store_true' ,default = False )
120+ parser .add_argument ('-c' ,'--c' ,dest = 'cws' ,action = 'store_true' ,default = False )
121+ parser .add_argument ('-e' ,'--e' ,dest = 'emr' ,action = 'store_true' ,default = False )
80122args = parser .parse_args (sys .argv [1 :])
81123train = args .train
82124predict = args .predict
@@ -88,7 +130,14 @@ def train_emr_skipgram():
88130exit (1 )
89131
90132if train :
91- train_emr ()
92- # train_emr_skipgram()
133+ if args .cws :
134+ train_cws ()
135+ elif args .emr :
136+ train_emr_ngram ()
137+ # train_emr_random_init()
138+ # train_emr_skipgram()
93139else :
94- test_emr ()
140+ if args .cws :
141+ test_cws ()
142+ elif args .emr :
143+ test_emr_ngram ()