In [1]:
import os,sys
spark_home = os.environ.get('SPARK_HOME', None)
if not spark_home:
    raise ValueError('SPARK_HOME environment variable is not set')
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.10.3-src.zip'))
execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))


Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.0.2
      /_/

Using Python version 2.7.9 (default, Jun 29 2016 13:08:31)
SparkSession available as 'spark'.

載入 Word2Vec Embeddings


In [2]:
class PixWord2Vec:
    # vocabulary indexing 
    index2word = None
    word2indx = None
    
    #  embeddings vector
    embeddings = None
    
    # Normailized embeddings vector
    final_embeddings = None
    
    # hidden layer's weight and bias
    softmax_weights = None
    softmax_biases = None

In [3]:
# 此 Model 檔必需要先 Trainig Word2Vec
import pickle
pixword = pickle.load(open("./pixword_cnn_word2vec.pk"))

資料前處理


In [21]:
import numpy as np
import random
import tensorflow as tf
import json
from pyspark import StorageLevel

In [5]:
vocabulary_size = len(pixword.index2word)
print "vocabulary_size" , vocabulary_size


vocabulary_size 500000

設計 Graph


In [6]:
pixword.embeddings.shape


Out[6]:
(500000, 128)

In [94]:
import math

append_size = 1000

batch_size = 128
embedding_size = 128 # Dimension of the embedding vector.
graph = tf.Graph()

with graph.as_default():
    np.random.seed(0)
    # doc(tags or category) batch size , this is key !!! And this batch size cant be too large !!
    append_size = 1000

    # Input data.
    train_dataset = tf.placeholder(tf.int32, shape=[None])
    train_labels = tf.placeholder(tf.int32, shape=[None, 1])
    
    # Variables.
    embeddings = tf.Variable(np.append(pixword.embeddings,
                         np.random.randn(append_size,128)).reshape(vocabulary_size+append_size,128).astype('float32'))
    softmax_weights = tf.Variable(np.append(pixword.embeddings,
                         np.random.randn(append_size,128)).reshape(vocabulary_size+append_size,128).astype('float32'))
    softmax_biases = tf.Variable(np.append(pixword.softmax_biases,[0]*append_size).astype('float32'))

    # Model.
    # Look up embeddings for inputs.
    embed = tf.nn.embedding_lookup(embeddings, train_dataset)
    # Compute the softmax loss, using a sample of the negative labels each time.
    loss = tf.reduce_mean(
    tf.nn.sampled_softmax_loss(softmax_weights, softmax_biases, embed,
                               train_labels, num_sampled, vocabulary_size))

    # Optimizer.
    optimizer = tf.train.AdagradOptimizer(1.0).minimize(loss)

    # Compute the similarity between minibatch examples and all embeddings.
    # We use the cosine distance:
    norm = tf.sqrt(tf.reduce_sum(tf.square(embeddings), 1, keep_dims=True))
    normalized_embeddings = embeddings / norm
    init = tf.global_variables_initializer()

In [95]:
session = tf.Session(graph=graph)
session.run(init)

Build Category2Vec

  • 參考論文: https://cs.stanford.edu/~quocle/paragraph_vector.pdf
  • 演算法核心概念圖
  • 基本概念說明: 將 Document( or Category or Tag Set)也是視為一個 embedding vector , 而且這個 embedding vector 的概念就再出現這些關鍵字下用來代表 Document( or Category or Tag Set)
  • 得到一個小結論
    • 當在算 Tag2Vec ,如果想要正確表達 Tag2Vec 與原本 Vocabulary 之間的關,原本的 final_embeddings 必需重新更新一次,其程式碼如下
      return (final_embeddings[vocabulary_size:vocabulary_size+index+1],final_embeddings[:vocabulary_size])
      
    • AVG Vector 用肉眼隨機抽樣觀察效果似乎效果比 Tag2Vec 的效果要來的好,其實驗結果在下面的 Block 中有呈現出來

In [61]:
def train(batch_data,batch_labels):
    feed_dict = {train_dataset : batch_data, train_labels : batch_labels}
    _, l = session.run([optimizer, loss], feed_dict=feed_dict)
    return l

