
    Wi                     F    d dl Zd dlmZ d dlmZ d dlmZ  G d de      Zy)    N)List)BaseEmbedder)select_backendc                        e Zd ZdZ fdZd	dee   dedej                  fdZ
d	dee   dedej                  fdZ xZS )
WordDocEmbedderz,Combine a document- and word-level embedder.c                 b    t         |           t        |      | _        t        |      | _        y )N)super__init__r   embedding_modelword_embedding_model)selfr   r   	__class__s      f/home/sietch6/trending-topics-pipeline/venv/lib/python3.12/site-packages/bertopic/backend/_word_doc.pyr
   zWordDocEmbedder.__init__
   s)    -o>$23G$H!    wordsverbosereturnc                 :    | j                   j                  ||      S )aZ  Embed a list of n words into an n-dimensional
        matrix of embeddings.

        Arguments:
            words: A list of words to be embedded
            verbose: Controls the verbosity of the process

        Returns:
            Word embeddings with shape (n, m) with `n` words
            that each have an embeddings size of `m`

        )r   embed)r   r   r   s      r   embed_wordszWordDocEmbedder.embed_words   s     ((..ug>>r   documentc                 :    | j                   j                  ||      S )ah  Embed a list of n words into an n-dimensional
        matrix of embeddings.

        Arguments:
            document: A list of documents to be embedded
            verbose: Controls the verbosity of the process

        Returns:
            Document embeddings with shape (n, m) with `n` documents
            that each have an embeddings size of `m`
        )r   r   )r   r   r   s      r   embed_documentszWordDocEmbedder.embed_documents   s     ##))(G<<r   )F)__name__
__module____qualname____doc__r
   r   strboolnpndarrayr   r   __classcell__)r   s   @r   r   r      sP    6I?c ?T ?bjj ?=S	 =D =RZZ =r   r   )	numpyr    typingr   bertopic.backend._baser   bertopic.backend._utilsr   r    r   r   <module>r(      s      / 2$=l $=r   