admin管理员组文章数量:1609901
“论文主要研究的问题是识别并解释输入句子中的隐喻词,作者首次提出了一个支持机器翻译的无监督隐喻识别模型,无需任何预处理和标注数据即可进行训练。”
本次主要根据论文实现的论文的第四部分的如下图:
具体:程序步骤是给出一个英文句子,指定需要判断的目标单词,应用维基数据集训练词向量,得到所有英语单词的词向量(我写的程序可追加训练),给出一个英文句子,指定需要判断的目标单词,将句子中的单词分为上下文单词和目标单词 。根据WordNet,查找目标单词的同义词和直接上位词,将这些单词以及他们的变形作为候选单词集合,根据论文公式计算每个候选词和上下文单词的均值向量的cos相似度,取使相似度最大的单词作为最接近的词X,然后再计算X与目标单词的cos相似度,根据是否大于论文中所说的阈值来判断隐喻性。阈值论文交代了为0.6。
python 2.7
需要装的包:gensim、numpy、nltk。
第一步要先把将下载的wiki预料压缩包转换为text格式。
gensim部分程序,包括第一步和利用gensim生成词向量程序参考了网上的例子。
# -*- coding: utf-8 -*-
from __future__ import print_function
import six
from gensim.corpora import WikiCorpus
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
if __name__ == '__main__':
inp = "enwiki-latest-pages-articles1.xml-p1p30303.bz2"
outp = "out_wiki.en_new.txt"
space = " "
i = 0
output = open(outp, 'w')
wiki = WikiCorpus(inp, lemmatize=False, dictionary={})
for text in wiki.get_texts():
if(i % 1000 == 0):
print("正在抽取第"+str(i)+"篇文章")
if six.PY3:
output.write(' '.join(text).decode('utf-8') + '\n')
else:
output.write(space.join(text) + "\n")
i = i + 1
output.close()
# -*- coding: utf-8 -*-
from gensim.models import Word2Vec
from smart_open import open
if __name__ == '__main__':
input1 = "out_wiki.en_new.txt"
output1 = "word2vec1.model"
output2 = "vector1.model"
sentences = []
with open(input1, 'r') as f:
for line in f:
if " " in line:
sentences.append(line.split(" "))
model = Word2Vec(size=200, window=5, min_count=5, workers=4) # 定义word2vec 对象
print "正在建立训练集词典,请稍等……"
#.sg=1是skip-gram算法,对低频词敏感;默认sg=0为CBOW算法。语料小(小于一亿词,约 500MB 的文本文件)的时候用 Skip-gram 模型,语料大的时候用 CBOW 模型
model.build_vocab(sentences) # 建立初始训练集的词典
print "正在训练词向量,请稍等……"
model.train(sentences, total_examples=model.corpus_count, epochs=model.iter) # 模型训练
print "正在训练模型,请稍等……"
model.save(output1) # 模型保存
print "正在保存模型和词向量,请稍等……"
model.wv.save_word2vec_format(output2, binary=False) # 词向量保存
print "完成!"
研读论文报告-《Word Embedding andWordNet Based Metaphor Identification and Interpretation》(2018ACL)
本文标签: 报告论文EmbeddingandWordNetBased
版权声明:本文标题:研读论文报告-《Word Embedding andWordNet Based Metaphor Identification and Interpretation》(2018ACL) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1728575848a1164458.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论