In [62]:
def searchByVec(vec,final_embeddings,scope=5):
    sim = np.dot(final_embeddings,vec)
    for index in sim.argsort()[-scope:][::-1][1:]:
        print pixword.index2word[index],sim[index]

測試 Category Vec


In [96]:
cate_vec = []
count = 0

def tags2vec(words_set):
    np.random.seed(0)
    session.run(init)
    if len(words_set)>append_size: raise
    cat_data = []
    cat_label = []
    for index , words in enumerate(words_set):

        for w in words :
            if w not in pixword.word2indx :
                continue
            wi =  pixword.word2indx[w]

            cat_data.append(vocabulary_size+index)
            cat_label.append([wi])

    for _ in range(20):
        train(cat_data,cat_label)
    final_embeddings = session.run(normalized_embeddings)

    return (final_embeddings[vocabulary_size:vocabulary_size+index+1],final_embeddings[:vocabulary_size])

In [141]:
words = [u'旅遊',u'台東']
avg_vec = np.average([pixword.final_embeddings[pixword.word2indx[w]]  for w in words],0)

for w in words:
    print "#{}#".format(w.encode('utf-8'))
    searchByVec(pixword.final_embeddings[pixword.word2indx[w]] ,pixword.final_embeddings)
print

# 單純取這此字的 Vector Mean
print "AVG Vector"
searchByVec(avg_vec,pixword.final_embeddings,scope=20)

print 


# 假設有個一 document 包含這些 tag 字 ,所產生的新的 vecotr 所找的新的關鍵字如下
print "Tag Vector"
result = tags2vec([words])
searchByVec(result[0][0],result[1],scope=20)


#旅遊#
旅行 0.658322
遊玩 0.549489
小旅行 0.481131
行時 0.457654
#台東#
花蓮 0.641304
花東 0.633475
池上 0.614713
台東市 0.612805

AVG Vector
台東 0.583593
花東 0.444601
台東旅遊 0.419452
花蓮旅遊 0.416617
旅行 0.394489
花蓮 0.390234
鹿野 0.381428
單車環島 0.373653
台東市 0.366209
臺東縣 0.357951
小旅行 0.353606
池上 0.347728
花東縱谷 0.343686
台東縣 0.340992
鹿野高台 0.340063
台東鹿野 0.332205
臺東 0.32835
日本旅行 0.327987
三仙台 0.322876

Tag Vector
同遊 0.3913
面待 0.373453
繳付 0.370212
這不喝 0.370032
盲射 0.368177
內自 0.367993
麗星 0.362303
天人峽 0.360436
低薪 0.359077
社福 0.354792
徐大英 0.349344
PowerFalcon 0.349034
床墊尺寸 0.348453
北秋田 0.346732
地铁 0.343437
英哩 0.342608
電啊 0.341504
每隊 0.341301
不壓 0.340378

In [65]:
# read raw data
def checkInVoc(tlist):
    r = []
    for t in tlist :
        if t in pixword.word2indx:
            r.append(t)
    return r
def merge(x):
    x[0]['tags'] = x[1]
    return x[0]

In [22]:
test_set = sc.textFile("./data/cuted_test/").map(
    json.loads).map(
    lambda x : (x,x['tags']) ).mapValues(
    checkInVoc).filter(
    lambda x : len(x[1])>1)
test_set.persist(StorageLevel.DISK_ONLY)


Out[22]:
PythonRDD[11] at RDD at PythonRDD.scala:48

In [24]:
!rm -rvf ./data/cuted_and_tags/
import json
test_set.map(merge).map(json.dumps).saveAsTextFile("./data/cuted_and_tags/")

In [66]:
class MySentences(object):
    def __init__(self, dirname):
        self.dirname = dirname
    def __iter__(self):
        for fname in os.listdir(self.dirname):
            if 'crc' in fname : continue
            if fname.startswith('_'):continue
            for line in open(os.path.join(self.dirname, fname)):
                yield line

In [26]:
sc.textFile("./data/cuted_and_tags/").count()


Out[26]:
109486

開始轉換成向量


