def simplify_postags(tagged_words):
    """
    Convert part-of-speech tags (Penn Treebank tagset) to the 4 tags {_N, _V, _J, _X} for
    nounds, verbs, adjectives/adverbs, and others.
    Beware that this method takes a list of tuples and returns a list of strings.
    :param tagged_words: [(str,str)] -- words and their associated POS-tags
    :return: [str] -- words ending with {_N, _V, _J, _X}
    """
    postags = {"N": ["NN", "NNS", "NNP", "NNPS"],
               "V": ["VB", "VBD", "VBG", "VBN", "VBZ", "VBP"],
               "J": ["JJ", "JJR", "JJS"]}
    simplified = []
    for w, t in tagged_words:
        if t in postags["N"]:
            simplified.append("_".join([w, "N"]))
        elif t in postags["V"]:
            simplified.append("_".join([w, "V"]))
        elif t in postags["J"]:
            simplified.append("_".join([w, "J"]))
        else:
            simplified.append("_".join([w, "X"]))
    return simplified