Spaces:
Runtime error
Runtime error
File size: 4,733 Bytes
88f59a8 1e00edb 88f59a8 0647140 88f59a8 1e00edb c1bfa56 1e00edb 0647140 1e00edb 88f59a8 1e00edb c1bfa56 1e00edb c1bfa56 88f59a8 a184ff1 88f59a8 1e00edb 88f59a8 c1bfa56 1e00edb 8f99a77 1e00edb c1bfa56 1e00edb c1bfa56 a184ff1 1e00edb 8f99a77 1e00edb 88f59a8 1e00edb a184ff1 88f59a8 5f58515 88f59a8 0647140 |
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 |
import param
import panel as pn
pn.extension(sizing_mode="stretch_width", notifications=True)
import pickle
import pandas as pd
css = ['https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css',
# Below: Needed for export buttons
'https://cdn.datatables.net/buttons/1.7.0/css/buttons.dataTables.min.css'
]
js = {
'$': 'https://code.jquery.com/jquery-3.5.1.js',
'DataTable': 'https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js',
# Below: Needed for export buttons
'buttons': 'https://cdn.datatables.net/buttons/1.7.0/js/dataTables.buttons.min.js',
'jszip': 'https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js',
'pdfmake': 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js',
'vfsfonts': 'https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js',
'html5buttons': 'https://cdn.datatables.net/buttons/1.7.0/js/buttons.html5.min.js',
}
pn.extension(css_files=css, js_files=js)
script = """
<script>
if (document.readyState === "complete") {
$('.example').DataTable();
} else {
$(document).ready(function () {
$('.example').DataTable();
})
}
</script>
"""
# html = autompg.to_html(classes=['example', 'panel-df'])
import pandas as pd
class ReactiveTables(param.Parameterized):
name_ = param.String('Asian')
record_start_index = param.Integer(1)
record_stop_index = param.Integer(200)
old_data = None
@param.depends('name_', 'record_start_index', 'record_stop_index')
def data(self):
print('new name', self.name_)
if len(self.name_) > 0:
if ord(self.name_[0]) in list(range(48, 57)):
file_name = 'num_dict.pkl'
elif ord(self.name_[0]) in list(range(97, 122)) + list(range(65, 90)):
file_name = f'{ord(self.name_[0])}_dict.pkl'
else:
file_name = 'other_dict.pkl'
print(f'all_secret_langauge_by_fist/{file_name}')
datas = pickle.load(open(f'all_secret_langauge_by_fist/{file_name}', 'rb'))
if self.name_ in datas.keys():
self.old_data = pd.DataFrame(datas[self.name_])
return self.old_data, datas
@param.depends('name_')
def summary(self):
return self.data()[0].describe()
@param.depends('name_', 'record_start_index', 'record_stop_index')
def table_ours(self):
data = self.data()[0]
return pn.pane.HTML(data[max(0, self.record_start_index):
min(min(self.record_stop_index + 1, self.record_start_index + 2001), len(data))].to_html(
classes=['example', 'panel-df']) + script,
sizing_mode='stretch_width')
@param.depends('name_', 'record_start_index', 'record_stop_index')
def notification(self):
datas = self.data()[1]
if datas:
if self.name_ in datas.keys():
return pn.pane.HTML(f'<h1>Found {self.name_}.</h1> <h2> {self.name_} has {datas[self.name_].count()} secret languages found by SecretFinding. Presenting the secret language from {self.record_start_index} to {max(self.record_stop_index, datas[self.name_].count())}.</h2>' ,
sizing_mode='stretch_width')
else:
return pn.pane.HTML(f'<h1>Sorry. {self.name_} is not in the dictionary.</h1>' ,
sizing_mode='stretch_width')
else:
return pn.pane.HTML('<h1>initing</h1>' ,
sizing_mode='stretch_width')
def panel(self):
return pn.Row(
pn.Param(self, name="Settings", width=300, sizing_mode="fixed"),
pn.Column(
self.notification,
"## Description", self.summary,
"## Table", self.table_ours,
width=2000,
# sizing_mode='stretch_height'
)
, sizing_mode="stretch_width"
)
component = ReactiveTables().panel()
pn.template.FastListTemplate(site="ACL 23 Submission", title="Finding Secret Language of Language Models",
main=[
'This page presents all secret languages discovered by our proposed SecretFinding algorithm on three multi-sentence datasets. To ensure optimal performance of this web application, at most 2000 entries can be displayed at a time. "Name" is the word for which you want to find secret languages. "Record start index" and "record stop index" are used to indicate the start and stop of the data. ',
component
]).servable()
|