📄 buildcontextgenerator.java
字号:
if (u1) features.add(consbop0 + "," + punct1+","+consp1 + "," + punct2); if (u0) features.add(consp0 + "," + punct1+","+consbop1 + "," + punct2); features.add(consbop0 + "," + punct1+","+consbop1 + "," + punct2); } } } } else { //cons(0),cons(1),punct(2),cons(2) for (Iterator pi2=punct2s.iterator();pi2.hasNext();) { String punct2 = punct((Parse) pi2.next(),2); if (t012) features.add(consp0 + "," + consp1 + "," + punct2+","+consp2); if (b12) features.add(consbop0 + "," + consp1 +"," + punct2+ "," + consp2); if (u0 && u2) features.add(consp0 + "," + consbop1 + "," + punct2+","+consp2); if (b01) features.add(consp0 + "," + consp1 + "," + punct2+","+consbop2); if (u2) features.add(consbop0 + "," + consbop1 + "," + punct2+","+consp2); if (u1) features.add(consbop0 + "," + consp1 + "," + punct2+","+consbop2); if (u0) features.add(consp0 + "," + consbop1 + "," + punct2+","+consbop2); features.add(consbop0 + "," + consbop1 + "," + punct2+","+consbop2); if (zeroBackOff) { if (b01) features.add(consp0 + "," + consp1 + "," + punct2); if (u1) features.add(consbop0 + "," + consp1 + "," + punct2); if (u0) features.add(consp0 + "," + consbop1 + "," + punct2); features.add(consbop0 + "," + consbop1 + "," + punct2); } } } } else { if (punct1s != null) { //cons(0),punct(1),cons(1),cons(2) for (Iterator pi1=punct1s.iterator();pi1.hasNext();) { String punct1 = punct((Parse) pi1.next(),1); if (t012) features.add(consp0 + "," + punct1 +","+ consp1 +","+consp2); if (b12) features.add(consbop0 + "," + punct1 +","+ consp1 +","+consp2); if (u0 && u2) features.add(consp0 + "," + punct1 +","+ consbop1 +","+consp2); if (b01) features.add(consp0 + "," + punct1 +","+ consp1 +","+consbop2); if (u2) features.add(consbop0 + "," + punct1 +","+ consbop1 +","+consp2); if (u1) features.add(consbop0 + "," + punct1 +","+ consp1 +","+consbop2); if (u0) features.add(consp0 + "," + punct1 +","+ consbop1 +","+consbop2); features.add(consbop0 + "," + punct1 +","+ consbop1 +","+consbop2); //zero backoff case covered by cons(0)cons(1) } } else { //cons(0),cons(1),cons(2) if (t012) features.add(consp0 + "," + consp1 + "," + consp2); if (b12) features.add(consbop0 + "," + consp1 + "," + consp2); if (u0 && u2) features.add(consp0 + "," + consbop1 + "," + consp2); if (b01) features.add(consp0 + "," + consp1 + "," + consbop2); if (u2) features.add(consbop0 + "," + consbop1 + "," + consp2); if (u1) features.add(consbop0 + "," + consp1 + "," + consbop2); if (u0) features.add(consp0 + "," + consbop1 + "," + consbop2); features.add(consbop0 + "," + consbop1 + "," + consbop2); } } //features.add("stage=cons(-2),cons(-1),cons(0)"); if (punct_2s != null) { for (Iterator pi=punct_2s.iterator();pi.hasNext();) { String punct = punct((Parse) pi.next(),-2); //punct(-2) features.add(punct); } if (punct_1s != null) { //cons(-2),punct(-2),cons(-1),punct(-1),cons(0) for (Iterator pi_2=punct_2s.iterator();pi_2.hasNext();) { String punct_2 = punct((Parse) pi_2.next(),-2); for (Iterator pi_1=punct_1s.iterator();pi_1.hasNext();) { String punct_1 = punct((Parse) pi_1.next(),-1); if (t_2_10) features.add(consp_2 + "," + punct_2+","+consp_1 + "," + punct_1+","+consp0); if (b_10) features.add(consbop_2 + "," + punct_2+","+consp_1 + "," + punct_1+","+consp0); if (u_2 && u0) features.add(consp_2 + "," + punct_2+","+consbop_1 + "," + punct_1+","+consp0); if (b_2_1) features.add(consp_2 + "," + punct_2+","+consp_1 + "," + punct_1+","+consbop0); if (u0) features.add(consbop_2 + "," + punct_2+","+consbop_1 + "," + punct_1+","+consp0); if (u_1) features.add(consbop_2 + "," + punct_2+","+consp_1 + "," + punct_1+","+consbop0); if (u_2) features.add(consp_2 + "," + punct_2+","+consbop_1 + "," + punct_1+","+consbop0); features.add(consbop_2 + "," + punct_2+","+consbop_1 + "," + punct_1+","+consbop0); if (zeroBackOff) { if (b_10) features.add(punct_2+","+consp_1 + "," + punct_1+","+consp0); if (u0) features.add(punct_2+","+consbop_1 + "," + punct_1+","+consp0); if (u_1) features.add(punct_2+","+consp_1 + "," + punct_1+","+consbop0); features.add(punct_2+","+consbop_1 + "," + punct_1+","+consbop0); } } } } else { //cons(-2),punct(-2),cons(-1),cons(0) for (Iterator pi_2=punct_2s.iterator();pi_2.hasNext();) { String punct_2 = punct((Parse) pi_2.next(),-2); if (t_2_10) features.add(consp_2 + "," + punct_2+","+consp_1 + ","+consp0); if (b_10) features.add(consbop_2 + "," + punct_2+","+consp_1 + ","+consp0); if (u_2 && u0) features.add(consp_2 + "," + punct_2+","+consbop_1 + ","+consp0); if (b_2_1) features.add(consp_2 + "," + punct_2+","+consp_1 + ","+consbop0); if (u0) features.add(consbop_2 + "," + punct_2+","+consbop_1 + ","+consp0); if (u_1) features.add(consbop_2 + "," + punct_2+","+consp_1 + ","+consbop0); if (u_2) features.add(consp_2 + "," + punct_2+","+consbop_1 + ","+consbop0); features.add(consbop_2 + "," + punct_2+","+consbop_1 + ","+consbop0); if (zeroBackOff) { if (b_10) features.add(punct_2+","+consp_1 + ","+consp0); if (u0) features.add(punct_2+","+consbop_1 + ","+consp0); if (u_1) features.add(punct_2+","+consp_1 + ","+consbop0); features.add(punct_2+","+consbop_1 + ","+consbop0); } } } } else { if (punct_1s != null) { //cons(-2),cons(-1),punct(-1),cons(0) for (Iterator pi_1=punct_1s.iterator();pi_1.hasNext();) { String punct_1 = punct((Parse) pi_1.next(),-1); if (t_2_10) features.add(consp_2 + "," + consp_1 + "," + punct_1+","+consp0); if (b_10) features.add(consbop_2 + "," + consp_1 + "," + punct_1+","+consp0); if (u_2 && u0) features.add(consp_2 + "," + consbop_1 + "," + punct_1+","+consp0); if (b_2_1) features.add(consp_2 + "," + consp_1 + "," + punct_1+","+consbop0); if (u0) features.add(consbop_2 + "," + consbop_1 + "," + punct_1+","+consp0); if (u_1) features.add(consbop_2 + "," + consp_1 + "," + punct_1+","+consbop0); if (u_2) features.add(consp_2 + "," + consbop_1 + "," + punct_1+","+consbop0); features.add(consbop_2 + "," + consbop_1 + "," + punct_1+","+consbop0); //zero backoff case covered by cons(-1)cons(0) } } else { //cons(-2),cons(-1),cons(0) if (t_2_10) features.add(consp_2 + "," + consp_1 + "," +consp0); if (b_10) features.add(consbop_2 + "," + consp_1 + "," +consp0); if (u_2 && u0) features.add(consp_2 + "," + consbop_1 + "," +consp0); if (b_2_1)features.add(consp_2 + "," + consp_1 + "," +consbop0); if (u0) features.add(consbop_2 + "," + consbop_1 + "," +consp0); if (u_1) features.add(consbop_2 + "," + consp_1 + "," +consbop0); if (u_2) features.add(consp_2 + "," + consbop_1 + "," +consbop0); features.add(consbop_2 + "," + consbop_1 + "," +consbop0); } } //features.add("stage=cons(-1),cons(0),cons(1)"); if (punct_1s !=null) { if (punct1s != null) { //cons(-1),punct(-1),cons(0),punct(1),cons(1) for (Iterator pi_1=punct_1s.iterator();pi_1.hasNext();) { String punct_1 = punct((Parse) pi_1.next(),-1); for (Iterator pi1=punct1s.iterator();pi1.hasNext();) { String punct1 = punct((Parse) pi1.next(),1); if (t_101) features.add(consp_1 + "," + punct_1+","+consp0 + "," + punct1+","+consp1); if (b01) features.add(consbop_1 + "," + punct_1+","+consp0 + "," + punct1+","+consp1); if (u_1 && u1) features.add(consp_1 + "," + punct_1+","+consbop0 + "," + punct1+","+consp1); if (b_10) features.add(consp_1 + "," + punct_1+","+consp0 + "," + punct1+","+consbop1); if (u1) features.add(consbop_1 + "," + punct_1+","+consbop0 + "," + punct1+","+consp1); if (u0) features.add(consbop_1 + "," + punct_1+","+consp0 + "," + punct1+","+consbop1); if (u_1) features.add(consp_1 + "," + punct_1+","+consbop0 + "," + punct1+","+consbop1); features.add(consbop_1 + "," + punct_1+","+consbop0 + "," + punct1+","+consbop1); if (zeroBackOff) { if (b_10) features.add(consp_1 + "," + punct_1+","+consp0 + "," + punct1); if (u0) features.add(consbop_1 + "," + punct_1+","+consp0 + "," + punct1); if (u_1) features.add(consp_1 + "," + punct_1+","+consbop0 + "," + punct1); features.add(consbop_1 + "," + punct_1+","+consbop0 + "," + punct1); if (b01) features.add(punct_1+","+consp0 + "," + punct1+","+consp1); if (u1) features.add(punct_1+","+consbop0 + "," + punct1+","+consp1); if (u0) features.add(punct_1+","+consp0 + "," + punct1+","+consbop1); features.add(punct_1+","+consbop0 + "," + punct1+","+consbop1); } } } } else { //cons(-1),punct(-1),cons(0),cons(1) for (Iterator pi_1=punct_1s.iterator();pi_1.hasNext();) { String punct_1 = punct((Parse) pi_1.next(),-1); if (t_101) features.add(consp_1 + "," + punct_1+","+consp0 + "," + consp1); if (b01)features.add(consbop_1 + "," + punct_1+","+consp0 + "," + consp1); if (u_1 && u1) features.add(consp_1 + "," + punct_1+","+consbop0 + "," + consp1); if (u0) features.add(consp_1 + "," + punct_1+","+consp0 + "," + consbop1); if (u1) features.add(consbop_1 + "," + punct_1+","+consbop0 + "," + consp1); if (u0) features.add(consbop_1 + "," + punct_1+","+consp0 + "," + consbop1); if (u_1) features.add(consp_1 + "," + punct_1+","+consbop0 + "," + consbop1); features.add(consbop_1 + "," + punct_1+","+consbop0 + "," + consbop1); if(zeroBackOff) { if (b01) features.add(punct_1+","+consp0 + "," + consp1); if (u1) features.add(punct_1+","+consbop0 + "," + consp1); if (u0) features.add(punct_1+","+consp0 + "," + consbop1); features.add(punct_1+","+consbop0 + "," + consbop1); } } } } else { if (punct1s != null) { //cons(-1),cons(0),punct(1),cons(1) for (Iterator pi1=punct1s.iterator();pi1.hasNext();) { String punct1 = punct((Parse) pi1.next(),1); if (t_101) features.add(consp_1 + "," + consp0 + "," + punct1+","+consp1); if (b01) features.add(consbop_1 + "," + consp0 + "," + punct1+","+consp1); if (u_1 && u1) features.add(consp_1 + "," + consbop0 + "," + punct1+","+consp1); if (b_10) features.add(consp_1 + "," + consp0 + "," + punct1+","+consbop1); if (u1) features.add(consbop_1 + "," + consbop0 + "," + punct1+","+consp1); if (u0) features.add(consbop_1 + "," + consp0 + "," + punct1+","+consbop1); if (u_1) features.add(consp_1 + "," + consbop0 + "," + punct1+","+consbop1); features.add(consbop_1 + "," + consbop0 + "," + punct1+","+consbop1); if (zeroBackOff) { if (b_10) features.add(consp_1 + "," + consp0 + "," + punct1); if (u0) features.add(consbop_1 + "," + consp0 + "," + punct1); if (u_1) features.add(consp_1 + "," + consbop0 + "," + punct1); features.add(consbop_1 + "," + consbop0 + "," + punct1); } } } else { //cons(-1),cons(0),cons(1) if (t_101) features.add(consp_1 + "," + consp0 + "," +consp1); if (b01) features.add(consbop_1 + "," + consp0 + "," +consp1); if (u_1 && u1) features.add(consp_1 + "," + consbop0 + "," +consp1); if (b_10) features.add(consp_1 + "," + consp0 + "," +consbop1); if (u1) features.add(consbop_1 + "," + consbop0 + "," +consp1); if (u0) features.add(consbop_1 + "," + consp0 + "," +consbop1); if (u_1) features.add(consp_1 + "," + consbop0 + "," +consbop1); features.add(consbop_1 + "," + consbop0 + "," +consbop1); } } //features.add("stage=other"); String p0Word = p0.toString(); if (p0Word.equals("-RRB-")) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.toString().equals("-LRB-")) { features.add("bracketsmatch"); break; } if (p.getLabel().startsWith(ParserME.START)) { break; } } } if (p0Word.equals("-RCB-")) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.toString().equals("-LCB-")) { features.add("bracketsmatch"); break; } if (p.getLabel().startsWith(ParserME.START)) { break; } } } if (p0Word.equals("''")) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.toString().equals("``")) { features.add("quotesmatch"); break; } if (p.getLabel().startsWith(ParserME.START)) { break; } } } if (p0Word.equals("'")) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.toString().equals("`")) { features.add("quotesmatch"); break; } if (p.getLabel().startsWith(ParserME.START)) { break; } } } if (p0Word.equals(",")) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.toString().equals(",")) { features.add("iscomma"); break; } if (p.getLabel().startsWith(ParserME.START)) { break; } } } if (p0Word.equals(".") && index == ps - 1) { for (int pi = index - 1; pi >= 0; pi--) { Parse p = constituents[pi]; if (p.getLabel().startsWith(ParserME.START)) { if (pi == 0) { features.add("endofsentence"); } break; } } } return ((String[]) features.toArray(new String[features.size()])); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -