protected void printTopKChild4StnWithHybridPro(String filePrefix, int topK) {
		String topKChild4StnFile = filePrefix + "topChild4Stn_hybridPro.txt";
		try {
			PrintWriter pw = new PrintWriter(new File(topKChild4StnFile));

			m_LM.generateReferenceModel();

			for (_Doc d : m_trainSet) {
				if (d instanceof _ParentDoc) {
					_ParentDoc pDoc = (_ParentDoc) d;

					pw.println(pDoc.getName() + "\t" + pDoc.getSenetenceSize());

					for (_Stn stnObj : pDoc.getSentences()) {
						HashMap<String, Double> likelihoodMap = rankChild4StnByHybridPro(
								stnObj, pDoc);

						pw.print((stnObj.getIndex() + 1) + "\t");

						for (Map.Entry<String, Double> e : sortHashMap4String(
								likelihoodMap, true)) {
							pw.print(e.getKey());
							pw.print(":" + e.getValue());
							pw.print("\t");

						}
						pw.println();

					}
				}
			}
			pw.flush();
			pw.close();

		} catch (Exception e) {
			e.printStackTrace();
		}

	}