In [72]:
def toVector(docs,tags_set,f):
    res_vecs = tags2vec(tags_set)
    if len(docs) != len(res_vecs[0]): 
        print len(docs) , len(res_vecs)
        raise
    for index,d in enumerate(docs):
        d['tag_vec'] = [float(i) for i in list(res_vecs[0][index])]
    for d in docs:
        jstr = json.dumps(d)
        f.write(jstr+'\n')

In [98]:
!rm ./data/cuted_and_vec.json
f = open('./data/cuted_and_vec.json','w')
docs = []
tags_set = []
for doc in MySentences("./data/cuted_and_tags/"):

    js_objects = json.loads(doc)
    
    docs.append(js_objects)
    tags_set.append(js_objects['tags'])
    
    if len(docs) == 1000:
        toVector(docs,tags_set,f)
        docs = []
        tags_set = []
        print '*',
    
toVector(docs,tags_set,f)


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

In [99]:
def loadjson(x):
    try:
        return json.loads(x)
    except:
        return None

In [100]:
jsondoc = sc.textFile(
    "./data/cuted_and_vec.json").map(
    loadjson).filter(
    lambda x : x!=None)

In [101]:
from operator import add

Load TagVectors


In [102]:
import json
def loadjson(x):
    try:
        return json.loads(x)
    except:
        return None
url_vecs = np.array(jsondoc.map(
    lambda x: np.array(x['tag_vec'])).collect())

In [103]:
url_vecs.shape


Out[103]:
(109481, 128)

In [104]:
urls = jsondoc.collect()

In [130]:
def search(wvec,final_embeddings,cate):
#     wvec = final_embeddings[windex]
    sim = np.dot(final_embeddings,wvec)
    result = []
    for index in sim.argsort()[-1000:][::-1][1:]:
        if urls[index]['category'] == cate and sim[index]>0.9 :
            print urls[index]['url'],sim[index],
            for tag in urls[index]['tags']:
                print tag,
            print
    return sim

進行隨機抽樣驗證


In [140]:
index = np.random.randint(10000)
print urls[index]['url'],urls[index]['category'],
for tag in urls[index]['tags']:
    print tag,
print
print 
print "########以下是用 Tag Vecotr 所找出來的 URL #########"

sim = search(url_vecs[index],url_vecs,urls[index]['category'])
print 
print 

print "########以下是直接用第一個 Tag 直接作比對的結果,效果好非常多 #########"

count = 0 
for _,u in  enumerate(urls):
    for t in u['tags']:
        if t  == urls[index]['tags'][0] :
            count = count + 1
            print u['url']
            
            for tt in u['tags']:
                print tt,
            print 
            break
    if count > 500 : break


http://eva6955.pixnet.net/blog/post/4991299 美味食記 中壢美食 大江購物中心 明太子

