| |
|
| | |
| |
|
| | |
| |
|
| | import pandas,sys |
| |
|
| |
|
| | |
| | fils = { |
| | 'BM3' : ["BM3_NLoss_proc0.csv","BM3_NLoss_proc2.csv","BM3_NLoss_proc1.csv","BM3_NLoss_proc3.csv"], |
| | 'BM2' : ["BM2_NLoss_proc0.csv","BM2_NLoss_proc2.csv","BM2_NLoss_proc1.csv","BM2_NLoss_proc3.csv"], |
| | 'BR2' : ["BR2_NLoss_proc0.csv","BR2_NLoss_proc2.csv","BR2_NLoss_proc1.csv","BR2_NLoss_proc3.csv"], |
| | 'BR3' : ["BR3_NLoss_proc0.csv","BR3_NLoss_proc2.csv","BR3_NLoss_proc1.csv","BR3_NLoss_proc3.csv"], |
| | 'PM2' : ["PM2_NLoss_proc0.csv","PM2_NLoss_proc2.csv","PM2_NLoss_proc1.csv","PM2_NLoss_proc3.csv"], |
| | 'PM3' : ["PM3_NLoss_proc0.csv","PM3_NLoss_proc2.csv","PM3_NLoss_proc1.csv","PM3_NLoss_proc3.csv"], |
| | 'PR2' : ["PR2_NLoss_proc0.csv","PR2_NLoss_proc2.csv","PR2_NLoss_proc1.csv","PR2_NLoss_proc3.csv"], |
| | 'PR3' : ["PR3_NLoss_proc0.csv","PR3_NLoss_proc2.csv","PR3_NLoss_proc1.csv","PR3_NLoss_proc3.csv"] |
| | } |
| | import pandas |
| | from collections import defaultdict |
| |
|
| | def predLoss(tag): |
| | gt = defaultdict(dict) |
| |
|
| | for item in fils[tag]: |
| | fil = open('outputs/'+str(item)).read().splitlines() |
| | for i,line in enumerate(fil): |
| | if i % 6 == 0: |
| | setCol = line.split(',') |
| | gt[setCol[0]]['predLemma'] = setCol[1:] |
| | if i%6 == 1: |
| | gt[setCol[0]]['predCNG'] = line.split(',')[1:] |
| | if len(gt[setCol[0]]['predLemma']) != len(gt[setCol[0]]['predCNG']): |
| | print(gt[setCol[0]]) |
| | if i%6 == 2: |
| | gt[setCol[0]]['chunkID'] = line.split(',')[1:] |
| | if len(gt[setCol[0]]['predLemma']) != len(gt[setCol[0]]['chunkID']): |
| | print(gt[setCol[0]]) |
| | if i%6 == 3: |
| | gt[setCol[0]]['chunkIDCNG'] = line.split(',')[1:] |
| | if len(gt[setCol[0]]['predLemma']) != len(gt[setCol[0]]['chunkIDCNG']): |
| | print(gt[setCol[0]]) |
| | if i%6 == 4: |
| | gt[setCol[0]]['idInNodeID'] = line.split(',')[1:] |
| | if len(gt[setCol[0]]['predLemma']) != len(gt[setCol[0]]['idInNodeID']): |
| | print(gt[setCol[0]]) |
| | if i%6 == 5: |
| | gt[setCol[0]]['params'] = line.split(',')[1:] |
| |
|
| | if line.split(',')[0] != setCol[0]: |
| | print(i,setCol,line) |
| | print('breakin') |
| | break |
| | return gt |
| |
|
| | def pdframe(gt): |
| | params = defaultdict(dict) |
| | for item in gt.keys(): |
| | tatkal = gt[item]['params'] |
| | params[item]['corrWords'],params[item]['corrLemma'] = int(tatkal[0]),int(tatkal[1]) |
| | params[item]['dcsSize'],params[item]['predictions'] = int(tatkal[2]),int(tatkal[3]) |
| | params[item]['word++Precision'] = params[item]['corrWords']*1.0/params[item]['predictions'] |
| | params[item]['word++Recall'] = params[item]['corrWords']*1.0/params[item]['dcsSize'] |
| | params[item]['wordPrecision'] = params[item]['corrLemma']*1.0/params[item]['predictions'] |
| | params[item]['wordRecall'] = params[item]['corrLemma']*1.0/params[item]['dcsSize'] |
| |
|
| |
|
| | initRes = pandas.DataFrame.from_dict(params,orient='index') |
| | return initRes |
| |
|
| |
|
| | |
| |
|
| | if(len(sys.argv)<2): |
| | print("Provide an argument for the feature to be evaluated") |
| |
|
| | else: |
| | BM2gt = predLoss(str(sys.argv[1])) |
| | BM2pd = pdframe(BM2gt) |
| | print(BM2pd.mean()) |