-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcomponents.py
34 lines (27 loc) · 1.11 KB
/
components.py
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
files = ["CN", "EN", "ES", "SG"]
states = ["start", "B-negative", "B-neutral", "B-positive", "O", "I-negative", "I-neutral", "I-positive", "stop"]
import sys
class Buffer:
def __init__(self, size):
self.__buffer = {}
for i in range(size):
self.__buffer[i] = {"p": -sys.maxsize - 1, "previous_state": "NA", "from_k_th": -1}
def push(self, probablity, previous_state, from_k_th):
for i in range(self.getSize()):
if probablity > self.__buffer[i]["p"]:
for j in range(self.getSize() - 1, i, -1):
self.__buffer[j] = self.__buffer[j - 1]
self.__buffer[i] = {"p": probablity,
"previous_state": previous_state,
"from_k_th": from_k_th}
break
def getBuffer(self):
return self.__buffer
def getSize(self):
return len(self.__buffer)
def getP(self, k):
return self.__buffer[k]["p"]
def getPrevious(self,k):
return self.__buffer[k]['previous_state']
def __str__(self):
return self.__buffer