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
示例#2
0
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
示例#4
0
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
示例#5
0
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