def word_similarity_explorer(corpus,
                             category,
                             category_name,
                             not_category_name,
                             target_term,
                             nlp=None,
                             alpha=0.01,
                             max_p_val=0.1,
                             **kwargs):
    '''
    Parameters
    ----------
    corpus : Corpus
        Corpus to use.
    category : str
        Name of category column as it appears in original data frame.
    category_name : str
        Name of category to use.  E.g., "5-star reviews."
    not_category_name : str
        Name of everything that isn't in category.  E.g., "Below 5-star reviews".
    target_term : str
        Word or phrase for semantic similarity comparison
    nlp : spaCy-like parsing function
        E.g., spacy.load('en'), whitespace_nlp, etc...
    alpha : float, default = 0.01
        Uniform dirichlet prior for p-value calculation
    max_p_val : float, default = 0.1
        Max p-val to use find set of terms for similarity calculation
    Remaining arguments are from `produce_scattertext_explorer`.
    Returns
    -------
        str, html of visualization
    '''

    if nlp is None:
        import spacy
        nlp = spacy.load('en')

    base_term = nlp(target_term)
    scores = np.array([base_term.similarity(nlp(tok))
                       for tok
                       in corpus._term_idx_store._i2val])
    return produce_scattertext_explorer(corpus,
                                        category,
                                        category_name,
                                        not_category_name,
                                        scores=scores,
                                        sort_by_dist=False,
                                        reverse_sort_scores_for_not_category=False,
                                        word_vec_use_p_vals=True,
                                        term_significance=LogOddsRatioUninformativeDirichletPrior(alpha),
                                        max_p_val=max_p_val,
                                        p_value_colors=True,
                                        **kwargs)