Full Code of jiesutd/RichWordSegmentor for AI

master c2a85e72e3ef cached
37 files
5.5 MB
1.4M tokens
183 symbols
1 requests
Download .txt
Showing preview only (5,959K chars total). Download the full file or copy to clipboard to get everything.
Repository: jiesutd/RichWordSegmentor
Branch: master
Commit: c2a85e72e3ef
Files: 37
Total size: 5.5 MB

Directory structure:
gitextract_rxgam5_z/

├── CMakeLists.txt
├── Options.h
├── README.md
├── STDSeg.cpp
├── STDSeg.h
├── basic/
│   ├── Action.h
│   ├── Argument_helper.h
│   ├── Instance.h
│   ├── InstanceReader.h
│   ├── InstanceWriter.h
│   ├── NewConcat.h
│   ├── Pipe.h
│   ├── Reader.h
│   ├── SegLookupTable.h
│   ├── Utf.h
│   ├── Writer.h
│   └── io.h
├── cleanall.sh
├── demo.sh
├── example/
│   ├── ctb.50d.word.debug
│   ├── dev.debug
│   ├── option.STD
│   ├── test.debug
│   └── train.debug
├── feature/
│   ├── DenseFeature.h
│   ├── DenseFeatureChar.h
│   ├── DenseFeatureExtraction.h
│   ├── DenseFeatureExtraction_nolast.h
│   ├── DenseFeatureForward.h
│   ├── DenseFeatureNew.h
│   ├── Feature.h
│   ├── FeatureExtraction.h
│   └── HiddenForward.h
├── model/
│   ├── CharLSTMSTD.h
│   └── CharLSTMSTD_noword.h
└── state/
    ├── NeuralState.h
    └── State.h

================================================
FILE CONTENTS
================================================

================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 2.8)
IF(APPLE)
	set(CMAKE_C_COMPILIER /usr/local/bin/gcc)
	set(CMAKE_CXX_COMPILER /usr/local/bin/g++)
ENDIF()
project(NNTSegClean)

include_directories(
  basic/
  feature/
  model/
  state/
  /opt/mshadow/
  ../../LibN3L/
)

add_definitions(-DUSE_CUDA=0)

IF(CMAKE_BUILD_TYPE MATCHES Debug)
    SET( CMAKE_CXX_FLAGS  "-w -msse3 -funroll-loops -O0" )
ELSE()
    SET( CMAKE_CXX_FLAGS  "-w -msse3 -funroll-loops -O3" )
ENDIF()
####for   openblas
add_definitions(-DMSHADOW_USE_CUDA=0)
add_definitions(-DMSHADOW_USE_CBLAS=1)
add_definitions(-DMSHADOW_USE_MKL=0)

SET( CMAKE_SHARED_LINKER_FLAGS  "-lm -lopenblas")
####endfor openblas

####for   cuda
#add_definitions(-DMSHADOW_USE_CUDA=1)
#add_definitions(-DMSHADOW_USE_CBLAS=1)
#add_definitions(-DMSHADOW_USE_MKL=0)

#SET( CMAKE_SHARED_LINKER_FLAGS  "-lm -lcudart -lcublas -lcurand" )
#include_directories(
#  $(USE_CUDA_PATH)/include
#)
#LINK_DIRECTORIES($(USE_CUDA_PATH)/lib64)
####endfor cuda

#add_subdirectory(basic)

#aux_source_directory(. DIR_SRCS)


add_executable(STDSeg STDSeg.cpp)

target_link_libraries(STDSeg openblas)






================================================
FILE: Options.h
================================================
#ifndef _PARSER_OPTIONS_
#define _PARSER_OPTIONS_

#pragma once

#include <string>
#include <fstream>
#include <vector>
#include <iostream>
#include "N3L.h"

using namespace std;

class Options {
public:

	int wordCutOff;
	int featCutOff;
	int charCutOff;
	int bicharCutOff;
	dtype initRange;
	int maxIter;
	int batchSize;
	dtype adaEps;
	dtype adaAlpha;
	dtype regParameter;
	dtype dropProb;
	dtype delta;
	dtype clip;
	dtype oovRatio;

	int sepHiddenSize;
	int appHiddenSize;

	int wordEmbSize;
	int lengthEmbSize;
	int keycharEmbSize;
	int wordNgram;
	int wordHiddenSize;
	int wordRNNHiddenSize;
	bool wordEmbFineTune;

	int charEmbSize;
	int bicharEmbSize;
	int mapcharEmbSize;
	int charcontext;
	int charHiddenSize;
	int charRNNHiddenSize;
	bool charEmbFineTune;
	bool bicharEmbFineTune;
	bool mapcharEmbFineTune;

	int actionEmbSize;
	int actionNgram;
	int actionHiddenSize;
	int actionRNNHiddenSize;
	int stackHiddenSize;

	int verboseIter;
	bool saveIntermediate;
	bool train;
	int maxInstance;
	vector<string> testFiles;
	string outBest;
	int finalHiddenSize;

	Options() {
		wordCutOff = 4;
		featCutOff = 0;
		charCutOff = 0;
		bicharCutOff = 0;
		initRange = 0.01;
		maxIter = 1000;
		batchSize = 1;
		adaEps = 1e-6;
		adaAlpha = 0.01;
		regParameter = 1e-8;
		dropProb = 0.0;
		delta = 0.2;
		clip = -1.0;
		oovRatio = 0.2;

		sepHiddenSize = 100;
		appHiddenSize = 80;

		wordEmbSize = 0;
		lengthEmbSize = 20;
		keycharEmbSize = 50;
		wordNgram = 2;
		wordHiddenSize = 100;
		wordRNNHiddenSize = 100;
		wordEmbFineTune = true;

		charEmbSize = 50;
		bicharEmbSize = 50;
		mapcharEmbSize =256;
		charcontext = 2;
		charHiddenSize = 150;
		charRNNHiddenSize = 100;
		charEmbFineTune = false;
		bicharEmbFineTune = false;
		mapcharEmbFineTune = false;
		stackHiddenSize = 50;

		actionEmbSize = 20;
		actionNgram = 2;
		actionHiddenSize = 30;
		actionRNNHiddenSize = 20;

		verboseIter = 100;
		saveIntermediate = true;
		train = false;
		maxInstance = -1;
		testFiles.clear();
		outBest = "";
		finalHiddenSize = 200;

	}

	virtual ~Options() {

	}

	void setOptions(const vector<string> &vecOption) {
		int i = 0;
		for (; i < vecOption.size(); ++i) {
			pair<string, string> pr;
			string2pair(vecOption[i], pr, '=');
			if (pr.first == "wordCutOff")
				wordCutOff = atoi(pr.second.c_str());
			if (pr.first == "featCutOff")
				featCutOff = atoi(pr.second.c_str());
			if (pr.first == "charCutOff")
				charCutOff = atoi(pr.second.c_str());
			if (pr.first == "bicharCutOff")
				bicharCutOff = atoi(pr.second.c_str());
			if (pr.first == "initRange")
				initRange = atof(pr.second.c_str());
			if (pr.first == "maxIter")
				maxIter = atoi(pr.second.c_str());
			if (pr.first == "batchSize")
				batchSize = atoi(pr.second.c_str());
			if (pr.first == "adaEps")
				adaEps = atof(pr.second.c_str());
			if (pr.first == "adaAlpha")
				adaAlpha = atof(pr.second.c_str());
			if (pr.first == "regParameter")
				regParameter = atof(pr.second.c_str());
			if (pr.first == "dropProb")
				dropProb = atof(pr.second.c_str());
			if (pr.first == "delta")
				delta = atof(pr.second.c_str());
			if (pr.first == "clip")
				clip = atof(pr.second.c_str());
			if (pr.first == "oovRatio")
				oovRatio = atof(pr.second.c_str());

			if (pr.first == "sepHiddenSize")
				sepHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "appHiddenSize")
				appHiddenSize = atoi(pr.second.c_str());

			if (pr.first == "wordEmbSize")
				wordEmbSize = atoi(pr.second.c_str());
			if (pr.first == "lengthEmbSize")
				lengthEmbSize = atoi(pr.second.c_str());
			if (pr.first == "keycharEmbSize")
				keycharEmbSize = atoi(pr.second.c_str());
			if (pr.first == "wordNgram")
				wordNgram = atoi(pr.second.c_str());
			if (pr.first == "wordHiddenSize")
				wordHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "wordRNNHiddenSize")
				wordRNNHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "wordEmbFineTune")
				wordEmbFineTune = (pr.second == "true") ? true : false;

			if (pr.first == "charEmbSize")
				charEmbSize = atoi(pr.second.c_str());
			if (pr.first == "bicharEmbSize")
				bicharEmbSize = atoi(pr.second.c_str());
			if (pr.first == "mapcharEmbSize")
				mapcharEmbSize = atoi(pr.second.c_str());
			if (pr.first == "charcontext")
				charcontext = atoi(pr.second.c_str());
			if (pr.first == "charHiddenSize")
				charHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "charRNNHiddenSize")
				charRNNHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "charEmbFineTune")
				charEmbFineTune = (pr.second == "true") ? true : false;
			if (pr.first == "bicharEmbFineTune")
				bicharEmbFineTune = (pr.second == "true") ? true : false;
			if (pr.first == "mapcharEmbFineTune")
				mapcharEmbFineTune = (pr.second == "true") ? true : false;
			if (pr.first == "stackHiddenSize")
				stackHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "actionEmbSize")
				actionEmbSize = atoi(pr.second.c_str());
			if (pr.first == "actionNgram")
				actionNgram = atoi(pr.second.c_str());
			if (pr.first == "actionHiddenSize")
				actionHiddenSize = atoi(pr.second.c_str());
			if (pr.first == "actionRNNHiddenSize")
				actionRNNHiddenSize = atoi(pr.second.c_str());

			if (pr.first == "verboseIter")
				verboseIter = atoi(pr.second.c_str());
			if (pr.first == "train")
				train = (pr.second == "true") ? true : false;
			if (pr.first == "saveIntermediate")
				saveIntermediate = (pr.second == "true") ? true : false;
			if (pr.first == "maxInstance")
				maxInstance = atoi(pr.second.c_str());
			if (pr.first == "testFile")
				testFiles.push_back(pr.second);
			if (pr.first == "outBest")
				outBest = pr.second;
			if (pr.first == "finalHiddenSize")
				finalHiddenSize = atoi(pr.second.c_str());
		}
	}

	void showOptions() {
		std::cout << "wordCutOff = " << wordCutOff << std::endl;
		std::cout << "featCutOff = " << featCutOff << std::endl;
		std::cout << "charCutOff = " << charCutOff << std::endl;
		std::cout << "bicharCutOff = " << bicharCutOff << std::endl;
		std::cout << "initRange = " << initRange << std::endl;
		std::cout << "maxIter = " << maxIter << std::endl;
		std::cout << "batchSize = " << batchSize << std::endl;
		std::cout << "adaEps = " << adaEps << std::endl;
		std::cout << "adaAlpha = " << adaAlpha << std::endl;
		std::cout << "regParameter = " << regParameter << std::endl;
		std::cout << "dropProb = " << dropProb << std::endl;
		std::cout << "delta = " << delta << std::endl;
		std::cout << "clip = " << clip << std::endl;
		std::cout << "oovRatio = " << oovRatio << std::endl;

		std::cout << "sepHiddenSize = " << sepHiddenSize << std::endl;
		std::cout << "appHiddenSize = " << appHiddenSize << std::endl;

		std::cout << "wordEmbSize = " << wordEmbSize << std::endl;
		std::cout << "lengthEmbSize = " << lengthEmbSize << std::endl;
		std::cout << "keycharEmbSize = " << keycharEmbSize << std::endl;
		std::cout << "wordNgram = " << wordNgram << std::endl;
		std::cout << "wordHiddenSize = " << wordHiddenSize << std::endl;
		std::cout << "wordRNNHiddenSize = " << wordRNNHiddenSize << std::endl;
		std::cout << "wordEmbFineTune = " << wordEmbFineTune << std::endl;

		std::cout << "charEmbSize = " << charEmbSize << std::endl;
		std::cout << "bicharEmbSize = " << bicharEmbSize << std::endl;
		std::cout << "mapcharEmbSize = " << mapcharEmbSize << std::endl;
		std::cout << "charcontext = " << charcontext << std::endl;
		std::cout << "charHiddenSize = " << charHiddenSize << std::endl;
		std::cout << "charRNNHiddenSize = " << charRNNHiddenSize << std::endl;
		std::cout << "charEmbFineTune = " << charEmbFineTune << std::endl;
		std::cout << "bicharEmbFineTune = " << bicharEmbFineTune << std::endl;
		std::cout << "mapcharEmbFineTune = " << mapcharEmbFineTune << std::endl;
		std::cout << "stackHiddenSize = " << stackHiddenSize << std::endl;

		std::cout << "actionEmbSize = " << actionEmbSize << std::endl;
		std::cout << "actionNgram = " << actionNgram << std::endl;
		std::cout << "actionHiddenSize = " << actionHiddenSize << std::endl;
		std::cout << "actionRNNHiddenSize = " << actionRNNHiddenSize << std::endl;

		std::cout << "verboseIter = " << verboseIter << std::endl;
		std::cout << "saveItermediate = " << saveIntermediate << std::endl;
		std::cout << "train = " << train << std::endl;
		std::cout << "maxInstance = " << maxInstance << std::endl;
		std::cout << "finalHiddenSize = " << finalHiddenSize << std::endl;

		for (int idx = 0; idx < testFiles.size(); idx++) {
			std::cout << "testFile = " << testFiles[idx] << std::endl;
		}
		std::cout << "outBest = " << outBest << std::endl;
	}

	void load(const std::string& infile) {
		ifstream inf;
		inf.open(infile.c_str());
		vector<string> vecLine;
		while (1) {
			string strLine;
			if (!my_getline(inf, strLine)) {
				break;
			}
			if (strLine.empty())
				continue;
			vecLine.push_back(strLine);
		}
		inf.close();
		setOptions(vecLine);
	}

	void writeModel(LStream &outf) {

		WriteVector(outf, testFiles);
	    WriteString(outf, outBest);


	    WriteBinary(outf, wordCutOff);
	    WriteBinary(outf, featCutOff);
	    WriteBinary(outf, charCutOff);
	    WriteBinary(outf, bicharCutOff);
	    WriteBinary(outf, initRange);
	    WriteBinary(outf, maxIter);
	    WriteBinary(outf, batchSize);
	    WriteBinary(outf, adaEps);
	    WriteBinary(outf, adaAlpha);
	    WriteBinary(outf, regParameter);

	    WriteBinary(outf, dropProb);
	    WriteBinary(outf, delta);
	    WriteBinary(outf, clip);
	    WriteBinary(outf, oovRatio);
	    WriteBinary(outf, sepHiddenSize);
	    WriteBinary(outf, appHiddenSize);
	    WriteBinary(outf, wordEmbSize);
	    WriteBinary(outf, lengthEmbSize);
	    WriteBinary(outf, keycharEmbSize);
	    WriteBinary(outf, wordNgram);
	    WriteBinary(outf, wordHiddenSize);

	    WriteBinary(outf, wordRNNHiddenSize);
	    WriteBinary(outf, wordEmbFineTune);
	    WriteBinary(outf, charEmbSize);
	    WriteBinary(outf, bicharEmbSize);
	    WriteBinary(outf, mapcharEmbSize);
	    WriteBinary(outf, charcontext);
	    WriteBinary(outf, charHiddenSize);
	    WriteBinary(outf, charRNNHiddenSize);
	    WriteBinary(outf, charEmbFineTune);
	    WriteBinary(outf, bicharEmbFineTune);
	    WriteBinary(outf, mapcharEmbFineTune);
	    WriteBinary(outf, actionEmbSize);
	    WriteBinary(outf, actionNgram);

	    WriteBinary(outf, actionHiddenSize);
	    WriteBinary(outf, actionRNNHiddenSize);
	    WriteBinary(outf, stackHiddenSize);
	    WriteBinary(outf, verboseIter);
	    WriteBinary(outf, saveIntermediate);
	    WriteBinary(outf, train);
	    WriteBinary(outf, maxInstance);
	    WriteBinary(outf, finalHiddenSize);

	}

	void loadModel(LStream &inff) {

	}

};

#endif