########以下是用 Tag Vecotr 所找出來的 URL #########
http://dream3s.pixnet.net/blog/post/172972230 0.999890313273 義大利麵 燉飯
http://tintin82477.pixnet.net/blog/post/43065037 0.999873135888 旺旺 雪餅
http://yyliu79529.pixnet.net/blog/post/21882688 0.999868960527 大巨人 鐵板燒
http://chin119.pixnet.net/blog/post/408348865 0.999868605276 桃園美食 下午茶 人妻
http://wings30222.pixnet.net/blog/post/186486225 0.999858740366 茶寮都路里 祇園
http://yenju670810.pixnet.net/blog/post/203805937 0.999856525826 高雄 大遠百 八坂丼屋
http://weiyingliao.pixnet.net/blog/post/115078261 0.999852852727 星巴克 咖啡 艋舺
http://emily710223.pixnet.net/blog/post/422684488 0.999847399745 台中美食 SweetsPURE
http://kelly09308250.pixnet.net/blog/post/219993081 0.999844465043 台東 美食 排隊 環島
http://anitavs50.pixnet.net/blog/post/43141645-%e5%a5%bd%e5%96%9d%e5%a5%bd%e5%90%83%7e%e7%ab%b9%e5%8d%97-nina-cafe-%28%e9%9b%a2%e9%a0%ad%e4%bb%bd%e4%b9%9f%e5%a5%bd%e8%bf%91%29 0.99983957455 頭份 竹南
http://alwa1919.pixnet.net/blog/post/113249426 0.999823117864 色素 防腐劑 海苔
http://martin0912.pixnet.net/blog/post/30449488-%e3%80%90%e7%be%8e%e9%a3%9f%e3%80%91%e5%b1%8f%e6%9d%b1%e3%80%82%e6%81%86%e6%98%a5%e8%91%a3%e5%a8%98%e7%9a%84%e5%ba%97 0.99980441801 屏東美食 墾丁美食 恆春美食
http://play142.pixnet.net/blog/post/221229220-%e7%8e%a9%e8%81%9a-%e7%a7%81%e5%bb%9ax%e9%85%92%e7%aa%a9-%e4%b8%ad%e7%a7%8b%e7%af%80%e9%a4%90%e5%bb%b3%e5%90%83%e5%88%b0%e9%a3%bd%7c%e4%b8%ad%e7%a7%8b%e7%af%80%e7%83%a4 0.999797102212 燒肉 燒烤 烤肉 吃到飽 中秋節
http://lovecremebrulee.pixnet.net/blog/post/161509256 0.99978744723 高雄西子灣 高雄美食 早午餐 木瓜牛奶 下午茶
http://cherrieeat.pixnet.net/blog/post/380377472 0.999770280535 房間 早午餐 咖啡廳 高雄市 美術館
http://buuzkuo.pixnet.net/blog/post/110917321 0.99976397193 御閣手作壽司 台中日式料理 台中丼飯 台中日本料理 台中壽司
http://caspper0317.pixnet.net/blog/post/169897677 0.999763069226 台北車站 微風廣場 伴手禮 新加坡 杯子蛋糕
http://eva760902.pixnet.net/blog/post/96248708 0.999741209812 韓式料理 高島屋 天母運動公園 海鮮煎餅 泡菜鍋
http://perilucky.pixnet.net/blog/post/62029759-tu-pang-%e5%9c%b0%e5%9d%8a%e9%a4%90%e5%bb%b3 0.999736517576 台中 西區 地坊餐廳 無菜單料理 西餐
http://nellydyu.pixnet.net/blog/post/41122735 0.999708227881 日式料理 生魚片 烤物 握壽司 高雄美食 高雄好吃
http://irobot0820.pixnet.net/blog/post/35994287-%e5%8f%b0%e4%b8%ad%e9%9f%bf%e5%a3%bd%e5%8f%b8hibiki 0.999707794178 響壽司 HIBIKI 台中食記 台中餐廳 台中日本料理 台中壽司 市政路
http://gn0930150655.pixnet.net/blog/post/43751053-%e3%80%90%e6%9c%a8%e8%80%b3moore-pizza%e3%80%91%e5%ae%85%e9%85%8d%e6%af%94%e8%96%a9pizza%ef%bd%9e%ef%bc%a3%ef%bc%b0%e5%80%bc%e6%a5%b5%e9%ab%98 0.999698902644 宅配美食 伴手禮 下午茶 pizza 木耳 年糕 培根 洋蔥 海鮮
http://lisa112995.pixnet.net/blog/post/192290445 0.999647084909 韓式炸雞 逢甲夜市 逢甲美食 台中美食 炸雞 朴大哥 宵夜美食
http://wonmiao.pixnet.net/blog/post/103869362-%e3%80%90%e5%8f%b0%e5%8c%97%e5%a4%a7%e5%90%8c-%e9%a3%9f%e8%a8%98%e3%80%91%e8%82%a5%e6%ad%bb%e4%ba%ba%e4%b8%8d%e7%94%a8%e8%b2%a0%e8%b2%ac%e4%bb%bb%e7%9a%84%e8%b6%85%e7%8a%af 0.999484114243 西點 麵包 禮盒 喜餅 肉脯 麻糬 紅豆餡 白芝麻


