Beispiel #1
0
def visualize_similarity(
    nlp: spacy.language.Language,
    default_texts: Tuple[str, str] = ("apple", "orange"),
    *,
    threshold: float = 0.5,
    title: Optional[str] = "Vectors & Similarity",
    key: Optional[str] = None,
) -> None:
    """Visualizer for semantic similarity using word vectors."""
    meta = nlp.meta.get("vectors", {})
    if title:
        st.header(title)
    if not meta.get("width", 0):
        st.warning("No vectors available in the model.")
    else:
        cols = st.beta_columns(2)
        text1 = cols[0].text_input("Text or word 1",
                                   default_texts[0],
                                   key=f"{key}_similarity_text1")
        text2 = cols[1].text_input("Text or word 2",
                                   default_texts[1],
                                   key=f"{key}_similarity_text2")
        doc1 = nlp.make_doc(text1)
        doc2 = nlp.make_doc(text2)
        similarity = doc1.similarity(doc2)
        similarity_text = f"**Score:** `{similarity}`"
        if similarity > threshold:
            st.success(similarity_text)
        else:
            st.error(similarity_text)

        exp = st.beta_expander("Vector information")
        exp.code(meta)
Beispiel #2
0
def visualize_similarity(
    nlp: spacy.language.Language,
    default_texts: Tuple[str, str] = ("apple", "orange"),
    *,
    threshold: float = 0.5,
    title: Optional[str] = "Vectors & Similarity",
) -> None:
    """Visualizer for semantic similarity using word vectors."""
    meta = nlp.meta.get("vectors", {})
    if title:
        st.header(title)
    if not meta.get("width", 0):
        st.warning("No vectors available in the model.")
    st.code(meta)
    text1 = st.text_input("Text or word 1", default_texts[0])
    text2 = st.text_input("Text or word 2", default_texts[1])
    doc1 = nlp.make_doc(text1)
    doc2 = nlp.make_doc(text2)
    similarity = doc1.similarity(doc2)
    if similarity > threshold:
        st.success(similarity)
    else:
        st.error(similarity)