
    j                         d dl mZ ddZdS )    )wordnetNengc                     t          |           |t          j        ||          }rfd|D             }|sdS t          |fd          }|S )a  Return a synset for an ambiguous word in a context.

    :param iter context_sentence: The context sentence where the ambiguous word
         occurs, passed as an iterable of words.
    :param str ambiguous_word: The ambiguous word that requires WSD.
    :param str pos: A specified Part-of-Speech (POS).
    :param iter synsets: Possible synsets of the ambiguous word.
    :param str lang: WordNet language.
    :return: ``lesk_sense`` The Synset() object with the highest signature overlaps.

    This function is an implementation of the original Lesk algorithm (1986) [1].

    Usage example::

        >>> lesk(['I', 'went', 'to', 'the', 'bank', 'to', 'deposit', 'money', '.'], 'bank', 'n')
        Synset('depository_financial_institution.n.01')

    [1] Lesk, Michael. "Automatic sense disambiguation using machine
    readable dictionaries: how to tell a pine cone from an ice cream
    cone." Proceedings of the 5th Annual International Conference on
    Systems Documentation. ACM, 1986.
    https://dl.acm.org/citation.cfm?id=318728
    N)langc                 ^    g | ])}t          |                                          k    '|*S  )strpos).0ssr
   s     R/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/nltk/wsd.py
<listcomp>zlesk.<locals>.<listcomp>+   s1    @@@"3rvvxx==C+?+?2+?+?+?    c                     t                              |                                                                                     S )N)lenintersection
definitionsplit)r   contexts    r   <lambda>zlesk.<locals>.<lambda>1   s1    G$8$89N9N9P9P$Q$Q R R r   )key)setr   synsetsmax)context_sentenceambiguous_wordr
   r   r   senser   s     `   @r   leskr      s    2 "##G/.t<<<
 A@@@@@@@ tRRRR  E Lr   )NNr   )nltk.corpusr   r   r   r   r   <module>r       s7          ' ' ' ' ' 'r   