In [69]:
import numpy as np
import pickle
from IPython.display import display, clear_output
import ipywidgets as widgets
# hidden the system bar
js ="""
<script type="text/javascript">
urlstr = window.location.href;
if (!urlstr.endsWith('pix')) {
document.getElementById('header').style.display='none'
}
else{
document.getElementById('header').style.display='block'
}
</script>
<style>
img {
-webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
filter: grayscale(100%);
}
a{
color:#265827;
}
</style>
"""
from IPython.display import HTML
HTML(js)
Out[69]:
In [70]:
class PixWord2Vec:
index2word = None
word2indx = None
final_embeddings = None
def search(self,w):
w = w.lower()
if w not in self.word2indx : return None
else:
windex = self.word2indx[w]
wvec = self.final_embeddings[windex]
sim = np.dot(self.final_embeddings,wvec)
for index in sim.argsort()[-10:][::-1][1:]:
print self.index2word[index],sim[index]
In [71]:
pixword = pickle.load(open("./pixword_travel.pk"))
In [72]:
def onclick(input):
clear_output()
pixword.search(search_text.value)
In [73]:
if 'search_text' not in globals() :
search_text = widgets.Text(description=u"關鍵字",value=u'沖繩')
display(search_text)
if 'button_search' not in globals() :
button_search = widgets.Button(description=u"按我找出字")
button_search.on_click(onclick)
display(button_search)
In [ ]: