/**
* 计算语料中存在的各种trigger类型的个数
*/
String[] labels = {"Transcription","Gene_expression","Protein_catabolism","Phosphorylation","Localization","Binding","Regulation","Positive_regulation","Negative_regulation"};
public Map<String,Integer> getTrigTypeNum(List<OutputInfo> outputList, String[] labels)//考虑参数是否合适
{
Map<String,Integer> labelMap = new HashMap<String,Integer>();
int trigNum = 0;
for(int h = 0; h < outputList.size(); h++) //语料中有多少句话
{
OutputInfo output = outputList.get(h);
List<Segment> gold = output.goldStructure;
for(int g = 0; g < gold.size(); g++) // 一句话中有多少个trigger
{
Segment seg = gold.get(g);
String goldType = seg.segmentType;
for(String label : labels){
if(goldType.equals(label)){
trigNum += 1;
if(labelMap.containsKey(label))
labelMap.put(label, labelMap.get(label)+1);
else
labelMap.put(label, 1);
}
}
}
}
labelMap.put("trigNum", trigNum);
System.out.println(String.format("trigger总数:%d", trigNum));
for(Map.Entry<String, Integer> entry : labelMap.entrySet()){
System.out.println(String.format("%s类别的数量:%d", entry.getKey(),entry.getValue()));
}
return labelMap;
}
计算语料中存在的各种trigger类型的个数
最新推荐文章于 2022-10-24 21:29:49 发布
664

被折叠的 条评论
为什么被折叠?