########以下是直接用第一個 Tag 直接作比對的結果,效果好非常多 #########
http://sasaraia8463.pixnet.net/blog/post/327476500-2015%e6%81%a9%e6%84%9b%e8%be%b2%e5%a0%b4%e6%8b%89%e6%8b%89%e5%b1%b1%e8%b3%9e%e6%ab%bb%e8%b6%a3
恩愛農場 中壢美食 第三航廈 北投溫泉 泰式料理 洋朵
http://zihan0828.pixnet.net/blog/post/293937643
台菜 中壢美食 泡菜 中式
http://eva6955.pixnet.net/blog/post/4991299
中壢美食 大江購物中心 明太子
http://mibao02.pixnet.net/blog/post/61856583
中壢美食 中壢 美食 素食 蔬食 中央大學 素食餐廳
http://charlottems.pixnet.net/blog/post/79894413
麻辣火鍋 中壢美食 中壢食記 鍋物 鴨血
http://leiioo3.pixnet.net/blog/post/111984667
花蓮 中壢美食 拉麵 豚骨 日本料理
http://papalife.pixnet.net/blog/post/139115494-%e2%99%a5-%e8%a6%aa%e5%ad%90-%e2%99%a5-red-brick-%e7%b4%85%e7%a3%9a%e7%be%a9%e5%a4%a7%e5%88%a9%e9%a4%90%e5%bb%b3-%28%28%28-%e9%99%84%e9%81%8a%e6%88%b2
桃園親子餐廳 中壢美食
http://pucci0911.pixnet.net/blog/post/57951060
中壢美食 炒米粉
http://hsuaco.pixnet.net/blog/post/193536709-%e2%99%a5%e6%a1%83%e5%9c%92%e2%99%a5%e4%b8%ad%e5%a3%a2%e3%80%90%e9%86%89%e7%a5%9e%e6%b4%bb%e6%b5%b7%e9%ae%ae%e6%96%99%e7%90%86%e3%80%91%e5%a4%a7%e5%ae%b4%e5%b0%8f%e9%85%8c%e7%9a%84
中壢美食 桃園美食 海膽 瀨尿蝦 秋蟹
http://followmeofeat.pixnet.net/blog/post/44611435
美食 食記 日式 丼飯 中壢美食 中原大學
http://sasaraia8463.pixnet.net/blog/post/337481125-2015%e4%b8%ad%e5%8e%9f%e9%ab%98%e8%a8%98%e8%80%81%e7%89%8c%e7%b4%85%e5%bf%83%e7%b2%89%e5%9c%93%7e%e4%b8%8b%e5%8d%88%e8%8c%b6%2c%e9%a3%af%e5%be%8c%e7%94%9c%e9%bb%9e%e5%a5%bd
中壢美食 第三航廈 洋朵 恩愛農場 北投溫泉 嘉義美食
http://butumu123.pixnet.net/blog/post/174708189
永川牛肉麵 永川 牛肉麵 中壢美食
http://esther6lu.pixnet.net/blog/post/108410815
中壢美食 披薩 中原夜市
http://bajenny.pixnet.net/blog/post/42159064-%e3%80%8a%e9%ad%94%e9%ac%bc%e7%94%84%e8%8a%b1%e7%98%8b%e9%81%8a%e5%8f%b0%e7%81%a3%e3%80%8b%e5%85%a7%e5%a3%a2%e7%81%ab%e8%bb%8a%e7%ab%99%e6%97%81%e5%85%83%e7%94%9f%e5%85%ac%e5%9c%92
紫藤花 台灣 中壢美食 好吃 必吃 中壢 一畝田 附近 中原夜市 元智大學 中原大學
http://emily710223.pixnet.net/blog/post/441347572
燒肉屋 中壢美食 平價燒烤 中壢
http://lavieshyuk721.pixnet.net/blog/post/329357133-%e3%80%90%e9%97%9c%e6%96%bc%e7%be%8e%e9%a3%9f%ef%bc%88%e6%a1%83%e5%9c%92%e4%b8%ad%e5%a3%a2%ef%bc%8d%e7%af%89%e5%9c%b0%e9%ae%ae%e9%ad%9a%ef%bc%89%e3%80%91enjoy-the
食記 丼飯 築地鮮魚 中壢美食
http://aboa1110.pixnet.net/blog/post/317366349
中壢 中壢美食 下午茶 義大利麵 燉飯
http://ruby4089.pixnet.net/blog/post/184589542
鰻慢來 中壢美食 鰻魚飯 美食 日式料理
http://pucci0911.pixnet.net/blog/post/57129090
中壢火車站美食 中壢美食
http://pucci0911.pixnet.net/blog/post/60645394
桃園美食 中壢美食
http://eva6955.pixnet.net/blog/post/5591533
黃董麵線 食尚玩家 中壢美食 麵線 油飯 甜不辣
http://www.darren0322.com/blog/post/62322275
中壢美食 中壢下午茶
http://chrysie.pixnet.net/blog/post/102303409
麻辣鍋 酸菜白肉鍋 中壢美食 桃園美食
http://hankcheng1786.pixnet.net/blog/post/324433797
中壢美食 桃園美食
http://esther6lu.pixnet.net/blog/post/116081629
中壢美食 KBOOM 韓式料理 部隊鍋 彩虹冰沙 辣炒年糕 韓式炸雞 燒肉 石鍋拌飯 桃園美食 菜單
http://ruby4089.pixnet.net/blog/post/190221388
中壢美食 中壢 美食 Lomo 義式料理 三明治
http://angel25992599.pixnet.net/blog/post/42882995-%e4%b8%ad%e5%a3%a2%e7%be%8e%e9%a3%9f%e2%9d%a4sogo%e5%95%86%e5%9c%88%e2%9d%a4%e5%a8%81%e5%b0%bc%e6%96%af%e5%bd%b1%e5%9f%8e%e6%97%81%e2%9d%a4%e6%b1%9f%e5%b7%9d%e5%b1%85
中壢美食 日本料理推薦
http://eva6955.pixnet.net/blog/post/4254821
中壢美食 中原大學 中原美食
http://tzuyang555.pixnet.net/blog/post/38473901
中壢美食 壽喜燒 壽喜燒吃到飽 一番地 一番地壽喜燒
http://twuntwun.pixnet.net/blog/post/282614026-%e2%94%9c%e6%a1%83%e5%9c%92%e2%80%a7%e4%b8%ad%e5%a3%a2%e2%94%a4_%e3%80%90%e7%b4%94%e7%84%a0%e7%82%99%e7%83%a4%e7%89%9b%e6%8e%92-%e6%a1%83%e5%9c%92%e4%b8%ad%e7%be%8e%e5%ba%97
中壢美食 連鎖店 燦星 燦坤 法式料理 烤牛排 排餐 西餐 中美村 美味 沙拉 食記
http://dgm688.pixnet.net/blog/post/235677688--%e2%96%89%e3%80%90%e9%a3%9f%e3%80%91%e6%a1%83%e5%9c%92-%e4%b8%ad%e5%a3%a2%7e%2a%e9%86%89%e7%a5%9e%e6%b4%bb%e6%b5%b7%e9%ae%ae%2a%2b%2a%e4%b8%89%e6%9d%af%e8%8c%b6%2a%7e%e7%ac%ac
桃園美食 中壢 醉神 食記 nbsp 海膽 鮭魚 海鮮 海鮮餐廳 部落客 中壢美食 輕旅行 熱炒 手搖飲料 外送
http://buding624.pixnet.net/blog/post/242589149
中壢美食 牛肉料理
http://nicowu.pixnet.net/blog/post/61727254-%5b%e9%a3%9f%e8%a8%98%5d-%e4%b8%ad%e5%a3%a2%e7%be%8e%e9%a3%9f-bangles-bistro-%e7%8f%ad%e6%a0%bc%e6%96%af%e8%a5%bf%e5%bc%8f%e9%a4%90%e9%a4%a8
中壢美食 桃園美食
http://drft.pixnet.net/blog/post/44147545-%5b%e6%a1%83%e5%9c%92x%e4%b8%ad%e5%a3%a2%5d%e5%8f%a4%e6%9c%88%e6%96%b0%e5%9f%8e%e5%be%a9%e5%90%88%e5%bc%8f%e9%a4%90%e5%bb%b3%e3%80%82%e6%96%b0%e8%8f%9c%e5%96%ae%e4%b8%8a%e6%a1%8c
中壢美食 烤半雞 部隊鍋 京都排骨 義大利麵 下午茶 晚餐
http://babbitwang.pixnet.net/blog/post/108886603
中壢美食 桃園美食 平價美食 米干 米線 豌豆粉
http://kimochii0511.pixnet.net/blog/post/48383430
食記 中壢美食
http://angel25992599.pixnet.net/blog/post/42315649-%e4%b8%ad%e5%a3%a2%e7%be%8e%e9%a3%9f%e2%99%a5love-in-cafe%e2%99%a5%e6%a8%82%e9%a3%b2%e5%92%96%e5%95%a1%e2%99%a5%e8%ae%93%e5%a5%b3%e5%ad%a9%e5%85%92%e5%80%91
中壢美食 鬆餅 巧克力布朗尼 cafe
http://angel25992599.pixnet.net/blog/post/43303609-%e4%b8%ad%e5%a3%a2%e7%be%8e%e9%a3%9f%e2%9d%a4%e5%8f%b0%e5%8d%97%e9%98%bf%e8%b2%a1%e7%89%9b%e8%82%89%e6%b9%af-%e7%81%ab%e9%8d%8b-%e6%ba%ab%e9%ab%94%e7%89%9b-%e5%8f%b0%e5%8d%97
中壢美食 火鍋
http://sasaraia8463.pixnet.net/blog/post/357367200-%e5%a2%be%e4%b8%81%7e2105%e6%b5%b7%e6%99%b4%e5%a4%a9%e6%b0%91%e5%ae%bf%e5%b9%b3%e6%97%a5%24800%e9%9b%99%e4%ba%ba%e6%88%bf%e4%b9%be%e6%b7%a8%e5%8f%88%e8%88%92%e9%81%a9
第三航廈 嘉義美食 洋朵 中壢美食 泰式料理 恩愛農場
http://s045488.pixnet.net/blog/post/437958427-%5b%e4%b8%ad%e5%a3%a2%e8%a7%80%e5%85%89%e5%a4%9c%e5%b8%82%e7%be%8e%e9%a3%9f%5d%e7%b0%a1%e5%b8%ab%e5%82%85%e9%ba%bb%e8%be%a3%e8%87%ad%e8%b1%86%e8%85%90%e2%99%a5%e4%b8%ad%e5%a3%a2
中壢觀光夜市 中壢美食 麻辣臭豆腐 桃園景點 桃園住宿 中壢景點
http://noraken11.pixnet.net/blog/post/207267172
中壢美食 鐵板燒 野良犬 父親節 母親節 情人節
http://esther6lu.pixnet.net/blog/post/105775790
中壢美食 下午茶 桃園餐廳 中壢下午茶 早午餐
http://esther6lu.pixnet.net/blog/post/114998783
大江購物中心 靜岡勝政 日式豬排 一抹綠 中壢美食 中壢甜點
http://ruby4089.pixnet.net/blog/post/62915628
築地鮮魚 中壢美食 美食 日式料理 生魚片 定食
http://s045488.pixnet.net/blog/post/447984845-%5b%e7%94%9f%e6%b4%bb%e8%b3%87%e8%a8%8a%5d%e6%91%a9%e7%88%be%e7%a9%ba%e9%96%93%e5%80%8b%e4%ba%ba%e5%80%89%e5%ba%ab%e2%99%a5%e5%85%a8%e5%8f%b0%e6%93%81%e6%9c%8925%e9%96%93
摩爾空間 生活 收納 倉庫 中壢景點 中壢美食 中壢住宿
http://alphabear.pixnet.net/blog/post/6444982
西堤牛排 中壢美食
http://ryohei0221.pixnet.net/blog/post/54592104
吼牛排 中壢美食 牛排 牛小排
http://carol19740806.pixnet.net/blog/post/378385763
福份山 中壢美食 紫馨膏 防蚊 Nordisk
http://hankcheng1786.pixnet.net/blog/post/291277084
桃園美食 中壢美食
http://ktokuleo.pixnet.net/blog/post/62186377
中壢美食 嚐嚐九九
http://leiioo3.pixnet.net/blog/post/100913173
中壢美食 東東麵館
http://eva6955.pixnet.net/blog/post/5596303
中壢美食 懷舊餐廳
http://mika0310.pixnet.net/blog/post/206772739
中壢美食 韓式料理 小聚食堂
http://killua3307.pixnet.net/blog/post/107859130
中壢市 中壢美食
http://angel25992599.pixnet.net/blog/post/43149967-%e4%b8%ad%e5%a3%a2%e7%be%8e%e9%a3%9f%e2%9d%a4%e4%b8%ad%e5%8e%9f%e5%95%86%e5%9c%88%e2%9d%a4%e4%b8%89%e9%89%84%e9%90%b5%e6%9d%bf%e7%87%92%e2%9d%a4%e7%84%a1%e8%8f%9c%e5%96%ae%e6%96%99
中壢美食 無菜單料理 波士頓龍蝦
http://ryohei0221.pixnet.net/blog/post/61076986
中壢美食 泰國料理 泰式料理 咖啡館
http://viviyu.pixnet.net/blog/post/46670074
桃園美食 中壢美食 中壢甜點 蛋糕
http://inraydesign.pixnet.net/blog/post/64320607
中原夜市 鬆餅 中壢美食 桃園美食 中原夜市美食 墨西哥 生菜 沙拉 PPAP
http://bbv2203.pixnet.net/blog/post/63643558-%5b%e9%a3%9f%e8%a8%98%5d%e4%b8%ad%e5%a3%a2-our-bistro%e5%b0%8f%e8%81%9a%e9%a3%9f%e5%a0%82-%e4%b8%ad%e5%a3%a2%e9%99%bd%e5%85%89%e5%ba%97
小聚 小聚食堂 美式餐廳 中壢美食 西班牙
http://scbear269.pixnet.net/blog/post/451910630
中壢美食 茶自點 茶點 珍奶
http://silvia790209.pixnet.net/blog/post/393264523-%e7%be%8e%e9%a3%9f----%e4%b8%ad%e5%a3%a2-table2-coffee-roaster-%e6%97%a9%e5%8d%88%e9%a4%90-%26-%e4%b8%8b%e5%8d%88%e8%8c%b6
舒芙蕾鬆餅 中壢美食 下午茶 早午餐 coffee
http://thisisjanice.pixnet.net/blog/post/374027405
東東麵館 中壢美食 桃園美食
http://fun620.pixnet.net/blog/post/128741223
甜客廳 下午茶 中壢美食
http://eva6955.pixnet.net/blog/post/4231887
豬排飯 王品集團 中壢美食
http://sgps70519.pixnet.net/blog/post/118189682
小孩 溜滑梯 兒童 中壢美食 親子餐廳 義大利麵 輕食 咖啡 簡餐 媽咪
http://littlefish288.pixnet.net/blog/post/384261874-%5b%e9%a3%9f%e8%a8%98-%e6%a1%83%e5%9c%92%5d%e5%8f%b0%e5%8d%97%e6%ba%ab%e9%ab%94%e7%89%9b%e3%80%82%e4%b8%ad%e5%a3%a2%e6%97%97%e8%89%a6%e5%ba%97%2a%e6%b6%ae%e6%b6%ae%e9%8d%8b-
台南溫體牛 桃園美食 中壢美食 溫體牛
http://hibabino.pixnet.net/blog/post/57845223
燒肉 中原大學 烤肉 中壢美食 海鮮煎餅 中原美食
http://ruby4089.pixnet.net/blog/post/185868262
豐滿 三明治 中壢美食 美食 鮮奶吐司
http://s045488.pixnet.net/blog/post/445520279-%5b%e6%a1%83%e5%9c%92%e4%b8%ad%e5%a3%a2ubike%e5%91%a8%e9%82%8a%e7%be%8e%e9%a3%9f%5d%e4%b8%ad%e5%a3%a2ubike%e5%8d%81%e5%80%8b%e7%ab%99%e9%bb%9e%e2%99%a5%e4%b8%ad
Ubike 中壢美食 桃園中壢美食 桃園美食
http://tiffeny0502.pixnet.net/blog/post/189190499
中壢美食 鉅大 剉冰

結論

  • 由於 TagVec 一次只能算一千筆,為求 Random Initial Weight 初始值一至,故要設定 random seed
  • TagVec 效果似乎沒有那麼,但是加上 Category 作為篩選條件,似乎有稍微改善一些

In [ ]: