本文整理汇总了Python中Features.get_unigram_dict方法的典型用法代码示例。如果您正苦于以下问题:Python Features.get_unigram_dict方法的具体用法?Python Features.get_unigram_dict怎么用?Python Features.get_unigram_dict使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Features
的用法示例。
在下文中一共展示了Features.get_unigram_dict方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: featurize
# 需要导入模块: import Features [as 别名]
# 或者: from Features import get_unigram_dict [as 别名]
def featurize(dataset):
#random.shuffle(dataset)
# dataset = dataset[:5000]
train_data = dataset[0:int(len(dataset)*(3./5.))]
validation_data = dataset[int(len(dataset)*(3./5.)):int(len(dataset)*(4./5.))]
test_data = dataset[int(len(dataset)*(4./5.)):]
print len(train_data)
print len(validation_data)
u_dict = sorted(Features.get_unigram_dict(train_data).keys())
pos_dict = sorted(Features.get_pos_dict(train_data).keys())
train = True
for dataset in [train_data, test_data]:
vecs = []
for sent in dataset:
sent_data = [w[0] for w in sent]
for i in range(len(sent)):
word_data = sent[i]
word = word_data[0]
pos = word_data[1]
tag = word_data[2]
start = max(0, i-3)
end = min(len(sent)-1, i+3)
new_sent_data = [w[0] for w in sent[start:i] + sent[i+1:end]]
current_vec = Features.ic(word)
current_vec += Features.ic_average(new_sent_data)
current_vec += Features.vectorize_pos(pos, pos_dict)
current_vec += Features.skip_w2v(new_sent_data, word_data)
current_vec += Features.word_w2v(word)
if tag == "met":
current_vec += [1]
else:
current_vec += [0]
vecs.append(current_vec)
if train:
train_data = vecs
train = False
else:
test_data = vecs
return train_data, test_data