Repository navigation
Expand file tree
/
Copy pathScene_mapping.py
More file actions
128 lines (114 loc) · 4.05 KB
/
Copy pathScene_mapping.py
File metadata and controls
128 lines (114 loc) · 4.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# -*- coding: utf-8 -*-
"""
Created on Mon Jul 15 08:39:42 2019
@author: Devika
"""
# -*- coding: utf-8 -*-
"""
Created on Mon Jul 15 07:36:55 2019
@author: Devika
"""
import os
def predict_caption (input_list):
elements=[]
similarities=dict()#Has all the similaritie scores between input and individual files
high=["Shabari","Vishwamitra","Ahalya","Eagles","Deer","Kumbhakarna"]
low=["forests","Beach",'Mountain']
key=["Rama","Ravana"]
intermediate=["Fire"]
path=r"D:\\ML\\Scenes"
for filename in enumerate(os.listdir(path)):
new_path=path+"\\"+filename[1]
f=open(new_path,"r")
lines=f.readlines()
classes=lines[len(lines)-4:len(lines)]#To obtain the last 4 lines which contain the classes
#print(classes)
for category in classes:#eg:- Characters/Landscapes
for j in range(0,len(category)):
if category[j]==":":
index=j
if category[len(category)-1]=="\n":
category=category[index+1:len(category)-1]
else:
category=category[index+1:len(category)]
temp=category.split(",")
for i in temp:
if i!="":
elements.append(i)
#Similarity calculation
numerator=0
denominator=1
count=0
"""for i in key:
if i in elements:
count+=1
if count==2:
elements.append("Bow_and_arrow")
numerator+=4
#print("MODIFIED")"""
trial=["Sita","Fire"]
final=["Ravana","Bow_and_arrow","Rama"]
Lanka=["Fire","Mace"]
specifics=["The_final_battle.txt","Trial_by_fire.txt","Fire_in_lanka.txt"]
if final[0] in input_list and final[1] in input_list:
input_list=trial
input_list.extend(["Bow_and_arrow","Horse"])
numerator+=100
print("BATTLE")
similarity=numerator/denominator
similarities["The_final_battle.txt"]=similarity
break
count+=1
elif trial[0] in input_list and trial[1] in input_list:
input_list=trial
input_list.extend(["Rama","Lakshmana"])
numerator+=100
#print("TRIAL")
count+=1
similarity=numerator/denominator
similarities["Trial_by_fire.txt"]=similarity
break
elif Lanka[0] in input_list and Lanka[1] in input_list:
input_list=trial
input_list.extend(["Hanuman","Ravana","Monkeys"])
numerator+=100
#print("LANKA")
count+=1
similarity=numerator/denominator
similarities["Fire_in_lanka.txt"]=similarity
break
if count==0:
for i in input_list:
denominator+=1.0
if i in elements:
numerator+=1.0
if i in high:
numerator+=3
if i in intermediate:
numerator+=2
if i in low:
numerator+=1
for i in elements:
if i in elements and i not in input_list:
denominator+=0.7
if i in high:
denominator+=2
count=0
similarity=numerator/denominator
similarities[filename[1]]=similarity
elements=[]
f.close()
ranked_list=sorted(similarities, key=lambda x: similarities[x])[::-1]#Sorting
print("The scene is most likely:")
print(ranked_list[:3])
path+="\\"+ranked_list[0]
#print(path)
f=open(path,"r")
text=f.read()
for i in range(0,len(text)):
if text[i]=="*":
index=i
text=text[0:index]
print(text)
f.close()
return ranked_list[:3]