================================================
FILE: README.md
================================================
RichWordSegmentor
======
RichWordSegmentor is a package for Word Segmentation using transition based neural networks under LibN3L package. It is the state-of-the-art neural word segmentator which supports rich pretraining from external data. With the help of rich pretraining, our model achieves the best result on 5 out of 6 Chinese word segmentation benchmarks. Performance details and model structure can be seen in our ACL paper: [Neural word segmentation with rich pretraining](http://www.aclweb.org/anthology/P/P17/P17-1078.pdf). 

Demo system:
======
* Download the [LibN3L](https://github.com/SUTDNLP/LibN3L) library and configure your system. Please refer to [Here](https://github.com/SUTDNLP/LibN3L)
* Open [CMakeLists.txt](CMakeLists.txt) and change " ../LibN3L/" into the directory of your [LibN3L](https://github.com/SUTDNLP/LibN3L) package.
* Run the [demo.sh](demo.sh) file: `sh demo.sh` (didn't load pretrained char/bichar embeddings in this demo script.)

The demo system includes Chinese word segmentation sample data ["train.debug"](example/train.debug), ["dev.debug"](example/dev.debug) and ["test.debug"](example/test.debug), Chinese word embeding sample file ["ctb.50d.word.debug"](example/ctb.50d.word.debug), Chinese char and char bigram pretrained embedding sample file ["char.emb"](example/char.emb) ["bichar.emb"](example/bichar.emb)and parameter setting file["option.STD"](example/option.STD). All of these files are gathered at folder [RichWordSegmentor/example](example).

Run: 
=======
`cmake .`  
`make`

Training model:  
`./STDSeg -l -train ${train.data} -dev ${dev.data} -test ${dev.data} -option ${option.file} -model ${save_model_to_file} -word ${pretrain_word_emb, optional} -char ${pretrain_char_emb, optional} -bichar ${pretrain_bichar_emb, optional} -numlayer ${pretrain_parameters, optional}`

Load model:  
`./STDSeg -test ${test.data} -model ${load_model_file} -output ${output_file}`

Input:
======
1. For evaluate model performance, word seperated by a space, each sentence take one line. For example:

   就 做 了 一点 微小 的 工作 , 谢谢 大家 。  
   一个人 的 命运 啊 , 当然 要 靠 自我 奋斗 , 但是 也要 考虑 到 历史 的 行程 。

   Result will calculate the P/R/F automatically.

2. For raw text decoding, one sentence each line (without space).   

   就做了一点微小的工作,谢谢大家。  
   一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。

Output:
=======
The same format with training data. Word seperated by a space, each sentence take one line.

就 做 了 一点 微小 的 工作 , 谢谢 大家 。  
一个人 的 命运 啊 , 当然 要 靠 自我 奋斗 , 但是 也要 考虑 到 历史 的 行程 。

Trained model/embeddings/parameters of rich pretraining and baseline:
==========
We shared our trained model at [BaiduPan](https://pan.baidu.com/s/1pLO6T9D)(https://pan.baidu.com/s/1pLO6T9D) for visiters reproducing our results.  
1. File `ctb.bilstm.joint4.model`: 
   the trained model on CTB6.0 corpus using multitask pretraining. You can simply load this file to decode raw text without training. Run:  

   `./STDSeg -test ${input_raw_text} -model ctb.bilstm.joint4.model -output ${output_segmentated_text}`

2. File `joint4.all.b10c1.2h.iter17.mchar, .mbichar, .pmodel` are pretrained character, character bigram embeddings and representing parameters.
   If you want to train your own model, you can load these three files following above instruction.   

3. File: `gigaword_chn.all.a2b.uni.ite50.vec`, `gigaword_chn.all.a2b.bi.ite50.vec` and `ctb.50d.vec` are the char, bichar and word embeddings of our baseline, respectively.

4. If you want to do the rich pretraining experiments (for generating three files in last item), please refer to [TrainEmbMultiTask](https://github.com/jiesutd/TrainEmbMultiTask).  


Monitoring information
=====
During the running of this NER system, it may print out the follow log information:


`Iter 13 finished. Total time taken is: 1260.37s`  
`dev:`  
`Recall: P=57508/59929=0.959602, Accuracy:       P=57508/59723=0.962912, Fmeasure:       0.961254`  
`Decode dev finished. Total time taken is: 96.299s`  
`test:`  
`Recall: P=77895/81579=0.954841, Accuracy:       P=77895/81159=0.959783, Fmeasure:       0.957306`  
`Decode test finished. Total time taken is: 128.9s`  
`Exceeds best previous performance of 0.960922. Saving model file..`  

The first "Recall..." line shows the performance of the dev set and the second "Recall..." line shows 
you the performance of the test set.


Note: 
======
* Current version only compatible with [LibN3L](https://github.com/SUTDNLP/LibN3L) after ***Dec. 10th 2015*** , which contains the model saving and loading module.
* The example files are just to verify the running for the code. For copyright consideration, we take only hundreds of sentences as example. Hence the results on those example datasets does not represent the real performance on large dataset.



Cite: 
========

    @InProceedings{yang-zhang-dong:2017:Long,
      author    = {Yang, Jie  and  Zhang, Yue  and  Dong, Fei},
      title     = {Neural Word Segmentation with Rich Pretraining},
      booktitle = {Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
      month     = {July},
      year      = {2017},
      address   = {Vancouver, Canada},
      publisher = {Association for Computational Linguistics},
      pages     = {839--849},
      url       = {http://aclweb.org/anthology/P17-1078}
    }
 

Update
====
* 2017-April-4: init version




================================================
FILE: STDSeg.cpp
================================================
/*
 * Segmentor.cpp
 *
 *  Created on: Oct 23, 2015
 *      Author: mszhang
 */

#include "STDSeg.h"

#include "Argument_helper.h"

Segmentor::Segmentor() {
  // TODO Auto-generated constructor stub
  nullkey = "-null-";
  unknownkey = "-unknown-";
  paddingtag = "-padding-";
  seperateKey = "#";
}

Segmentor::~Segmentor() {
  // TODO Auto-generated destructor stub
	m_classifier.release();
}

// all linear features are extracted from positive examples
int Segmentor::createAlphabet(const vector<Instance>& vecInsts) {
  cout << "Creating Alphabet..." << endl;

  int numInstance = vecInsts.size();

  hash_map<string, int> char_stat;
  hash_map<string, int> bichar_stat;
  hash_map<string, int> action_stat;
  hash_map<string, int> feat_stat;
  hash_map<string, int> word_stat;

  assert(numInstance > 0);

  static Metric eval;
#if USE_CUDA==1
  static CStateItem<gpu> state[m_classifier.MAX_SENTENCE_SIZE];
#else
  static CStateItem<cpu> state[m_classifier.MAX_SENTENCE_SIZE];
#endif
  static Feature feat;
  static vector<string> output;
  static CAction answer;
  static int actionNum;
  m_classifier.initAlphabet();
  eval.reset();
  for (numInstance = 0; numInstance < vecInsts.size(); numInstance++) {
    const Instance &instance = vecInsts[numInstance];
        
    for (int idx = 0; idx < instance.wordsize(); idx++) {
      m_word_stat[normalize_to_lowerwithdigit(instance.words[idx])]++;
    }
    
    for(int distance = 1; distance <= 2; distance++) {
      for (int idx = 0; idx < instance.charsize(); idx++) {
      	if(idx + distance >= instance.charsize()) break;
      	string curWord = instance.chars[idx];
      	for(int idz = 1; idz < distance; idz++){
      		curWord= curWord + instance.chars[idx+idz];
      	}
      	curWord = normalize_to_lowerwithdigit(curWord);
      	word_stat[curWord]++;
      }
    }


    for (int idx = 0; idx < instance.charsize(); idx++) {
      char_stat[instance.chars[idx]]++;
    }
    for (int idx = 0; idx < instance.charsize() - 1; idx++) {
      bichar_stat[instance.chars[idx] + instance.chars[idx + 1]]++;
    }
    bichar_stat[instance.chars[instance.charsize() - 1] + m_classifier.fe.nullkey]++;
    bichar_stat[m_classifier.fe.nullkey + instance.chars[0]]++;
    actionNum = 0;
    state[actionNum].initSentence(&instance.chars);
    state[actionNum].clear();

    while (!state[actionNum].IsTerminated()) {
      state[actionNum].getGoldAction(instance.words, answer);
      action_stat[answer.str()]++;

      m_classifier.extractFeature(state+actionNum, answer, feat);
      for (int idx = 0; idx < feat._strSparseFeat.size(); idx++) {
        feat_stat[feat._strSparseFeat[idx]]++;
      }
      state[actionNum].move(state+actionNum+1, answer);
      actionNum++;
    }

    if(actionNum-1 != instance.charsize()) {
      std::cout << "action number is not correct, please check" << std::endl;
    }
    state[actionNum].getSegResults(output);

    instance.evaluate(output, eval);

    if (!eval.bIdentical()) {
      std::cout << "error state conversion!" << std::endl;
      exit(0);
    }

    if ((numInstance + 1) % m_options.verboseIter == 0) {
      cout << numInstance + 1 << " ";
      if ((numInstance + 1) % (40 * m_options.verboseIter) == 0)
        cout << std::endl;
      cout.flush();
    }
    if (m_options.maxInstance > 0 && numInstance == m_options.maxInstance)
      break;
  }
	
	int discount = 2;
	hash_map<string, int>::iterator word_iter;
	for (word_iter = word_stat.begin(); word_iter != word_stat.end(); word_iter++) {
		if (word_iter->second > discount && m_word_stat.find(word_iter->first) == m_word_stat.end()) {
			m_word_stat[word_iter->first] = word_iter->second - discount;
		}
	}

  m_classifier.addToActionAlphabet(action_stat);
  m_classifier.addToWordAlphabet(m_word_stat);
  m_classifier.addToCharAlphabet(char_stat, m_options.charEmbFineTune ? m_options.charCutOff : 0);
  m_classifier.addToBiCharAlphabet(bichar_stat, m_options.bicharEmbFineTune ? m_options.bicharCutOff : 0);
  m_classifier.addToFeatureAlphabet(feat_stat, m_options.featCutOff);

  cout << numInstance << " " << endl;
  cout << "Action num: " << m_classifier.fe._actionAlphabet.size() << endl;
  cout << "Total word num: " << m_word_stat.size() << endl;
  cout << "Total char num: " << char_stat.size() << endl;
  cout << "Total bichar num: " << bichar_stat.size() << endl;
  cout << "Total feat num: " << feat_stat.size() << endl;

  cout << "Remain word num: " << m_classifier.fe._wordAlphabet.size() << endl;
  cout << "Remain char num: " << m_classifier.fe._charAlphabet.size() << endl;
  cout << "Remain bichar num: " << m_classifier.fe._bicharAlphabet.size() << endl;
  cout << "Remain feat num: " << m_classifier.fe._featAlphabet.size() << endl;

  //m_classifier.setFeatureCollectionState(false);

  return 0;
}

int Segmentor::addTestWordAlpha(const vector<Instance>& vecInsts) {
  cout << "Add test Alphabet..." << endl;

  hash_map<string, int> char_stat;
  hash_map<string, int> bichar_stat;
  int numInstance;

  for (numInstance = 0; numInstance < vecInsts.size(); numInstance++) {
    const Instance &instance = vecInsts[numInstance];

    for (int idx = 0; idx < instance.charsize(); idx++) {
      char_stat[instance.chars[idx]]++;
    }
    for (int idx = 0; idx < instance.charsize() - 1; idx++) {
      bichar_stat[instance.chars[idx] + instance.chars[idx + 1]]++;
    }
    bichar_stat[instance.chars[instance.charsize() - 1] + m_classifier.fe.nullkey]++;
    bichar_stat[m_classifier.fe.nullkey + instance.chars[0]]++;

    if ((numInstance + 1) % m_options.verboseIter == 0) {
      cout << numInstance + 1 << " ";
      if ((numInstance + 1) % (40 * m_options.verboseIter) == 0)
        cout << std::endl;
      cout.flush();
    }
    if (m_options.maxInstance > 0 && numInstance == m_options.maxInstance)
      break;
  }

  m_classifier.addToCharAlphabet(char_stat, 0);
  m_classifier.addToBiCharAlphabet(bichar_stat, 0);

  cout << "Remain char num: " << m_classifier.fe._charAlphabet.size() << endl;
  cout << "Remain bichar num: " << m_classifier.fe._bicharAlphabet.size() << endl;

  return 0;
}

int Segmentor::allWordAlphaEmb(const string& inFile, NRMat<dtype>& emb) {
  cout << "All word  alphabet and emb creating..." << endl;

  hash_map<string, int> word_stat;
  
  static ifstream inf;
  if (inf.is_open()) {
    inf.close();
    inf.clear();
  }
  inf.open(inFile.c_str());

  static string strLine, curWord;
  static int wordId;
  static vector<string> vecInfo;
  vector<string> allLines;

  int wordDim = 0;
  while (1) {
    if (!my_getline(inf, strLine)) {
      break;
    }
    if (!strLine.empty()){
      split_bychar(strLine, vecInfo, ' '); 
      if(wordDim == 0){
      	wordDim = vecInfo.size() - 1;
      	std::cout << "allword embedding dim is " << wordDim << std::endl;
      }
      curWord = normalize_to_lowerwithdigit(vecInfo[0]);
      word_stat[curWord]++;
      allLines.push_back(strLine);
    }
  }

  m_classifier.addToAllWordAlphabet(word_stat);
  cout << "Remain all word num: " << m_classifier.fe._allwordAlphabet.size() << endl;
  
  emb.resize(m_classifier.fe._allwordAlphabet.size(), wordDim);
  emb = 0.0;
  
  int unknownId = m_classifier.fe._allwordAlphabet.from_string(m_classifier.fe.unknownkey);
  dtype sum[wordDim];
  int count = 0;
  bool bHasUnknown = false;
  for (int idx = 0; idx < wordDim; idx++) {
    sum[idx] = 0.0;
  }
  
  for(int idx = 0; idx < allLines.size(); idx++){
    split_bychar(allLines[idx], vecInfo, ' ');
    if (vecInfo.size() != wordDim + 1) {
      std::cout << "error embedding file" << std::endl;
    }
    curWord = normalize_to_lowerwithdigit(vecInfo[0]);
    wordId = m_classifier.fe._allwordAlphabet.from_string(curWord);
    if (wordId >= 0) {
      count++;
      if (unknownId == wordId)
        bHasUnknown = true;

      for (int idx = 0; idx < wordDim; idx++) {
        dtype curValue = atof(vecInfo[idx + 1].c_str());
        sum[idx] += curValue;
        emb[wordId][idx] += curValue;
      }
    }
    else{
    	std::cout << "read all word embedding strange...." << std::endl;
    }	
  	
  }  
  
  if (!bHasUnknown) {
    for (int idx = 0; idx < wordDim; idx++) {
      emb[unknownId][idx] = sum[idx] / count;
    }
    count++;
    std::cout << unknownkey << " not found, using averaged value to initialize." << std::endl;
  }

  return 0;
}


void Segmentor::getGoldActions(const vector<Instance>& vecInsts, vector<vector<CAction> >& vecActions){
  vecActions.clear();

  static Metric eval;
#if USE_CUDA==1
  static CStateItem<gpu> state[m_classifier.MAX_SENTENCE_SIZE];
#else
  static CStateItem<cpu> state[m_classifier.MAX_SENTENCE_SIZE];
#endif
  static vector<string> output;
  static CAction answer;
  eval.reset();
  static int numInstance, actionNum;
  vecActions.resize(vecInsts.size());
  for (numInstance = 0; numInstance < vecInsts.size(); numInstance++) {
    const Instance &instance = vecInsts[numInstance];

    actionNum = 0;
    state[actionNum].initSentence(&instance.chars);
    state[actionNum].clear();

    while (!state[actionNum].IsTerminated()) {
      state[actionNum].getGoldAction(instance.words, answer);
      vecActions[numInstance].push_back(answer);
      state[actionNum].move(state+actionNum+1, answer);
      actionNum++;
    }

    if(actionNum-1 != instance.charsize()) {
      std::cout << "action number is not correct, please check" << std::endl;
    }
    state[actionNum].getSegResults(output);

    instance.evaluate(output, eval);

    if (!eval.bIdentical()) {
      std::cout << "error state conversion!" << std::endl;
      exit(0);
    }

    if ((numInstance + 1) % m_options.verboseIter == 0) {
      cout << numInstance + 1 << " ";
      if ((numInstance + 1) % (40 * m_options.verboseIter) == 0)
        cout << std::endl;
      cout.flush();
    }
    if (m_options.maxInstance > 0 && numInstance == m_options.maxInstance)
      break;
  }
}


void Segmentor::train(const string& trainFile, const string& devFile, const string& testFile, const string& modelFile, const string& optionFile,
    const string& wordEmbFile, const string& charEmbFile, const string& bicharEmbFile, const string& layerFile, const string& numberlayerFile) {
  clock_t train_start_time = clock();
  if (optionFile != "")
    m_options.load(optionFile);

  m_options.showOptions();
  vector<Instance> trainInsts, devInsts, testInsts;
  m_pipe.readInstances(trainFile, trainInsts, m_classifier.MAX_SENTENCE_SIZE - 2, m_options.maxInstance);
  if (devFile != "")
    m_pipe.readInstances(devFile, devInsts, m_classifier.MAX_SENTENCE_SIZE - 2, m_options.maxInstance);
  if (testFile != "")
    m_pipe.readInstances(testFile, testInsts, m_classifier.MAX_SENTENCE_SIZE - 2, m_options.maxInstance);

  vector<vector<Instance> > otherInsts(m_options.testFiles.size());
  for (int idx = 0; idx < m_options.testFiles.size(); idx++) {
    m_pipe.readInstances(m_options.testFiles[idx], otherInsts[idx], m_classifier.MAX_SENTENCE_SIZE - 2, m_options.maxInstance);
  }

  createAlphabet(trainInsts);

  addTestWordAlpha(devInsts);
  addTestWordAlpha(testInsts);
    
  NRMat<dtype> wordEmb, allwordEmb;
  if (wordEmbFile != "") {    
    allWordAlphaEmb(wordEmbFile, allwordEmb);
  } else {
    std::cout << "must not be here, allword must be pretrained." << std::endl;
  }
  wordEmb.resize(m_classifier.fe._wordAlphabet.size(), m_options.wordEmbSize);
  wordEmb.randu(1000);

  cout << "word emb dim is " << wordEmb.ncols() << std::endl;

  NRMat<dtype> charEmb;
  if (charEmbFile != "") {
    readEmbeddings(m_classifier.fe._charAlphabet, charEmbFile, charEmb);
  } else {
    charEmb.resize(m_classifier.fe._charAlphabet.size(), m_options.charEmbSize);
    charEmb.randu(2000);
  }

  cout << "char emb dim is " << charEmb.ncols() << std::endl;

  NRMat<dtype> bicharEmb;
  if (bicharEmbFile != "") {
    readEmbeddings(m_classifier.fe._bicharAlphabet, bicharEmbFile, bicharEmb);
  } else {
    bicharEmb.resize(m_classifier.fe._bicharAlphabet.size(), m_options.bicharEmbSize);
    bicharEmb.randu(2000);
  }

  cout << "bichar emb dim is " << bicharEmb.ncols() << std::endl;

  NRMat<dtype> lengthEmb;
  lengthEmb.resize(6, m_options.lengthEmbSize);
  lengthEmb.randu(3000);

  cout << "length emb dim is " << lengthEmb.ncols() << std::endl;

  m_classifier.setDropValue(m_options.dropProb);
  m_classifier.init(wordEmb, allwordEmb, lengthEmb, m_options.wordNgram, m_options.wordHiddenSize, m_options.wordRNNHiddenSize,
      charEmb, bicharEmb, m_options.charcontext, m_options.charHiddenSize, m_options.charRNNHiddenSize,
      m_options.stackHiddenSize, m_options.finalHiddenSize, m_options.delta);

  m_classifier.setOOVFreq(m_options.wordCutOff);
  m_classifier.setOOVRatio(m_options.oovRatio);
  m_classifier.setWordFreq(m_word_stat);


  if (layerFile != "") {
    m_classifier.loadInitialLayer(layerFile);
  }
  
  if (numberlayerFile != "") {
    m_classifier.loadInitialLayerNumber(numberlayerFile);
  }

  vector<vector<CAction> > trainInstGoldactions;
  getGoldActions(trainInsts, trainInstGoldactions);
  double bestFmeasure = 0;

  int inputSize = trainInsts.size();

  std::vector<int> indexes;
  for (int i = 0; i < inputSize; ++i)
    indexes.push_back(i);

  static Metric eval, metric_dev, metric_test;

  // int maxIter = m_options.maxIter * (inputSize / m_options.batchSize + 1);
  int maxIter = m_options.maxIter;
  int oneIterMaxRound = (inputSize + m_options.batchSize -1) / m_options.batchSize;
  std::cout << "maxIter = " << maxIter << std::endl;
  int devNum = devInsts.size(), testNum = testInsts.size();

  static vector<vector<string> > decodeInstResults;
  static vector<string> curDecodeInst;
  static bool bCurIterBetter;
  static vector<vector<string> > subInstances;
  static vector<vector<CAction> > subInstGoldActions;
  std::cout << "Train init finished. Total time taken is: " << double(clock() - train_start_time) / CLOCKS_PER_SEC << "s"<< std::endl;
  for (int iter = 0; iter < maxIter; ++iter) {
    clock_t train_iter_start_time = clock();
    std::cout << "##### Iteration " << iter << std::endl;
    srand(iter);
    random_shuffle(indexes.begin(), indexes.end());
    std::cout << "random: " << indexes[0] << ", " << indexes[indexes.size() - 1] << std::endl;    
    bool bEvaluate = false;
    if(m_options.batchSize == 1){
      eval.reset();
      bEvaluate = true;
      clock_t batch_start_time = clock();
      for (int idy = 0; idy < inputSize; idy++) {
        subInstances.clear();
        subInstGoldActions.clear();
        subInstances.push_back(trainInsts[indexes[idy]].chars);
        subInstGoldActions.push_back(trainInstGoldactions[indexes[idy]]);
          
        double cost = m_classifier.train(subInstances, subInstGoldActions);
  
        eval.overall_label_count += m_classifier._eval.overall_label_count;
        eval.correct_label_count += m_classifier._eval.correct_label_count;
  
        if ((idy + 1) % (m_options.verboseIter*10) == 0) {
          std::cout << "current: " << idy + 1<< ", Time = "<<double(clock() - batch_start_time) / CLOCKS_PER_SEC  << ", Cost = " << cost << ", Correct(%) = " << eval.getAccuracy()  << std::endl;
          batch_start_time = clock();
        }
        m_classifier.updateParams(m_options.regParameter, m_options.adaAlpha, m_options.adaEps, m_options.clip);
      }
      std::cout << "current: " << iter + 1  << ", Correct(%) = " << eval.getAccuracy() << std::endl;
    }
    else{
      if(iter == 0)eval.reset();
      clock_t batch_start_time = clock();
      subInstances.clear();
      subInstGoldActions.clear();
      for (int idy = 0; idy < m_options.batchSize; idy++) {
        subInstances.push_back(trainInsts[indexes[idy]].chars);
        subInstGoldActions.push_back(trainInstGoldactions[indexes[idy]]);       
      }
      double cost = m_classifier.train(subInstances, subInstGoldActions);

      eval.overall_label_count += m_classifier._eval.overall_label_count;
      eval.correct_label_count += m_classifier._eval.correct_label_count;
      
      if ((iter + 1) % (m_options.verboseIter) == 0) {
        std::cout << "current: " << iter + 1 << ", Time = "<<double(clock() - batch_start_time) / CLOCKS_PER_SEC << ", Cost = " << cost << ", Correct(%) = " << eval.getAccuracy()  << std::endl;
        batch_start_time = clock();
        eval.reset();
        bEvaluate = true;
      }
      m_classifier.updateParams(m_options.regParameter, m_options.adaAlpha, m_options.adaEps, m_options.clip);
    }
    clock_t train_iter_end_time = clock();
    std::cout << "Iter "<< iter << " finished. Total time taken is: " << double(train_iter_end_time- train_iter_start_time) / CLOCKS_PER_SEC<< "s" << std::endl;
    if (bEvaluate && devNum > 0) {
      bCurIterBetter = false;
      if (!m_options.outBest.empty())
        decodeInstResults.clear();
      metric_dev.reset();
      for (int idx = 0; idx < devInsts.size(); idx++) {
        predict(devInsts[idx], curDecodeInst);
        devInsts[idx].evaluate(curDecodeInst, metric_dev);
        if (!m_options.outBest.empty()) {
          decodeInstResults.push_back(curDecodeInst);
        }
      }
      std::cout << "dev:" << std::endl;
      metric_dev.print();

      if (!m_options.outBest.empty() && metric_dev.getAccuracy() > bestFmeasure) {
        m_pipe.outputAllInstances(devFile + m_options.outBest, decodeInstResults);
        bCurIterBetter = true;
      }
    clock_t decode_dev_end_time = clock();
    std::cout << "Decode dev finished. Total time taken is: " << double(decode_dev_end_time-train_iter_end_time) / CLOCKS_PER_SEC<< "s" << std::endl;
      if (testNum > 0) {
        if (!m_options.outBest.empty())
          decodeInstResults.clear();
        metric_test.reset();
        for (int idx = 0; idx < testInsts.size(); idx++) {
          predict(testInsts[idx], curDecodeInst);
          testInsts[idx].evaluate(curDecodeInst, metric_test);
          if (bCurIterBetter && !m_options.outBest.empty()) {
            decodeInstResults.push_back(curDecodeInst);
          }
        }
        std::cout << "test:" << std::endl;
        metric_test.print();

        if (!m_options.outBest.empty() && bCurIterBetter) {
          m_pipe.outputAllInstances(testFile + m_options.outBest, decodeInstResults);
        }
      }
      clock_t decode_test_end_time = clock();
      std::cout << "Decode test finished. Total time taken is: " << double(decode_test_end_time- decode_dev_end_time) / CLOCKS_PER_SEC<< "s" << std::endl;
      for (int idx = 0; idx < otherInsts.size(); idx++) {
        std::cout << "processing " << m_options.testFiles[idx] << std::endl;
        if (!m_options.outBest.empty())
          decodeInstResults.clear();
        metric_test.reset();
        for (int idy = 0; idy < otherInsts[idx].size(); idy++) {
          predict(otherInsts[idx][idy], curDecodeInst);
          otherInsts[idx][idy].evaluate(curDecodeInst, metric_test);
          if (bCurIterBetter && !m_options.outBest.empty()) {
            decodeInstResults.push_back(curDecodeInst);
          }
        }
        std::cout << "test:" << std::endl;
        metric_test.print();

        if (!m_options.outBest.empty() && bCurIterBetter) {
          m_pipe.outputAllInstances(m_options.testFiles[idx] + m_options.outBest, decodeInstResults);
        }
      }

      if (m_options.saveIntermediate && metric_dev.getAccuracy() > bestFmeasure) {
        std::cout << "Exceeds best previous DIS of " << bestFmeasure << ". Saving model file.." << std::endl;
        bestFmeasure = metric_dev.getAccuracy();
        writeModelFile(modelFile);
      }
    }
  }
}



void Segmentor::predict(const Instance& input, vector<string>& output) {
  m_classifier.decode(input.chars, output);
}


void Segmentor::test(const string& testFile, const string& outputFile, const string& modelFile) {
  loadModelFile(modelFile);
  vector<Instance> testInsts;
  m_pipe.readInstances(testFile, testInsts, m_classifier.MAX_SENTENCE_SIZE - 2, m_options.maxInstance);
  cout << "instance num:"<< testInsts.size()<<endl;

  vector<vector<string> > testInstResults(testInsts.size());
  Metric metric_test;
  metric_test.reset();
  std::ofstream os(outputFile.c_str());
  clock_t last_decode_clock = clock();
  for (int idx = 0; idx < testInsts.size(); idx++) {
    if (idx % 1000 == 0) {
      cout << "decoding instance:"<< idx << ", Time cost:"<< double(clock() - last_decode_clock) / CLOCKS_PER_SEC<< endl;
      last_decode_clock = clock();
    }
    vector<string> result_labels;
    predict(testInsts[idx], testInstResults[idx]);
    testInsts[idx].evaluate(testInstResults[idx], metric_test);
    for(int idy = 0; idy < testInstResults[idx].size(); idy++){
      os << testInstResults[idx][idy] << " ";
    }
    os << std::endl;
  }
  std::cout << "test:" << std::endl;
  metric_test.print();
  os.close();

  // for (int idx = 0; idx < testInsts.size(); idx++) {
  //   for(int idy = 0; idy < testInstResults[idx].size(); idy++){
  //     os << testInstResults[idx][idy] << " ";
  //   }
  //   os << std::endl;
  // }
  
}


void Segmentor::readEmbeddings(Alphabet &alpha, const string& inFile, NRMat<dtype>& emb) {
  static ifstream inf;
  if (inf.is_open()) {
    inf.close();
    inf.clear();
  }
  inf.open(inFile.c_str());

  static string strLine, curWord;
  static int wordId;

  //find the first line, decide the wordDim;
  while (1) {
    if (!my_getline(inf, strLine)) {
      break;
    }
    if (!strLine.empty())
      break;
  }

  int unknownId = alpha.from_string(m_classifier.fe.unknownkey);

  static vector<string> vecInfo;
  split_bychar(strLine, vecInfo, ' ');
  int wordDim = vecInfo.size() - 1;

  std::cout << "embedding dim is " << wordDim << std::endl;

  emb.resize(alpha.size(), wordDim);
  emb = 0.0;
  curWord = normalize_to_lowerwithdigit(vecInfo[0]);
  wordId = alpha.from_string(curWord);
  hash_set<int> indexers;
  dtype sum[wordDim];
  int count = 0;
  bool bHasUnknown = false;
  if (wordId >= 0) {
    count++;
    if (unknownId == wordId)
      bHasUnknown = true;
    indexers.insert(wordId);
    for (int idx = 0; idx < wordDim; idx++) {
      dtype curValue = atof(vecInfo[idx + 1].c_str());
      sum[idx] = curValue;
      emb[wordId][idx] = curValue;
    }

  } else {
    for (int idx = 0; idx < wordDim; idx++) {
      sum[idx] = 0.0;
    }
  }

  while (1) {
    if (!my_getline(inf, strLine)) {
      break;
    }
    if (strLine.empty())
      continue;
    split_bychar(strLine, vecInfo, ' ');
    if (vecInfo.size() != wordDim + 1) {
      std::cout << "error embedding file" << std::endl;
    }
    curWord = normalize_to_lowerwithdigit(vecInfo[0]);
    wordId = alpha.from_string(curWord);
    if (wordId >= 0) {
      count++;
      if (unknownId == wordId)
        bHasUnknown = true;
      indexers.insert(wordId);

      for (int idx = 0; idx < wordDim; idx++) {
        dtype curValue = atof(vecInfo[idx + 1].c_str());
        sum[idx] += curValue;
        emb[wordId][idx] += curValue;
      }
    }

  }

  if (!bHasUnknown) {
    for (int idx = 0; idx < wordDim; idx++) {
      emb[unknownId][idx] = sum[idx] / count;
    }
    count++;
    std::cout << unknownkey << " not found, using averaged value to initialize." << std::endl;
  }

  int oovWords = 0;
  int totalWords = 0;
  for (int id = 0; id < alpha.size(); id++) {
    if (indexers.find(id) == indexers.end()) {
      oovWords++;
      for (int idx = 0; idx < wordDim; idx++) {
        emb[id][idx] = emb[unknownId][idx];
      }
    }
    totalWords++;
  }

  std::cout << "OOV num is " << oovWords << ", total num is " << alpha.size() << ", embedding oov ratio is " << oovWords * 1.0 / alpha.size()
      << std::endl;

}


void Segmentor::loadModelFile(const string& inputModelFile) {
  std::cout << "Start load model from file: " << inputModelFile << std::endl;
  LStream inf(inputModelFile, "rb");
  ReadString(inf, nullkey);
  ReadString(inf, unknownkey);
  ReadString(inf, paddingtag);
  ReadString(inf, seperateKey);
  m_classifier.loadModel(inf);
  m_options.loadModel(inf);
  std::cout << "Model has been loaded from file: " << inputModelFile << std::endl;
  m_options.showOptions();
}

void Segmentor::writeModelFile(const string& outputModelFile) {
  std::cout << "Start write model to file: " << outputModelFile << std::endl;
  LStream outf(outputModelFile, "w+");
  WriteString(outf, nullkey);
  WriteString(outf, unknownkey);
  WriteString(outf, paddingtag);
  WriteString(outf, seperateKey);
  m_classifier.writeModel(outf);
  m_options.writeModel(outf);
  std::cout << "Model has been written in file: " << outputModelFile << std::endl;
}

int main(int argc, char* argv[]) {
  std::string trainFile = "", devFile = "", testFile = "", modelFile = "";
  std::string wordEmbFile = "", charEmbFile = "", bicharEmbFile = "",mapcharEmbFile = "", optionFile = "";
  std::string outputFile = "";
  std::string layerFile = "";
  std::string numberlayerFile = "";
  bool bTrain = false;
  dsr::Argument_helper ah;

  ah.new_flag("l", "learn", "train or test", bTrain);
  ah.new_named_string("train", "trainCorpus", "named_string", "training corpus to train a model, must when training", trainFile);
  ah.new_named_string("dev", "devCorpus", "named_string", "development corpus to train a model, optional when training", devFile);
  ah.new_named_string("test", "testCorpus", "named_string",
      "testing corpus to train a model or input file to test a model, optional when training and must when testing", testFile);
  ah.new_named_string("model", "modelFile", "named_string", "model file, must when training and testing", modelFile);
  ah.new_named_string("word", "wordEmbFile", "named_string", "pretrained word embedding file to train a model, optional when training", wordEmbFile);
  ah.new_named_string("char", "charEmbFile", "named_string", "pretrained char embedding file to train a model, optional when training", charEmbFile);
  ah.new_named_string("bichar", "bicharEmbFile", "named_string", "pretrained bichar embedding file to train a model, optional when training", bicharEmbFile);
  ah.new_named_string("option", "optionFile", "named_string", "option file to train a model, optional when training", optionFile);
  ah.new_named_string("output", "outputFile", "named_string", "output file to test, must when testing", outputFile);
  ah.new_named_string("layer", "layerFile", "named_string", "layer file pretrained for other task", layerFile);
  ah.new_named_string("numlayer", "numberlayerFile", "named_string", "number format layer file pretrained for other task", numberlayerFile);

  ah.process(argc, argv);

  Segmentor segmentor;
  if (bTrain) {
    segmentor.train(trainFile, devFile, testFile, modelFile, optionFile, wordEmbFile, charEmbFile, bicharEmbFile, layerFile, numberlayerFile);
  } else {
    segmentor.test(testFile, outputFile, modelFile);
  }

  //test(argv);
  //ah.write_values(std::cout);

}


================================================
FILE: STDSeg.h
================================================
/*
 * Segmentor.h
 *
 *  Created on: Mar 25, 2015
 *      Author: mszhang
 */

#ifndef SRC_PARSER_H_
#define SRC_PARSER_H_

#include "N3L.h"

#include "model/CharLSTMSTD_noword.h"
#include "Options.h"
#include "Pipe.h"
#include "Utf.h"

using namespace nr;
using namespace std;

class Segmentor {
public:
	std::string nullkey;
	std::string unknownkey;
	std::string paddingtag;
	std::string seperateKey;

public:
	Segmentor();
	virtual ~Segmentor();

public:

#if USE_CUDA==1
	BeamSearcher<gpu> m_classifier;
#else
	BeamSearcher<cpu> m_classifier;
#endif

	Options m_options;

	Pipe m_pipe;

	hash_map<string, int> m_word_stat;

public:
	void readWordEmbeddings(const string& inFile, NRMat<dtype>& wordEmb);

	void readWordClusters(const string& inFile);

	int createAlphabet(const vector<Instance>& vecInsts);

	int addTestWordAlpha(const vector<Instance>& vecInsts);
	
	int allWordAlphaEmb(const string& inFile, NRMat<dtype>& emb);

public:
	void train(const string& trainFile, const string& devFile, const string& testFile, const string& modelFile, const string& optionFile,
		const string& wordEmbFile, const string& charEmbFile, const string& bicharEmbFile, const string& layerFile, const string& numberlayerFile);

	void predict(const Instance& input, vector<string>& output);
	void test(const string& testFile, const string& outputFile, const string& modelFile);

	// static training
	void getGoldActions(const vector<Instance>& vecInsts, vector<vector<CAction> >& vecActions);

public:
	void readEmbeddings(Alphabet &alpha, const string& inFile, NRMat<dtype>& emb);

	void writeModelFile(const string& outputModelFile);
	void loadModelFile(const string& inputModelFile);

public:


};

#endif /* SRC_PARSER_H_ */


================================================
FILE: basic/Action.h
================================================
/*
 * CAction.h
 *
 *  Created on: Oct 6, 2015
 *      Author: mszhang
 */

#ifndef BASIC_CAction_H_
#define BASIC_CAction_H_



/*===============================================================
 *
 * scored actions
 *
 *==============================================================*/
// for segmentation, there are only threee valid operations
class CAction {
public:
  enum CODE {NO_ACTION=0, SEP=1, APP=2, FIN=3, IDLE=4};
  unsigned long _code;

public:
   CAction() : _code(0){
   }

   CAction(int code) : _code(code){
   }

   CAction(const CAction &ac) : _code(ac._code){
   }

public:
   inline void clear() { _code=0; }

   inline void set(int code){
     _code = code;
   }

   inline bool isNone() const { return _code==NO_ACTION; }
   inline bool isSeparate() const { return _code==SEP; }
   inline bool isAppend() const { return _code==APP; }
   inline bool isFinish() const { return _code==FIN; }
   inline bool isIdle() const { return _code>=IDLE; }

public:
   inline std::string str() const {
     if (isNone()) { return "NONE"; }
     if (isIdle()) { return "IDLE"; }
     if (isSeparate()) { return "SEP"; }
     if (isAppend()) { return "APP"; }
     if (isFinish()) { return "FIN"; }
     return "IDLE";
   }

public:
   const unsigned long &code() const {return _code;}
   const unsigned long &hash() const {return _code;}
   bool operator == (const CAction &a1) const { return _code == a1._code; }
   bool operator != (const CAction &a1) const { return _code != a1._code; }
   bool operator < (const CAction &a1) const { return _code < a1._code; }
   bool operator > (const CAction &a1) const { return _code > a1._code; }

};


inline std::istream & operator >> (std::istream &is, CAction &action) {
  std::string tmp;
  is >> tmp;
  if (tmp=="NONE") {
    action.clear();
  }
  else if(tmp=="IDLE"){
    action._code = CAction::IDLE;
  }
  else if(tmp=="SEP"){
    action._code = CAction::SEP;
  }
  else if(tmp=="APP"){
    action._code = CAction::APP;
  }
  else if(tmp=="FIN"){
    action._code = CAction::FIN;
  }

  return is;
}


inline std::ostream & operator << (std::ostream &os, const CAction &action) {
   os << action.str();
   return os;
}


#endif /* BASIC_CAction_H_ */


================================================
FILE: basic/Argument_helper.h
================================================
/*
*
* Argument Helper
*
* Daniel Russel drussel@alumni.princeton.edu
* Stanford University
*
*
* This software is not subject to copyright protection and is in the
* public domain. Neither Stanford nor the author assume any
* responsibility whatsoever for its use by other parties, and makes no
* guarantees, expressed or implied, about its quality, reliability, or
* any other characteristic.
*
*/

#ifndef _DSR_ARGS_H_
#define _DSR_ARGS_H_
#include <vector>
#if defined __GNUC__ || defined __APPLE__
#include <ext/hash_map>
#else
#include <hash_map>
#endif

#include <list>
#include <string>
#include <iostream>
#include <cstdlib>
#include <cstdio>
//#include <limits>
#include <cassert>


 /*!
   
 \mainpage A Simple C++ Argument Parser

    This is a class to aid handling of command line arguments in a C++
    program. It follows (and enforces) the unsual conventions.

    New arguments are added by calling functions of the form of new_[optional_/named_]type.

    - type is the type of the value for the argument (int, double, string, vector of strings...)

    - optional means that the use doesn't have to supply it.

    - named means that it is identified by following an "-c" or
      "--long-name" identifier. All named arguments are optional.

    Unnamed arguments are expected to appear in order of addition on
    the command line. Named arguments can be passed in any order (and
    mixed with the unnamed arguments).

    The special argument "--" means that all remaining arguments are
    treated as unnamed (so you can pass file names that begin with -).

    When calling a new_foo function to create an argument the
    following can/must be passed in
    
    - For all arguments
     + The place to put the value.
     + A description of the value of the argument (i.e. it is a filename)
     + A description of the argument as a whole (i.e. it is the input file).

    - For named arguments
     + A character for the short name.
     + A string for the long name.

     When the program is called if "--help" is passed as an argument
     the useage information is printed and the program exits.

    There is always an implicit "-v" flag for verbose which sets the
    dsr::verbose variable and a "-V" which sets the VERBOSE variable.

    Any extra arguments or arguments with unexpected types are treated
    as errors and cause the program to abort. Extra arguments can be
    allowed for by adding a std::vector<std::string> to store them
    using the "set_string_vector" function. All extra (unnamed)
    arguments are placed there.

    This software is not subject to copyright protection and is in the
    public domain. Neither Stanford nor the author assume any
    responsibility whatsoever for its use by other parties, and makes no
    guarantees, expressed or implied, about its quality, reliability, or
    any other characteristic.

    An example using the class is:
    \include argument_helper_example.cc

  */

namespace dsr{
  extern bool verbose, VERBOSE;

  //! A helper class for parsing command line arguments.
  /*!
    This is the only class you need to look at in order to use it. 
  */
  class Argument_helper{
  private:
    class Argument_target;

 
    class FlagTarget;
    class DoubleTarget;
    class IntTarget;
    class UIntTarget;
    class StringTarget;
    class CharTarget;
    class StringVectorTarget;

  public:
    Argument_helper();
    //! Toggle a boolean
    void new_flag(const char *key, const char *long_name, const char *description,bool &dest);

    //! add a string argument
    void new_string( const char *arg_description, const char *description, std::string &dest);
    //! add a string which must have a key.
    void new_named_string(const char *key, const char *long_name,
			  const char *arg_description,
			  const char *description,  std::string &dest);
    //! Add an optional string-- any extra arguments are put in these.
    void new_optional_string( const char *arg_description, const char *description, std::string &dest);

    //! add an int
    void new_int( const char *arg_description, const char *description, int &dest);
    //! Add an int.
    void new_named_int(const char *key, const char *long_name,const char *value_name,
		       const char *description,
		       int &dest);
    //! Add an optional named int.
    void new_optional_int(const char *value_name,
			  const char *description,
			  int &dest);

    //! Add a named double.
    void new_double(const char *value_name,
		    const char *description,
		    double &dest);

    //! Add a named double.
    void new_named_double(const char *key, const char *long_name,const char *value_name,
			  const char *description,
			  double &dest);
    //! Add a named double.
    void new_optional_double(const char *value_name,
			     const char *description,
			     double &dest);

    //! Add an char.
    void new_char(const char *value_name,
				const char *description,
				char &dest);
    //! Add an optional char.
    void new_named_char(const char *key, const char *long_name,const char *value_name,
			   const char *description,
			   char &dest);
    //! Add an named char.
    void new_optional_char(const char *value_name,
			   const char *description,
			   char &dest);

    //! Add an unsigned int.
    void new_unsigned_int(const char *value_name, const char *description,
			  unsigned int &dest);
    //! Add an named unsigned int.
    void new_optional_unsigned_int(const char *value_name, const char *description,
				unsigned int &dest);
    //! Add an optional named unsigned int.
    void new_named_unsigned_int(const char *key, const char *long_name,
				   const char *value_name, const char *description,
				   unsigned int &dest);


    //! add a target which takes a list of strings
    /*!
      Only named makes sense as the string vector default handles unnamed and optional.
    */
    void new_named_string_vector(const char *key, const char *long_name,
				 const char *value_name, const char *description,
				 std::vector<std::string> &dest);

    //! add a vector of strings.
    /*!  Any arguments which are not claimed by earlier unnamed
      arguments or which are named are put here. This means you cannot
      have a string vector followed by a string.
    */
    void set_string_vector(const char *arg_description, const char *description, std::vector<std::string> &dest);

    //! Set who wrote the program.
    void set_author(const char *author);

    //! Set what the program does.
    void set_description(const char *descr);

    //! Set what the version is.
    void set_version(float v);
    void set_version(const char *str);

    //! Set the name of the program.
    void set_name(const char *name);

    //! Set when the program was built.
    void set_build_date(const char *date);

    //! Process the list of arguments and parse them.
    /*!
      This returns true if all the required arguments are there. 
    */
    void process(int argc, const char **argv);
    void process(int argc, char **argv){
      process(argc, const_cast<const char **>(argv));
    }
    //! Write how to call the program.
    void write_usage(std::ostream &out) const;
    //! Write the values of all the possible arguments.
    void write_values(std::ostream &out) const;
    
    ~Argument_helper();
  protected:
    typedef hash_map<std::string, Argument_target*> SMap;
    typedef hash_map<std::string, Argument_target*> LMap;
    typedef std::vector<Argument_target*> UVect;
    // A hash_map from short names to arguments.
    SMap short_names_;
    // A hash_map from long names to arguments.
    LMap long_names_;
    std::string author_;
    std::string name_;
    std::string description_;
    std::string date_;
    float version_;
    bool seen_end_named_;
    // List of unnamed arguments
    std::vector<Argument_target*> unnamed_arguments_;
    std::vector<Argument_target*> optional_unnamed_arguments_;
    std::vector<Argument_target*> all_arguments_;
    std::string extra_arguments_descr_;
    std::string extra_arguments_arg_descr_;
    std::vector<std::string> *extra_arguments_;
    std::vector<Argument_target*>::iterator current_unnamed_;
    std::vector<Argument_target*>::iterator current_optional_unnamed_;
    void new_argument_target(Argument_target*);
    void handle_error() const;
  private:
    Argument_helper(const Argument_helper &){};
    const Argument_helper& operator=(const Argument_helper &){return *this;}
  };



	
  bool verbose=false, VERBOSE=false;


  //////////////////////////////////////////////// Argument Targets

  // This is a base class for representing one argument value.
  /* 
     This is inherited by many classes and which represent the different types. 
  */
  class Argument_helper::Argument_target {
  public:
    std::string key;
    std::string long_name;
    std::string description;
    std::string arg_description;
   
    Argument_target(const std::string& k, const std::string& lname,
		    const std::string& descr,
		    const std::string& arg_descr) {
      key=k;
      long_name=lname;
      description=descr;
      arg_description=arg_descr;
    }
    Argument_target(const std::string& descr,
		    const std::string& arg_descr) {
      key="";
      long_name="";
      description=descr;
      arg_description=arg_descr;
    }
    virtual bool process(int &, const char **&)=0;
    virtual void write_name(std::ostream &out) const;
    virtual void write_value(std::ostream &out) const=0;
    virtual void write_usage(std::ostream &out) const;
    virtual ~Argument_target(){}
  };

  void Argument_helper::Argument_target::write_name(std::ostream &out) const {
    if (key != "") out << '-' << key;
    else if (!long_name.empty()) out << "--" << long_name;
    else out << arg_description;
  }

  
  void Argument_helper::Argument_target::write_usage(std::ostream &out) const {
    if (key != "") {
      out << '-' << key;
      out << "/--" << long_name;
    }
    out << ' ' << arg_description;
    out << "\t" << description;
    out << " Value: ";
    write_value(out);
    out << std::endl;
  }

  class Argument_helper::FlagTarget: public Argument_helper::Argument_target{
  public:
    bool &val;
    FlagTarget(const char *k, const char *lname,
	       const char *descr,
	       bool &b): Argument_target(std::string(k), std::string(lname), std::string(descr),
					 std::string()),  val(b){}
    virtual bool process(int &, const char **&){
      val= !val;
      return true;
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }

    virtual void write_usage(std::ostream &out) const {
      if (key != "") {
	out << '-' << key;
	out << "/--" << long_name;
      }
      out << "\t" << description;
      out << " Value: ";
      write_value(out);
      out << std::endl;
    }
    virtual ~FlagTarget(){}
  };

  class Argument_helper::DoubleTarget: public Argument_target{
  public:
    double &val;
    DoubleTarget(const char *k, const char *lname,
		 const char *arg_descr, 
		 const char *descr, double &b): Argument_target(std::string(k), std::string(lname),
								    std::string(descr),
								    std::string(arg_descr)),  val(b){}
    DoubleTarget(const char *arg_descr, 
		 const char *descr, double &b): Argument_target(std::string(descr),
								    std::string(arg_descr)),  val(b){}
    virtual bool process(int &argc, const char **&argv){
      if (argc==0){
	std::cerr << "Missing value for argument." << std::endl;
	return false;
      }
      if (sscanf(argv[0], "%le", &val) ==1){
	--argc;
	++argv;
	return true;
      }  else {
	std::cerr << "Double not found at " << argv[0] << std::endl;
	return false;
      }
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }
    virtual ~DoubleTarget(){}
  };

  class Argument_helper::IntTarget: public Argument_target{
  public:
    int &val;
    IntTarget(const char *arg_descr, 
	      const char *descr, int &b): Argument_target(std::string(descr), std::string(arg_descr)),
					      val(b){}
    IntTarget(const char *k, const char *lname,
	      const char *arg_descr, 
	      const char *descr, int &b): Argument_target(std::string(k), std::string(lname),
							      std::string(descr),
							      std::string(arg_descr)), 
					      val(b){}
    virtual bool process(int &argc, const char **&argv){
      if (argc==0){
	std::cerr << "Missing value for argument." << std::endl;
	return false;
      }
      if (sscanf(argv[0], "%d", &val) ==1){
	--argc;
	++argv;
	return true;
      }  else {
	std::cerr << "Integer not found at " << argv[0] << std::endl;
	return false;
      }
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }
    virtual ~IntTarget(){}
  };

  class Argument_helper::UIntTarget: public Argument_target{
  public:
    unsigned int &val;
    UIntTarget(const char *arg_descr, 
	       const char *descr, unsigned int &b): Argument_target(std::string(descr), std::string(arg_descr)),
					       val(b){}
    UIntTarget(const char *k, const char *lname,
	       const char *arg_descr, 
	       const char *descr, unsigned int &b): Argument_target(std::string(k), std::string(lname),
							       std::string(descr),
							       std::string(arg_descr)), 
					       val(b){}
    virtual bool process(int &argc, const char **&argv){
      if (argc==0){
	std::cerr << "Missing value for argument." << std::endl;
	return false;
      }
      if (sscanf(argv[0], "%ud", &val) ==1){
	--argc;
	++argv;
	return true;
      } else {
	std::cerr << "Unsigned integer not found at " << argv[0] << std::endl;
	return false;
      }
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }
    virtual ~UIntTarget(){}
  };
 

  class Argument_helper::CharTarget: public Argument_target{
  public:
    char &val;
    CharTarget(const char *k, const char *lname,
	       const char *arg_descr, 
	       const char *descr, char &b): Argument_target(std::string(k), std::string(lname),
								std::string(descr),
								std::string(arg_descr)),  val(b){}
    CharTarget(const char *arg_descr, 
	       const char *descr, char &b): Argument_target(std::string(descr),
								std::string(arg_descr)),  val(b){}
    virtual bool process(int &argc, const char **&argv){
      if (argc==0){
	std::cerr << "Missing value for argument." << std::endl;
	return false;
      }
      if (sscanf(argv[0], "%c", &val) ==1){
	--argc;
	++argv;
	return true;
      }  else {
	std::cerr << "Character not found at " << argv[0] << std::endl;
	return false;
      }
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }
    virtual ~CharTarget(){}
  };


  class Argument_helper::StringTarget: public Argument_target{
  public:
    std::string &val;
    StringTarget(const char *arg_descr, 
		 const char *descr, std::string &b): Argument_target(std::string(descr),  std::string(arg_descr)),
							 val(b){}

    StringTarget(const char *k, const char *lname, const char *arg_descr,
		 const char *descr, std::string &b): Argument_target(std::string(k), std::string(lname),
		     std::string(descr), std::string(arg_descr)),
							 val(b){}

    virtual bool process(int &argc, const char **&argv){
      if (argc==0){
	std::cerr << "Missing string argument." << std::endl;
	return false;
      }
      val= argv[0];
      --argc;
      ++argv;
      return true;
    }
    virtual void write_value(std::ostream &out) const {
      out << val;
    }
    virtual ~StringTarget(){}
  };


  class Argument_helper::StringVectorTarget: public Argument_target{
  public:
    std::vector<std::string> &val;

    StringVectorTarget(const char *k, const char *lname, const char *arg_descr,
		 const char *descr, std::vector<std::string> &b): Argument_target(std::string(k), std::string(lname),
		     std::string(descr), std::string(arg_descr)),
						     val(b){}

    virtual bool process(int &argc, const char **&argv){
      while (argc >0 && argv[0][0] != '-'){
	val.push_back(argv[0]);
	--argc;
	++argv;
      }
      return true;
    }
    virtual void write_value(std::ostream &out) const {
      for (unsigned int i=0; i< val.size(); ++i){
	out << val[i] << " ";
      }
    }
    virtual ~StringVectorTarget(){}
  };


  //////////////////////////////////////////////// Argument_helper functions


  Argument_helper::Argument_helper(){
    author_="a programmer";
    description_= "This program produces output.";
    date_= "some day a long, long time ago.";
    version_=-1;
    extra_arguments_=NULL;
    seen_end_named_=false;
    new_flag("v", "verbose", "Whether to print extra information", verbose);
    new_flag("V", "VERBOSE", "Whether to print lots of extra information", VERBOSE);
  }



  void Argument_helper::set_string_vector(const char *arg_description, 
					  const char *description, 
					  std::vector<std::string> &dest){
    assert(extra_arguments_==NULL);
    extra_arguments_descr_= description;
    extra_arguments_arg_descr_= arg_description;
    extra_arguments_= &dest;
  }

  void Argument_helper::set_author(const char *author){
    author_=author;
  }

  void Argument_helper::set_description(const char *descr){
    description_= descr;
  }

  void Argument_helper::set_name(const char *descr){
    name_= descr;
  }

  void Argument_helper::set_version(float v){
    version_=v;
  }

  void Argument_helper::set_version(const char *s){
    version_=atof(s);
  }

  void  Argument_helper::set_build_date(const char *date){
    date_=date;
  }
  
  void Argument_helper::new_argument_target(Argument_target *t) {
    assert(t!= NULL);
    if (t->key != ""){
      if (short_names_.find(t->key) != short_names_.end()){
	std::cerr << "Two arguments are defined with the same string key, namely" << std::endl;
	short_names_[t->key]->write_usage(std::cerr);
	std::cerr << "\n and \n";
	t->write_usage(std::cerr);
	std::cerr << std::endl;
      }
      short_names_[t->key]= t;
    } 
    if (!t->long_name.empty()){
      if (long_names_.find(t->long_name) != long_names_.end()){
	std::cerr << "Two arguments are defined with the same long key, namely" << std::endl;
	long_names_[t->long_name]->write_usage(std::cerr);
	std::cerr << "\n and \n";
	t->write_usage(std::cerr);
	std::cerr << std::endl;
      }
      long_names_[t->long_name]= t;
    }
    all_arguments_.push_back(t);
  }
  
  void Argument_helper::new_flag(const char *key, const char *long_name, const char *description,bool &dest){
    Argument_target *t= new FlagTarget(key, long_name, description, dest);
    new_argument_target(t);
  };



  void Argument_helper::new_string(const char *arg_description, const char *description,
				   std::string &dest){
    Argument_target *t= new StringTarget(arg_description, description, dest);
    unnamed_arguments_.push_back(t);
    all_arguments_.push_back(t);
  };
  void Argument_helper::new_optional_string(const char *arg_description, const char *description,
					    std::string &dest){
    Argument_target *t= new StringTarget(arg_description, description, dest);
    optional_unnamed_arguments_.push_back(t);
  };
  void Argument_helper::new_named_string(const char *key, const char *long_name,
					 const char *arg_description, const char *description,
					 std::string &dest){
    Argument_target *t= new StringTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };


  void Argument_helper::new_named_string_vector(const char *key, const char *long_name,
					 const char *arg_description, const char *description,
					 std::vector<std::string> &dest){
    Argument_target *t= new StringVectorTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };



  void Argument_helper::new_int(const char *arg_description, const char *description,
				   int &dest){
    Argument_target *t= new IntTarget(arg_description, description, dest);
    unnamed_arguments_.push_back(t);
    all_arguments_.push_back(t);
  };
  void Argument_helper::new_optional_int(const char *arg_description, const char *description,
					    int &dest){
    Argument_target *t= new IntTarget(arg_description, description, dest);
    optional_unnamed_arguments_.push_back(t);
  };
  void Argument_helper::new_named_int(const char *key, const char *long_name,
					 const char *arg_description, const char *description,
					 int &dest){
    Argument_target *t= new IntTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };

  void Argument_helper::new_unsigned_int(const char *arg_description, const char *description,
					unsigned int &dest){
    Argument_target *t= new UIntTarget(arg_description, description, dest);
    unnamed_arguments_.push_back(t);
    all_arguments_.push_back(t);
  };
  void Argument_helper::new_optional_unsigned_int(const char *arg_description, const char *description,
					    unsigned int &dest){
    Argument_target *t= new UIntTarget(arg_description, description, dest);
    optional_unnamed_arguments_.push_back(t);
  };
  void Argument_helper::new_named_unsigned_int(const char *key, const char *long_name,
					       const char *arg_description, const char *description,
					       unsigned int &dest){
    Argument_target *t= new UIntTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };


  void Argument_helper::new_double(const char *arg_description, const char *description,
				   double &dest){
    Argument_target *t= new DoubleTarget(arg_description, description, dest);
    unnamed_arguments_.push_back(t);
    all_arguments_.push_back(t);
  };
  void Argument_helper::new_optional_double(const char *arg_description, const char *description,
					    double &dest){
    Argument_target *t= new DoubleTarget(arg_description, description, dest);
    optional_unnamed_arguments_.push_back(t);
  };
  void Argument_helper::new_named_double(const char *key, const char *long_name,
					 const char *arg_description, const char *description,
					 double &dest){
    Argument_target *t= new DoubleTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };

  void Argument_helper::new_char(const char *arg_description, const char *description,
				 char &dest){
    Argument_target *t= new CharTarget(arg_description, description, dest);
    unnamed_arguments_.push_back(t);
    all_arguments_.push_back(t);
  };
  void Argument_helper::new_optional_char(const char *arg_description, const char *description,
					    char &dest){
    Argument_target *t= new CharTarget(arg_description, description, dest);
    optional_unnamed_arguments_.push_back(t);
  };
  void Argument_helper::new_named_char(const char *key, const char *long_name,
					 const char *arg_description, const char *description,
					 char &dest){
    Argument_target *t= new CharTarget(key, long_name, arg_description, description, dest);
    new_argument_target(t);
  };



  void Argument_helper::write_usage(std::ostream &out) const {
    out << name_ << " version " << version_ << ", by " << author_ << std::endl;
    out << description_ << std::endl;
    out << "Compiled on " << date_ << std::endl << std::endl;
    out << "Usage: " << name_  << " ";
    for (UVect::const_iterator it= unnamed_arguments_.begin(); it != unnamed_arguments_.end(); ++it){
      (*it)->write_name(out);
      out << " ";
    }
    for (UVect::const_iterator it= optional_unnamed_arguments_.begin(); 
	 it != optional_unnamed_arguments_.end(); ++it){
      out << "[";
      (*it)->write_name(out);
      out << "] ";
    }
    if (extra_arguments_ != NULL) {
      out << "[" << extra_arguments_arg_descr_ << "]";
    }    

    out << std::endl << std::endl;
    out << "All arguments:\n";
    for (UVect::const_iterator it= unnamed_arguments_.begin(); it != unnamed_arguments_.end(); ++it){
      (*it)->write_usage(out);
    }
    for (UVect::const_iterator it= optional_unnamed_arguments_.begin(); 
	 it != optional_unnamed_arguments_.end(); ++it){
      (*it)->write_usage(out);
    }

   if (!extra_arguments_arg_descr_.empty()) {
     out << extra_arguments_arg_descr_ << ": " << extra_arguments_descr_ << std::endl;
   }
    for (SMap::const_iterator it= short_names_.begin(); it != short_names_.end(); ++it){
      (it->second)->write_usage(out);
    }
  }



  void Argument_helper::write_values(std::ostream &out) const {
    for (UVect::const_iterator it= unnamed_arguments_.begin(); it != unnamed_arguments_.end(); ++it){
      out << (*it)->description;
      out << ": ";
      (*it)->write_value(out);
      out << std::endl;
    }
    for (UVect::const_iterator it= optional_unnamed_arguments_.begin(); 
	 it != optional_unnamed_arguments_.end(); ++it){
      out << (*it)->description;
      out << ": ";
      (*it)->write_value(out);
      out << std::endl;
    }
    if (extra_arguments_!=NULL){
      for (std::vector<std::string>::const_iterator it= extra_arguments_->begin(); 
	   it != extra_arguments_->end(); ++it){
	out << *it << " ";
      }
    }

    for (SMap::const_iterator it= short_names_.begin(); it != short_names_.end(); ++it){
      out << it->second->description;
      out << ": ";
      it->second->write_value(out);
      out << std::endl;
    }
  }

  Argument_helper::~Argument_helper(){
    for (std::vector<Argument_target*>::iterator it= all_arguments_.begin();
	 it != all_arguments_.end(); ++it){
      delete *it;
    }
  }


  void Argument_helper::process(int argc,  const char **argv){
    name_= argv[0];
    ++argv;
    --argc;

    current_unnamed_= unnamed_arguments_.begin();
    current_optional_unnamed_= optional_unnamed_arguments_.begin();
    
    for ( int i=0; i< argc; ++i){
      if (strcmp(argv[i], "--help") == 0){
	write_usage(std::cout);
	exit(0);
      }
    }

    while (argc != 0){

      const char* cur_arg= argv[0];
      if (cur_arg[0]=='-' && !seen_end_named_){
	--argc; ++argv;
	if (cur_arg[1]=='-'){
	  if (cur_arg[2] == '\0') {
	    //std::cout << "Ending flags " << std::endl;
	    seen_end_named_=true;
	  } else {
	    // long argument
	    LMap::iterator f= long_names_.find(cur_arg+2);
	    if ( f != long_names_.end()){
	      if (!f->second->process(argc, argv)) {
		handle_error();
	      }
	    } else {
	      std::cerr<< "Invalid long argument "<< cur_arg << ".\n";
	      handle_error();
	    }
	  }
	} else {
	  if (cur_arg[1]=='\0') {
	    std::cerr << "Invalid argument " << cur_arg << ".\n";
	    handle_error();
	  }
	  SMap::iterator f= short_names_.find(cur_arg+1);
	  if ( f != short_names_.end()){
	    if (!f->second->process(argc, argv)) {
	      handle_error();
	    }
	  } else {
	    std::cerr<< "Invalid short argument "<< cur_arg << ".\n";
	    handle_error();
	  }
 	}
      } else {
	if (current_unnamed_ != unnamed_arguments_.end()){
	  Argument_target *t= *current_unnamed_;
	  t->process(argc, argv);
	  ++current_unnamed_;
	} else if (current_optional_unnamed_ != optional_unnamed_arguments_.end()){
	  Argument_target *t= *current_optional_unnamed_;
	  t->process(argc, argv);
	  ++current_optional_unnamed_;
	} else if (extra_arguments_!= NULL){
	  extra_arguments_->push_back(cur_arg);
	  --argc;
	  ++argv;
	} else {
	  std::cerr << "Invalid extra argument " << argv[0] << std::endl;
	  handle_error();
	}
      }
    }

    if (current_unnamed_ != unnamed_arguments_.end()){
      std::cerr << "Missing required arguments:" << std::endl;
      for (; current_unnamed_ != unnamed_arguments_.end(); ++current_unnamed_){
	(*current_unnamed_)->write_name(std::cerr);
	std::cerr << std::endl;
      }
      std::cerr << std::endl;
      handle_error();
    }

    if (VERBOSE) verbose=true;
  }

  void Argument_helper::handle_error() const {
    write_usage(std::cerr);
    exit(1);
  }
  
}





#endif


================================================
FILE: basic/Instance.h
================================================
#ifndef _JST_INSTANCE_
#define _JST_INSTANCE_

#include <string>
#include <vector>
#include <fstream>
#include <algorithm>
#include "N3L.h"
#include "Metric.h"

using namespace std;

class Instance {
public:
	Instance() {
	}
	~Instance() {
	}

	int wordsize() const {
		return words.size();
	}

  int charsize() const {
    return chars.size();
  }

	void clear() {
		words.clear();
		chars.clear();
	}

	void allocate(int length, int charLength) {
		clear();
		words.resize(length);
		chars.resize(charLength);
	}

	void copyValuesFrom(const Instance& anInstance) {
		allocate(anInstance.wordsize(), anInstance.charsize());
		for (int i = 0; i < anInstance.wordsize(); i++) {
			words[i] = anInstance.words[i];
		}
    for (int i = 0; i < anInstance.charsize(); i++) {
      chars[i] = anInstance.chars[i];
    }
	}


	void evaluate(const vector<string>& resulted_segs, Metric& eval) const {
	  hash_set<string> golds;
	  getSegIndexes(words, golds);

	  hash_set<string> preds;
	  getSegIndexes(resulted_segs, preds);

    hash_set<string>::iterator iter;
    eval.overall_label_count += golds.size();
    eval.predicated_label_count += preds.size();
    for (iter = preds.begin(); iter != preds.end(); iter++) {
      if (golds.find(*iter) != golds.end()) {
        eval.correct_label_count++;
      }
    }

	}

	void getSegIndexes(const vector<string>& segs, hash_set<string>& segIndexes) const{
	  segIndexes.clear();
	  int idx = 0, idy = 0;
	  string curWord = "";
	  int beginId = 0;
	  while(idx < chars.size() && idy < segs.size()){
	    curWord = curWord + chars[idx];
	    if(curWord.length() == segs[idy].length()){
        stringstream ss;
        ss << "[" << beginId << "," << idx << "]";
        segIndexes.insert(ss.str());
        idy++;
        beginId = idx+1;
        curWord = "";
	    }
	    idx++;
	  }

	  if(idx != chars.size() || idy != segs.size()){
	    std::cout << "error segs, please check" << std::endl;
	  }
	}

public:
	vector<string> words;
	vector<string> chars;
};

#endif



================================================
FILE: basic/InstanceReader.h
================================================
#ifndef _CONLL_READER_
#define _CONLL_READER_

#include "Reader.h"
#include "N3L.h"
#include "Utf.h"
#include <sstream>

using namespace std;
/*
 this class reads conll-format data (10 columns, no srl-info)
 */
class InstanceReader: public Reader {
public:
  InstanceReader() {
  }
  ~InstanceReader() {
  }

  Instance *getNext() {
    m_instance.clear();
    string strLine;
    while (1) {
      if (!my_getline(m_inf, strLine)) {
        break;
      }
      if (!strLine.empty())
        break;
    }

    vector<string> wordInfo;
    split_bychar(strLine, wordInfo, ' ');

    string sentence = "";
    for (int i = 0; i < wordInfo.size(); ++i) {
      sentence = sentence + wordInfo[i];
    }

    vector<string> charInfo;
    getCharactersFromUTF8String(sentence, charInfo);

    m_instance.allocate(wordInfo.size(), charInfo.size());
    for (int i = 0; i < wordInfo.size(); ++i) {
      m_instance.words[i] = wordInfo[i];
    }
    for (int i = 0; i < charInfo.size(); ++i) {
      m_instance.chars[i] = charInfo[i];
    }

    return &m_instance;
  }
};

#endif



================================================
FILE: basic/InstanceWriter.h
================================================
#ifndef _CONLL_WRITER_
#define _CONLL_WRITER_

#include "Writer.h"
#include <sstream>

using namespace std;

class InstanceWriter : public Writer
{
public:
	InstanceWriter(){}
	~InstanceWriter(){}
	int write(const Instance *pInstance)
	{
	  if (!m_outf.is_open()) return -1;

	  for (int i = 0; i < pInstance->wordsize(); ++i) {
	    m_outf << pInstance->words[i] << " ";
	  }
	  m_outf << endl;
	  return 0;
	}

  int write(const vector<string> &curWords)
  {
    if (!m_outf.is_open()) return -1;
    for (int i = 0; i < curWords.size(); ++i) {
      m_outf << curWords[i] << " ";
    }
    m_outf << endl;
    return 0;
  }
};

#endif



================================================
FILE: basic/NewConcat.h
================================================
#ifndef NEWCONCAT
#define NEWCONCAT

#include "tensor.h"

using namespace std;
using namespace mshadow;
using namespace mshadow::expr;
using namespace mshadow::utils;

//@author Jie, 2nd Dec, 2016
//
// Extend the concat functions in LibN3L/concat.h, add one-one element concat(same with copy2right), unconcat(similar with copy2left, when bclear ==true, else accumulated), copy2right, copy2left
// for uncat functions, bclear by false denotes that the losses are accumulated.

//only applicable on Shape2(1,x), notice that we add the value to the target

template<typename xpu>
inline void concat(Tensor<xpu, 2, dtype> w1, Tensor<xpu, 2, dtype> w) {
  if (w1.size(0) != 1 ||  w.size(0) != 1) {
    std::cerr << "concat error, only support Shape2(1,x)" << std::endl;
    return;
  }
  int row = w.size(0);
  int col = w.size(1);
  int col1 = w1.size(1);
  if (col1 != col) {
    std::cerr << "col check error!" << std::endl;
    return;
  }
  int offset;
  w = 0.0;
  for (int idx = 0; idx < row; idx++) {
    offset = 0;
    for (int idy = 0; idy < col1; idy++) {
      w[idx][offset] += w1[idx][idy];
      offset++;
    }
  }
  return;
}


template<typename xpu>
inline void unconcat(Tensor<xpu, 2, dtype> w1, Tensor<xpu, 2, dtype> w, bool bclear = false) {
  if (w1.size(0) != 1 || w.size(0) != 1) {
    std::cerr << "unconcat error, only spport Shape2(1,x)" << std::endl;
    return;
  }
  int row = w.size(0);
  int col = w.size(1);
  int col1 = w1.size(1);
  if (col1 != col) {
    std::cerr << "col check error!" << std::endl;
    return;
  }
  int offset;
  if (bclear) {
    w1 = 0.0;
  }
  for (int idx = 0; idx < row; idx++) {
    offset = 0;
    for (int idy = 0; idy < col1; idy++) {
      w1[idx][idy] += w[idx][offset];
      offset++;
    }
  }
  return;
}

template<typename xpu>
inline void unconcat(vector<Tensor<xpu, 2, dtype> > w1, vector<Tensor<xpu, 2, dtype> > w, bool bclear = false) {
  if (w1.size() != w.size()) {
    std::cerr << "unconcat vector size mismatch" <<w1.size()<< "<->" <<w.size()<<std::endl;
    return;
  }
  for(int idx = 0; idx < w.size();++idx) {
    unconcat(w1[idx],w[idx],bclear);
  }
  return;
}



// copy w1's value to w, as w = w1, to right
template<typename xpu>
inline void copy2right(Tensor<xpu, 2, dtype> w1, Tensor<xpu, 2, dtype> w) {
  if (w1.size(0) != 1 || w.size(0) != 1) {
    std::cerr << "copy2right error, only support Shape2(1,x)" << std::endl;
    return;
  }
  int row = w.size(0);
  int col = w.size(1);
  int col1 = w1.size(1);
  if (col1 != col) {
    std::cerr << "col check error!" << std::endl;
    return;
  }
  int offset;
  w = 0.0;
  for (int idx = 0; idx < row; idx++) {
    offset = 0;
    for (int idy = 0; idy < col1; idy++) {
      w[idx][offset] += w1[idx][idy];
      offset++;
    }
  }
  return;
}


// copy w1's value to w, as w = w1, to left
template<typename xpu>
inline void copy2left(Tensor<xpu, 2, dtype> w, Tensor<xpu, 2, dtype> w1) {
  if (w1.size(0) != 1 || w.size(0) != 1) {
    std::cerr << "copy2left error, only support Shape2(1,x)" << std::endl;
    return;
  }
  int row = w.size(0);
  int col = w.size(1);
  int col1 = w1.size(1);
  if (col != col1) {
    std::cerr << "col check error!" <<col<< " VS " <<col1 << std::endl;
    return;
  }
  int offset;
  w = 0.0;
  for (int idx = 0; idx < row; idx++) {
    offset = 0;
    for (int idy = 0; idy < col1; idy++) {
      w[idx][offset] += w1[idx][idy];
      offset++;
    }
  }
  return;
}

// copy w1's value to w, as w = w1, to left
template<typename xpu>
inline void copy2left(vector<Tensor<xpu, 2, dtype> > w, vector<Tensor<xpu, 2, dtype> >w1) {
  if (w.size() != w1.size()) {
    std::cerr << "copy2left error, size not match!" << std::endl;
    return;
  }
  for(int idx = 0; idx < w.size(); ++idx) {
    copy2left(w[idx], w1[idx]);
  }
  return;
}

#endif


================================================
FILE: basic/Pipe.h
================================================
#ifndef _JST_PIPE_
#define _JST_PIPE_

#include <fstream>
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <map>
#include "Instance.h"
#include "InstanceReader.h"
#include "InstanceWriter.h"
#include <iterator>

using namespace std;

//#define MAX_BUFFER_SIZE 256

class Pipe {
public:
  Pipe() {
    m_jstReader = new InstanceReader();
    m_jstWriter = new InstanceWriter();
  }

  ~Pipe(void) {
    if (m_jstReader)
      delete m_jstReader;
    if (m_jstWriter)
      delete m_jstWriter;
  }

  int initInputFile(const char *filename) {
    if (0 != m_jstReader->startReading(filename))
      return -1;
    return 0;
  }

  void uninitInputFile() {
    if (m_jstWriter)
      m_jstReader->finishReading();
  }

  int initOutputFile(const char *filename) {
    if (0 != m_jstWriter->startWriting(filename))
      return -1;
    return 0;
  }

  void uninitOutputFile() {
    if (m_jstWriter)
      m_jstWriter->finishWriting();
  }

  int outputAllInstances(const string& m_strOutFile, const vector<vector<string> >& vecInstances) {

    initOutputFile(m_strOutFile.c_str());
    static int instNum;
    instNum = vecInstances.size();
    for (int idx = 0; idx < instNum; idx++) {
      if (0 != m_jstWriter->write(vecInstances[idx]))
        return -1;
    }

    uninitOutputFile();
    return 0;
  }

  int outputSingleInstance(const Instance& inst) {

    if (0 != m_jstWriter->write(&inst))
      return -1;
    return 0;
  }

  Instance* nextInstance() {
    Instance *pInstance = m_jstReader->getNext();
    if (!pInstance || pInstance->words.empty())
      return 0;

    return pInstance;
  }

  void readInstances(const string& m_strInFile, vector<Instance>& vecInstances, int max_sentence_size, int maxInstance = -1) {
    vecInstances.clear();
    initInputFile(m_strInFile.c_str());

    Instance *pInstance = nextInstance();
    int numInstance = 0;

    while (pInstance) {

      if (pInstance->charsize() < max_sentence_size) {
        Instance trainInstance;
        trainInstance.copyValuesFrom(*pInstance);
        vecInstances.push_back(trainInstance);
        numInstance++;

        if (numInstance == maxInstance) {
          break;
        }
      }

      pInstance = nextInstance();

    }

    uninitInputFile();

    cout << endl;
    cout << "instance num: " << numInstance << endl;
  }

protected:
  Reader *m_jstReader;
  Writer *m_jstWriter;

};

#endif


================================================
FILE: basic/Reader.h
================================================
#ifndef _JST_READER_
#define _JST_READER_

#pragma once

#include <fstream>
#include <iostream>
using namespace std;

#include "Instance.h"

class Reader
{
public:
	Reader()
	{
	}

	virtual ~Reader()
	{
		if (m_inf.is_open()) m_inf.close();
	}
	int startReading(const char *filename) {
		if (m_inf.is_open()) {
			m_inf.close();
			m_inf.clear();
		}
		m_inf.open(filename);

    if (!m_inf.is_open()) {
			cout << "Reader::startReading() open file err: " << filename << endl;
			return -1;
		}

		return 0;
	}

	void finishReading() {
		if (m_inf.is_open()) {
			m_inf.close();
			m_inf.clear();
		}
	}
	virtual Instance *getNext() = 0;
protected:
	ifstream m_inf;

	int m_numInstance;

	Instance m_instance;
};

#endif



================================================
FILE: basic/SegLookupTable.h
================================================
/*
 * SegLookupTable.h
 *
 *  Created on: Mar 18, 2015
 *      Author: mszhang
 */

#ifndef SRC_SegLookupTable_H_
#define SRC_SegLookupTable_H_
#include "tensor.h"
#include "Utiltensor.h"
#include "MyLib.h"

using namespace mshadow;
using namespace mshadow::expr;
using namespace mshadow::utils;

// Weight updating process implemented without theory support,
// but recently find an EMNLP 2015 paper "An Empirical Analysis of Optimization for Max-Margin NLP"
// In all my papers that use adagrad for sparse features, I use it for parameter updating.

template<typename xpu>
class SegLookupTable {

public:

  hash_set<int> _indexers;

  Tensor<xpu, 2, dtype> _E;
  Tensor<xpu, 2, dtype> _gradE;
  Tensor<xpu, 2, dtype> _eg2E;

  Tensor<xpu, 2, dtype> _ftE;

  bool _bFineTune;
  int _nDim;
  int _nVSize;

  int _max_update;
  NRVec<int> _last_update;

  NRVec<int> _freq;


public:

  SegLookupTable() {
    _indexers.clear();
  }


  inline void initial(const NRMat<dtype>& wordEmb) {
    _nVSize = wordEmb.nrows();
    _nDim = wordEmb.ncols();

    _E = NewTensor<xpu>(Shape2(_nVSize, _nDim), d_zero);
    _gradE = NewTensor<xpu>(Shape2(_nVSize, _nDim), d_zero);
    _eg2E = NewTensor<xpu>(Shape2(_nVSize, _nDim), d_zero);
    _ftE = NewTensor<xpu>(Shape2(_nVSize, _nDim), d_one);
    assign(_E, wordEmb);
    for (int idx = 0; idx < _nVSize; idx++) {
      norm2one(_E, idx);
    }

    _bFineTune = true;

    _max_update = 0;
    _last_update.resize(_nVSize);
    _last_update = 0;

    _freq.resize(_nVSize);
    _freq = -1;
  }

  inline void setEmbFineTune(bool bFineTune) {
    _bFineTune = bFineTune;
  }

  inline void setFrequency(hash_map<int, int> wordfreq) {
		static hash_map<int, int>::iterator action_iter;
		for (action_iter = wordfreq.begin(); action_iter != wordfreq.end(); action_iter++) {
			_freq[action_iter->first] = action_iter->second;
		}
  }

  inline int getFrequency(int id){
  	return _freq[id];
  }

  inline void release() {
    FreeSpace(&_E);
    FreeSpace(&_gradE);
    FreeSpace(&_eg2E);
    FreeSpace(&_ftE);
    _indexers.clear();
  }

  virtual ~SegLookupTable() {
    // TODO Auto-generated destructor stub
  }

  inline dtype squarenormAll() {
    dtype result = 0;
    static hash_set<int>::iterator it;
    for (int idx = 0; idx < _nDim; idx++) {
      for (it = _indexers.begin(); it != _indexers.end(); ++it) {
        result += _gradE[*it][idx] * _gradE[*it][idx];
      }
    }


    return result;
  }

  inline void scaleGrad(dtype scale) {
    static hash_set<int>::iterator it;
    for (int idx = 0; idx < _nDim; idx++) {
      for (it = _indexers.begin(); it != _indexers.end(); ++it) {
        _gradE[*it][idx] = _gradE[*it][idx] * scale;
      }
    }
  }

  inline bool bEmbFineTune()
  {
    return _bFineTune;
  }

public:
  /* (1) unk is -1 when training
   * (2) if unk >= 0, then must be in test phase, if last_update equals zero,
   *     denoting that never be trained, thus we regards it as unknown.
   */
  void GetEmb(int id, Tensor<xpu, 2, dtype> y, int unk = -1) {
    updateSparseWeight(id);
    assert(y.size(0) == 1);
    y = 0.0;
    if(unk < 0 || _last_update[id] > 0){
    	y[0] += _E[id];
    }
    else{
    	y[0] += _E[unk];
    }
  }

  // loss is stopped at this layer, since the input is one-hold alike
  void EmbLoss(int id, Tensor<xpu, 2, dtype> ly) {
    if(!_bFineTune) return;
    //_gradE
    assert(ly.size(0) == 1);
    _gradE[id] += ly[0];
    _indexers.insert(id);

  }


  void randomprint(int num) {
    static int _nVSize, _nDim;
    _nVSize = _E.size(0);
    _nDim = _E.size(1);
    int count = 0;
    while (count < num) {
      int idx = rand() % _nVSize;
      int idy = rand() % _nDim;

      std::cout << "_E[" << idx << "," << idy << "]=" << _E[idx][idy] << " ";

      count++;
    }

    std::cout << std::endl;
  }

  void updateAdaGrad(dtype regularizationWeight, dtype adaAlpha, dtype adaEps) {

    if(!_bFineTune) return;
    static hash_set<int>::iterator it;
    _max_update++;

    Tensor<xpu, 1, dtype> sqrt_eg2E = NewTensor<xpu>(Shape1(_E.size(1)), d_zero);

    for (it = _indexers.begin(); it != _indexers.end(); ++it) {
      int index = *it;
      _eg2E[index] = _eg2E[index] + _gradE[index] * _gradE[index];
      sqrt_eg2E = F<nl_sqrt>(_eg2E[index] + adaEps);
      _E[index] = (_E[index] * sqrt_eg2E - _gradE[index] * adaAlpha) / (adaAlpha * regularizationWeight + sqrt_eg2E);
      _ftE[index] = sqrt_eg2E / (adaAlpha * regularizationWeight + sqrt_eg2E);
    }

    FreeSpace(&sqrt_eg2E);

    clearGrad();
  }

  void clearGrad() {
    static hash_set<int>::iterator it;

    for (it = _indexers.begin(); it != _indexers.end(); ++it) {
      int index = *it;
      _gradE[index] = 0.0;
    }

    _indexers.clear();

  }

  void updateSparseWeight(int wordId) {
    if(!_bFineTune) return;
    if (_last_update[wordId] < _max_update) {
      int times = _max_update - _last_update[wordId];
      _E[wordId] = _E[wordId] * F<nl_exp>(times * F<nl_log>(_ftE[wordId]));
      _last_update[wordId] = _max_update;
    }
  }

  void writeModel(LStream &outf) {
    SaveBinary(outf, _E);
    SaveBinary(outf, _gradE);
    SaveBinary(outf, _eg2E);
    SaveBinary(outf, _ftE);

    WriteBinary(outf, _bFineTune);
    WriteBinary(outf, _nDim);
    WriteBinary(outf, _nVSize);
    WriteBinary(outf, _max_update);
    WriteVector(outf, _last_update);
    WriteVector(outf, _freq);
  }
  void loadModel(LStream &inf) {
    LoadBinary(inf, &_E, false);
    LoadBinary(inf, &_gradE, false);
    LoadBinary(inf, &_eg2E, false);
    LoadBinary(inf, &_ftE, false);  

    ReadBinary(inf, _bFineTune);
    ReadBinary(inf, _nDim);
    ReadBinary(inf, _nVSize);
    ReadBinary(inf, _max_update);
    ReadVector(inf, _last_update);
    ReadVector(inf, _freq);
  }

};

#endif /* SRC_SegLookupTable_H_ */


================================================
FILE: basic/Utf.h
================================================
// Copyright (C) University of Oxford 2010
/****************************************************************
 *                                                              *
 * utf.h - the utilities for unicode characters.                *
 *                                                              *
 * Author: Yue Zhang                                            *
 *                                                              *
 * Computing Laboratory, Oxford. 2007.6                        *
 *                                                              *
 ****************************************************************/

#ifndef _UTILITY_UTF_H
#define _UTILITY_UTF_H

#include <string>
#include <cassert>

/*===============================================================
 *
 * Unicode std::string and character utils
 *
 *==============================================================*/

/*---------------------------------------------------------------
 *
 * getUTF8StringLength - get how many characters are in a UTF8 std::string
 *
 *--------------------------------------------------------------*/

inline
unsigned long int getUTF8StringLength(const std::string &s) {
  unsigned long int retval = 0;
  unsigned long int idx = 0;
  while (idx < s.length()) {
    if ((s[idx] & 0x80) == 0) {
      ++idx;
      ++retval;
    } else if ((s[idx] & 0xE0) == 0xC0) {
      idx += 2;
      ++retval;
    } else if ((s[idx] & 0xF0) == 0xE0) {
      idx += 3;
      ++retval;
    } else {
      std::cerr << "Warning: " << "in utf.h getUTF8StringLength: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
      return retval;
    }
  }
  if (idx != s.length()) {
    std::cerr << "Warning: " << "in utf.h getUTF8StringLength: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
    return retval;
  }
  return retval;
}

/*----------------------------------------------------------------
 *
 * getCharactersFromUTF8String - get the characters from 
 *                               utf std::string. The characters from 
 *                               this std::string are appended
 *                               to a given sentence. 
 *
 *----------------------------------------------------------------*/

inline int getCharactersFromUTF8String(const std::string &s, std::vector<string>& sentence) {
  sentence.clear();
  unsigned long int idx = 0;
  unsigned long int len = 0;
  while (idx < s.length()) {
    if ((s[idx] & 0x80) == 0) {
      sentence.push_back(s.substr(idx, 1));
      ++len;
      ++idx;
    } else if ((s[idx] & 0xE0) == 0xC0) {
      sentence.push_back(s.substr(idx, 2));
      ++len;
      idx += 2;
    } else if ((s[idx] & 0xF0) == 0xE0) {
      sentence.push_back(s.substr(idx, 3));
      ++len;
      idx += 3;
    } else {
      std::cerr << "Warning: " << "in utf.h getCharactersFromUTF8String: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
      sentence.push_back("?");
      ++len;
      ++idx;
    }
  }
  if (idx != s.length()) {
    std::cerr << "Warning: " << "in utf.h getCharactersFromUTF8String: std::string '" << s << "' not encoded in utf-8" << std::endl;
    return len;
  }

  return len;
}

/*----------------------------------------------------------------
 *
 * getFirstCharFromUTF8String - get the first character from 
 *                              utf std::string. 
 *
 *----------------------------------------------------------------*/

inline std::string getFirstCharFromUTF8String(const std::string &s) {
  if (s == "")
    return "";
  if ((s[0] & 0x80) == 0) {
    return s.substr(0, 1);
  } else if ((s[0] & 0xE0) == 0xC0) {
    assert(s.length() >= 2);
    return s.substr(0, 2);
  } else if ((s[0] & 0xF0) == 0xE0) {
    assert(s.length() >= 3);
    return s.substr(0, 3);
  } else {
    std::cerr << "Warning: " << "in utf.h getFirstCharFromUTF8String: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
    return "?";
  }
}

/*----------------------------------------------------------------
 *
 * getLastCharFromUTF8String - get the last character from 
 *                             utf std::string.  
 *
 *----------------------------------------------------------------*/

inline std::string getLastCharFromUTF8String(const std::string &s) {
  if (s == "")
    return "";
  unsigned long int idx = 0;
  std::string retval;
  while (idx < s.length()) {
    if ((s[idx] & 0x80) == 0) {
      retval = s.substr(idx, 1);
      ++idx;
    } else if ((s[idx] & 0xE0) == 0xC0) {
      retval = s.substr(idx, 2);
      idx += 2;
    } else if ((s[idx] & 0xF0) == 0xE0) {
      retval = s.substr(idx, 3);
      idx += 3;
    } else {
      std::cerr << "Warning: " << "in utf.h getLastCharFromUTF8String: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
      return "?";
    }
  }
  if (idx != s.length()) {
    std::cerr << "Warning: " << "in utf.h getLastCharFromUTF8String: std::string '" << s << "' not encoded in unicode utf-8" << std::endl;
    return "?";
  }
  return retval;
}

/*----------------------------------------------------------------
 *
 * isOneUTF8Character - whether a std::string is one utf8 character
 *
 *----------------------------------------------------------------*/

inline bool isOneUTF8Character(const std::string &s) {
  if (s == "")
    return false; // is no utf character
  if (s.size() > 3)
    return false; // is more than one utf character
  if ((s[0] & 0x80) == 0) {
    return s.size() == 1;
  } else if ((s[0] & 0xE0) == 0xC0) {
    return s.size() == 2;
  } else if ((s[0] & 0xF0) == 0xE0) {
    return s.size() == 3;
  }
}

inline std::string getUTF8CharType(const std::string &s) {
  std::string digit = "0123456789";
  std::string eng = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  std::string defaultType = "default";
  if (s.length() <= 2) {
    if (digit.find(s) != -1) {
      defaultType = "digit";
    } else if (eng.find(s) != -1) {
      defaultType = "eng";
    }
  } else {
    defaultType = "unitype";
  }

  return defaultType;
}

inline std::string wordtype(const std::string &s) {
  std::vector<string> chars;
  getCharactersFromUTF8String(s, chars);
  std::string type = "";
  for (int i = 0; i < chars.size(); i++) {
    if (chars[i].length() > 1) {
      type = type + "u";
    } else if (isdigit(chars[i][0])) {
      type = type + "d";
    } else if (isalpha(chars[i][0])) {
      if (islower(chars[i][0]))
        type = type + "e";
      else
        type = type + "E";
    }
  }
  return type;
}

inline std::string normalize_to_lowerwithdigit(const std::string& s)
{
  std::vector<string> chars;
  getCharactersFromUTF8String(s, chars);
  std::string lowcase = "";
  for (int i = 0; i < chars.size(); i++) {
    if (chars[i].length() > 1) {
      lowcase = lowcase + chars[i];
    } else if (isdigit(chars[i][0])) {
      lowcase = lowcase + "0";
    } else if (isalpha(chars[i][0])) {
      if (islower(chars[i][0]))
      {
        lowcase = lowcase + chars[i][0];
      }
      else
      {
        char temp = chars[i][0] + 'a'-'A';
        lowcase = lowcase + temp;
      }
    }
    else
    {
      lowcase = lowcase + chars[i];
    }
  }
  return lowcase;
}

#endif


================================================
FILE: basic/Writer.h
================================================
#ifndef _JST_WRITER_
#define _JST_WRITER_

#pragma once

#include <fstream>
#include <iostream>
using namespace std;

#include "Instance.h"

class Writer
{
public:
	Writer()
	{
	}
	virtual ~Writer()
	{
		if (m_outf.is_open()) m_outf.close();
	}

	inline int startWriting(const char *filename) {
		m_outf.open(filename);
		if (!m_outf) {
			cout << "Writerr::startWriting() open file err: " << filename << endl;
			return -1;
		}
		return 0;
	}

	inline void finishWriting() {
		m_outf.close();
	}

	virtual int write(const Instance *pInstance) = 0;
	virtual int write(const vector<string> &curWords) = 0;
protected:
	ofstream m_outf;
};

#endif



================================================
FILE: basic/io.h
================================================
/*!
 *  Copyright (c) 2014 by Contributors
 * \file io.h
 * \brief definitions of I/O functions for mshadow tensor
 * \author Tianqi Chen
 */
#ifndef MSHADOW_IO_H_
#define MSHADOW_IO_H_
#include "./tensor.h"

namespace mshadow {
namespace utils {
/*! 
 * \brief interface of stream I/O, used to serialize data, 
 *   mshadow does not restricted to only this interface in SaveBinary/LoadBinary
 *   mshadow accept all class that implements Read and Write
 */
class IStream {
 public:
  // FILE *fp_;
  // size_t sz_;
 public:
  // virtual void Open(const char *fname, const char *mode) {
  //   fp_ = utils::FopenCheck(fname, mode);
  //   fseek(fp_, 0L, SEEK_END);
  //   sz_ = ftell(fp_);
  //   fseek(fp_, 0L, SEEK_SET);
  // }
  /*! 
   * \brief read data from stream
   * \param ptr pointer to memory buffer
   * \param size size of block
   * \return usually is the size of data readed
   */
  virtual size_t Read(void *ptr, size_t size) = 0;
  // virtual size_t Read(void *ptr, size_t size) {
  //   return fread(ptr, size, 1, fp_);
  // }
  /*! 
   * \brief write data to stream
   * \param ptr pointer to memory buffer
   * \param size size of block
   */
  virtual void Write(const void *ptr, size_t size) = 0;
  
  // virtual void Write(const void *ptr, size_t size) {
  //   fwrite(ptr, size, 1, fp_);
  // }
  /*! \brief virtual destructor */
  virtual ~IStream(void) {}
};
}  // namespace utils
/*!
 * \brief CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allocated
 * \param fo output binary stream
 * \param src source data file
 * \tparam dim dimension of tensor
 * \tparam DType type of element in tensor
 * \tparam TStream type of stream, need to support Read, Write, one example is utils::IStream.
 */
template<int dim, typename DType, typename TStream>
inline void SaveBinary(TStream &fo, const Tensor<cpu, dim, DType> &src);  // NOLINT(*)
/*!
 * \brief CPU/GPU: save a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allocated
 * \param fo output binary stream
 * \param src source data file
 * \tparam dim dimension of tensor
 * \tparam DType type of element in tensor
 * \tparam TStream type of stream, need to support Read, Write, one example is utils::IStream.
 */
template<int dim, typename DType, typename TStream>
inline void SaveBinary(TStream &fo, const Tensor<gpu, dim, DType> &src); // NOLINT(*)
/*!
 * \brief CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allocated
 *       if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded
 *       if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst
 * \param fi output binary stream
 * \param dst destination file
 * \param pre_alloc whether space is pre-allocated, if false, space allocation will happen
 * \tparam dim dimension of tensor
 * \tparam DType type of element in tensor
 * \tparam TStream type of stream, need to support Read, Write, one example is utils::IStream.
 */
template<int dim, typename DType, typename TStream>
inline void LoadBinary(TStream &fi,  // NOLINT(*)
                       Tensor<cpu, dim, DType> *dst, bool pre_alloc);
/*!
 * \brief CPU/GPU: load a tensor by binary format, for GPU version, a temp Tensor<cpu,dim> storage will be allocated
 *       if pre_alloc is true , then space in dst is preallocated, and must have same shape of the tensor loaded
 *       if pre_alloc is false, then dst originally does not have space allocated, LoadBinary will allocate space for dst
 * \param fi output binary stream
 * \param dst destination file
 * \param pre_alloc whether space is pre-allocated, if false, space allocation will happen
 * \tparam dim dimension of tensor
 * \tparam DType type of element in tensor
 * \tparam TStream type of stream, need to support Read, Write, one example is utils::IStream.
 */

template<int dim, typename DType, typename TStream>
inline void LoadBinary(TStream &fi, // NOLINT(*)
                       Tensor<gpu, dim, DType> *dst, bool pre_alloc);

// implementations
template<int dim, typename DType, typename TStream>
inline void SaveBinary(TStream &fo, const Tensor<cpu, dim, DType> &src_) { // NOLINT(*)
  fo.Write(&src_.shape_, sizeof(src_.shape_));
  Tensor<cpu, 2, DType> src = src_.FlatTo2D();
  for (index_t i = 0; i < src.size(0); ++i) {
    fo.Write(src[i].dptr_, sizeof(DType) * src.size(1));
  }
}
template<int dim, typename DType, typename TStream>
inline void SaveBinary(TStream &fo, const Tensor<gpu, dim, DType> &src) { // NOLINT(*)
  // copy to CPU, then save
  Tensor<cpu, dim, DType> tmp(src.shape_);
  AllocSpace(&tmp);
  Stream<gpu> stream;
  Copy(tmp, src, &stream);
  SaveBinary(fo, tmp);
  FreeSpace(&tmp);
}
template<int dim, typename DType, typename TStream>
inline void LoadBinary(TStream &fi, // NOLINT(*)
                       Tensor<cpu, dim, DType> *dst_, bool pre_alloc) {
  Shape<dim> shape;
  utils::Check(fi.Read(&shape, sizeof(shape)) != 0, "mshadow::LoadBinary");
  if (pre_alloc) {
    utils::Check(shape == dst_->shape_,
                 "LoadBinary, shape do not match pre-allocated shape");
  } else {
    dst_->shape_ = shape; AllocSpace(dst_);
  }
  Tensor<cpu, 2, DType> dst = dst_->FlatTo2D();
  if (dst.size(0) == 0) return;
  for (index_t i = 0; i < dst.size(0); ++i) {
    fi.Read(dst[i].dptr_, sizeof(DType) * dst.size(1));
    // utils::Check(fi.Read(dst[i].dptr_, sizeof(DType) * dst.size(1)) != 0,
    //              "mshadow::LoadBinary");
  }
}
template<int dim, typename DType, typename TStream>
inline void LoadBinary(TStream &fi, // NOLINT(*)
                       Tensor<gpu, dim, DType> *dst, bool pre_alloc) {
  cout << "hello!!"<< endl;
  Tensor<cpu, dim, DType> tmp;
  LoadBinary(fi, &tmp, false);
  if (pre_alloc) {
    utils::Check(tmp.shape == dst->shape_,
                 "LoadBinary, shape do not match pre-allocated shape");
  } else {
    dst->shape = tmp.shape; AllocSpace(dst);
  }
  Stream<gpu> stream;
  Copy(*dst, tmp, &stream);
  FreeSpace(&tmp);
}
}  // namespace mshadow
#endif  // MSHADOW_IO_H_


================================================
FILE: cleanall.sh
================================================
make clean
rm -rf CMakeFiles cmake_install.cmake CMakeCache.txt Makefile
rm -rf */CMakeFiles */cmake_install.cmake */Makefile


================================================
FILE: demo.sh
================================================
sh cleanall.sh
cmake .
make STDSeg
./STDSeg -l -train ./example/train.debug -dev ./example/dev.debug -test ./example/test.debug -option ./example/option.STD -model ./example/debug.model -word ./example/ctb.50d.word.debug
./STDSeg -test ./example/test.debug -model ./example/debug.model -output ./example/test.debug.out


================================================
FILE: example/ctb.50d.word.debug
================================================
</s> 0.008005 0.008839 -0.007661 -0.006556 0.002733 0.006042 0.001882 0.000423 -0.007207 0.004437 -0.008713 0.002499 -0.001503 -0.001914 -0.006631 -0.003764 0.005159 0.006051 0.005938 0.003195 0.003090 -0.007605 -0.008192 0.009939 0.007603 0.006180 -0.001208 0.008031 -0.000990 0.001469 -0.000298 -0.005966 0.002625 -0.002675 -0.007651 0.009508 0.008759 -0.002190 -0.000452 0.001018 -0.007275 -0.008014 0.009109 0.000126 -0.005165 -0.006084 -0.006153 0.003394 0.000403 0.002662 
, 0.227918 -0.021967 -0.261573 0.081701 -0.060696 0.071133 0.078136 -0.016027 -0.034089 -0.056605 0.324323 -0.160248 -0.192713 0.224192 -0.347214 -0.294658 0.095251 -0.012498 -0.284875 0.012996 0.030563 -0.031129 -0.169565 -0.081073 0.057567 0.047963 -0.188692 0.130585 -0.043211 0.066787 0.286551 -0.042606 -0.312621 0.037407 -0.276527 -0.250274 0.113225 -0.165296 -0.004504 0.080754 -0.251976 0.193335 -0.240533 -0.195352 0.165400 0.509878 -0.083204 -0.000720 -0.305230 -0.546060 
的 0.314333 -0.015442 -0.127406 0.152591 0.108315 0.004389 0.008589 -0.068618 -0.155732 -0.038399 0.294574 -0.071504 -0.161468 0.271691 -0.284073 -0.295013 0.090193 -0.005499 -0.241253 0.166790 0.056844 0.104642 -0.132954 -0.169454 0.128086 0.255558 -0.281147 0.042706 -0.129963 0.087279 0.205690 -0.065657 -0.288225 -0.028513 -0.252661 -0.204561 0.010047 -0.150308 -0.049622 0.100818 -0.276734 0.163286 -0.215492 -0.116818 0.362160 0.521420 -0.215493 0.065923 -0.255757 -0.501383 
。 0.272841 -0.158101 -0.269471 0.218107 -0.041924 0.180897 0.117089 -0.131075 -0.093337 -0.325943 0.493562 -0.100357 -0.085332 0.298948 -0.360155 -0.165810 0.304742 0.013021 -0.237118 0.067078 -0.078167 -0.041049 -0.233660 -0.153122 0.002000 0.134138 -0.185948 -0.049631 -0.087912 0.070952 0.161517 -0.005896 -0.380197 0.129126 -0.371004 -0.136943 0.177082 -0.284372 -0.134882 0.190557 -0.195263 0.352696 -0.301846 -0.143737 0.114982 0.661547 -0.129818 -0.053381 -0.237430 -0.451222 
、 0.244730 -0.239120 0.075075 0.418867 0.011289 -0.147241 0.208199 0.045424 0.120173 0.148749 0.211135 -0.074484 -0.395675 0.210768 -0.355263 -0.325482 0.312944 0.370611 -0.421211 0.090128 0.128595 -0.027836 -0.102279 -0.584713 -0.282363 0.151493 -0.018585 -0.533416 -0.433169 -0.176588 -0.042387 0.015232 -0.048407 -0.185499 -0.609523 -0.419662 0.068772 0.282725 -0.041346 0.424778 -0.592725 0.109673 -0.130219 -0.158745 -0.089323 0.519628 -0.190436 -0.071524 -0.071514 -0.588252 
在 0.378127 -0.032494 -0.234334 0.099117 -0.009421 0.087949 0.028079 0.061484 -0.027722 -0.075452 0.226650 0.080738 -0.144594 0.321140 -0.342171 -0.493025 0.169605 0.043814 -0.443895 -0.116356 0.029875 0.061885 -0.250535 0.038794 0.149356 0.249700 -0.091230 0.125942 0.044999 -0.056723 0.332621 -0.212509 -0.308166 -0.017984 -0.251105 -0.230038 -0.100188 0.006507 -0.084789 -0.066394 -0.205498 0.101874 -0.336432 -0.391367 0.359542 0.521306 -0.019409 -0.068951 -0.405969 -0.476840 
一 0.340519 0.095943 -0.026161 0.070577 -0.148899 0.334236 0.003343 -0.001366 -0.140853 -0.033424 0.450423 -0.102153 -0.120621 0.386804 -0.130729 -0.405794 0.189456 -0.040251 -0.467157 -0.159548 0.111005 0.048622 -0.298097 0.090856 0.085755 0.087045 -0.250278 0.026338 -0.033055 0.068247 0.193825 0.103807 -0.359294 0.238711 -0.510624 -0.400512 -0.113630 -0.096952 -0.087703 -0.014458 -0.180941 0.332781 -0.074920 -0.205957 0.338110 0.753790 -0.250219 0.037038 -0.252507 -0.199751 
是 0.327456 0.150540 -0.047423 0.122479 -0.135196 0.165999 0.123606 -0.067873 -0.041838 0.068618 0.208916 -0.148299 -0.384687 0.353813 -0.123026 -0.461094 -0.079493 -0.216177 -0.186894 0.416718 0.019009 0.064673 -0.177230 -0.181134 0.142077 0.192536 -0.259911 0.059818 0.002552 0.007766 0.375974 0.053884 -0.265568 0.116970 -0.351085 -0.330524 0.033962 -0.035657 0.067500 0.176092 -0.273174 0.064436 -0.189036 -0.223448 0.436267 0.517995 -0.240432 -0.033379 -0.238740 -0.374703 
-unknown- 0.069940 -0.098932 -0.172170 0.283078 -0.304548 0.313139 -0.000668 -0.140205 -0.181840 0.084596 0.372791 0.038989 -0.243783 0.197310 -0.295537 -0.250903 0.237119 0.125302 -0.605193 0.151445 0.217743 0.244482 -0.311849 -0.228482 0.107655 -0.123164 -0.056465 -0.107158 -0.099978 -0.117119 -0.093809 0.130082 -0.210286 0.105046 -0.493604 -0.500740 0.187914 0.002487 0.044111 0.144122 -0.381626 0.152143 -0.129330 -0.268630 0.182741 0.517381 0.013076 -0.070040 -0.221347 -0.305415 
和 0.361899 -0.282024 -0.109978 0.416452 0.324629 -0.053969 0.118835 0.115771 0.041083 0.035536 0.199336 -0.069583 -0.203762 0.152760 -0.310742 -0.331759 0.153832 0.133491 -0.285320 0.168273 0.114341 0.215066 -0.196319 -0.308874 -0.047720 0.289394 -0.184537 -0.236947 -0.253813 0.057315 0.160179 -0.136691 -0.209512 -0.070687 -0.378097 -0.176585 -0.066080 0.085242 0.003599 0.139443 -0.371480 0.183053 -0.244520 -0.099782 0.389045 0.532945 -0.232950 0.031209 -0.193443 -0.584204 
了 0.278915 0.004324 -0.157845 0.017780 0.330290 0.025061 -0.045754 0.234243 -0.239616 -0.120438 0.364545 -0.099915 -0.158734 0.157887 -0.212776 -0.266506 0.067400 -0.096722 -0.316859 0.059675 0.170350 -0.030646 -0.135526 -0.023268 0.126417 0.080302 -0.239961 0.151842 0.063139 0.115780 0.173743 -0.148659 -0.232054 0.155605 -0.570396 -0.348848 0.079327 -0.115460 0.212869 -0.014803 -0.188238 0.354142 -0.266384 -0.074694 0.316931 0.739254 -0.012096 0.157032 -0.090699 -0.173453 
将 0.523222 -0.255562 -0.369925 0.223431 -0.350989 -0.015939 0.207130 0.013286 0.051775 -0.039825 0.374333 -0.121557 -0.196618 0.359472 -0.452755 -0.167092 0.425298 0.180219 -0.208128 -0.111180 -0.272691 0.079689 -0.256139 -0.057750 0.178300 0.094068 -0.141819 0.143483 -0.292717 -0.064866 0.347647 -0.264669 -0.226813 -0.050127 -0.122744 -0.185099 -0.205657 -0.236661 -0.020475 0.042974 -0.206868 0.193430 -0.458412 -0.430062 0.478845 0.464670 0.024877 0.019740 -0.314891 -0.546483 
不 0.340136 0.013959 0.015259 0.300255 -0.373609 0.322266 0.300317 -0.009588 -0.292969 -0.042590 0.150321 -0.109166 -0.444733 0.270284 0.075520 -0.462625 0.050438 -0.284411 -0.050174 0.380423 -0.092954 -0.078027 -0.016207 0.094440 0.073456 -0.224508 -0.137094 0.179926 0.176711 -0.022415 0.346096 0.088262 -0.424260 0.146499 -0.258791 -0.151990 0.388216 -0.230076 0.282756 0.198102 -0.252816 0.209399 -0.372597 -0.287052 0.273909 0.477720 -0.142849 -0.009861 -0.208685 -0.608024 
有 0.027155 -0.090002 -0.007452 0.017924 -0.193672 0.086904 0.287795 -0.248505 0.020012 -0.161520 0.383025 -0.211235 -0.218232 0.505847 -0.230939 -0.709527 0.086719 -0.211110 0.008925 0.080221 0.034604 0.056550 -0.047816 -0.074935 -0.026386 0.053554 -0.009508 0.031158 -0.010571 -0.004960 0.160908 -0.025328 -0.262305 0.187018 -0.322833 -0.388259 0.211800 -0.251020 -0.058941 0.229508 -0.454980 0.117076 -0.261968 -0.102721 0.209357 0.590466 -0.186401 0.221271 -0.240036 -0.510928 
这 0.350536 0.241818 -0.129273 0.105914 0.009875 0.134666 -0.084888 -0.100195 -0.083619 0.194503 0.246614 -0.157337 -0.311298 0.390661 -0.160413 -0.453096 -0.086650 -0.139057 0.072527 0.080352 -0.007802 0.161071 -0.257459 0.203189 0.245997 0.205339 -0.246731 0.180252 -0.133503 0.115702 0.367115 -0.088205 -0.382947 0.261156 -0.334923 -0.344282 -0.121930 -0.252533 -0.085743 0.012387 -0.327314 0.326681 -0.201379 -0.176414 0.493310 0.660394 -0.099796 0.133271 -0.342444 -0.265439 
( 0.217921 -0.191896 -0.999449 0.560056 -0.756881 0.353116 0.028063 -0.462043 -0.005860 -0.216920 -0.394341 0.117429 -0.445341 0.617254 -0.172930 -0.940069 -0.080552 0.081943 -1.084078 0.301869 0.106917 -0.164972 -0.433954 -0.274919 0.163070 -0.071292 -0.380145 -0.539978 -0.016349 -0.112023 -0.084481 0.179946 -0.374436 -0.273551 -0.021232 -0.313936 -0.260311 0.304448 -0.185499 0.627839 -0.330443 0.425579 -0.636816 -0.278798 -0.330976 1.590459 0.066781 0.322377 0.449044 -0.418088 
与 0.412526 -0.216801 -0.197058 0.338347 0.048844 0.033022 0.058907 0.036868 0.073924 0.134758 0.003147 -0.026040 -0.230463 0.182639 -0.236460 -0.269575 0.173872 0.075538 -0.264046 0.267345 -0.043612 0.301661 -0.442236 -0.178989 -0.003140 0.321976 0.033019 -0.058323 -0.060521 -0.090294 0.331713 -0.189664 -0.340907 0.232946 -0.476593 -0.138228 -0.081615 -0.128100 -0.201118 0.193635 -0.481494 0.203098 -0.335786 -0.279212 0.404776 0.522195 -0.299260 -0.131284 -0.256022 -0.727477 
个 0.353850 0.033341 -0.087185 -0.165786 0.062675 0.043504 0.141956 -0.152577 0.207742 -0.199423 0.310188 -0.218267 -0.091675 0.465237 -0.378930 -0.415415 0.297449 -0.181994 -0.375525 -0.012614 0.171324 0.185781 -0.097328 -0.151912 0.127512 -0.106734 -0.083654 0.159570 0.054118 -0.009334 0.396136 -0.120422 -0.251022 0.260455 -0.408751 -0.392046 -0.223974 -0.109710 -0.121281 0.092142 -0.121374 0.228145 0.298784 -0.186564 0.335324 0.776320 -0.194343 0.108651 -0.322930 -0.198287 
说 0.534945 0.249165 -0.136487 0.361666 0.088505 0.335039 0.109934 -0.073619 -0.136039 0.234824 -0.141628 -0.219997 -0.388558 0.207561 -0.163906 -0.715092 -0.385744 -0.093533 -0.320781 0.259190 0.091100 0.120275 -0.235628 0.291579 0.178007 0.087684 -0.071901 0.314534 0.232974 0.111366 0.401596 -0.179585 -0.199601 0.028383 -0.180718 -0.450152 -0.005551 -0.091933 0.206741 0.048816 -0.323996 0.232355 -0.167621 -0.481650 0.550227 0.493474 -0.142992 0.104035 -0.146370 -0.564698 
中 0.379296 -0.097483 -0.298077 0.271342 -0.010530 0.172963 -0.102463 0.015009 0.095141 -0.291461 0.476532 -0.148896 -0.358580 0.405706 -0.282906 -0.439484 0.126498 0.111946 -0.298573 -0.169819 0.171034 0.055318 -0.203600 0.037458 0.069223 0.182085 -0.035602 -0.083398 -0.125444 -0.167552 0.094923 -0.117958 -0.407845 0.151660 -0.475030 -0.461029 0.072286 -0.552783 -0.222653 0.063202 -0.354549 0.204962 -0.130330 -0.190501 0.117859 0.370773 -0.166081 0.068308 -0.041483 -0.431964 
他 0.612570 0.211255 -0.144833 0.135708 -0.063283 0.447495 0.224777 0.058692 -0.164756 0.012973 0.119478 -0.062546 -0.244293 0.157801 -0.059814 -0.453616 -0.089262 -0.346408 -0.132890 0.378020 0.118208 0.122321 -0.209731 0.167026 0.352225 0.083372 -0.147818 0.246713 -0.035246 0.039917 0.470327 -0.206101 -0.085680 0.306509 -0.485335 -0.357606 0.165792 -0.311534 0.095774 0.041370 -0.089371 0.270892 -0.602539 -0.486612 0.417202 0.280141 -0.151394 0.022406 -0.239857 -0.633344 
」 0.407752 0.209492 -0.309156 0.440366 -0.182953 -0.001226 -0.090040 -0.033908 -0.318266 0.303129 0.245559 -0.230309 -0.449288 0.337391 -0.041893 -0.320298 0.332642 0.123792 -0.201264 0.199925 -0.098199 -0.106294 -0.229211 0.029251 0.372508 0.236131 -0.582267 0.249811 0.029387 -0.109301 0.194027 0.085155 -0.465993 0.359675 -0.518124 -0.525005 -0.080797 0.035462 -0.036834 0.503873 -0.204211 0.143091 -0.202773 -0.394540 0.235498 0.525376 -0.286185 0.003447 -0.103978 -0.238624 
「 0.489121 0.279511 -0.282362 0.469256 -0.098910 0.090746 -0.049310 -0.055714 -0.302280 0.313475 0.178898 -0.235300 -0.472902 0.292920 -0.039046 -0.415228 0.187039 0.058750 -0.249874 0.227885 -0.040432 -0.087184 -0.255590 0.112123 0.363922 0.239173 -0.536082 0.244420 0.047638 -0.070769 0.262678 0.001724 -0.427059 0.309775 -0.425195 -0.537249 -0.118677 0.050562 -0.025211 0.426651 -0.232582 0.127276 -0.171239 -0.480137 0.321617 0.528280 -0.294406 0.006839 -0.102548 -0.273133 
为 0.197974 -0.126673 -0.348406 0.145805 -0.458124 0.043816 0.004210 -0.356566 0.009362 -0.175108 0.442919 -0.285988 -0.183174 0.217469 -0.433669 -0.263939 0.294938 0.259603 -0.399254 0.282956 -0.015372 -0.029053 -0.268138 -0.521010 0.035893 -0.011682 -0.221193 -0.039662 -0.160191 -0.163255 0.205559 0.026201 -0.066767 0.075338 -0.470458 -0.259859 0.107666 -0.266711 -0.127841 0.248499 -0.098710 0.034994 -0.115165 -0.186285 0.266911 0.491258 -0.299310 0.058121 -0.241636 -0.559815 
对 0.220817 -0.025419 -0.108194 0.558777 0.024941 0.109899 -0.065472 -0.007659 0.007466 -0.057621 0.049662 -0.132341 -0.264737 0.152291 -0.283586 -0.422390 -0.207776 0.035871 -0.116154 0.220974 -0.132901 -0.116966 -0.186746 0.078568 0.150905 0.203479 -0.146049 0.057366 -0.158864 -0.018307 0.402788 -0.108692 -0.538533 0.207272 -0.337728 0.067278 -0.001016 -0.344368 0.062735 0.098605 -0.258323 0.142942 -0.496251 -0.283028 0.437029 0.335493 -0.240971 0.121683 -0.386117 -0.737555 
) 0.097398 -0.184075 -1.018716 0.561838 -0.769992 0.357369 0.101348 -0.396728 -0.069718 -0.137518 -0.416405 0.090386 -0.514208 0.710305 -0.178198 -1.004736 0.015474 0.039277 -0.946695 0.132465 0.143483 -0.283517 -0.405244 -0.421777 0.027877 -0.117909 -0.365482 -0.554516 -0.024511 -0.094348 0.028413 0.196682 -0.474341 -0.242380 -0.045919 -0.317188 -0.218378 0.296761 -0.224866 0.582428 -0.329929 0.367778 -0.598042 -0.252995 -0.366788 1.700628 0.159768 0.344425 0.567239 -0.397307 
也 0.282161 -0.035417 -0.061965 0.120080 -0.188226 0.154915 0.211184 -0.100983 -0.164819 0.056086 0.297074 -0.190283 -0.317800 0.195418 -0.267589 -0.255083 0.191636 -0.069774 -0.086531 0.233580 -0.049136 0.112741 -0.253113 -0.014312 0.046439 0.083575 -0.038628 0.110397 -0.031790 -0.016291 0.285928 -0.140807 -0.257852 0.215767 -0.390165 -0.193650 0.223518 -0.331382 0.056125 0.189200 -0.380535 0.165247 -0.486770 -0.393980 0.298975 0.364172 -0.093206 0.073198 -0.471305 -0.646065 
电 0.037432 -0.627737 -1.365650 1.600051 -1.723582 0.328291 -0.165917 -0.971075 -0.560128 -0.440603 -1.490484 0.512425 0.018617 1.091022 0.274205 -1.530626 -0.828682 0.894205 -1.974707 1.068501 -0.325734 0.081955 0.521498 -0.991046 0.875100 0.004691 0.507123 -0.901937 -1.205171 -1.038887 0.513589 -0.576465 0.587028 -0.569353 0.616854 -0.495695 -0.136398 0.420048 1.495979 1.182156 -0.484660 0.974498 -0.991622 -0.093937 -0.151708 2.230458 -0.192523 1.006639 -0.073292 -0.576643 
中国 0.451697 -0.242886 -0.262636 0.188944 0.018249 -0.076869 -0.256131 0.231452 0.146388 0.257088 -0.103044 -0.356211 -0.326923 0.055466 -0.643856 -0.537182 -0.091502 -0.259114 -0.005499 0.087779 -0.063292 -0.244018 -0.130123 -0.145545 0.430698 0.430511 -0.302934 0.288673 -0.025071 -0.055082 0.162995 0.187594 -0.577868 -0.302969 -0.451103 -0.209655 0.023008 0.113147 0.263163 0.239828 -0.052018 -0.224958 -0.304611 -0.128337 0.351631 0.535850 -0.230617 0.088617 -0.171322 -0.601464 
记者 0.344224 -0.076145 -0.988508 1.090956 -0.503372 0.024065 0.354971 -0.624777 -0.524144 -0.302605 -1.200655 0.450614 0.024969 0.575663 0.391732 -1.546275 -0.548433 -0.139994 -0.787002 0.313937 -0.209102 -0.070760 0.193390 0.161052 0.137617 0.252558 -0.000460 -0.227301 -0.092986 -0.042248 0.528441 -0.005232 0.111273 0.152613 -0.210307 -0.562216 0.072227 -0.144945 0.136565 0.382415 -0.548379 0.384397 -1.048480 -0.189141 -0.205653 1.916375 0.002828 0.266740 -0.100723 -0.474586 
” 0.430681 0.833223 -0.239053 0.564121 0.253809 -0.333233 -0.592515 0.066322 -0.116800 -0.103557 0.350463 -0.062608 -0.254162 0.441116 0.232897 -0.155776 0.430709 0.160168 -0.383563 -0.031301 0.094060 -0.057674 0.207917 -0.245924 0.817824 0.226946 -0.041225 0.044033 -0.187782 0.379683 -0.073846 0.296627 -0.347825 -0.595623 -0.479834 -0.116764 0.480451 -0.005997 0.254214 0.392486 0.061428 0.322041 0.184467 0.287697 0.192642 -0.071716 -0.250796 -0.213908 -0.110836 0.026679 
“ 0.462770 0.943373 -0.263552 0.613500 0.334078 -0.259569 -0.570842 0.073490 -0.086140 -0.087747 0.284278 -0.070543 -0.192225 0.370370 0.220796 -0.301921 0.348647 0.090698 -0.349255 -0.019593 0.152455 -0.036100 0.237119 -0.190373 0.762477 0.172965 -0.096335 0.098828 -0.107057 0.396159 0.009901 0.244388 -0.347265 -0.634767 -0.436729 -0.119895 0.482488 -0.034621 0.271475 0.345280 0.006820 0.272392 0.206125 0.224094 0.196423 -0.052524 -0.231087 -0.225079 -0.094963 0.030808 
以 0.241881 -0.397453 -0.190246 0.320956 -0.325336 0.420148 -0.045847 -0.202869 -0.015116 -0.104729 0.313692 0.017943 -0.237606 0.073771 -0.169490 -0.081240 0.426619 0.219571 -0.520802 0.128966 0.047918 0.129151 -0.288534 -0.257431 -0.100861 -0.040061 -0.490748 -0.053743 -0.321013 0.012038 0.032960 0.002672 -0.351518 0.431764 -0.541154 -0.124853 0.068175 -0.039213 -0.133954 0.116033 -0.142090 0.072458 -0.363574 -0.105549 0.404317 0.586808 -0.109655 -0.270234 -0.419083 -0.534227 
今天 0.355843 0.102234 -0.469440 0.160263 -0.135852 0.340963 0.214637 0.043403 -0.002275 0.253166 0.128384 -0.034116 -0.392530 0.092963 -0.609393 -0.664588 -0.056218 0.427314 -0.532340 -0.271433 -0.204998 -0.034466 -0.501487 0.264395 0.017696 0.114779 -0.050344 0.037591 -0.038130 -0.241001 -0.004371 0.103337 -0.429764 0.064783 -0.293091 -0.404938 -0.188955 -0.169577 -0.073349 -0.028268 -0.325278 0.164407 -0.441971 -0.475120 0.340408 0.502502 0.081917 -0.227165 -0.661753 -0.843741 
两 0.368460 -0.281796 -0.263969 0.071277 -0.035621 0.305936 -0.011203 0.221877 0.305200 0.174752 0.330674 -0.061193 -0.122538 0.412406 0.044288 -0.526744 0.281147 -0.082635 -0.103343 -0.168057 -0.185413 0.072104 -0.303709 -0.294578 0.107858 0.125405 0.097465 0.147428 0.181934 -0.209865 0.136787 -0.075836 -0.655733 0.386800 -0.842386 -0.280017 -0.098492 -0.207828 -0.206267 0.108404 -0.145123 0.347604 -0.110214 -0.136343 0.450407 0.587139 -0.360648 0.030479 -0.204260 -0.398965 
上 0.201909 -0.111979 -0.261796 0.214394 -0.082120 0.139634 -0.048320 0.043762 -0.255863 0.038034 0.356878 -0.116290 -0.221295 0.337137 -0.250239 -0.278649 0.161543 -0.146311 -0.533671 0.052450 0.056040 0.054494 -0.135879 -0.211447 -0.135789 0.122632 -0.120285 0.051583 0.072850 0.029680 0.353673 -0.035334 -0.567965 0.035504 -0.370884 -0.501282 0.027671 -0.175739 -0.045265 0.079668 -0.138258 0.264785 -0.077049 -0.190468 0.285833 0.544427 -0.120126 -0.097951 -0.325923 -0.137924 
表示 0.303901 0.088188 -0.312586 0.320086 -0.190930 0.239220 0.142369 -0.115881 0.038086 0.206955 -0.141014 -0.215664 -0.357902 0.112769 -0.423933 -0.611672 -0.286538 0.093742 -0.179295 0.228839 -0.050416 0.221509 -0.234367 0.242233 0.112995 0.063182 0.122638 0.315353 0.158372 -0.139342 0.390293 -0.155225 -0.184150 0.074800 -0.264230 -0.318680 0.019111 -0.278691 0.106805 0.114324 -0.419585 0.217680 -0.312160 -0.520355 0.391576 0.294893 -0.078691 -0.042103 -0.458411 -0.908743 
并 0.400459 -0.251222 -0.311491 0.408088 -0.294621 0.190795 -0.036453 -0.182103 -0.116257 0.099798 0.473126 -0.045427 -0.089087 0.152285 -0.250440 -0.357691 0.319488 0.135369 -0.062649 0.037513 -0.024805 0.134165 -0.228312 0.208489 0.081431 0.118194 -0.124624 0.222643 -0.300600 -0.091857 0.320882 -0.147200 -0.231162 0.200012 -0.405384 -0.195577 0.250666 -0.287932 -0.195956 0.087028 -0.177962 0.370062 -0.454283 -0.380575 0.202725 0.373543 -0.264222 -0.084230 -0.444697 -0.682837 
中央社 0.805398 -0.109999 -1.366091 1.795741 -1.117762 -0.223150 -0.085603 -1.751693 -0.782929 -0.014333 -1.396924 0.798207 -0.059635 1.203846 1.215974 -2.313757 -0.688513 0.609387 -1.507058 0.486653 0.141457 0.051883 0.152914 -0.543623 0.007669 -0.041373 0.509850 -0.499179 -1.028723 -0.160592 0.486190 -0.126033 0.047723 0.025965 -0.805199 -0.184409 0.211161 0.058877 0.162907 0.389729 -0.908968 0.662776 -1.164289 -0.291726 -0.472819 2.885883 0.266434 0.712784 -0.762549 -0.141300 
人 0.030091 -0.190469 -0.096198 -0.110044 -0.180453 0.254054 0.386404 -0.089235 -0.091694 -0.359545 0.359398 0.183316 -0.385618 0.322575 -0.369950 -0.788897 0.048609 -0.209518 0.073042 0.230674 0.084180 0.027778 -0.041060 0.007337 0.083291 0.218382 -0.025708 -0.077579 0.339731 0.164914 0.008306 0.206882 -0.095947 0.480580 -0.521300 -0.682872 0.283219 -0.276637 -0.305495 0.234248 -0.314682 0.354765 -0.195436 -0.159415 0.235070 0.721786 -0.088760 0.567445 -0.255323 -0.456067 
年 -0.109695 0.171050 -0.372203 -0.504294 -0.475597 0.191222 -0.207855 -0.028936 0.219786 0.085276 0.377446 -0.104013 -0.059973 0.471932 -0.410871 -0.388175 0.174628 -0.245496 -0.273987 0.466217 0.203600 -0.537704 -0.272451 -0.139155 0.405411 -0.299727 -0.296355 0.156254 0.012380 -0.004599 0.437648 -0.021772 -0.273101 -0.140602 -0.720975 -0.123754 -0.298173 -0.072439 -0.453738 -0.116351 -0.162553 0.403209 0.082042 -0.304649 0.402552 0.691139 0.311380 0.188177 0.080698 -0.402659 
等 0.323872 -0.309193 0.181059 0.382235 -0.131457 -0.192666 0.250664 0.057338 0.043241 0.356573 0.288995 0.056845 -0.452623 0.221844 -0.548458 -0.211435 0.353413 0.322035 -0.102662 0.116352 -0.099246 0.125949 -0.081412 -0.247849 -0.210268 0.198059 0.147204 -0.179503 -0.383670 -0.167833 -0.022214 0.062148 -0.089434 0.034937 -0.646799 -0.332505 0.107550 0.145722 -0.089287 0.395904 -0.697567 0.197784 -0.337515 -0.226436 0.124326 0.563283 -0.116857 -0.071390 -0.158595 -0.549808 
及 0.201871 -0.279659 -0.038531 0.426914 -0.291926 -0.053617 0.269803 -0.164026 0.018994 0.142694 0.352439 -0.205339 -0.235089 0.328481 -0.607755 -0.352957 0.448286 0.307298 -0.219677 0.001142 -0.048261 0.100493 -0.210249 -0.290746 -0.257491 0.212357 0.071895 -0.175876 -0.394608 -0.195349 0.093684 -0.101311 -0.286611 -0.070589 -0.362571 -0.164222 0.047263 -0.191522 -0.352869 0.353767 -0.516167 0.245643 -0.354211 -0.334903 0.128928 0.362711 -0.117625 0.145598 -0.400723 -0.722597 
国 0.516488 -0.259768 -0.375244 0.013898 0.185232 0.178064 -0.368784 0.151650 0.370163 0.051186 0.256301 -0.264255 -0.197855 -0.090477 -0.117753 -0.465526 0.062266 -0.194679 0.048191 0.125450 -0.200061 -0.382761 -0.173072 -0.067850 -0.078353 -0.008766 0.016506 -0.016434 -0.160835 -0.088876 0.477966 -0.355844 -0.590890 -0.080017 -0.552551 -0.153100 -0.407374 -0.296885 -0.257111 0.460972 -0.349674 0.041692 -0.080878 0.013309 0.329103 0.600127 -0.280446 0.185057 -0.524038 -0.488201 
已 0.167904 -0.108937 -0.452002 -0.057591 -0.190560 0.117028 0.135440 -0.087384 0.004011 0.120357 0.356014 0.215892 -0.085378 0.271047 -0.518472 -0.421743 0.023771 0.043989 -0.007015 -0.033581 0.113552 0.077516 -0.287954 0.113992 0.178885 0.080214 -0.042969 0.335172 -0.100475 0.000113 0.198600 -0.050443 -0.416377 0.022913 -0.096864 -0.216997 0.065901 -0.013470 0.032794 -0.093768 -0.396094 0.167732 -0.072083 -0.430057 0.523291 0.510374 -0.005863 0.192191 -0.416112 -0.665228 
美国 0.571098 -0.075475 0.005444 0.524472 0.205768 0.388674 -0.262589 -0.390574 -0.030203 -0.158277 -0.026587 -0.228888 -0.136400 0.131246 -0.730236 -0.262387 0.142431 -0.328008 -0.256086 0.167476 -0.406736 0.089572 -0.324592 -0.177494 0.252426 0.160235 -0.186712 0.112027 -0.043548 0.268792 0.544670 0.151987 -1.114633 0.067813 -0.244463 -0.099775 -0.029501 -0.199538 -0.207253 -0.115262 -0.249708 0.166492 -0.561123 -0.551468 1.023716 0.450253 -0.009849 0.230557 -0.217785 -0.200997 
后 0.307144 -0.032852 -0.395970 0.026521 -0.324432 0.330221 0.168072 0.221784 -0.094261 -0.025383 0.380664 0.185675 -0.164210 0.332105 -0.325843 -0.207783 0.313146 0.044245 -0.234266 -0.274261 0.081327 0.043117 -0.389051 0.145228 0.090381 0.098944 -0.035193 0.349350 -0.113808 -0.169935 0.153908 -0.107891 -0.249503 0.119250 -0.241089 -0.208343 0.114700 -0.113479 -0.124868 -0.237325 -0.338910 0.531033 -0.468544 -0.571942 0.468156 0.466540 -0.089309 -0.115923 -0.479002 -0.558623 
政府 0.610552 0.063488 -0.582808 0.373008 -0.342396 -0.162646 0.065471 -0.241984 0.059793 0.125729 -0.048453 0.044753 -0.237387 -0.300867 -0.456573 -0.427725 0.097450 -0.121185 -0.266561 0.139089 -0.013589 -0.101017 -0.276110 0.160472 0.068943 -0.102355 -0.490885 0.211651 -0.068523 0.322590 0.395166 -0.253321 -0.111192 0.333116 -0.168640 0.272401 -0.180684 -0.204057 -0.066884 0.286002 -0.502076 0.516446 -0.008753 -0.363431 0.218151 0.256232 -0.063645 0.318913 -0.522655 -0.801550 
大 0.089063 0.139753 -0.138714 0.182456 -0.025161 -0.033057 0.231373 -0.263226 0.116677 -0.081907 0.627512 -0.272581 -0.170527 0.682970 -0.374148 -0.159024 0.011480 -0.186233 -0.367052 -0.099584 0.206923 -0.439957 -0.434305 -0.128835 0.109400 0.165827 -0.107757 -0.225005 0.004367 -0.102541 0.463486 0.246781 -0.433475 0.051520 -0.282064 -0.361508 -0.210702 -0.358010 0.249073 0.469632 -0.469371 0.072769 -0.126500 -0.236796 -0.019962 0.624122 0.110717 0.215040 -0.443798 -0.429248 
新 0.485004 -0.223080 -0.537956 -0.039740 -0.590423 0.188024 -0.020262 -0.239020 -0.240140 0.094376 0.441201 -0.009069 0.108763 0.401426 -0.304583 -0.123877 0.013050 0.470904 -0.689434 0.362879 -0.076477 0.068767 -0.407380 0.187686 0.389792 -0.059583 -0.268499 0.223073 -0.194170 0.082301 -0.259625 0.062415 -0.134932 0.163338 -0.319576 -0.164247 -0.250664 -0.368815 0.012284 0.247239 -0.436641 0.284209 -0.309176 0.026434 0.012833 0.951212 -0.132298 0.002380 -0.099033 -0.576812 
: 0.405364 0.530215 -0.385647 0.521611 -0.148352 0.599321 0.089822 -0.484797 0.042003 -0.023051 -0.149110 -0.404437 -0.396859 0.189918 0.075198 -0.808156 0.019887 -0.242955 -0.621493 -0.003061 0.356476 -0.550134 -0.551166 -0.042864 0.140507 0.036960 -0.536414 -0.149516 -0.081446 0.228241 0.364511 0.024933 -0.581856 -0.228614 -0.128746 -0.263886 0.003911 0.028911 -0.222114 0.288854 -0.327383 0.274952 0.104239 -0.528414 0.165353 0.762410 -0.212757 -0.105657 0.134611 -0.118986 
各 0.511480 -0.021604 -0.038588 0.062276 0.007717 -0.080189 0.172933 -0.337339 0.141018 0.211796 0.418953 -0.294752 -0.190633 0.032180 -0.294519 -0.500549 0.551174 0.261855 0.030556 -0.298636 0.007339 -0.073319 -0.159400 -0.238401 -0.410943 -0.181086 -0.084998 -0.027838 -0.383942 -0.096024 0.414566 -0.091766 -0.286939 0.112256 -0.127491 -0.362541 -0.108863 -0.421529 -0.189550 0.369851 -0.453295 0.075925 -0.278560 0.127768 0.168236 0.578212 -0.235799 0.329817 -0.736250 -0.502607 
时 0.104775 0.283447 -0.237614 0.565036 -0.287429 0.209200 -0.053615 0.235862 0.091695 -0.460214 0.331050 -0.538301 -0.333124 0.351404 -0.305170 -0.274302 0.099007 -0.144017 -0.729024 -0.171791 -0.001199 -0.157809 -0.267875 0.276489 -0.023782 -0.074067 -0.035728 -0.015958 0.251263 -0.055653 0.375646 -0.234290 -0.441140 -0.028537 -0.501480 -0.371531 0.288709 -0.032850 -0.378309 0.053733 -0.139388 0.253273 -0.575946 -0.500228 -0.255571 0.623398 0.191755 -0.241516 -0.180914 -0.645458 
次 0.298236 0.243308 -0.386934 -0.071299 -0.184307 0.076845 -0.189887 -0.021460 0.099684 -0.055275 0.286133 0.000407 -0.505954 0.537942 -0.222243 -0.291436 0.039699 0.022107 0.256148 -0.261731 -0.010648 0.008000 -0.341951 -0.106232 0.111263 0.094641 -0.022178 0.017676 -0.044391 0.050179 0.409442 -0.119851 -0.367975 0.255636 -0.631576 -0.298246 -0.140431 -0.247677 -0.300888 -0.142255 -0.141936 0.177888 -0.277747 -0.308721 0.431002 0.784851 0.142075 0.180099 -0.538087 -0.193914 
会 0.474674 0.068192 -0.084047 0.259174 -0.143299 0.154283 0.231576 0.039900 -0.101681 -0.293803 0.173277 -0.364981 -0.588963 0.510341 -0.134318 -0.310202 0.159758 -0.237720 -0.115936 0.033922 -0.349436 -0.011408 -0.241359 0.134495 0.164205 -0.037545 0.077097 0.426955 0.071442 -0.183120 0.466406 -0.104854 -0.215954 0.144702 -0.242510 -0.124052 0.058179 -0.405663 0.122485 0.188431 -0.233011 0.321879 -0.474560 -0.423566 0.219313 0.464898 -0.063731 0.079286 -0.380656 -0.557482 
经济 0.537492 -0.055666 -0.461957 0.118133 0.150411 0.127819 0.053288 0.258669 0.282164 -0.120598 -0.345093 -0.468855 -0.364053 0.167534 -0.659277 0.043572 0.132115 -0.385784 -0.736804 0.344688 -0.259372 -0.577759 -0.061533 -0.329590 -0.188023 0.533789 -0.361416 0.712962 -0.086157 0.230190 0.249268 -0.007513 -0.300037 -0.071549 -0.291011 0.232298 -0.268003 -0.552028 0.089188 -0.245004 -0.921440 0.162779 0.065182 -0.167581 0.161407 0.376115 -0.293355 0.383523 -0.339202 -0.636456 
到 -0.125640 -0.238784 -0.122267 -0.164470 -0.348464 -0.088411 0.339842 0.117090 0.032440 -0.163003 0.235055 -0.184661 -0.023921 0.269263 -0.499639 -0.416962 0.209432 -0.214650 -0.521697 -0.115887 -0.047742 0.069498 -0.293520 -0.282485 0.117097 -0.122737 0.015437 0.186093 0.147329 -0.008738 0.405880 -0.295292 -0.036128 0.003458 -0.203239 -0.448703 0.123683 -0.170461 0.041647 -0.012502 -0.129167 0.133863 -0.517359 -0.368191 0.321674 0.718650 0.041820 0.114678 -0.299638 -0.664233 
国家 0.735283 0.024562 -0.088648 0.370201 0.160276 0.017296 -0.040710 -0.031619 0.333463 -0.063178 0.232969 -0.446144 -0.277861 0.175060 -0.561733 -0.336304 0.139302 -0.308865 -0.078590 0.595409 -0.221496 -0.249145 -0.249920 -0.213634 -0.061511 0.403424 -0.394764 0.066028 -0.235414 0.170474 0.424317 -0.369495 -0.360645 -0.219255 -0.158128 -0.177345 -0.068995 0.008105 -0.038484 0.187806 -0.144960 0.064385 -0.178489 -0.241105 0.248973 0.545917 -0.064933 0.142526 -0.387661 -0.618187 
台湾 -0.017064 -0.081072 -0.178831 0.289199 -0.175837 0.210200 -0.168179 -0.247136 0.263444 0.081055 0.261063 -0.817892 -0.130174 0.239353 -0.475421 -0.466768 0.394659 -0.463051 -0.142024 0.000421 -0.053753 -0.431825 -0.377048 -0.382388 0.223882 0.345898 -0.116672 0.286722 0.017799 -0.062082 0.331231 0.029116 -0.671252 0.072476 -0.217452 -0.340605 -0.055326 -0.472952 -0.050108 0.575673 -0.358136 -0.167161 -0.625150 -0.391039 0.246508 0.394651 -0.076474 -0.043808 -0.329686 -0.810460 
就 0.443955 0.095699 -0.064401 0.048802 -0.164140 0.217674 0.118488 0.125076 -0.088592 -0.013682 0.235418 -0.089789 -0.308329 0.293198 0.055215 -0.287404 0.183540 -0.308548 -0.145480 0.150854 0.008376 0.062218 -0.218605 0.059030 0.139140 -0.096923 -0.060183 0.326983 0.189928 -0.070301 0.398754 -0.166543 -0.268419 0.177741 -0.329377 -0.354398 0.144551 -0.139898 0.132319 0.115244 -0.203880 0.286724 -0.385489 -0.362558 0.404338 0.759702 -0.167036 -0.010461 -0.120371 -0.365496 
都 0.288565 0.094187 0.096497 0.022148 -0.083569 0.114635 0.340236 -0.127395 -0.171047 -0.030112 0.296641 -0.206769 -0.344032 0.217221 -0.094456 -0.500845 0.170267 -0.204382 0.038867 0.231624 -0.010721 0.165385 -0.090286 -0.055676 -0.075921 0.123785 0.042067 0.019257 0.069794 -0.097454 0.295275 -0.085407 -0.241337 0.148688 -0.397437 -0.355578 0.163773 -0.182132 0.158855 0.217254 -0.370858 0.175842 -0.366363 -0.266653 0.294471 0.596139 -0.162831 0.046053 -0.422135 -0.546545 
而 0.216699 -0.204610 -0.065236 0.171868 -0.287985 0.166888 0.222448 0.061806 -0.243088 -0.011878 0.328479 0.058588 -0.385743 0.383070 -0.180851 -0.221313 0.193561 -0.225571 -0.111576 0.356833 -0.063542 0.064189 -0.237229 -0.229676 0.187811 0.159611 -0.178390 0.115380 0.038046 -0.049486 0.233591 0.070817 -0.411180 0.117869 -0.251929 -0.032571 0.205733 -0.213145 -0.026242 -0.006060 -0.342078 0.208773 -0.307644 -0.309714 0.509209 0.433610 -0.139100 0.116610 -0.315034 -0.535382 
台北 0.031677 0.355980 -0.485950 0.314025 -0.926020 0.530715 0.177080 -0.044781 -0.043536 0.042825 -0.086822 -0.279478 0.131354 0.470866 -0.685091 -0.418725 0.071446 -0.043558 -0.501804 0.345028 -0.632516 0.545004 -0.033179 -0.434211 0.361026 -0.132454 0.063307 -0.155005 0.119717 -0.919086 0.344489 0.599110 -0.900235 0.310573 -0.229672 -0.340215 -0.091348 -0.144062 -0.071403 0.803684 -0.382508 0.327076 -1.406008 -0.072670 -0.075658 1.450025 0.246866 -0.403768 -0.612832 -0.503309 
新华社 0.310837 0.154278 -0.841198 0.745104 0.111305 -0.467626 -0.336732 0.314714 -0.161652 0.233029 -0.407758 -0.008060 0.142775 0.134565 -0.459559 -1.112290 -0.333389 0.249312 -0.336550 -0.190498 0.069591 0.009044 0.004724 -0.186324 0.295626 0.231964 -0.176595 0.462590 -0.101396 -0.191071 0.113106 0.182567 -0.319899 -0.784911 -0.314960 -0.472106 0.232248 0.056021 0.484732 -0.403059 -0.120002 0.000094 0.218696 0.310471 0.062726 0.791397 0.228713 0.108024 -0.014909 -0.307571 
发展 0.556292 -0.053867 -0.135208 -0.012892 0.251204 0.072111 -0.226598 0.060200 0.391597 0.217085 -0.248185 -0.410603 0.027211 0.433099 -0.259892 -0.082287 0.088185 0.087191 -0.440172 0.302312 -0.160656 -0.282204 0.226131 -0.210121 0.127680 0.599720 -0.116796 0.624428 -0.148730 -0.036356 0.435316 -0.240162 -0.293817 -0.170355 -0.440379 0.147541 -0.388658 -0.198426 -0.014683 0.491292 -0.773047 0.249904 -0.158352 -0.036789 0.203871 0.182268 -0.275868 0.174074 -0.160020 -0.864744 
全 0.155840 0.017769 -0.425986 -0.361885 0.116169 0.096750 -0.053780 0.095542 0.084638 -0.071535 0.604537 -0.080699 -0.411306 -0.255629 -0.361952 -0.350809 0.174822 0.164901 -0.147218 -0.050877 -0.019454 -0.226404 -0.148708 -0.070008 0.022901 -0.058315 -0.106658 0.049048 -0.090248 -0.495574 0.355780 -0.005802 -0.375825 -0.075310 -0.366956 -0.461004 -0.312401 -0.135251 -0.108566 0.436365 -0.191470 -0.063314 -0.149729 -0.036485 0.245497 0.719954 0.027859 0.439742 -0.529580 -0.553773 
要 0.564026 0.215769 -0.018184 0.169002 -0.366358 0.222346 0.338334 0.171054 -0.143884 0.003346 0.136197 -0.276272 -0.306529 0.240932 0.268685 -0.180608 0.159269 -0.349031 -0.165098 0.225603 0.004716 -0.188410 -0.176196 0.127803 0.028001 -0.070399 -0.347390 0.222988 -0.101056 0.145967 0.630765 0.051696 0.019357 0.065994 -0.266373 -0.324364 0.245429 -0.218190 0.268142 0.406362 0.031553 0.347364 -0.435332 -0.332401 0.276259 0.721903 -0.128356 -0.004492 -0.228304 -0.625470 
名 0.156747 -0.419365 -0.055269 0.151559 -0.144260 0.371952 0.352771 -0.211393 0.255388 -0.247291 0.275762 0.391922 -0.228213 0.363426 -0.296914 -0.976918 0.405651 0.272988 -0.110687 -0.234792 0.403382 0.107374 0.048450 0.328400 0.252371 0.239043 -0.097708 -0.315321 0.121697 0.098244 -0.123301 0.256093 -0.218416 0.024232 -0.515438 -0.846695 0.048998 -0.014164 -0.436529 0.049300 -0.213480 0.029550 -0.006025 -0.361879 0.762707 0.499638 -0.132905 0.474690 -0.510116 -0.296254 
国际 0.490518 -0.179855 -0.226920 0.276399 0.154430 0.335136 -0.141761 -0.244304 0.291038 0.294185 -0.046690 -0.257919 -0.214947 0.490337 -0.582537 -0.284877 0.496832 -0.003828 -0.158958 0.553995 -0.448359 0.058195 -0.247095 -0.038171 0.248296 0.366458 -0.039045 0.065409 -0.073151 0.295421 0.388132 0.136518 -0.859919 -0.365914 -0.072269 -0.038742 -0.238988 -0.371270 -0.217605 0.329064 -0.190573 0.118781 -0.432824 -0.175054 -0.124625 0.656709 0.138415 -0.205470 -0.696299 -0.408200 
多 0.146409 -0.047468 0.038205 -0.072771 -0.095739 -0.126894 0.065271 -0.156937 0.087587 0.092511 0.293949 -0.097168 -0.171190 0.561820 -0.240129 -0.345544 0.199579 -0.164095 -0.168813 0.107190 0.128752 0.051816 -0.162073 0.002394 0.050553 -0.194015 0.143296 0.033647 0.029342 0.149773 0.032586 0.048360 -0.272081 0.239353 -0.539575 -0.322398 0.237413 -0.511948 -0.087998 0.174190 -0.415335 0.187099 -0.410512 -0.086011 0.172346 0.505259 0.079406 0.226321 -0.216844 -0.522716 
公司 -0.114508 -0.107193 -0.526339 0.381252 -0.231934 0.092305 0.593160 -0.723904 0.097761 0.366469 -0.193185 -0.386231 -0.144455 0.147365 -0.505629 0.149730 0.603706 0.048721 -0.117230 0.253742 -0.096249 0.249595 -0.400037 0.392324 0.547833 0.452111 0.099226 -0.047915 -0.165259 -0.056727 0.375019 0.204781 -0.433608 -0.192173 -0.384111 -0.231761 -0.182018 0.323415 0.436889 -0.271185 -0.742413 0.375377 -0.125245 -0.119635 0.266740 0.629268 0.195708 0.206919 -0.036415 -0.771146 
问题 0.724680 0.118804 0.189396 0.428054 0.017876 -0.004736 0.192553 0.344183 0.035553 0.042816 -0.393032 0.131236 -0.396252 0.361009 -0.122142 -0.322781 -0.056626 -0.264023 0.297137 0.063768 -0.202280 0.032344 -0.241081 0.116239 -0.176335 0.081782 -0.063957 0.450200 0.071508 0.000535 0.510906 0.047931 -0.421503 0.186751 -0.408830 0.081574 0.016314 -0.364327 0.144512 0.513810 -0.691164 0.451619 0.165955 -0.245156 0.551259 0.654384 -0.122356 -0.014401 0.039924 -0.844577 
三 0.292317 0.016314 -0.126695 0.058655 -0.293259 0.562606 0.198240 -0.009300 0.184937 0.040779 0.545144 -0.004227 -0.159247 0.639182 -0.176215 -0.365729 0.379491 0.218533 -0.517176 -0.407465 -0.014151 -0.015124 -0.362531 -0.053659 -0.198014 -0.080014 -0.171593 -0.040158 -0.050245 -0.182490 0.093170 0.291315 -0.317508 0.173036 -0.842172 -0.458181 -0.295381 -0.014476 -0.316287 0.121095 -0.220352 0.235834 -0.091498 -0.206728 0.212408 0.920944 -0.117910 0.090326 -0.113903 -0.368060 
被 0.250479 -0.120010 0.011156 0.413128 -0.264678 0.270435 0.521363 0.125116 -0.156465 0.020132 0.511913 0.641663 -0.504479 0.333819 -0.457215 -0.618208 0.190600 -0.238708 -0.222271 0.081430 0.362426 -0.174700 0.027972 0.186653 0.434284 0.286567 -0.007424 0.062931 -0.021900 -0.026731 0.237237 0.198380 -0.393659 0.203502 -0.282578 -0.226016 0.314586 0.294327 -0.058028 -0.031820 -0.129692 0.225812 -0.225218 -0.590740 0.440207 0.396380 0.160098 0.145528 -0.199172 -0.293247 
最 0.163555 0.240472 -0.149136 0.161690 -0.077720 0.207508 0.520276 -0.617612 -0.001357 0.022962 0.556582 -0.205552 -0.039318 0.643567 -0.381893 -0.165038 -0.199898 -0.041668 -0.344353 0.246166 0.247578 -0.210219 -0.189703 -0.362377 0.122375 -0.083922 -0.135087 -0.261450 -0.254998 0.168896 0.206167 -0.030995 -0.445860 0.019270 -0.495395 -0.379404 -0.122815 -0.640126 -0.079111 0.468915 -0.172579 -0.214970 0.083868 -0.337824 0.144927 0.723014 0.182368 0.122268 -0.393649 -0.525968 
还 0.331187 0.085585 0.033329 0.068127 -0.194322 0.091689 0.265200 0.204860 -0.223742 0.050421 0.443190 -0.169028 -0.266820 0.318041 -0.283460 -0.416353 0.146008 -0.091675 -0.014152 0.021432 -0.051162 0.241055 -0.064773 0.151828 0.094864 0.069494 -0.020598 0.190134 0.011473 0.114293 0.229919 -0.240079 -0.128362 0.181567 -0.436664 -0.429127 0.195281 -0.202949 0.286999 0.103808 -0.354686 0.165856 -0.378522 -0.302318 0.253662 0.621000 -0.094908 0.081687 -0.122613 -0.417193 
能 0.361312 -0.055010 -0.260543 -0.042156 -0.193926 0.480791 0.068349 -0.027678 -0.128356 -0.011310 0.077927 -0.063886 -0.206942 0.330732 0.168574 -0.040461 0.356989 -0.192901 0.017265 0.360022 0.011985 0.126824 0.016088 -0.063709 0.183282 -0.035210 -0.143710 0.309702 -0.084205 0.065304 0.277217 -0.288954 -0.289403 0.108575 -0.069150 -0.203402 0.188474 -0.415114 0.115033 0.423981 -0.182813 0.351733 -0.482864 -0.311140 0.357995 0.571997 -0.175201 -0.124591 -0.305046 -0.686679 
由 0.372755 -0.216865 -0.332554 0.284276 -0.555379 0.021273 0.228444 -0.056439 0.188519 0.214683 0.337420 -0.257143 -0.596229 0.069708 -0.602601 -0.174767 0.386054 0.137035 -0.092212 -0.025976 0.107260 0.357810 -0.235185 -0.299123 0.043749 0.021202 -0.211833 -0.011798 -0.167291 -0.088843 0.180407 -0.103950 0.014243 -0.163164 -0.336681 -0.603252 -0.294459 0.134420 -0.116128 -0.077543 -0.282838 0.271767 -0.324880 -0.458203 0.274147 0.435130 -0.011401 -0.041243 -0.444123 -0.593379 
进行 0.376731 -0.247172 -0.192966 0.309600 -0.041337 0.013848 -0.055825 0.111347 0.335763 -0.048473 0.019061 0.270630 -0.083059 0.612095 -0.221206 -0.130522 0.215099 0.238396 0.066128 -0.430545 -0.171765 0.544609 -0.146112 0.097991 -0.029716 0.076243 -0.262573 0.300426 -0.268971 -0.149849 0.473267 -0.277991 -0.330004 0.113168 -0.217049 -0.219210 -0.142569 0.198987 -0.163610 0.110503 -0.205496 0.362644 -0.502874 -0.058645 0.661245 0.629014 0.096369 -0.121345 -0.507927 -0.576502 
项 0.537611 0.026657 -0.269343 0.207847 -0.011256 0.165279 -0.070174 -0.375612 0.213458 0.114218 0.160832 -0.061041 -0.333994 0.195167 -0.443904 -0.287580 0.060213 0.240832 0.110399 0.018326 -0.339526 0.104727 -0.034607 0.307406 0.213064 0.060791 -0.403404 0.247742 -0.355559 -0.046409 0.281231 -0.374882 -0.450255 0.212872 -0.331840 -0.169597 -0.279219 -0.398566 -0.438653 0.146196 -0.355351 0.357674 -0.150180 -0.090973 0.558425 0.707568 -0.072888 0.067852 -0.388562 -0.273849 
总统 1.089660 0.388248 -0.564024 -0.000536 -0.220425 0.357688 0.192906 -0.375372 -0.302463 -0.419745 -0.164554 -0.004720 -0.398634 -0.159908 -0.337930 -0.398466 -0.298521 -0.455429 -0.252185 0.148913 -0.449416 -0.628409 -0.712950 -0.296079 0.288812 0.134042 0.072847 0.281905 -0.207326 0.252483 0.348320 -0.497243 -0.061970 0.523959 -0.675952 -0.194455 0.308025 0.289456 -0.488543 0.118895 -0.087034 0.414623 -0.663939 -0.213214 0.546340 0.262207 -0.242752 -0.402479 -0.435357 -0.690119 
于 0.211989 -0.144343 -0.448606 0.055492 -0.459305 -0.164693 0.009339 0.062842 0.041793 0.019448 0.149487 0.184376 -0.140253 0.405870 -0.536975 -0.517112 0.311007 0.037930 -0.284241 -0.113179 -0.031065 0.245413 -0.380130 -0.222259 0.418420 0.168170 -0.171913 0.124965 -0.139500 -0.327402 0.418971 -0.326017 -0.161871 -0.207122 -0.156158 -0.198451 -0.305860 0.179483 -0.199158 -0.192941 -0.227221 0.259240 -0.349259 -0.480558 0.464684 0.667512 0.207539 -0.134002 -0.379989 -0.420855 
来 -0.021404 0.001064 -0.212194 -0.065757 -0.013694 0.013037 -0.146248 0.023895 0.062694 0.258829 0.045169 -0.284377 -0.134048 0.463798 -0.271104 -0.297831 0.249645 -0.241062 -0.190344 0.269299 0.064088 -0.119268 -0.294193 -0.071794 0.197021 -0.151201 -0.188311 0.244347 0.251485 0.281680 0.247349 -0.026797 -0.320617 0.337750 -0.736795 -0.188089 0.186091 -0.275901 0.020784 0.146806 -0.250501 0.152266 -0.401474 -0.304829 0.240563 0.497697 0.034802 0.159071 -0.353802 -0.404253 
但 0.191366 -0.159863 -0.150031 0.070192 -0.336443 0.301805 0.261934 -0.035601 -0.127207 0.015389 0.278631 0.005962 -0.294154 0.292081 -0.166009 -0.499661 -0.055835 -0.181652 -0.109791 0.234343 -0.039979 0.146390 -0.128399 0.036321 0.106031 -0.093456 -0.085685 0.266034 0.123750 -0.096572 0.247568 -0.087618 -0.592656 0.243323 -0.217051 -0.192934 0.272900 -0.389592 0.223109 -0.191523 -0.355305 0.157358 -0.336619 -0.341966 0.410318 0.373540 -0.120530 0.015177 -0.380239 -0.684580 
目前 0.182001 -0.069318 -0.222859 -0.152617 -0.268914 0.283322 0.300109 -0.051868 0.229403 0.170424 0.193794 0.040701 -0.057283 0.380932 -0.495892 -0.584349 -0.083806 0.046181 0.053543 0.062665 0.060065 0.379257 -0.244877 0.085490 0.054149 0.119207 -0.038212 0.458554 0.052029 0.066641 0.108388 -0.063828 -0.426524 -0.096264 -0.144620 -0.331534 -0.053911 0.008555 0.259545 0.034010 -0.633039 -0.048241 -0.012293 -0.371737 0.513801 0.463374 -0.118598 0.105064 -0.362490 -0.841152 
元 -0.198352 -0.349234 -0.413547 -0.180469 -1.083138 0.777770 0.292296 -0.278855 -0.037492 0.105883 0.646451 -0.229981 -0.038438 0.141239 -1.105988 -0.046123 0.242176 0.592756 -0.411935 0.262852 -0.203620 -0.037903 0.227199 0.119450 0.596485 -0.773237 0.014390 0.069011 -0.148384 0.203508 0.085731 0.185283 0.096988 0.441140 -0.624154 -0.273264 -0.024111 -0.495665 0.364864 0.304035 -0.464828 0.200041 0.210777 0.526695 0.069504 0.971210 0.182904 0.280479 -0.071388 -0.559944 
从 0.015015 -0.104532 -0.194210 -0.079289 -0.451491 -0.107378 0.043193 0.252756 0.069686 0.143918 0.064004 -0.203264 -0.101951 0.316756 -0.219379 -0.407065 0.166706 -0.189353 -0.544298 0.126804 0.051376 0.126162 -0.207545 -0.167398 0.261309 0.050931 -0.352911 0.249716 0.082911 0.135939 0.370720 -0.175788 -0.210431 -0.045547 -0.102893 -0.432942 0.065187 0.076932 -0.043224 -0.143177 -0.134393 0.210168 -0.299569 -0.352295 0.434556 0.620896 0.018056 0.054964 -0.344807 -0.376804 
前 0.442438 0.042265 -0.391662 -0.164773 -0.469264 0.188650 0.221127 0.073681 -0.006531 -0.169162 0.323485 0.153139 -0.399232 0.265842 -0.443318 -0.391691 0.121450 0.030977 -0.390008 0.106987 0.008138 -0.017571 -0.459596 0.004225 0.146321 0.032192 0.010669 0.023133 0.029042 -0.229006 0.314925 -0.091103 -0.203828 0.038309 -0.655047 -0.306244 -0.012389 0.063988 -0.055603 -0.266342 -0.096549 0.080996 -0.356077 -0.505079 0.472412 0.417412 0.084952 -0.117353 -0.324996 -0.458782 
地区 0.053962 -0.017981 0.050978 0.129986 0.020712 -0.247143 0.239423 -0.264436 0.303876 -0.052458 0.297588 -0.164895 0.095207 0.487611 -0.451061 -0.985113 0.438981 0.014396 -0.372515 -0.144024 -0.371074 -0.276826 -0.402659 -0.752916 -0.086688 0.326356 0.123326 0.051684 -0.139404 -0.057028 0.498199 -0.244685 -0.238484 0.021374 0.147106 0.102203 0.159853 -0.116836 -0.098863 0.273278 -0.661594 -0.068132 0.093768 -0.153996 0.228014 0.398967 -0.016588 0.593164 -0.261919 -1.042562 
指出 0.233358 0.042249 -0.237941 0.190505 -0.252417 0.073867 -0.019844 -0.004232 0.047387 0.365822 -0.150164 -0.111267 -0.398589 0.174485 -0.445437 -0.717073 -0.347999 0.181382 -0.318506 0.306777 0.011092 0.099483 -0.336880 0.224772 -0.026772 0.160048 -0.056003 0.636452 0.020234 -0.221009 0.354735 0.021935 -0.333740 -0.060502 -0.321989 -0.321257 -0.121972 -0.105387 0.001922 0.032811 -0.493913 0.031170 -0.174555 -0.338210 0.465601 0.348044 -0.099768 0.173742 -0.344331 -0.778768 
地 0.101625 0.039939 0.131415 0.172449 0.117842 -0.055407 0.068359 -0.224721 -0.216666 0.143787 0.308026 0.083134 0.029199 0.103375 -0.138825 -0.731192 0.432334 -0.035865 -0.380383 -0.190467 0.067736 -0.154219 -0.137490 -0.251554 -0.134070 0.301255 -0.324032 0.120353 -0.070730 -0.094879 0.359112 -0.158910 -0.148180 0.209397 -0.200821 -0.129852 0.033735 -0.209007 0.333762 0.154757 -0.296458 0.114181 -0.478694 -0.093646 0.098568 0.608333 -0.179300 0.271614 -0.291474 -0.622306 
工作 0.372118 0.145427 -0.330394 -0.061410 0.137307 -0.096632 0.203439 0.222673 0.025803 -0.101628 -0.123634 0.152220 0.121805 0.282912 -0.404084 -0.061109 0.532397 0.182290 0.111039 0.105537 0.083995 0.168771 0.376964 -0.055501 -0.355085 0.016503 -0.387299 0.443430 -0.171204 0.243691 0.647629 -0.001637 0.159927 0.074517 -0.258829 -0.501536 0.080257 -0.159618 -0.165440 0.202820 -0.332197 0.533228 -0.190705 -0.654743 0.284010 0.548244 0.022990 0.346937 -0.391809 -0.672598 
今年 -0.110990 -0.000991 -0.727931 -0.390579 -0.393427 -0.125115 -0.006847 0.202159 0.176965 0.017215 0.088867 -0.208092 -0.303558 0.179557 -0.582907 -0.478787 0.114849 0.143911 -0.298862 0.156580 -0.257246 0.111212 -0.226347 -0.216524 0.364291 -0.121676 -0.159937 0.224150 -0.398630 -0.179840 0.452982 -0.034345 -0.358575 -0.120169 -0.355463 -0.187188 -0.245131 -0.453372 -0.051517 -0.226114 -0.418079 -0.187508 -0.034059 -0.557711 0.836758 0.701335 0.266952 0.180255 -0.417674 -0.254068 
我 0.302794 0.294994 -0.227459 0.257078 0.149714 0.806531 -0.279508 0.110580 -0.033133 0.127016 0.190456 -0.543214 -0.225013 0.033890 0.058508 -0.295425 0.094260 -0.673532 -0.086239 0.405711 0.005394 -0.227513 0.076825 0.242348 0.007962 0.049667 -0.059831 0.060776 0.077606 0.317664 0.548500 -0.344728 -0.462301 0.043040 -0.384209 -0.401245 -0.018246 -0.469851 0.109955 0.283443 -0.369245 0.014586 -0.436013 -0.565740 0.460647 0.763131 -0.345527 -0.057425 -0.177641 -0.328318 
举行 0.659973 0.082460 -0.454198 0.118384 0.033443 -0.182991 -0.088948 0.184266 0.014430 -0.342912 -0.159148 0.117782 -0.531175 0.375367 -0.317110 -0.655116 0.273334 0.375488 -0.062419 -0.294937 -0.527225 -0.024371 -0.234480 -0.041819 0.355495 0.323669 0.173962 -0.169526 0.122104 -0.389206 0.459448 -0.424910 0.000397 -0.046211 -0.369313 -0.231194 -0.761091 -0.053583 -0.259750 0.216892 -0.314734 0.349830 -0.299596 -0.311048 0.645729 0.829127 0.192176 -0.404464 -0.902427 -0.350110 
大陆 0.083747 -0.408053 -0.198584 0.064688 0.136991 -0.020912 -0.030044 0.389467 0.365908 0.518620 -0.053127 -0.420760 -0.047936 0.215935 -0.736558 -0.498835 0.248610 -0.331025 0.095816 -0.055145 -0.149239 -0.256592 0.168462 -0.199217 0.256037 0.383869 -0.465676 0.628555 -0.145520 0.075358 0.150034 0.249622 -0.676879 -0.319316 -0.638200 -0.129473 0.127100 -0.085023 0.305775 0.039233 -0.099727 -0.292519 -0.342563 -0.147094 0.520723 0.720363 -0.138902 0.276737 -0.202106 -0.510190 
香港 0.140315 -0.390350 -0.822822 0.517208 -0.006920 0.138665 0.544317 0.123198 -0.235199 0.038754 -0.243557 -0.795742 0.293022 0.389569 -0.718642 -0.608449 0.538730 -0.597624 -0.063004 0.217777 -0.085146 0.206861 0.072137 -0.163862 0.345580 0.299725 -0.563217 0.605883 -0.184634 -0.349650 -0.331007 0.500851 -1.070720 -0.311191 -0.531767 0.120795 -0.168988 -0.498769 0.365452 0.486782 -0.090002 0.330804 -0.414774 -0.150681 0.487151 0.692366 0.084248 0.592995 -0.679538 0.177264 
所 0.205444 -0.095723 0.014468 0.197199 -0.318194 0.223283 0.134741 -0.185305 -0.004098 -0.011088 0.336857 -0.020198 -0.276450 -0.059938 -0.364984 -0.506827 0.219935 0.086181 -0.077933 0.263270 0.093132 0.172628 -0.296213 -0.026749 0.031333 0.178097 -0.184708 0.249036 -0.180258 -0.094344 0.373600 0.005712 -0.229883 0.167265 -0.186571 -0.262348 0.011685 -0.059964 -0.266641 0.176729 -0.530908 0.502085 -0.181778 -0.178645 0.425236 0.364941 -0.122753 0.114372 -0.316114 -0.551244 
向 0.359195 -0.078935 -0.093684 0.517738 -0.388563 0.232104 0.045936 -0.246644 -0.178941 0.351648 0.166191 0.047813 -0.129337 -0.353702 -0.538428 -0.344843 0.138222 0.126255 -0.376283 -0.420893 0.425492 -0.192702 -0.361950 0.349887 0.283628 0.207325 0.116719 0.238018 -0.063770 0.147142 0.468043 -0.293678 -0.152918 -0.076605 -0.393411 -0.158804 0.065214 -0.184658 0.003608 0.101108 0.059067 0.192097 -0.543805 -0.436390 0.349807 0.307105 -0.262637 0.124599 -0.307406 -0.871069 
企业 0.160950 -0.215565 -0.306856 0.122733 0.077663 -0.320688 0.200340 -0.239928 0.389781 -0.189169 -0.241574 -0.633117 -0.115627 -0.095343 -0.473565 0.282960 0.475480 -0.210229 -0.149337 0.043317 0.200569 -0.208912 0.298936 0.179650 0.413838 0.295154 -0.365115 0.262923 -0.372559 0.292389 0.379061 0.534666 -0.093564 -0.012822 -0.778685 0.355053 -0.245460 0.137875 0.274347 -0.110759 -0.936439 0.009790 -0.058369 -0.006791 -0.006741 0.892614 -0.271975 0.576418 -0.159390 -0.663602 
市场 0.108187 -0.334122 -0.173951 -0.062488 -0.016493 -0.066084 0.318319 -0.152658 -0.137022 0.129442 -0.244292 -0.442729 0.006552 0.373084 -0.432018 0.043516 0.432439 -0.292502 -0.886741 0.234293 -0.514580 -0.158959 -0.052117 0.220436 0.186113 -0.036244 0.122805 0.563009 -0.544701 0.370764 0.256095 0.158406 -0.781842 0.031103 -0.218709 0.154263 -0.363685 0.009138 0.415591 -0.085320 -0.877017 -0.414123 -0.029126 0.148254 0.032506 0.555913 -0.193848 -0.099096 -0.701774 -0.747768 
世界 0.525610 0.094671 -0.152030 -0.114333 0.479673 0.529974 -0.367132 -0.212115 0.173178 0.125146 0.306243 0.283793 -0.369836 0.115935 -0.511271 -0.250250 0.361047 -0.287215 -0.220471 0.467975 -0.343258 -0.242109 -0.270512 -0.139545 0.182301 0.440096 -0.352900 0.064184 -0.011870 -0.015708 0.401223 0.005607 -0.747847 -0.536071 -0.078897 -0.310300 -0.320752 -0.363399 0.074298 0.650479 -0.146433 -0.461113 -0.173053 -0.193477 0.397959 0.940099 -0.210172 0.076484 -0.578590 -0.117064 
他们 0.348430 -0.121167 0.145568 0.345755 0.183536 0.271455 0.289502 -0.075768 -0.296485 -0.195807 0.094194 -0.073214 -0.092450 0.110155 -0.237510 -0.500232 0.396195 -0.398133 -0.096643 0.231600 0.088311 0.207809 0.042959 0.250743 0.340499 0.178277 -0.228364 0.043268 0.051279 0.323826 0.331284 -0.130433 -0.087475 0.194299 -0.166840 -0.378105 0.163428 -0.318932 -0.054264 0.152379 -0.101363 0.401683 -0.568778 -0.371245 0.584374 0.435023 -0.247367 0.186564 -0.325515 -0.538969 
可 0.124161 -0.234676 -0.137126 0.067530 -0.608280 0.358485 0.233151 -0.548776 -0.117599 0.087046 0.499282 -0.255360 -0.091724 0.468055 -0.168102 -0.133194 0.583662 -0.050548 -0.074113 -0.090612 0.088995 -0.005834 -0.066200 -0.134961 0.088268 -0.218255 0.026894 0.319533 -0.211344 -0.029981 0.238714 -0.409286 -0.445475 -0.209001 -0.356629 -0.165347 0.260637 -0.382113 -0.076372 0.567388 -0.189290 0.168902 -0.260737 -0.161257 0.309967 0.538240 0.096003 0.076744 -0.086431 -0.374720 
北京 0.763976 -0.339241 -0.208254 0.381257 0.027979 -0.160875 -0.115128 0.235933 -0.124366 -0.072972 -0.221818 -0.095212 0.389501 0.135508 -0.489712 -0.651730 -0.114618 -0.101619 0.078235 -0.081443 -0.155077 0.071830 -0.056423 -0.266238 0.694750 0.286826 -0.486896 0.288088 0.121929 -0.273487 0.414332 0.380356 -0.731918 -0.528612 -0.364205 -0.047090 0.130057 -0.322874 0.475698 0.032057 0.121244 0.000439 -0.621641 -0.096143 0.220523 1.018782 0.032036 0.251954 -0.371446 0.010841 
此 0.521808 0.065578 -0.146043 0.449532 -0.183277 0.167354 -0.086402 -0.281024 0.031443 0.212410 0.195225 0.089152 -0.222171 0.258981 -0.278746 -0.297363 -0.108493 -0.055960 0.112598 0.084588 -0.069251 -0.106478 -0.368343 0.128206 0.301818 0.164925 -0.068823 0.192488 -0.180467 0.041785 0.488443 -0.190844 -0.449648 0.295460 -0.341660 -0.098836 0.053796 -0.520656 -0.000950 -0.001632 -0.212671 0.267993 -0.476826 -0.191429 0.479865 0.386935 -0.237808 0.119058 -0.424573 -0.440206 
至 -0.163390 -0.448528 -0.327700 0.191381 -0.988235 -0.288333 0.233211 -0.031317 0.441079 -0.303110 0.399094 -0.243702 -0.047300 0.765231 -0.692990 -0.300200 0.452006 -0.090867 -0.843342 -0.455396 0.047891 -0.111140 -0.353471 -0.478282 0.328833 -0.466310 -0.060675 -0.049607 0.054218 -0.098839 0.349748 -0.418438 -0.335707 -0.449259 -0.057450 -0.551475 -0.085769 -0.467126 -0.155062 -0.002465 -0.068525 0.000073 -0.041926 -0.284097 0.043034 0.701041 0.333968 0.423476 -0.288916 -0.436750 
位 0.410642 0.089355 0.078737 -0.221768 -0.047361 0.216152 0.186874 -0.418716 0.003485 0.024718 0.123981 0.301972 -0.354274 0.262809 -0.542743 -0.657268 -0.007725 -0.053788 -0.067231 -0.083935 0.397327 0.226349 -0.143581 -0.005309 0.081259 0.241998 -0.018261 -0.134072 0.255262 -0.043909 -0.038581 -0.017101 -0.097967 0.013817 -0.805528 -0.633490 -0.194661 -0.089857 -0.261010 0.112734 -0.387620 0.040437 -0.234382 -0.490035 0.430327 0.467117 -0.117239 0.111559 -0.568737 -0.490626 
之 0.347747 0.235831 -0.184483 0.297615 -0.258416 0.286362 -0.187557 -0.441783 -0.270244 0.237732 0.565108 0.428921 -0.311952 0.294463 -0.145475 -0.161312 0.626722 0.193005 -0.061811 0.264481 -0.155771 -0.519291 -0.629129 -0.470358 -0.010575 0.140393 -0.146191 0.046393 0.198164 -0.231608 0.346079 0.054551 -0.261419 0.183634 -0.624315 -0.086175 0.250061 -0.279096 -0.215752 0.235316 -0.201052 -0.035574 -0.481500 -0.144929 0.301384 0.523644 -0.425543 0.129765 -0.164956 -0.407832 
中共 1.009954 -0.529735 -0.145365 0.567288 0.201461 -0.084935 -0.383968 0.320132 -0.155216 0.050860 -0.103103 -0.320273 0.157585 0.032004 -0.466573 -0.479168 -0.203901 -0.286091 0.267130 0.043098 -0.007169 -0.567008 0.097402 -0.183250 0.303450 0.302530 -0.374668 0.576173 -0.155163 0.101167 0.652940 0.175692 -0.976620 0.068920 -0.539772 -0.096881 -0.026502 -0.072384 0.251314 -0.236330 0.087733 0.261252 -0.334885 -0.333530 0.523077 0.769532 -0.135895 0.569194 -0.289710 -0.360442 
种 0.079276 -0.058963 0.345005 0.380030 0.059194 0.044164 -0.242532 -0.348744 -0.207316 0.162827 0.262040 -0.342609 -0.398488 0.447030 0.068067 -0.329726 -0.103875 -0.200634 -0.165610 0.255938 0.022280 0.104991 -0.138743 -0.033091 0.196909 -0.184652 -0.234684 0.371616 -0.374423 0.036742 0.080562 -0.021945 -0.474905 0.255338 -0.242365 -0.238406 0.153881 0.151771 -0.126896 0.315308 -0.579306 0.359954 -0.274825 0.157990 0.423284 0.616182 -0.270595 0.187719 -0.390600 -0.125756 
会议 1.230471 0.228492 -0.396139 0.283453 0.034185 -0.098237 -0.000188 0.081813 0.578072 -0.326355 -0.340945 0.091346 -0.594670 0.482889 -0.540111 -0.155785 0.182424 0.098503 0.095512 -0.219345 -0.351182 -0.390669 -0.067082 0.273192 -0.120572 0.124766 0.363805 0.373618 -0.080152 -0.330363 0.559793 -0.406699 -0.123056 -0.031534 -0.306502 -0.367734 -0.631275 -0.254008 -0.198477 0.112794 -0.386732 0.424705 0.011860 -0.280438 0.209983 0.872082 -0.028650 -0.046901 -0.735419 -0.357036 
认为 0.393225 0.031477 -0.026485 0.109842 -0.212940 0.157953 0.178714 -0.228146 0.107960 0.182534 -0.300648 -0.112608 -0.523326 0.411687 -0.164257 -0.638693 -0.319706 -0.194949 -0.140839 0.497131 -0.004145 -0.014652 -0.183250 0.096343 -0.003625 0.026116 -0.198839 0.354093 -0.013604 -0.060436 0.304696 0.080218 -0.631968 0.095754 -0.432169 -0.262800 0.000314 -0.303592 0.122674 0.115919 -0.423912 0.199575 -0.207172 -0.231942 0.439208 0.073179 -0.192160 -0.047674 -0.300997 -0.633149 
每 -0.136098 -0.085497 -0.011350 -0.331266 -0.343729 0.312320 0.153314 -0.396082 -0.136539 0.114332 0.404858 -0.363187 -0.208959 0.282340 -0.371950 -0.375186 0.570832 0.183711 -0.376407 0.094844 -0.132799 0.021391 -0.334248 0.086695 0.061921 -0.658847 -0.057146 0.198599 0.308066 0.112386 0.149496 -0.220408 0.004901 -0.136335 -0.559371 -0.687205 -0.127304 -0.337902 -0.059431 0.148161 -0.071819 0.380313 0.143182 0.234083 0.657603 0.822183 0.281888 0.271960 -0.258053 -0.323326 
高 0.117055 -0.307012 -0.051889 -0.047660 -0.336948 0.155842 0.229232 -0.571985 -0.018865 0.107845 0.504655 -0.007286 -0.151310 0.424325 -0.409885 -0.044369 -0.471117 0.193206 -0.640408 0.496148 0.108992 0.013064 -0.010021 -0.271446 0.225086 -0.220469 0.073482 -0.022539 -0.152662 -0.028783 0.028255 0.221414 -0.262330 0.052173 -0.616812 -0.193647 0.121702 -0.525620 -0.107517 0.216006 -0.290759 -0.114410 -0.163089 -0.155552 0.133250 0.776256 0.213255 0.307376 -0.351230 -0.673100 
更 0.311520 -0.041965 -0.076038 0.037147 -0.048542 0.108654 0.131136 -0.085341 -0.326227 0.073657 0.204232 -0.155568 -0.054866 0.525044 -0.024522 0.000521 0.247473 -0.170814 -0.135182 0.474189 -0.009917 -0.026059 0.007547 -0.105764 0.106097 0.130092 -0.055889 0.167242 -0.198045 0.163822 0.204520 -0.075260 -0.333082 0.219929 -0.362422 -0.014303 0.091358 -0.541057 -0.136338 0.543839 -0.335037 0.254567 -0.598712 -0.200480 0.287994 0.536150 -0.111221 0.263352 -0.322459 -0.632892 
没有 0.247880 0.143979 -0.040850 0.274978 -0.244795 0.358743 0.270946 0.072382 -0.191407 -0.040001 0.238077 -0.190338 -0.422324 0.228070 -0.083295 -0.621801 -0.110593 -0.331163 0.113491 0.258603 0.008094 0.274511 0.018781 0.198080 0.086974 -0.013256 0.027024 0.413082 0.208323 -0.096550 0.433639 -0.112252 -0.417951 0.306138 -0.251337 -0.255357 0.395960 -0.077603 0.199456 0.075730 -0.247420 0.330956 -0.309015 -0.351661 0.326246 0.588421 -0.152736 -0.105363 -0.296001 -0.670771 
美元 -0.040864 -0.439583 -0.177656 0.209072 -0.599092 1.058944 -0.175601 -0.405415 0.107707 -0.172963 -0.002331 -0.138030 -0.108005 0.174462 -1.566500 0.376772 0.335705 0.105228 -0.762335 0.350852 -0.298972 -0.074472 -0.259178 -0.190641 0.551235 -0.354597 -0.042913 0.040776 -0.010644 0.868959 0.039444 -0.053817 -0.543842 0.397890 -0.324331 -0.100268 -0.162288 -0.429257 0.434122 -0.165177 -0.368946 -0.328845 0.026600 0.434010 0.867898 0.981937 0.217028 0.184404 -0.124242 -0.359293 
日本 0.161277 -0.520634 -0.404847 0.708467 -0.372790 0.264288 -0.416631 -0.109696 -0.198037 0.069777 0.333101 -0.042896 -0.226101 0.239485 -0.458545 0.181556 -0.062831 -0.751772 0.005860 -0.418288 0.050223 0.089472 -0.717297 -0.065008 0.150311 0.153521 -0.541318 -0.111762 -0.028304 0.112817 0.459501 -0.071174 -0.696865 -0.577758 -0.625241 -0.094249 -0.328038 -0.366071 -0.162606 0.191943 -0.515929 -0.317003 -0.469660 -0.214132 0.910667 0.462280 -0.179569 0.161272 -0.518328 -0.403880 
未 0.214053 -0.039168 -0.342673 0.191276 -0.547120 0.386279 0.204205 -0.031098 -0.107772 0.033586 0.358945 0.209150 -0.316169 0.225821 -0.252844 -0.612648 0.035345 0.008565 0.286359 -0.020485 -0.029694 0.183040 -0.097571 0.295930 0.119057 -0.055910 0.082938 0.359933 -0.121819 -0.245729 0.249196 -0.205623 -0.648255 0.313035 -0.192120 -0.094105 0.358947 -0.254471 0.154833 -0.278035 -0.377515 0.146120 -0.161314 -0.479944 0.440513 0.554938 -0.141541 -0.103830 -0.377957 -0.750607 
中央 1.092779 0.149254 -0.540892 0.185621 -0.662949 0.363684 0.068965 -0.243283 -0.133434 0.441126 0.260091 -0.569517 -0.585959 0.535522 -0.440228 -0.801530 0.092385 0.235311 -0.233096 -0.378503 0.022198 -0.215315 -0.026125 -0.150282 -0.243240 -0.330011 -0.549382 0.608680 -0.184051 -0.181671 0.155637 0.169665 0.051385 -0.137335 -0.082979 -0.252162 -0.241562 -0.135448 0.028382 -0.314202 -0.156252 0.357475 -0.696874 0.070655 -0.654468 0.478403 -0.200170 1.013235 -0.354051 -0.818855 
活动 0.099855 0.038386 -0.030803 0.127810 -0.070118 -0.494984 -0.164736 0.009519 -0.236021 0.042183 0.054073 -0.306760 -0.410468 0.474083 -0.382864 -0.423382 0.656169 0.216000 -0.111664 -0.039393 -0.518401 -0.077854 0.013064 -0.109035 0.563451 0.069572 -0.324099 0.056355 -0.073757 0.199240 0.783817 -0.145554 0.195155 0.456416 -0.339110 -0.110626 -0.072371 0.027733 -0.534983 0.735791 -0.064368 0.099391 -0.563165 -0.083136 0.191570 0.663335 0.192104 -0.002290 -0.949333 -0.319959 
关系 0.637146 -0.175981 -0.216732 0.591398 0.207764 0.067238 -0.070399 0.288192 0.144386 -0.003091 -0.537628 -0.036339 0.155907 0.343348 -0.024090 -0.301274 -0.101968 -0.438046 -0.013827 0.491013 -0.333852 -0.383891 -0.353566 -0.457477 0.115835 0.264429 0.302686 0.577722 0.080255 -0.093932 0.673074 -0.429097 -0.846427 0.333412 -0.968578 0.166671 -0.342297 -0.287984 -0.244937 0.258597 -0.507100 0.416146 -0.182965 -0.004089 0.329248 0.261986 -0.736359 0.179208 0.001389 -0.727642 
合作 0.771568 -0.200652 -0.488155 0.413370 0.355521 -0.198033 -0.242883 0.042350 0.668737 0.341180 -0.308933 -0.314144 0.059243 0.447606 0.015026 0.034532 0.304237 0.109175 0.036276 0.266542 -0.077915 0.291036 -0.231304 -0.166836 0.459700 0.171338 0.418354 0.084844 -0.326718 -0.074321 0.595154 -0.523093 -0.296702 0.263093 -0.505086 -0.058848 -0.514916 -0.157523 0.023112 0.636878 -0.729647 0.229465 -0.252156 -0.128932 0.339110 0.570959 -0.365770 0.221290 0.033718 -0.750103 
据 0.055914 -0.075504 -0.559702 0.209518 0.017094 -0.251206 0.052801 0.137298 0.061909 0.556183 -0.148945 0.148451 -0.124533 0.092291 -0.628086 -1.046127 -0.336735 0.317840 -0.206756 -0.167466 0.177117 0.411529 -0.485616 0.397992 0.133398 0.350733 -0.183375 0.399374 -0.008175 0.085144 0.241595 -0.104454 -0.154077 -0.325731 -0.343125 -0.606934 0.018597 0.144675 0.294458 -0.327214 -0.375015 0.051253 -0.054385 0.239206 0.713236 0.431974 -0.081701 0.509917 -0.233346 -0.533819 
人员 0.142117 -0.078176 -0.196264 0.291206 -0.132514 0.102208 0.285406 -0.175792 -0.145879 0.104566 0.126858 0.285410 -0.061211 0.170530 -0.395141 -0.332757 0.373863 0.290761 0.219046 0.088978 0.147728 0.235268 0.348191 0.163455 -0.416459 0.127326 0.090646 0.246634 0.059389 0.371683 0.270308 0.181806 -0.036785 0.009189 -0.291014 -0.638669 0.314488 0.192761 -0.475591 -0.111182 -0.483874 0.813637 -0.374122 -0.367248 0.226705 0.524854 0.052037 0.318485 -0.706130 -0.579638 
组织 0.987407 -0.204295 -0.265135 0.364879 0.295638 -0.275290 -0.350055 -0.242754 0.474631 0.101489 0.045667 0.222914 -0.485036 0.154655 -0.489636 -0.401202 0.327563 -0.035550 0.033489 0.566570 -0.246181 -0.182991 0.252970 0.065420 0.454314 0.037291 0.194213 0.443318 -0.092897 0.080743 0.509514 0.139446 -0.212464 -0.024580 0.423645 -0.342374 -0.186243 0.116127 -0.244819 0.142494 -0.198447 0.001754 0.042264 -0.479542 0.439722 0.860251 -0.638426 0.478118 -0.671512 -0.460211 
希望 0.501277 -0.003567 -0.287992 0.063653 -0.072931 0.260200 -0.027041 0.032330 -0.055730 0.111559 -0.152794 -0.068680 -0.195949 0.244518 -0.058100 -0.162897 0.364542 -0.077592 0.005287 0.146890 -0.010711 0.123018 -0.170035 0.121768 0.311369 0.116097 -0.144263 0.135651 -0.100405 0.104070 0.444405 -0.407211 -0.006930 0.276624 -0.226202 -0.196451 -0.055676 -0.644033 0.052623 0.620879 -0.207076 0.354556 -0.548515 -0.401979 0.398685 0.370973 -0.298425 -0.079770 -0.351899 -0.875899 
则 0.264093 -0.310051 -0.117871 0.252242 -0.569634 0.269966 0.372941 -0.162436 -0.010769 -0.169380 0.322789 -0.112662 -0.495252 0.070819 -0.301407 -0.295589 0.165562 0.026377 -0.334496 0.255721 -0.166685 0.267489 -0.196578 -0.204988 -0.056632 -0.096108 -0.230398 -0.053761 0.033720 -0.226004 0.125440 -0.018938 -0.295180 0.269121 -0.507599 -0.350789 0.184814 -0.199897 0.148880 0.035865 -0.318544 0.010045 -0.262304 -0.428363 0.337703 0.475308 -0.122100 -0.081712 -0.321804 -0.606846 
第一 0.311555 0.345326 -0.574939 -0.525822 -0.214252 0.371696 0.039079 0.025461 0.097831 -0.064988 0.246656 0.040285 -0.462560 0.147481 -0.212593 -0.366305 0.277087 0.189238 -0.106846 0.041139 -0.044204 -0.022057 -0.324229 -0.108741 0.010132 0.305167 -0.254292 -0.081468 -0.223794 -0.138885 0.229216 -0.001639 -0.615660 -0.201337 -0.612022 -0.484338 -0.224071 0.288388 -0.199987 0.129550 -0.365347 0.064098 -0.116868 -0.495180 0.457518 0.665223 0.032391 -0.143215 -0.271163 -0.172294 
内 0.536235 -0.211889 -0.189233 -0.105298 -0.462170 -0.003093 0.191827 -0.225757 -0.086560 -0.061944 0.517184 0.120757 -0.100231 0.684061 -0.276895 -0.302029 0.298183 -0.106595 -0.309286 -0.335078 0.173556 0.196644 0.052121 0.185985 0.051843 -0.103566 0.099280 0.372865 -0.049072 -0.422365 0.195615 -0.157978 -0.213139 0.051721 -0.317994 -0.094440 0.116382 0.023711 -0.106913 0.172421 -0.223254 0.364863 -0.100955 -0.313945 0.289937 0.466543 -0.016098 0.211950 -0.430389 -0.514257 
社会 0.467963 0.074501 -0.057526 0.072993 0.096773 0.158357 0.315788 0.349400 -0.048423 -0.098640 -0.328204 -0.101450 -0.403066 -0.014089 -0.444146 -0.338741 0.293992 0.043986 -0.089669 0.761421 -0.055557 -0.236653 -0.180798 -0.114313 0.207381 0.291925 -0.605483 0.341180 -0.240003 0.230615 0.289935 0.113039 -0.143212 0.121285 -0.090924 -0.167234 0.001830 -0.605271 -0.677832 0.648364 -0.521357 0.379694 -0.074245 0.242470 -0.075570 0.173887 -0.292347 0.189162 -0.516087 -0.842697 
可能 0.488537 -0.065973 0.010284 0.241054 -0.295309 0.255173 0.319330 0.002586 -0.146846 -0.022966 0.289516 -0.051344 -0.557673 0.812352 -0.195586 -0.372324 -0.085424 -0.292648 -0.107409 0.077548 -0.306586 0.077711 -0.392484 -0.038845 0.228563 0.103157 0.147454 0.450806 -0.082993 0.014599 0.289644 0.107064 -0.490793 0.132298 0.026873 -0.010802 0.269387 -0.274347 0.051945 -0.042240 -0.372248 0.263699 -0.257446 -0.407559 0.715882 0.450516 0.018217 0.283303 -0.266300 -0.527726 
下 0.436168 -0.260539 -0.288020 -0.001367 -0.068885 0.204653 0.192180 0.172079 -0.197221 -0.115101 0.218159 0.070084 -0.312358 0.317432 -0.280654 -0.064253 0.344951 0.004890 -0.479395 -0.035030 -0.093129 0.036948 -0.128639 -0.224091 0.027408 -0.112143 -0.171578 0.199596 -0.024213 -0.097708 0.051487 0.021157 -0.425938 0.222425 -0.151946 -0.260235 -0.020490 -0.198228 0.116809 -0.131866 -0.331514 0.221883 -0.489404 -0.531826 0.192948 0.333930 -0.170528 -0.176476 -0.519189 -0.732700 
天 0.119283 0.068746 -0.219487 -0.325448 -0.025296 0.447491 0.312911 -0.014650 -0.064408 0.136035 0.175255 0.051055 -0.269698 0.855420 -0.112880 -0.658553 0.593875 0.008297 -0.248834 -0.471568 -0.306806 -0.296847 -0.483447 -0.020247 -0.224091 -0.322151 -0.025041 0.106043 0.206152 -0.082224 0.402160 -0.211965 -0.060917 0.021237 -0.365591 -0.562351 -0.181742 -0.308956 -0.145763 -0.159149 -0.053745 0.425061 -0.351291 -0.028286 0.522806 1.106948 0.142146 0.166108 -0.404065 -0.130158 
我们 0.726784 0.408405 0.030265 0.570104 0.475671 0.846067 -0.097092 -0.144452 -0.311151 -0.242168 0.077487 -0.458735 0.022731 0.216287 0.274972 -0.337410 0.106602 -0.627037 -0.176313 0.399462 0.014608 0.052831 0.021782 0.203446 0.266502 0.270076 -0.355360 0.324220 0.100592 0.337290 0.660457 -0.345965 -0.370532 0.178947 0.108041 -0.373254 -0.026683 -0.414354 0.083008 0.240871 -0.166897 0.352318 -0.186122 -0.345087 0.661013 0.699131 -0.432430 0.075423 -0.217349 -0.630294 
委员会 0.736286 0.214154 -0.474724 0.238016 -0.181598 0.164997 -0.150157 -0.050146 0.351472 0.059952 -0.361741 -0.035231 -0.864617 0.099449 -0.985525 -0.429038 0.313843 0.051941 -0.010082 -0.123304 -0.106410 -0.144179 0.459732 0.198018 -0.210837 -0.213405 -0.177915 0.483251 -0.360971 -0.258203 0.201677 -0.152623 -0.230169 -0.093619 -0.048880 -0.399009 -0.423729 0.194127 -0.294608 0.170903 -0.507571 0.402898 -0.330487 -0.460117 0.032024 0.295239 0.205291 -0.122400 -0.336455 -0.830617 
去年 -0.343106 -0.153630 -0.837969 -0.248283 -0.398889 -0.118891 -0.031793 0.207681 0.197941 -0.151166 0.078504 -0.002365 -0.321266 0.102681 -0.729135 -0.336894 -0.112300 0.033541 -0.439962 0.347265 -0.191307 0.218131 -0.315708 -0.367602 0.240367 -0.093652 -0.084318 0.026450 -0.333878 -0.075139 0.364308 0.038677 -0.357514 0.079067 -0.690282 -0.112068 -0.004271 -0.262857 -0.082460 -0.186241 -0.219007 -0.102856 0.063705 -0.264575 1.015478 0.684098 0.350975 0.343307 -0.114186 -0.361451 
计划 0.705100 -0.038505 -0.168818 0.055083 -0.343201 -0.007620 -0.199806 -0.337339 0.329946 0.192788 0.058303 -0.005478 -0.030252 0.395628 -0.431498 -0.093745 0.274346 0.461539 -0.111264 -0.038644 -0.284352 0.152003 -0.121681 0.212423 0.382326 0.122600 -0.582018 0.424699 -0.158836 0.063268 0.444999 -0.422956 -0.144825 0.037212 -0.208285 0.138169 -0.256891 0.013599 0.087700 0.340959 -0.683361 0.469166 0.003337 -0.489916 0.675942 0.412342 0.316292 0.168420 0.013316 -0.635915 
人民 0.586446 0.027883 -0.535567 0.458582 0.090405 0.211667 0.271851 0.141480 -0.292794 -0.186213 -0.098466 -0.261612 -0.108493 -0.279712 -0.407295 -0.569782 0.141790 -0.436907 -0.009183 0.373213 0.065767 -0.879357 -0.183836 -0.276656 0.377766 0.286624 -0.391835 0.243399 -0.054507 0.274909 0.256398 -0.314923 -0.305362 0.040109 -0.028029 -0.139691 -0.134174 -0.141055 -0.194097 0.420792 0.288922 0.310755 -0.164379 0.255412 0.114006 0.416392 -0.585203 0.202912 -0.292247 -0.933882 
参加 0.462599 0.009980 -0.093934 -0.117343 -0.102580 -0.010213 0.014402 -0.051747 0.275634 -0.295211 -0.145347 -0.054929 -0.608747 0.155043 -0.269036 -0.730950 0.381079 0.204107 0.256295 -0.066165 -0.275081 -0.019950 -0.025983 -0.016386 0.315334 0.184921 0.147047 -0.331004 0.224549 0.180529 0.363878 -0.329957 0.240868 -0.089843 -0.749661 -0.420964 -0.315133 -0.132286 -0.181930 0.437168 -0.116704 -0.066124 -0.587103 -0.490875 0.475679 0.780032 0.155654 -0.084495 -0.954741 -0.313999 
只 0.026521 -0.050469 -0.067177 0.039428 -0.314282 0.284675 0.085244 -0.110240 -0.036261 -0.121317 0.461582 -0.088479 -0.438929 0.163482 -0.103253 -0.442074 0.094842 -0.496898 -0.159410 0.167543 0.018395 0.266541 -0.094465 0.022597 0.034220 -0.244892 -0.229719 0.346361 0.245509 0.019393 0.057532 -0.180644 -0.399935 0.300488 -0.384754 -0.474307 0.092739 0.023912 0.395286 0.300530 -0.221827 0.168873 -0.283818 -0.364028 0.502648 0.635084 -0.123504 0.166566 -0.296947 -0.351923 
; 0.065135 -0.317410 -0.233437 0.217489 -0.338081 0.174818 0.325412 -0.169044 0.142912 -0.192572 0.434226 -0.336350 -0.183251 0.166385 -0.330602 -0.330061 0.160016 -0.024635 -0.306695 0.055872 0.077783 0.026723 -0.174657 -0.335485 -0.154203 -0.171714 -0.320996 -0.136766 -0.133403 -0.162657 0.183695 -0.091406 -0.429313 0.115703 -0.574490 -0.312791 0.081986 -0.282596 0.017447 0.269012 -0.197976 0.104800 -0.153614 -0.207693 0.129087 0.549066 -0.081829 0.047601 -0.215685 -0.611785 
或 0.208420 -0.205824 0.252052 0.711249 -0.718996 -0.068157 0.179665 -0.444949 -0.066873 -0.170568 0.561896 -0.315788 -0.467005 0.364393 -0.313103 -0.409642 0.668609 -0.212080 0.073265 0.013947 0.128330 -0.010828 -0.017942 -0.187602 -0.019492 -0.191226 0.133714 0.193390 -0.004121 -0.230300 0.371524 -0.040380 -0.213769 -0.097964 -0.275927 -0.061461 0.726031 -0.081047 -0.370024 0.288215 -0.302728 0.075199 -0.359202 -0.188256 0.343500 0.570589 -0.081892 0.147417 -0.010515 -0.466506 
要求 0.617807 -0.225188 -0.127085 0.686116 -0.367672 -0.026336 0.264664 -0.160827 -0.173396 0.087322 -0.164199 0.329939 -0.352712 -0.238993 -0.266281 -0.157832 0.035125 0.152493 0.014612 -0.062155 0.138342 -0.130900 -0.115295 0.573785 0.108295 -0.154069 -0.169347 0.079787 -0.120785 0.009149 0.556623 -0.128966 -0.218260 0.090743 -0.173008 -0.117515 0.067464 -0.137892 0.086743 0.262444 -0.050037 0.465693 -0.165424 -0.518126 0.599234 0.498713 0.033628 0.096492 -0.417701 -1.003100 
有关 0.483752 0.015569 -0.226577 0.702770 -0.161434 -0.186465 0.173885 0.024271 0.096354 0.253767 -0.097366 0.048623 -0.320568 0.186954 -0.555760 -0.510672 -0.022928 0.119015 0.261844 -0.096003 -0.059206 0.055630 -0.260019 0.275930 -0.091929 0.170357 -0.121547 0.571602 -0.299423 -0.084407 0.383063 -0.134364 -0.378092 0.017202 -0.387292 -0.193896 0.114162 -0.074760 -0.064887 0.157963 -0.382374 0.356732 -0.173600 -0.118763 0.596532 0.514400 -0.207868 0.084026 -0.132701 -0.471744 
四 0.230448 0.041376 0.003712 0.029147 -0.293972 0.574062 0.316633 0.083415 0.257127 -0.171055 0.620875 -0.116144 -0.082319 0.569390 -0.383817 -0.313458 0.367976 0.118569 -0.461786 -0.419450 0.036474 -0.022328 -0.350779 -0.111078 -0.143897 -0.006547 -0.157958 -0.293108 -0.175668 -0.119302 0.051810 0.170927 -0.500636 0.203426 -0.908156 -0.432977 -0.307726 0.015095 -0.267396 0.245624 -0.231853 0.169657 -0.013038 -0.373719 0.305435 0.843608 0.064630 -0.030839 -0.281022 -0.369692 
仍 0.162316 -0.213644 -0.227421 -0.022416 -0.409062 0.352780 0.401290 0.026818 -0.009423 -0.100190 0.290110 0.077897 -0.010429 0.544529 -0.327479 -0.515713 0.100575 -0.012688 -0.101819 0.076258 -0.118900 0.073573 -0.097504 -0.049358 -0.041207 -0.040472 -0.058123 0.306161 0.032319 -0.161189 0.162242 -0.084614 -0.686053 0.120857 0.030877 -0.227852 0.234270 -0.490858 0.159939 -0.218861 -0.459949 0.015751 -0.239840 -0.387398 0.353821 0.322607 -0.295728 0.038759 -0.486420 -0.922372 
应 0.509035 -0.144143 -0.072684 0.574004 -0.663325 0.207126 0.201542 -0.120015 0.038749 0.009831 0.143391 -0.141905 -0.324565 0.165341 0.022415 -0.203319 0.373518 -0.091143 0.060100 0.204934 -0.140827 -0.125612 -0.145835 -0.061945 -0.316245 -0.122522 -0.132992 0.408253 -0.205595 -0.144148 0.400844 0.044645 -0.231267 -0.094111 -0.314281 -0.054923 0.248483 -0.390133 -0.116740 0.453415 -0.217810 0.253946 -0.325087 -0.317822 0.300868 0.395950 -0.200037 -0.032225 -0.436146 -0.867048 
小 -0.131870 -0.026008 0.113026 0.268359 -0.247473 -0.187826 0.068031 0.011015 0.020413 -0.108436 0.425292 -0.337380 -0.104881 0.329829 -0.136292 -0.215748 0.188705 -0.332873 -0.808710 -0.414219 0.204551 0.154813 0.038007 -0.194749 0.396762 -0.267280 -0.092759 -0.254630 0.065203 0.073481 -0.095779 -0.019511 -0.414539 0.218443 -0.466437 -0.507788 -0.107962 -0.384137 0.112403 0.477882 -0.804440 0.273397 -0.424160 -0.639342 0.113834 0.406988 -0.278453 0.128863 -0.087222 -0.243849 
达 -0.193057 -0.232054 -0.337484 0.005306 -0.481055 0.239458 0.052685 -0.806225 0.140343 -0.173595 0.756750 0.011505 -0.069054 0.505263 -0.968940 -0.147504 -0.042202 0.134915 -0.427962 0.159710 0.320993 -0.260832 -0.294587 -0.363600 -0.099656 -0.432043 0.230765 -0.047524 0.096523 -0.118876 0.285363 -0.092246 -0.352239 0.011725 -0.602934 -0.325635 0.061669 -0.329542 0.048403 0.343332 -0.118192 -0.224916 0.066871 -0.001870 0.657641 0.898509 0.421377 0.666561 -0.132779 -0.460700 
投资 0.150104 -0.340752 -0.428957 0.218195 -0.342915 -0.016883 0.098709 -0.413682 0.682700 -0.078877 -0.373631 -0.526251 0.145732 0.464249 -0.967065 0.051836 0.653744 -0.195044 -0.273075 0.316353 -0.211821 -0.388137 0.172465 0.215459 0.226118 0.447849 -0.218417 0.530812 -0.251320 0.329345 0.186393 -0.143192 -0.078036 0.175778 -0.892341 0.610551 0.027047 -0.110647 0.625436 -0.193529 -0.832137 -0.165789 -0.042715 0.012850 0.031048 0.673400 -0.017288 0.312586 -0.030218 -0.761064 
方面 0.352093 -0.293790 -0.081907 0.291485 -0.007409 0.115517 0.036673 0.020667 0.217223 0.210024 -0.170210 -0.286221 -0.055515 0.201278 -0.360846 -0.330731 -0.012093 0.130827 0.007835 0.165412 -0.082933 0.231092 0.075770 -0.242512 -0.068866 0.109074 -0.216545 0.250917 -0.218532 0.127190 0.237473 -0.096037 -0.507368 0.181497 -0.489023 -0.014394 0.078777 -0.259407 0.040528 0.172376 -0.502046 0.132859 -0.235388 -0.140425 0.455129 0.467472 -0.271642 0.058747 -0.269981 -0.649757 
家 -0.294603 -0.058644 -0.135172 -0.189697 -0.043773 0.103119 0.441362 -0.382027 0.153817 0.025096 -0.037313 -0.034349 0.158078 0.115532 -0.520386 -0.526117 0.625986 -0.168275 -0.207808 -0.004598 0.328844 0.194529 -0.252741 0.692179 0.419060 0.106572 0.017363 -0.089902 0.007359 -0.285934 0.406046 0.254780 -0.225744 0.087814 -0.704448 -0.182013 -0.051268 0.392369 0.193357 0.153732 -0.840483 0.033144 -0.025501 -0.272592 0.307173 0.875513 -0.328901 0.300453 -0.283674 -0.348027 
代表 0.629649 -0.105118 -0.292658 0.141277 -0.013257 -0.028679 -0.128018 -0.345301 -0.029299 -0.184209 -0.218144 -0.005567 -0.567761 -0.309740 -0.486789 -0.587750 0.225068 -0.107284 0.208899 0.079297 0.134850 -0.134329 0.040366 -0.008300 -0.096506 0.180394 0.292647 -0.196418 0.067365 -0.206450 0.128631 -0.054671 -0.036265 0.084282 -0.551553 -0.513794 -0.531585 -0.331854 -0.024892 0.078752 -0.358963 0.229849 -0.272057 -0.429874 0.286508 0.580351 -0.490547 -0.076966 -0.812860 -0.810696 
再 0.310640 -0.171095 -0.205118 0.024549 -0.646076 0.431179 0.149504 0.047478 -0.019475 -0.003571 0.354004 -0.063802 -0.348866 0.430088 -0.021954 -0.060981 0.558729 -0.198406 -0.263907 -0.173105 -0.049039 0.045778 -0.192863 0.030909 0.118887 -0.182240 -0.167096 0.304803 -0.139167 -0.086298 0.289314 -0.057091 -0.252154 0.179677 -0.257259 -0.243113 0.064919 -0.358953 0.179806 0.012146 -0.209465 0.420290 -0.548753 -0.441885 0.322299 0.466832 -0.034502 -0.080061 -0.268779 -0.435575 
比赛 -0.016502 0.077149 0.020457 -0.033055 0.126165 0.745886 0.014221 0.062483 0.039083 -0.416113 0.294696 0.470014 -0.722737 0.205548 0.680389 -0.468123 0.625211 0.027818 0.046751 -0.108914 -0.539817 0.275266 0.067818 -0.226860 0.442458 0.050130 -0.319430 -0.269813 -0.202681 0.489965 0.618905 -0.763909 -0.235579 0.204213 -0.626794 -0.414569 -0.650123 -0.309105 0.013953 -0.152288 -0.457917 -0.293514 -0.568267 0.058546 -0.002537 0.726855 0.465861 0.169497 -0.978170 -0.039075 
发生 -0.378298 0.374367 -0.123863 0.489579 -0.269237 0.038358 0.339042 0.323557 0.105419 0.105441 0.113769 0.221647 -0.216761 0.762463 0.078519 -0.672064 -0.262022 -0.404449 -0.209713 -0.188831 0.135013 -0.229668 -0.621684 -0.027335 0.069603 0.362436 0.208495 -0.109052 0.179977 0.012520 1.033442 0.107676 -0.203889 0.325234 0.059172 -0.041791 0.202562 0.069770 -0.415730 -0.043153 -0.555531 0.666772 0.184720 -0.049558 0.358972 0.844711 0.200821 0.556418 -0.734817 -0.595110 
月 0.196527 -0.091353 -0.487730 -0.193380 -0.435178 0.159342 0.252533 -0.109168 0.091558 -0.164335 0.101624 0.118077 0.011738 0.671300 -0.597944 -0.333747 0.351550 -0.048198 -0.492554 -0.143105 -0.033179 0.025773 -0.196273 0.136501 0.214070 -0.799566 0.034374 0.224934 -0.054856 -0.071334 0.473011 -0.119630 -0.186017 0.170979 -0.498067 -0.274672 -0.088636 -0.425272 -0.344108 -0.246252 -0.083758 0.303048 0.217320 -0.431334 0.681089 0.789498 0.065154 0.098212 -0.239364 -0.103985 
建设 0.774028 0.199414 -0.385336 -0.302969 -0.114349 0.021303 0.215277 -0.037389 0.323983 0.320743 0.010134 -0.101475 0.202569 0.104870 -0.699878 0.004656 0.116014 0.409177 -0.371733 0.242248 -0.012935 -0.401787 0.476734 -0.257125 -0.041557 0.581543 -0.710943 0.243560 -0.170292 -0.078090 0.587900 -0.206067 0.180298 0.029737 -0.555409 0.117322 -0.246164 -0.098383 0.437587 0.327161 -0.574230 0.501910 -0.031758 0.212974 -0.243716 0.268795 0.147352 0.185420 -0.085165 -0.975650 
同时 0.418182 -0.207366 -0.183235 0.252268 -0.104148 0.054419 0.046498 -0.094673 -0.147047 0.160550 0.327514 -0.110627 -0.137694 0.114511 -0.281546 -0.217610 0.298285 0.221614 -0.154577 0.172299 -0.079944 0.134884 -0.221749 0.016984 0.027771 0.144479 -0.165743 0.165783 -0.354302 0.029434 0.341803 -0.133709 -0.227796 0.071405 -0.337879 -0.088326 0.058632 -0.255517 -0.194128 0.225919 -0.215902 0.209054 -0.364137 -0.360798 0.413920 0.410627 -0.145281 0.105193 -0.475574 -0.718921 
届 0.725467 0.343751 -0.696913 -0.528966 -0.090043 0.164061 -0.121347 0.180459 0.248194 -0.318031 -0.124655 0.300570 -1.116280 0.439156 -0.100894 -0.610982 0.505744 0.091754 0.075931 -0.049017 -0.170966 -0.485416 0.302171 -0.242593 0.259796 0.239325 0.156043 -0.181021 -0.350163 -0.435291 0.269339 -0.346019 -0.361482 -0.373701 -0.845111 -0.229575 -0.826161 -0.257594 -0.393458 0.300800 -0.181375 -0.352425 -0.271215 -0.450640 0.122453 0.651965 0.349111 0.087824 -0.584972 -0.125433 
她 0.257087 0.288007 -0.101282 0.058480 0.043660 0.503613 0.422876 0.288854 -0.525092 -0.052116 -0.040140 0.106959 -0.337866 0.082682 -0.193352 -0.368353 0.106395 -0.473612 -0.185125 0.359986 0.135804 0.354505 -0.124439 0.222510 0.654627 0.009335 -0.361227 0.226670 0.059967 0.008567 0.373111 -0.366005 -0.159017 0.264594 -0.638562 -0.568883 0.308598 -0.467605 -0.059611 0.244147 -0.200280 0.086054 -0.623977 -0.669635 0.258281 0.414574 -0.224516 -0.061225 -0.168606 -0.407397 
技术 0.322318 -0.577649 0.018038 0.098981 0.154658 0.151332 -0.385659 -0.323699 0.406178 0.175793 0.035330 -0.232066 -0.022244 0.210880 -0.013930 0.233612 0.065099 0.378160 -0.147757 0.191439 0.128758 0.118686 0.405059 -0.211115 0.318207 0.492373 0.080373 0.634333 -0.589655 0.226012 0.296258 -0.027608 -0.303049 -0.351421 -0.456296 -0.122434 0.106390 0.208331 -0.189421 0.123492 -1.102933 0.190001 -0.419870 -0.197675 0.137552 0.847778 0.355785 -0.052292 0.004894 -0.533115 
其 0.367532 -0.377893 -0.077546 0.560718 -0.376136 0.133563 0.039727 -0.269616 -0.227694 0.015075 0.322563 0.106451 -0.166712 0.236728 -0.387140 -0.276838 0.222101 -0.063526 -0.050443 0.444145 0.118484 0.018800 -0.099083 -0.243310 0.208202 0.225240 -0.195518 0.213114 -0.383991 -0.114583 0.342358 -0.033480 -0.412450 -0.126661 -0.220657 0.023651 0.101810 0.002739 -0.093533 -0.053355 -0.224364 0.153003 -0.318375 -0.247692 0.541499 0.261295 -0.392574 0.129362 -0.115569 -0.526186 
本 0.566745 -0.067702 -0.726706 -0.015497 -0.440978 0.183366 -0.167180 -0.261855 0.012920 0.005030 0.197159 0.218860 -0.123240 0.615090 -0.101016 -0.640487 0.539044 -0.011423 -0.266481 -0.117870 0.216608 -0.083051 -0.417756 0.339257 0.105496 -0.385799 -0.295683 0.103142 -0.413705 -0.187041 0.280884 -0.327525 -0.559176 -0.190943 -0.318387 -0.509896 -0.266075 -0.602597 -0.178771 -0.048029 -0.207801 -0.116511 -0.274930 -0.221105 0.340634 0.444360 -0.134489 -0.100158 -0.255799 -0.011550 
让 0.269285 0.190852 -0.101957 0.075405 -0.127558 0.322335 0.104039 0.072928 -0.586642 0.097107 0.115944 -0.083520 -0.271270 0.425724 0.123981 -0.106804 0.490764 -0.185362 -0.075984 0.230306 0.110950 0.110674 -0.000815 0.198927 0.188963 0.005863 -0.145121 0.012505 -0.043484 0.185392 0.260158 -0.300932 -0.270541 0.353617 -0.162057 -0.105066 0.024195 -0.410935 -0.021883 0.617653 -0.318684 0.354713 -0.718211 -0.380759 0.291399 0.549425 -0.117440 -0.009540 -0.368511 -0.661436 
由于 0.044145 -0.143008 -0.104937 -0.001780 -0.304129 -0.004519 0.345984 0.145045 -0.273430 0.312250 0.212140 0.125007 -0.382391 0.459771 -0.459950 -0.520628 0.008478 -0.040314 -0.178700 0.089658 -0.065580 0.198119 -0.263719 -0.017769 -0.013507 0.055595 0.101079 0.270809 -0.006779 -0.125750 0.095794 0.038873 -0.582914 0.012925 -0.141932 -0.085755 0.089135 -0.180821 0.057486 -0.209695 -0.684203 0.092239 -0.338047 -0.330648 0.449473 0.399651 0.148292 0.008211 -0.505674 -0.710301 
很 0.220480 0.335637 0.044945 0.019149 0.161922 0.321946 0.338800 0.113895 -0.258922 0.089611 0.102440 -0.326358 -0.264383 0.542512 0.153073 -0.408120 -0.273326 -0.470786 -0.095640 0.409365 0.148524 0.147450 0.080809 -0.077884 0.121800 0.016139 0.070036 0.188881 0.070220 0.046155 0.335005 -0.257085 -0.364183 0.219709 -0.404415 -0.325110 0.192717 -0.616039 0.319241 0.193159 -0.491741 0.249751 -0.586652 -0.403342 0.185324 0.619584 -0.038932 0.122312 -0.189611 -0.531350 
使 0.277600 -0.265913 -0.187357 0.129480 0.086873 0.198571 0.017305 0.113015 -0.328201 0.067185 0.175999 0.163675 -0.245750 0.414738 -0.110398 0.050686 0.309896 -0.051245 -0.195317 0.411889 0.077701 -0.193506 -0.181402 -0.274027 0.139045 0.100450 -0.020439 0.185964 -0.187852 0.066770 0.085375 -0.062297 -0.569001 0.010418 -0.029838 0.334954 -0.042745 -0.254610 -0.131383 0.245729 -0.408354 0.421928 -0.362331 -0.166207 0.584880 0.482753 -0.003582 0.267092 -0.308689 -0.610901 
中心 0.021266 0.212003 -0.058232 0.152274 -0.040884 0.199706 -0.064872 -0.239499 0.119962 0.227686 0.122511 -0.196881 0.090686 0.304054 -0.793076 -0.546954 0.524515 0.523524 -0.468088 -0.222688 -0.062861 0.408441 0.014924 -0.228502 0.152018 0.474494 0.077568 0.815415 0.113654 -0.028825 0.423578 0.204768 -0.296937 -0.234604 -0.122443 -0.231582 -0.284718 0.245283 -0.482996 0.609741 -0.514674 0.319005 -0.450874 -0.466382 -0.038656 0.653027 0.093273 0.064456 -0.733894 -0.515061 
曾 0.355759 -0.084372 -0.193306 0.235799 -0.118241 0.208421 -0.027366 0.057145 0.001060 0.242514 0.149806 0.225572 -0.447243 0.179874 -0.471617 -0.645030 -0.089513 -0.094564 -0.159162 0.153682 0.363584 0.204504 -0.555029 -0.016512 0.357236 -0.002588 -0.041532 0.029452 0.004231 -0.030647 0.495570 -0.060813 -0.262121 0.179979 -0.764315 -0.314177 0.108784 -0.091526 -0.163927 -0.336067 -0.242451 0.109311 -0.397198 -0.663997 0.579383 0.265769 0.225587 -0.029854 -0.250693 -0.437757 
得 0.109539 0.243876 -0.067306 0.131435 -0.342529 0.608327 0.267995 -0.233795 -0.235395 -0.093137 0.499787 -0.213566 -0.599115 0.195210 -0.066709 -0.540475 0.651301 -0.025637 -0.097488 0.456890 0.008177 -0.085483 0.278661 0.013915 0.033759 -0.392810 -0.084347 -0.030938 -0.014053 0.036691 0.109321 -0.217684 -0.360500 0.379462 -0.562331 -0.212480 0.246919 -0.246668 0.027342 -0.081720 -0.166984 0.308388 -0.342465 -0.069675 -0.081659 0.631690 0.069824 0.122520 0.044249 -0.151890 
着 0.353898 -0.103412 0.192871 -0.093901 0.121474 0.188554 -0.029932 0.467081 -0.807514 0.095846 0.403079 0.081618 -0.290992 0.165895 -0.038599 -0.274072 0.464143 -0.222302 -0.633152 0.233712 0.112195 -0.004389 0.111119 -0.182797 0.136333 0.195358 0.097063 0.039790 0.244441 0.063846 0.261674 -0.148227 -0.317893 0.148323 -0.381193 -0.786786 0.095721 -0.128220 0.232138 0.197380 -0.216287 0.242666 -0.338265 -0.618004 0.218618 0.338986 -0.455784 0.094537 -0.366304 -0.331068 
比 -0.257068 0.022111 -0.204582 -0.280094 -0.268493 0.631104 0.103054 0.251311 0.166654 -0.631886 0.100117 -0.016320 -0.295341 0.380584 -0.066849 -0.158399 -0.015865 -0.165917 -0.845174 0.268384 -0.224584 0.166060 -0.161301 -0.449299 -0.346078 -0.321321 -0.355904 -0.382388 -0.263001 0.166123 0.157681 -0.283466 -0.556719 0.166356 -0.934424 -0.083096 -0.293957 0.085628 0.253937 -0.067819 -0.250356 -0.086694 -0.344577 -0.029462 0.757489 0.738137 0.290832 0.575888 0.014015 -0.284982 
中华 -0.027436 0.049446 -0.588533 -0.100910 -0.259773 0.844246 -0.638737 -0.075426 0.201098 0.312259 -0.033820 -0.627920 -0.142001 -0.326258 -0.328804 -0.628402 0.694827 -0.363797 0.335616 0.560763 -0.032755 -0.319498 -0.316347 -0.082483 0.052395 0.200065 -0.065514 -0.304438 0.076436 -0.239398 0.703157 -0.294658 -0.872722 -0.351633 -0.488965 -0.272427 -0.540127 0.250709 -0.115140 0.344130 -0.371438 0.119840 -0.685522 -0.058964 0.100045 0.472141 -0.241773 -0.190778 -0.772542 -0.710158 
主要 0.495536 0.003756 0.098426 0.122649 -0.051856 -0.043009 0.226509 -0.358120 0.073863 0.438778 0.062164 -0.087908 -0.370750 0.524306 -0.559172 -0.428213 0.143627 0.181100 -0.427320 0.085205 -0.343506 -0.040270 -0.331342 -0.294719 -0.296124 0.186476 -0.424646 0.076098 -0.208725 -0.105245 0.309309 0.301500 -0.358118 -0.228392 -0.156624 -0.128853 0.065697 -0.013906 0.084249 0.223850 -0.528064 -0.263609 -0.201282 0.124465 0.586956 0.646038 -0.316204 0.285985 -0.248618 -0.371305 
支持 0.785105 -0.210151 -0.163823 0.009187 0.062128 0.085609 -0.007682 -0.456532 0.062207 -0.292194 -0.236265 -0.108832 -0.283245 -0.208636 -0.302659 -0.287753 -0.006903 0.070081 0.033278 0.085090 0.115541 -0.094056 -0.136336 0.056140 0.354312 -0.031943 -0.118660 -0.074326 -0.183888 0.183476 0.256634 -0.339531 -0.279245 0.446842 -0.131290 -0.191624 -0.069305 -0.039181 0.126037 0.684607 -0.144653 0.266100 -0.367486 -0.494991 0.517629 0.082398 -0.258720 0.287142 -0.625792 -1.244382 
五 0.274501 0.039241 0.119100 -0.003564 -0.375426 0.426403 0.288993 0.005708 0.254722 -0.134325 0.687798 -0.179184 -0.005925 0.482092 -0.456843 -0.310355 0.354841 0.111742 -0.495245 -0.334315 0.069229 -0.014448 -0.296234 -0.120253 -0.103794 -0.112792 -0.130478 -0.139515 -0.113750 -0.153590 0.103509 0.185249 -0.440174 0.153977 -0.941246 -0.384880 -0.379769 0.020745 -0.334993 0.207639 -0.189168 0.215279 0.155319 -0.478225 0.348443 0.908091 0.049809 0.040182 -0.284523 -0.405640 
包括 0.533515 -0.219313 0.117743 0.389693 -0.154578 -0.131403 0.217765 -0.109064 0.058996 0.185794 0.363139 -0.123407 -0.399998 0.403386 -0.676985 -0.409676 0.191900 0.427604 0.082407 0.043050 -0.100992 0.296676 -0.106047 -0.083803 -0.175250 0.260044 -0.028034 -0.241015 -0.282428 0.011840 -0.039546 -0.014228 -0.238884 0.175141 -0.592335 -0.345861 -0.189367 0.245012 -0.192434 0.420973 -0.670954 0.067105 -0.067811 -0.361330 0.485969 0.730152 -0.150114 0.139370 -0.293310 -0.439825 
通过 0.734634 0.010469 -0.359279 0.046404 -0.506519 0.065318 -0.031359 -0.328823 0.353543 -0.147408 -0.137364 0.162251 -0.523702 0.202741 -0.395745 -0.125129 0.276153 0.079480 0.138186 -0.245506 0.150102 -0.663244 0.252898 0.292655 0.165103 -0.236515 -0.131968 0.226438 -0.411126 -0.457827 -0.073351 -0.610650 -0.839731 -0.131329 0.066131 -0.240982 -0.322079 -0.000887 -0.164706 0.317981 -0.327785 0.673322 -0.116555 -0.387249 0.290217 0.432153 0.087004 0.064351 -0.090159 -0.521400 
可以 0.352345 0.005228 0.040837 0.011254 -0.297011 0.314491 0.139589 -0.208449 -0.269417 0.079374 0.168677 -0.389136 -0.245554 0.382851 0.044702 -0.237594 0.416095 -0.235863 -0.085977 0.193150 -0.010290 0.326433 0.015525 0.037155 0.182474 -0.041850 -0.049324 0.467939 -0.029935 0.080537 0.211069 -0.454611 -0.233202 -0.021155 -0.228562 -0.131659 0.198524 -0.170861 0.026838 0.413090 -0.194910 0.344461 -0.507217 -0.183557 0.420004 0.702483 -0.133797 -0.011276 -0.143241 -0.447149 
已经 0.273668 0.085148 -0.307021 -0.122727 -0.182398 0.176783 0.261164 0.092652 -0.109183 0.036351 0.316456 0.016278 -0.176145 0.256193 -0.361506 -0.458250 0.004043 -0.094315 -0.089488 0.043276 0.051976 0.152351 -0.286227 0.242335 0.166349 0.148564 -0.096942 0.439598 0.061115 0.010259 0.282791 -0.183604 -0.431115 0.164077 -0.035804 -0.324437 0.068533 -0.013563 0.085334 -0.072035 -0.418991 0.256109 -0.150251 -0.567445 0.516718 0.571561 0.010943 0.068413 -0.359300 -0.708610 
首 0.189727 0.152927 -0.732991 -0.157162 -0.201347 -0.040990 -0.251021 -0.068262 0.029603 0.135109 0.331832 0.115361 -0.406950 0.374429 -0.185625 -0.261542 0.161714 0.301921 0.011644 -0.081672 0.051598 0.047569 -0.601294 -0.260103 0.443632 0.145030 -0.117250 -0.079448 -0.275273 -0.015684 0.100551 -0.153380 -0.620262 0.134501 -0.793716 -0.279256 -0.221701 -0.024537 -0.286609 -0.000622 -0.187252 -0.169073 -0.345435 -0.540088 0.628415 0.781793 0.114376 0.011069 -0.560159 -0.110229 
决定 0.585080 0.119804 -0.184457 0.365163 -0.550358 0.074318 0.384771 -0.122933 0.130884 -0.057301 -0.097088 -0.076264 -0.472505 0.185455 -0.231265 -0.341961 0.126871 -0.035890 0.195683 -0.228581 -0.218007 0.067148 -0.134806 0.164968 0.410820 -0.154774 -0.214063 0.226769 -0.218743 -0.094219 0.421548 -0.278833 -0.232784 -0.040841 0.110860 -0.166505 -0.326065 -0.218823 0.175741 -0.081780 -0.174809 0.465417 -0.414004 -0.457781 0.543366 0.413616 -0.050780 -0.185048 -0.533646 -0.704782 
又 0.149007 0.008670 -0.126306 0.046175 -0.098267 0.228159 0.187799 0.196581 -0.297503 0.215616 0.375284 0.073318 -0.338794 0.397168 0.004290 -0.462224 0.137197 -0.267577 -0.417411 0.091804 0.064957 -0.019680 -0.199195 -0.017671 0.253487 -0.057950 -0.130318 0.172237 0.062437 -0.029931 0.195739 0.076059 -0.398806 0.256931 -0.351018 -0.183945 0.148310 -0.149228 0.141890 -0.051106 -0.365913 0.301548 -0.391636 -0.384240 0.308507 0.448295 0.003940 0.135334 -0.169175 -0.333243 
银行 0.542453 -0.075640 -0.443692 0.331969 -0.723998 0.397470 0.613894 -0.154021 0.164540 0.035825 -0.247797 -0.511283 -0.200524 -0.028067 -0.861450 -0.303802 0.776555 -0.390983 -0.562352 0.041478 0.107159 0.008801 -0.407846 0.411355 0.366497 0.048571 0.106340 0.504626 -0.645282 0.479858 0.584712 0.243882 -0.297995 -0.043557 -0.365874 0.699205 -0.537923 -0.053437 0.224889 -0.527720 -0.862150 -0.108044 0.167288 0.110004 -0.714776 0.632183 -0.521658 0.716630 -0.479276 -0.584824 
成为 0.481125 0.100410 -0.271715 -0.264773 0.014353 0.039533 0.161604 -0.327691 0.123200 -0.124389 0.256734 0.089274 -0.185584 0.556230 -0.428994 -0.068744 0.210662 -0.155618 -0.506993 0.406658 0.174725 -0.286317 -0.151251 -0.242594 0.358177 0.244810 -0.096226 -0.008959 -0.166637 -0.036486 0.131748 0.083729 -0.591467 -0.047276 -0.306567 0.000510 -0.219834 -0.088584 -0.020705 0.683376 -0.428221 -0.182816 -0.123155 -0.384917 0.461359 0.331642 -0.044635 -0.186516 -0.440668 -0.280934 
访问 0.708855 0.048447 -0.255881 0.318057 0.145810 0.033013 0.076270 -0.064781 0.259532 -0.026526 -0.962279 -0.023159 0.220168 0.390490 -0.387404 -0.594693 -0.246712 -0.214875 0.016784 -0.075867 -0.159401 -0.168913 -0.544816 0.024917 0.294294 0.102910 0.056697 0.137809 0.164809 0.157255 0.623868 -1.039157 -0.033292 0.059289 -0.909703 -0.239149 0.073596 0.066004 0.036019 -0.056461 -0.056901 0.043807 -0.860456 -0.305269 0.824667 0.600410 0.115154 0.167873 -0.342244 -0.645047 
影响 -0.278061 0
Download .txt
gitextract_rxgam5_z/

├── CMakeLists.txt
├── Options.h
├── README.md
├── STDSeg.cpp
├── STDSeg.h
├── basic/
│   ├── Action.h
│   ├── Argument_helper.h
│   ├── Instance.h
│   ├── InstanceReader.h
│   ├── InstanceWriter.h
│   ├── NewConcat.h
│   ├── Pipe.h
│   ├── Reader.h
│   ├── SegLookupTable.h
│   ├── Utf.h
│   ├── Writer.h
│   └── io.h
├── cleanall.sh
├── demo.sh
├── example/
│   ├── ctb.50d.word.debug
│   ├── dev.debug
│   ├── option.STD
│   ├── test.debug
│   └── train.debug
├── feature/
│   ├── DenseFeature.h
│   ├── DenseFeatureChar.h
│   ├── DenseFeatureExtraction.h
│   ├── DenseFeatureExtraction_nolast.h
│   ├── DenseFeatureForward.h
│   ├── DenseFeatureNew.h
│   ├── Feature.h
│   ├── FeatureExtraction.h
│   └── HiddenForward.h
├── model/
│   ├── CharLSTMSTD.h
│   └── CharLSTMSTD_noword.h
└── state/
    ├── NeuralState.h
    └── State.h
Download .txt
SYMBOL INDEX (183 symbols across 27 files)

FILE: Options.h
  function class (line 14) | class Options {

FILE: STDSeg.cpp
  function main (line 725) | int main(int argc, char* argv[]) {

FILE: STDSeg.h
  function class (line 21) | class Segmentor {

FILE: basic/Action.h
  function class (line 19) | class CAction {
  function set (line 37) | inline void set(int code){
  function operator (line 60) | bool operator == (const CAction &a1) const { return _code == a1._code; }
  function operator (line 61) | bool operator != (const CAction &a1) const { return _code != a1._code; }
  function operator (line 62) | bool operator < (const CAction &a1) const { return _code < a1._code; }
  function operator (line 63) | bool operator > (const CAction &a1) const { return _code > a1._code; }

FILE: basic/Argument_helper.h
  function namespace (line 93) | namespace dsr{
  function class (line 264) | class Argument_helper::Argument_target {
  function write_name (line 293) | void Argument_helper::Argument_target::write_name(std::ostream &out) con...
  function write_usage (line 300) | void Argument_helper::Argument_target::write_usage(std::ostream &out) co...
  function class (line 312) | class Argument_helper::FlagTarget: public Argument_helper::Argument_target{
  function virtual (line 323) | virtual void write_value(std::ostream &out) const {
  function virtual (line 327) | virtual void write_usage(std::ostream &out) const {
  function virtual (line 337) | virtual ~FlagTarget(){}
  function class (line 340) | class Argument_helper::DoubleTarget: public Argument_target{
  function virtual (line 365) | virtual void write_value(std::ostream &out) const {
  function virtual (line 368) | virtual ~DoubleTarget(){}
  function class (line 371) | class Argument_helper::IntTarget: public Argument_target{
  function virtual (line 397) | virtual void write_value(std::ostream &out) const {
  function virtual (line 400) | virtual ~IntTarget(){}
  function class (line 403) | class Argument_helper::UIntTarget: public Argument_target{
  function virtual (line 429) | virtual void write_value(std::ostream &out) const {
  function virtual (line 432) | virtual ~UIntTarget(){}
  function class (line 436) | class Argument_helper::CharTarget: public Argument_target{
  function virtual (line 461) | virtual void write_value(std::ostream &out) const {
  function virtual (line 464) | virtual ~CharTarget(){}
  function class (line 468) | class Argument_helper::StringTarget: public Argument_target{
  function virtual (line 490) | virtual void write_value(std::ostream &out) const {
  function virtual (line 493) | virtual ~StringTarget(){}
  function class (line 497) | class Argument_helper::StringVectorTarget: public Argument_target{
  function virtual (line 514) | virtual void write_value(std::ostream &out) const {
  function virtual (line 519) | virtual ~StringVectorTarget(){}
  function set_string_vector (line 539) | void Argument_helper::set_string_vector(const char *arg_description,
  function set_author (line 548) | void Argument_helper::set_author(const char *author){
  function set_description (line 552) | void Argument_helper::set_description(const char *descr){
  function set_name (line 556) | void Argument_helper::set_name(const char *descr){
  function set_version (line 560) | void Argument_helper::set_version(float v){
  function set_version (line 564) | void Argument_helper::set_version(const char *s){
  function set_build_date (line 568) | void  Argument_helper::set_build_date(const char *date){
  function new_argument_target (line 572) | void Argument_helper::new_argument_target(Argument_target *t) {
  function new_flag (line 597) | void Argument_helper::new_flag(const char *key, const char *long_name, c...
  function new_string (line 604) | void Argument_helper::new_string(const char *arg_description, const char...
  function new_optional_string (line 610) | void Argument_helper::new_optional_string(const char *arg_description, c...
  function new_named_string (line 615) | void Argument_helper::new_named_string(const char *key, const char *long...
  function new_named_string_vector (line 623) | void Argument_helper::new_named_string_vector(const char *key, const cha...
  function new_int (line 632) | void Argument_helper::new_int(const char *arg_description, const char *d...
  function new_optional_int (line 638) | void Argument_helper::new_optional_int(const char *arg_description, cons...
  function new_named_int (line 643) | void Argument_helper::new_named_int(const char *key, const char *long_name,
  function new_unsigned_int (line 650) | void Argument_helper::new_unsigned_int(const char *arg_description, cons...
  function new_optional_unsigned_int (line 656) | void Argument_helper::new_optional_unsigned_int(const char *arg_descript...
  function new_named_unsigned_int (line 661) | void Argument_helper::new_named_unsigned_int(const char *key, const char...
  function new_double (line 669) | void Argument_helper::new_double(const char *arg_description, const char...
  function new_optional_double (line 675) | void Argument_helper::new_optional_double(const char *arg_description, c...
  function new_named_double (line 680) | void Argument_helper::new_named_double(const char *key, const char *long...
  function new_char (line 687) | void Argument_helper::new_char(const char *arg_description, const char *...
  function new_optional_char (line 693) | void Argument_helper::new_optional_char(const char *arg_description, con...
  function new_named_char (line 698) | void Argument_helper::new_named_char(const char *key, const char *long_n...
  function write_usage (line 707) | void Argument_helper::write_usage(std::ostream &out) const {
  function write_values (line 746) | void Argument_helper::write_values(std::ostream &out) const {
  function process (line 783) | void Argument_helper::process(int argc,  const char **argv){

FILE: basic/Instance.h
  function class (line 13) | class Instance {

FILE: basic/InstanceReader.h
  function class (line 13) | class InstanceReader: public Reader {

FILE: basic/InstanceWriter.h
  function class (line 9) | class InstanceWriter : public Writer

FILE: basic/Pipe.h
  function class (line 19) | class Pipe {

FILE: basic/Reader.h
  function class (line 12) | class Reader

FILE: basic/SegLookupTable.h
  function initial (line 52) | inline void initial(const NRMat<dtype>& wordEmb) {
  function setEmbFineTune (line 75) | inline void setEmbFineTune(bool bFineTune) {
  function setFrequency (line 79) | inline void setFrequency(hash_map<int, int> wordfreq) {
  function getFrequency (line 86) | inline int getFrequency(int id){
  function release (line 90) | inline void release() {
  function virtual (line 98) | virtual ~SegLookupTable() {
  function dtype (line 102) | inline dtype squarenormAll() {
  function scaleGrad (line 115) | inline void scaleGrad(dtype scale) {
  function bEmbFineTune (line 124) | inline bool bEmbFineTune()
  function EmbLoss (line 147) | void EmbLoss(int id, Tensor<xpu, 2, dtype> ly) {
  function randomprint (line 157) | void randomprint(int num) {
  function updateAdaGrad (line 174) | void updateAdaGrad(dtype regularizationWeight, dtype adaAlpha, dtype ada...
  function clearGrad (line 195) | void clearGrad() {
  function updateSparseWeight (line 207) | void updateSparseWeight(int wordId) {
  function writeModel (line 216) | void writeModel(LStream &outf) {
  function loadModel (line 229) | void loadModel(LStream &inf) {

FILE: basic/Utf.h
  function getUTF8StringLength (line 30) | inline
  function getCharactersFromUTF8String (line 65) | inline int getCharactersFromUTF8String(const std::string &s, std::vector...
  function std (line 104) | inline std::string getFirstCharFromUTF8String(const std::string &s) {
  function std (line 128) | inline std::string getLastCharFromUTF8String(const std::string &s) {
  function isOneUTF8Character (line 161) | inline bool isOneUTF8Character(const std::string &s) {
  function std (line 175) | inline std::string getUTF8CharType(const std::string &s) {
  function std (line 192) | inline std::string wordtype(const std::string &s) {
  function std (line 211) | inline std::string normalize_to_lowerwithdigit(const std::string& s)

FILE: basic/Writer.h
  function class (line 12) | class Writer

FILE: basic/io.h
  function namespace (line 11) | namespace mshadow {

FILE: feature/DenseFeature.h
  function clear (line 171) | inline void clear() {

FILE: feature/DenseFeatureChar.h
  function clear (line 98) | inline void clear() {

FILE: feature/DenseFeatureExtraction.h
  function setAlphaIncreasing (line 59) | inline void setAlphaIncreasing(bool alphaIncreasing) {
  function setFeatAlphaIncreasing (line 77) | inline void setFeatAlphaIncreasing(bool alphaIncreasing) {
  function getCharAlphaId (line 85) | inline int getCharAlphaId(const std::string & oneChar) {
  function getBiCharAlphaId (line 89) | inline int getBiCharAlphaId(const std::string & twoChar) {
  function addToActionAlphabet (line 351) | void addToActionAlphabet(hash_map<string, int> action_stat) {
  function initAlphabet (line 360) | void initAlphabet() {
  function loadAlphabet (line 392) | void loadAlphabet() {
  function loadModel (line 849) | void loadModel(LStream &inf) {

FILE: feature/DenseFeatureExtraction_nolast.h
  function setAlphaIncreasing (line 60) | inline void setAlphaIncreasing(bool alphaIncreasing) {
  function setFeatAlphaIncreasing (line 78) | inline void setFeatAlphaIncreasing(bool alphaIncreasing) {
  function getCharAlphaId (line 86) | inline int getCharAlphaId(const std::string & oneChar) {
  function getBiCharAlphaId (line 90) | inline int getBiCharAlphaId(const std::string & twoChar) {
  function addToActionAlphabet (line 253) | void addToActionAlphabet(hash_map<string, int> action_stat) {
  function initAlphabet (line 262) | void initAlphabet() {
  function loadAlphabet (line 294) | void loadAlphabet() {

FILE: feature/DenseFeatureForward.h
  function clear (line 123) | inline void clear() {
  function copy (line 170) | inline void copy(const DenseFeatureForward<xpu>& other) {

FILE: feature/DenseFeatureNew.h
  function clear (line 155) | inline void clear() {

FILE: feature/Feature.h
  function class (line 15) | class Feature {
  function setFeatureFormat (line 49) | void setFeatureFormat(bool bStringFeat) {
  function copy (line 53) | void copy(const Feature& other) {
  function clear (line 106) | void clear() {

FILE: feature/FeatureExtraction.h
  function class (line 15) | class FeatureExtraction {
  function setAlphaIncreasing (line 59) | inline void setAlphaIncreasing(bool alphaIncreasing) {
  function setFeatAlphaIncreasing (line 77) | inline void setFeatAlphaIncreasing(bool alphaIncreasing) {
  function getCharAlphaId (line 85) | inline int getCharAlphaId(const std::string & oneChar) {
  function getBiCharAlphaId (line 89) | inline int getBiCharAlphaId(const std::string & twoChar) {
  function addToActionAlphabet (line 205) | void addToActionAlphabet(hash_map<string, int> action_stat) {
  function initAlphabet (line 214) | void initAlphabet() {
  function loadAlphabet (line 246) | void loadAlphabet() {

FILE: feature/HiddenForward.h
  function clear (line 56) | inline void clear() {
  function copy (line 73) | inline void copy(const HiddenForward<xpu>& other) {

FILE: model/CharLSTMSTD.h
  function addToActionAlphabet (line 158) | inline void addToActionAlphabet(hash_map<string, int> action_stat) {
  function setAlphaIncreasing (line 162) | inline void setAlphaIncreasing(bool bAlphaIncreasing) {
  function initAlphabet (line 166) | inline void initAlphabet() {
  function loadAlphabet (line 170) | inline void loadAlphabet() {
  function extractFeature (line 174) | inline void extractFeature(const CStateItem<xpu>* curState, const CActio...
  function release (line 264) | inline void release() {
  function dtype (line 291) | dtype train(const std::vector<std::vector<string> >& sentences, const ve...
  function dtype (line 312) | dtype trainOneExample(const std::vector<std::string>& sentence, const ve...
  function backPropagationStates (line 636) | void backPropagationStates(const CStateItem<xpu> *pPredState, const CSta...
  function decode (line 788) | bool decode(const std::vector<string>& sentence, std::vector<std::string...
  function loadInitialLayer (line 1027) | void loadInitialLayer(const string& inputLayerFile) {
  function loadInitialLayerNumber (line 1036) | void loadInitialLayerNumber(const string& inputLayerFile) {
  function showParameters (line 1123) | void showParameters() {
  function setDropValue (line 1171) | inline void setDropValue(dtype dropOut) {
  function setOOVRatio (line 1175) | inline void setOOVRatio(dtype oovRatio) {
  function setOOVFreq (line 1179) | inline void setOOVFreq(dtype oovFreq) {
  function setWordFreq (line 1183) | inline void setWordFreq(hash_map<string, int> word_stat){
  function writeModel (line 1192) | void writeModel(LStream &outf) {
  function loadModel (line 1251) | void loadModel(LStream &inf) {

FILE: model/CharLSTMSTD_noword.h
  function addToActionAlphabet (line 155) | inline void addToActionAlphabet(hash_map<string, int> action_stat) {
  function setAlphaIncreasing (line 159) | inline void setAlphaIncreasing(bool bAlphaIncreasing) {
  function initAlphabet (line 163) | inline void initAlphabet() {
  function loadAlphabet (line 167) | inline void loadAlphabet() {
  function extractFeature (line 171) | inline void extractFeature(const CStateItem<xpu>* curState, const CActio...
  function release (line 259) | inline void release() {
  function dtype (line 285) | dtype train(const std::vector<std::vector<string> >& sentences, const ve...
  function dtype (line 306) | dtype trainOneExample(const std::vector<std::string>& sentence, const ve...
  function backPropagationStates (line 620) | void backPropagationStates(const CStateItem<xpu> *pPredState, const CSta...
  function decode (line 764) | bool decode(const std::vector<string>& sentence, std::vector<std::string...
  function loadInitialLayer (line 991) | void loadInitialLayer(const string& inputLayerFile) {
  function loadInitialLayerNumber (line 1000) | void loadInitialLayerNumber(const string& inputLayerFile) {
  function showParameters (line 1087) | void showParameters() {
  function setDropValue (line 1135) | inline void setDropValue(dtype dropOut) {
  function setOOVRatio (line 1139) | inline void setOOVRatio(dtype oovRatio) {
  function setOOVFreq (line 1143) | inline void setOOVFreq(dtype oovFreq) {
  function setWordFreq (line 1147) | inline void setWordFreq(hash_map<string, int> word_stat){
  function writeModel (line 1155) | void writeModel(LStream &outf) {
  function loadModel (line 1213) | void loadModel(LStream &inf) {

FILE: state/NeuralState.h
  function virtual (line 74) | virtual ~CStateItem(){
  function initSentence (line 78) | void initSentence(const std::vector<std::string>* pCharacters) {
  function clear (line 83) | void clear() {
  function copyState (line 99) | void copyState(const CStateItem* from) {
  function CStateItem (line 117) | const CStateItem* getPrevStackState() const{
  function CStateItem (line 121) | const CStateItem* getPrevSepState() const{
  function CStateItem (line 125) | const CStateItem* getPrevState() const{
  function finish (line 154) | void finish(CStateItem* next) const{
  function append (line 173) | void append(CStateItem* next) const{
  function move (line 191) | void move(CStateItem* next, const CAction& ac) const{
  function getSegResults (line 210) | void getSegResults(std::vector<std::string>& words) const {
  function getGoldAction (line 221) | void getGoldAction(const std::vector<std::string>& segments, CAction& ac...
  function getGoldAction (line 247) | void getGoldAction(const CStateItem* goldState, CAction& ac) const{
  function getCandidateActions (line 261) | void getCandidateActions(vector<CAction> & actions) const{

FILE: state/State.h
  function class (line 14) | class CStateItem {
  function class (line 276) | class CScoredStateAction {
  function class (line 308) | class CScoredStateAction_Compare {
Condensed preview — 37 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,994K chars).
[
  {
    "path": "CMakeLists.txt",
    "chars": 1114,
    "preview": "cmake_minimum_required(VERSION 2.8)\nIF(APPLE)\n\tset(CMAKE_C_COMPILIER /usr/local/bin/gcc)\n\tset(CMAKE_CXX_COMPILER /usr/lo"
  },
  {
    "path": "Options.h",
    "chars": 10653,
    "preview": "#ifndef _PARSER_OPTIONS_\n#define _PARSER_OPTIONS_\n\n#pragma once\n\n#include <string>\n#include <fstream>\n#include <vector>\n"
  },
  {
    "path": "README.md",
    "chars": 5376,
    "preview": "RichWordSegmentor\n======\nRichWordSegmentor is a package for Word Segmentation using transition based neural networks und"
  },
  {
    "path": "STDSeg.cpp",
    "chars": 26856,
    "preview": "/*\n * Segmentor.cpp\n *\n *  Created on: Oct 23, 2015\n *      Author: mszhang\n */\n\n#include \"STDSeg.h\"\n\n#include \"Argument"
  },
  {
    "path": "STDSeg.h",
    "chars": 1720,
    "preview": "/*\n * Segmentor.h\n *\n *  Created on: Mar 25, 2015\n *      Author: mszhang\n */\n\n#ifndef SRC_PARSER_H_\n#define SRC_PARSER_"
  },
  {
    "path": "basic/Action.h",
    "chars": 2210,
    "preview": "/*\n * CAction.h\n *\n *  Created on: Oct 6, 2015\n *      Author: mszhang\n */\n\n#ifndef BASIC_CAction_H_\n#define BASIC_CActi"
  },
  {
    "path": "basic/Argument_helper.h",
    "chars": 27787,
    "preview": "/*\n*\n* Argument Helper\n*\n* Daniel Russel drussel@alumni.princeton.edu\n* Stanford University\n*\n*\n* This software is not s"
  },
  {
    "path": "basic/Instance.h",
    "chars": 2014,
    "preview": "#ifndef _JST_INSTANCE_\n#define _JST_INSTANCE_\n\n#include <string>\n#include <vector>\n#include <fstream>\n#include <algorith"
  },
  {
    "path": "basic/InstanceReader.h",
    "chars": 1074,
    "preview": "#ifndef _CONLL_READER_\n#define _CONLL_READER_\n\n#include \"Reader.h\"\n#include \"N3L.h\"\n#include \"Utf.h\"\n#include <sstream>\n"
  },
  {
    "path": "basic/InstanceWriter.h",
    "chars": 639,
    "preview": "#ifndef _CONLL_WRITER_\n#define _CONLL_WRITER_\n\n#include \"Writer.h\"\n#include <sstream>\n\nusing namespace std;\n\nclass Insta"
  },
  {
    "path": "basic/NewConcat.h",
    "chars": 3816,
    "preview": "#ifndef NEWCONCAT\n#define NEWCONCAT\n\n#include \"tensor.h\"\n\nusing namespace std;\nusing namespace mshadow;\nusing namespace "
  },
  {
    "path": "basic/Pipe.h",
    "chars": 2426,
    "preview": "#ifndef _JST_PIPE_\n#define _JST_PIPE_\n\n#include <fstream>\n#include <iostream>\n#include <sstream>\n#include <vector>\n#incl"
  },
  {
    "path": "basic/Reader.h",
    "chars": 722,
    "preview": "#ifndef _JST_READER_\n#define _JST_READER_\n\n#pragma once\n\n#include <fstream>\n#include <iostream>\nusing namespace std;\n\n#i"
  },
  {
    "path": "basic/SegLookupTable.h",
    "chars": 5806,
    "preview": "/*\n * SegLookupTable.h\n *\n *  Created on: Mar 18, 2015\n *      Author: mszhang\n */\n\n#ifndef SRC_SegLookupTable_H_\n#defin"
  },
  {
    "path": "basic/Utf.h",
    "chars": 7238,
    "preview": "// Copyright (C) University of Oxford 2010\n/****************************************************************\n *         "
  },
  {
    "path": "basic/Writer.h",
    "chars": 646,
    "preview": "#ifndef _JST_WRITER_\n#define _JST_WRITER_\n\n#pragma once\n\n#include <fstream>\n#include <iostream>\nusing namespace std;\n\n#i"
  },
  {
    "path": "basic/io.h",
    "chars": 6163,
    "preview": "/*!\n *  Copyright (c) 2014 by Contributors\n * \\file io.h\n * \\brief definitions of I/O functions for mshadow tensor\n * \\a"
  },
  {
    "path": "cleanall.sh",
    "chars": 126,
    "preview": "make clean\nrm -rf CMakeFiles cmake_install.cmake CMakeCache.txt Makefile\nrm -rf */CMakeFiles */cmake_install.cmake */Mak"
  },
  {
    "path": "demo.sh",
    "chars": 319,
    "preview": "sh cleanall.sh\ncmake .\nmake STDSeg\n./STDSeg -l -train ./example/train.debug -dev ./example/dev.debug -test ./example/tes"
  },
  {
    "path": "example/ctb.50d.word.debug",
    "chars": 5219858,
    "preview": "</s> 0.008005 0.008839 -0.007661 -0.006556 0.002733 0.006042 0.001882 0.000423 -0.007207 0.004437 -0.008713 0.002499 -0."
  },
  {
    "path": "example/dev.debug",
    "chars": 21395,
    "preview": "中国 最大 氨纶丝 生产 基地 在 连云港 建成 \n新华社 南京 十二月 四日 电 \n中国 最 大 的 氨伦丝 生产 基地 -- 钟山 氨伦 有限 公司 , 日前 在 连云港 开发区 建成 并 投产 。 \n这 个 采用 差别化 氨伦丝 生产"
  },
  {
    "path": "example/option.STD",
    "chars": 211,
    "preview": "dropProb = 0.2\nbatchSize = 1\noutBest = .STD\nmaxIter = 1\nwordCutOff = 1\nfinalHiddenSize = 200\nclip = 10\nwordEmbSize = 0\nc"
  },
  {
    "path": "example/test.debug",
    "chars": 22775,
    "preview": "上海 浦东 开发 与 法制 建设 同步 \n新华社 上海 二月 十日 电 ( 记者 谢金虎 、 张持坚 ) \n上海 浦东 近年 来 颁布 实行 了 涉及 经济 、 贸易 、 建设 、 规划 、 科技 、 文教 等 领域 的 七十一 件 法规性"
  },
  {
    "path": "example/train.debug",
    "chars": 113121,
    "preview": "中国 进出口 银行 与 中国 银行 加强 合作 \n新华社 北京 十二月 二十六日 电 ( 记者 周根良 ) \n中国 进出口 银行 与 中国 银行 今天 签署 了 《 出口 卖方 信贷 委托 代理 协议 》 , 两 行 间 互利 互补 的 合"
  },
  {
    "path": "feature/DenseFeature.h",
    "chars": 9364,
    "preview": "/*\n * DenseFeature.h\n *\n *  Created on: Dec 11, 2015\n *      Author: mason\n */\n\n#ifndef FEATURE_DENSEFEATURE_H_\n#define "
  },
  {
    "path": "feature/DenseFeatureChar.h",
    "chars": 4569,
    "preview": "/*\n * DenseFeatureChar.h\n *\n *  Created on: Dec 11, 2015\n *      Author: mason\n */\n\n#ifndef FEATURE_DENSEFEATURECHARWITH"
  },
  {
    "path": "feature/DenseFeatureExtraction.h",
    "chars": 29379,
    "preview": "/*\n * DenseFeatureExtraction.h\n *\n *  Created on: Oct 7, 2015\n *      Author: mszhang\n */\n\n#ifndef BASIC_FEATUREEXTRACTI"
  },
  {
    "path": "feature/DenseFeatureExtraction_nolast.h",
    "chars": 25418,
    "preview": "/*\n * FeatureExtraction.h\n *\n *  Created on: Oct 7, 2015\n *      Author: mszhang\n */\n\n#ifndef BASIC_FEATUREEXTRACTION_H_"
  },
  {
    "path": "feature/DenseFeatureForward.h",
    "chars": 6675,
    "preview": "/*\n * DenseFeatureForward.h\n *\n *  Created on: Dec 11, 2015\n *      Author: mason\n */\n\n#ifndef FEATURE_DENSEFEATUREFORWA"
  },
  {
    "path": "feature/DenseFeatureNew.h",
    "chars": 7688,
    "preview": "/*\n * DenseFeature.h\n *\n *  Created on: Dec 11, 2015\n *      Author: mason\n */\n\n#ifndef FEATURE_DENSEFEATURE_H_\n#define "
  },
  {
    "path": "feature/Feature.h",
    "chars": 2831,
    "preview": "/*\n * Feature.h\n *\n *  Created on: Mar 17, 2015\n *      Author: mszhang\n */\n\n#ifndef SRC_FEATURE_H_\n#define SRC_FEATURE_"
  },
  {
    "path": "feature/FeatureExtraction.h",
    "chars": 19052,
    "preview": "/*\n * FeatureExtraction.h\n *\n *  Created on: Oct 7, 2015\n *      Author: mszhang\n */\n\n#ifndef BASIC_FEATUREEXTRACTION_H_"
  },
  {
    "path": "feature/HiddenForward.h",
    "chars": 2455,
    "preview": "/*\n * DenseFeatureForward.h\n *\n *  Created on: Dec 11, 2015\n *      Author: mason\n */\n\n#ifndef HIDDENFORWARD_H_\n#define "
  },
  {
    "path": "model/CharLSTMSTD.h",
    "chars": 55393,
    "preview": "/*\n * LSTMBeamSearcher.h\n *  CharLSTMSTD, use both allword and word, while word embeding size is 0 in default\n *  Create"
  },
  {
    "path": "model/CharLSTMSTD_noword.h",
    "chars": 53286,
    "preview": "/*\n * LSTMBeamSearcher.h\n *  CharLSTMSTD_noword, only use allword but not word\n *  Created on: Jan 25, 2017\n *      Auth"
  },
  {
    "path": "state/NeuralState.h",
    "chars": 9296,
    "preview": "/*\n * State.h\n *\n *  Created on: Oct 1, 2015\n *      Author: mszhang\n */\n\n#ifndef SEG_NEURALSTATE_H_\n#define SEG_NEURALS"
  },
  {
    "path": "state/State.h",
    "chars": 7819,
    "preview": "/*\n * State.h\n *\n *  Created on: Oct 1, 2015\n *      Author: mszhang\n */\n\n#ifndef SEG_STATE_H_\n#define SEG_STATE_H_\n\n#in"
  }
]

About this extraction

This page contains the full source code of the jiesutd/RichWordSegmentor GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 37 files (5.5 MB), approximately 1.4M tokens, and a symbol index with 183 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!