
    /h                         S SK Jr  SS jrg)    )wordnetNc                   ^ [        U 5      mUc  [        R                  " XS9nU(       a1  U Vs/ s H$  n[        UR	                  5       5      U:X  d  M"  UPM&     nnU(       d  g[        U4S jU 5       5      u  pgU$ s  snf )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('savings_bank.n.02')

[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              3      >#    U  H=  n[        TR                  UR                  5       R                  5       5      5      U4v   M?     g 7f)N)lenintersection
definitionsplit).0sscontexts     @/var/www/auris/envauris/lib/python3.13/site-packages/nltk/wsd.py	<genexpr>lesk.<locals>.<genexpr>0   s8      KRRW!!"--/"7"7"9:	;R@7s   AA)setr   synsetsstrposmax)	context_sentenceambiguous_wordr   r   r   r   _senser   s	           @r   leskr      sw    2 "#G//.<
 '@"3rvvx=C+?2@ KR HA L As   !A=A=)NNeng)nltk.corpusr   r        r   <module>r      s     'r   