備忘錄_20160105(定位) 修改 回首頁

程式 2023-03-24 15:49:37 1679644177 100
word2vec初探

word2vec初探



import gensim
import logging

logging.basicConfig(format='%(asctime)s : %(levelname)s : $(message)s', level=logging.INFO)

sentences=[['this','is','a','good','book'],
           ['this','is','a','pen'],
           ['that','is','a','bad','book'],
           ['that','is','a','pencil']]
           
sentences=[
    ['大勢至','法王子','。','與','其','同倫',',','五','十','二','菩薩',',','即','從','座','起','。','頂禮','佛','足',',','而','白','佛','言','。'],
    ['我','憶','往昔',',','恒河','沙','劫','。','有','佛','出','世',',','名','無量光','。','十','二','如來',',','相','繼','一','劫','。','其','最後','佛',',','名','超日月光','。'],
    ['彼','佛','教','我','念','佛','三昧','。'],
    ['譬','如','有','人',',','一','專','為','憶',',','一','人','專','忘','。','如','是','二','人',',','若','逢','不','逢',',','或','見','非','見','。','二','人','相','憶',',','二','憶','念','深','。','如','是','乃至',',','從','生','至','生',',','同','於','形','影',',','不','相','乖','異','。'],
    ['十方','如來',',','憐念','眾生',',','如','母','憶','子','。','若','子','逃逝',',','雖','憶','何','為','。'],
    ['子','若','憶','母',',','如','母','憶','時','。','母','子','歷','生',',','不','相','違遠','。'],
    ['若','眾生','心',',','憶','佛','念','佛','。','現前','當來',',','必定','見','佛',','],
    ['去','佛','不遠','。','不','假','方','便',',','自','得','心','開','。'],
    ['如','染香','人',',','身','有','香氣','。','此','則','名','曰','香光','莊嚴','。'],
    ['我','本','因地',',','以','念','佛','心',',','入','無生忍','。'],
    ['今','於','此','界',',','攝','念','佛','人',',','歸','於','淨土','。'],
    ['佛','問','圓通',',','我','無','選擇',',','都','攝','六根','。','淨念','相繼','。','得','三','摩','地',',','斯','為','第一','。']]

sentences=[['大','勢','至','法','王','子','。','與','其','同','倫',',','五','十','二','菩','薩',',','即','從','座','起','。','頂','禮','佛','足',',','而','白','佛','言','。','我','憶','往','昔',',','恒','河','沙','劫','。','有','佛','出','世',',','名','無','量','光','。','十','二','如','來',',','相','繼','一','劫','。','其','最','後','佛',',','名','超','日','月','光','。'],['彼','佛','教','我','念','佛','三','昧','。','譬','如','有','人',',','一','專','為','憶',',','一','人','專','忘','。','如','是','二','人',',','若','逢','不','逢',',','或','見','非','見','。','二','人','相','憶',',','二','憶','念','深','。','如','是','乃','至',',','從','生','至','生',',','同','於','形','影',',','不','相','乖','異','。'],['十','方','如','來',',','憐','念','眾','生',',','如','母','憶','子','。','若','子','逃','逝',',','雖','憶','何','為','。','子','若','憶','母',',','如','母','憶','時','。','母','子','歷','生',',','不','相','違','遠','。'],['若','眾','生','心',',','憶','佛','念','佛','。','現','前','當','來',',','必','定','見','佛',',','去','佛','不','遠','。','不','假','方','便',',','自','得','心','開','。','如','染','香','人',',','身','有','香','氣','。','此','則','名','曰','香','光','莊','嚴','。'],['我','本','因','地',',','以','念','佛','心',',','入','無','生','忍','。','今','於','此','界',',','攝','念','佛','人',',','歸','於','淨','土','。','佛','問','圓','通',',','我','無','選','擇',',','都','攝','六','根','。','淨','念','相','繼','。','得','三','摩','地',',','斯','為','第','一','。']]

model=gensim.models.Word2Vec(sentences, min_count=1, sg=1) # sg=0 CBOW, sg=1 skip-gram.
model.save('word2vec.model')

words=['憶','佛','念','佛']
mapped=[]
for i in range(len(words)):
  similar_words=model.wv.most_similar(words[i])
  print(similar_words)
  mapped.append(similar_words[0][0])

print("")
print('原始句子')
print(words)
print("")
print('輸出結果')
print(mapped)