def generate_features(stances,dataset,name): h, b, y = [],[],[] for stance in stances: y.append(LABELS.index(stance['Stance'])) h.append(stance['Headline']) b.append(dataset.articles[stance['Body ID']]) # Get LIWC lexicons liwc_lex = LIWC_lexicons('2015') X_overlap = gen_or_load_feats(word_overlap_features, h, b, "fnc_1_baseline_master/features/overlap."+name+".npy") X_refuting = gen_or_load_feats(refuting_features, h, b, "fnc_1_baseline_master/features/refuting."+name+".npy") X_polarity = gen_or_load_feats(polarity_features, h, b, "fnc_1_baseline_master/features/polarity."+name+".npy") X_hand = gen_or_load_feats(hand_features, h, b, "fnc_1_baseline_master/features/hand."+name+".npy") X_discuss = gen_or_load_feats(discuss_features, h, b, "fnc_1_baseline_master/features/discuss."+name+".npy") # X_pronoun = gen_or_load_feats_liwc(reg_counts, liwc_lex['pronoun'], h, b, "fnc_1_baseline_master/features/pronoun_reg."+name+".npy") # X_anx = gen_or_load_feats_liwc(reg_counts, liwc_lex['anx'], h, b, "fnc_1_baseline_master/features/anx_reg."+name+".npy") # X_anger = gen_or_load_feats_liwc(reg_counts, liwc_lex['anger'], h, b, "fnc_1_baseline_master/features/anger_reg."+name+".npy") X_negate = gen_or_load_feats_liwc(overlap_counts, liwc_lex['negate'], h, b, 'fnc_1_baseline_master/features/negate_reg.'+name+'.npy') # X_quant = gen_or_load_feats_liwc(reg_counts, liwc_lex['quant'], h, b, 'fnc_1_baseline_master/features/quant_reg.'+name+'.npy') X = np.c_[X_negate, X_discuss, X_hand, X_polarity, X_refuting, X_overlap] return X,y
def generate_features(h, b): name = (str(b[:10]) + str(h[:10])) name = name.replace(' ', '') h = [h] b = [b] # Transform b to be one string instead of a list of words X_overlap = gen_or_load_feats( word_overlap_features, h, b, "fnc_1_baseline_master/features/overlap." + name + ".npy") X_refuting = gen_or_load_feats( refuting_features, h, b, "fnc_1_baseline_master/features/refuting." + name + ".npy") X_polarity = gen_or_load_feats( polarity_features, h, b, "fnc_1_baseline_master/features/polarity." + name + ".npy") X_hand = gen_or_load_feats( hand_features, h, b, "fnc_1_baseline_master/features/hand." + name + ".npy") X_discuss = gen_or_load_feats( discuss_features, h, b, "fnc_1_baseline_master/features/discuss." + name + ".npy") # X_vader_sentiment = gen_feats(get_sentiment_difference, h, b, "fnc_1_baseline_master/features/vader_sentiment."+name+".npy") #X_tfidf_headline, X_tfidf_bodies = gen_feats(get_tfidf, h, b, "fnc_1_baseline_master/features/tfidf."+name+".npy") X = np.c_[X_hand, X_polarity, X_refuting, X_overlap] print(X) return X
def generate_features(stances, dataset, name): h, b, y = [], [], [] for stance in stances: y.append(LABELS.index(stance['Stance'])) h.append(stance['Headline']) b.append(dataset.articles[stance['Body ID']]) X_overlap = gen_or_load_feats( word_overlap_features, h, b, "fnc_1_baseline_master/features/overlap." + name + ".npy") X_refuting = gen_or_load_feats( refuting_features, h, b, "fnc_1_baseline_master/features/refuting." + name + ".npy") X_polarity = gen_or_load_feats( polarity_features, h, b, "fnc_1_baseline_master/features/polarity." + name + ".npy") X_hand = gen_or_load_feats( hand_features, h, b, "fnc_1_baseline_master/features/hand." + name + ".npy") X = np.c_[X_hand, X_polarity, X_refuting, X_overlap] X = X.reshape(len(y), 44, 1) y = np.asarray(y).reshape(len(y), 1, 1) return X, y
def generate_features(stances, dataset, name): h, b, y = [], [], [] for stance in stances: y.append(LABELS.index(stance['Stance'])) h.append(stance['Headline']) b.append(dataset.articles[stance['Body ID']]) # Transform b to be one string instead of a list of words b = [" ".join(body) for body in b] X_overlap = gen_or_load_feats( word_overlap_features, h, b, "fnc_1_baseline_master/features/overlap." + name + ".npy") X_refuting = gen_or_load_feats( refuting_features, h, b, "fnc_1_baseline_master/features/refuting." + name + ".npy") X_polarity = gen_or_load_feats( polarity_features, h, b, "fnc_1_baseline_master/features/polarity." + name + ".npy") X_hand = gen_or_load_feats( hand_features, h, b, "fnc_1_baseline_master/features/hand." + name + ".npy") X_discuss = gen_or_load_feats( discuss_features, h, b, "fnc_1_baseline_master/features/discuss." + name + ".npy") #X_vader_sentiment = gen_or_load_feats(get_sentiment_difference, h, b, "fnc_1_baseline_master/features/vader_sentiment."+name+".npy") #X_tfidf_headline, X_tfidf_bodies = gen_or_load_feats(get_tfidf, h, b, "fnc_1_baseline_master/features/tfidf."+name+".npy") # Pad X_vader_sentiment, X_tfidf_h, X_tfidf_b to fit feature matrix X #vader_padding = np.zeros((len(stances)-len(X_vader_sentiment), X_vader_sentiment.shape[1])) #X_vader_sentiment = np.append(X_vader_sentiment, vader_padding, axis = 0) #tfidf_h_padding = np.zeros((len(stances)-X_tfidf_headline.shape[0], X_tfidf_headline.shape[1])) #X_tfidf_headline = vstack((X_tfidf_headline, tfidf_h_padding)) #tfidf_b_padding = np.zeros((len(stances)-X_tfidf_bodies.shape[0], X_tfidf_bodies.shape[1])) #X_tfidf_bodies = vstack((X_tfidf_bodies, tfidf_b_padding)) #print("X_hand: " + str(X_hand.shape)) #print("X_discuss: " + str(X_discuss.shape)) #print("X_vader: " + str(X_vader_sentiment.shape)) #print("X_tfidf_h: " + str(X_tfidf_headline.shape)) #print("X_tfidf_b: " + str(X_tfidf_bodies.shape)) #X = np.c_[X_tfidf_headline.todense(), X_tfidf_bodies.todense(), X_vader_sentiment, X_discuss, X_hand, X_polarity, X_refuting, X_overlap] #X = np.c_[X_vader_sentiment, X_discuss, X_hand, X_polarity, X_refuting, X_overlap] X = np.c_[X_discuss, X_hand, X_polarity, X_refuting, X_overlap] #print("X: " + str(X.shape)) return X, y
def generate_features(stances,dataset,name): h, b, y = [],[],[] for stance in stances: y.append(LABELS.index(stance['Stance'])) h.append(stance['Headline']) b.append(dataset.articles[stance['Body ID']]) # Transform b to be one string instead of a list of words b = [" ".join(body) for body in b] X_overlap = gen_or_load_feats(word_overlap_features, h, b, "fnc_1_baseline_master/features/overlap."+name+".npy") X_refuting = gen_or_load_feats(refuting_features, h, b, "fnc_1_baseline_master/features/refuting."+name+".npy") X_polarity = gen_or_load_feats(polarity_features, h, b, "fnc_1_baseline_master/features/polarity."+name+".npy") X_hand = gen_or_load_feats(hand_features, h, b, "fnc_1_baseline_master/features/hand."+name+".npy") X_discuss = gen_or_load_feats(discuss_features, h, b, "fnc_1_baseline_master/features/discuss."+name+".npy") X_vader_sentiment = gen_or_load_feats(get_sentiment_difference, h, b, "fnc_1_baseline_master/features/vader_sentiment."+name+".npy") #X_tfidf_headline, X_tfidf_bodies = gen_or_load_feats(get_tfidf, h, b, "fnc_1_baseline_master/features/tfidf."+name+".npy") #print(X_hand.shape) #print(X_discuss.shape) #print(X_vader_sentiment.shape) #print(X_tfidf_headline.shape) #print(X_tfidf_bodies.shape) X = np.c_[X_hand, X_polarity, X_refuting, X_overlap] #print(X.shape) #X = X.reshape(len(y), 44, 1) #y = np.asarray(y).reshape(len(y), 1, 1) return X,y