| Server IP : 54.37.205.81 / Your IP : 216.73.216.76 Web Server : nginx/1.22.1 System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64 User : debian ( 1000) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/nltk/tbl/__pycache__/ |
Upload File : |
�
T�c�$ � �4 � d dl mZmZ G d� de�� � ZdS )� )�ABCMeta�abstractmethodc � � e Zd ZdZdZdZdd�Zd� Zed� � � Z d� Z
edd �� � Zd
� Zd� Z
d� Zd
� Zd� Zd� Zd� Zd� Zeed� � � � � ZdS )�Featurea
An abstract base class for Features. A Feature is a combination of
a specific property-computing method and a list of relative positions
to apply that method to.
The property-computing method, M{extract_property(tokens, index)},
must be implemented by every subclass. It extracts or computes a specific
property for the token at the current index. Typical extract_property()
methods return features such as the token text or tag; but more involved
methods may consider the entire sequence M{tokens} and
for instance compute the length of the sentence the token belongs to.
In addition, the subclass may have a PROPERTY_NAME, which is how
it will be printed (in Rules and Templates, etc). If not given, defaults
to the classname.
znltk.tbl.FeatureNc �~ � d| _ |�,t t d� |D � � � � � � | _ nj ||k rt �t t ||dz � � � � | _ n6# t $ r)}t d� ||� � � � |�d}~ww xY w| j j p| j j | _ dS )al
Construct a Feature which may apply at C{positions}.
>>> # For instance, importing some concrete subclasses (Feature is abstract)
>>> from nltk.tag.brill import Word, Pos
>>> # Feature Word, applying at one of [-2, -1]
>>> Word([-2,-1])
Word([-2, -1])
>>> # Positions need not be contiguous
>>> Word([-2,-1, 1])
Word([-2, -1, 1])
>>> # Contiguous ranges can alternatively be specified giving the
>>> # two endpoints (inclusive)
>>> Pos(-3, -1)
Pos([-3, -2, -1])
>>> # In two-arg form, start <= end is enforced
>>> Pos(2, 1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "nltk/tbl/template.py", line 306, in __init__
raise TypeError
ValueError: illegal interval specification: (start=2, end=1)
:type positions: list of int
:param positions: the positions at which this features should apply
:raises ValueError: illegal position specifications
An alternative calling convention, for contiguous positions only,
is Feature(start, end):
:type start: int
:param start: start of range where this feature should apply
:type end: int
:param end: end of range (NOTE: inclusive!) where this feature should apply
Nc �, � h | ]}t |� � ��S � )�int)�.0�is �2/usr/lib/python3/dist-packages/nltk/tbl/feature.py� <setcomp>z#Feature.__init__.<locals>.<setcomp>M s � �*E�*E�*E�a�3�q�6�6�*E�*E�*E� � z2illegal interval specification: (start={}, end={}))
� positions�tuple�sorted� TypeError�range�
ValueError�format� __class__�
PROPERTY_NAME�__name__)�selfr �end�es r
�__init__zFeature.__init__# s� � �P ����;�"�6�*E�*E�9�*E�*E�*E�#F�#F�G�G�D�N�N�
��s�?�?�#�O�!&�u�Y��a��'@�'@�!A�!A������
�
�
� �H�O�O�!�3�� �� � � �����
���� "�^�9�T�T�^�=T����s �2A* �*
B�4$B�Bc � � | j S �N)r �r s r
�encode_json_objzFeature.encode_json_obj^ s
� ��~�r c � � |} | |� � S r r )�cls�objr s r
�decode_json_objzFeature.decode_json_obja s � �� ��s�9�~�~�r c �J � | j j � dt | j � � �d�S )N�(�))r r �listr r! s r
�__repr__zFeature.__repr__f s( � ��.�)�E�E�D���,@�,@�E�E�E�Er Fc � � ��� t d� |D � � � � st d|� �� � ��fd�|D � � }� �fd�|D � � S )a�
Return a list of features, one for each start point in starts
and for each window length in winlen. If excludezero is True,
no Features containing 0 in its positions will be generated
(many tbl trainers have a special representation for the
target feature at [0])
For instance, importing a concrete subclass (Feature is abstract)
>>> from nltk.tag.brill import Word
First argument gives the possible start positions, second the
possible window lengths
>>> Word.expand([-3,-2,-1], [1])
[Word([-3]), Word([-2]), Word([-1])]
>>> Word.expand([-2,-1], [1])
[Word([-2]), Word([-1])]
>>> Word.expand([-3,-2,-1], [1,2])
[Word([-3]), Word([-2]), Word([-1]), Word([-3, -2]), Word([-2, -1])]
>>> Word.expand([-2,-1], [1])
[Word([-2]), Word([-1])]
A third optional argument excludes all Features whose positions contain zero
>>> Word.expand([-2,-1,0], [1,2], excludezero=False)
[Word([-2]), Word([-1]), Word([0]), Word([-2, -1]), Word([-1, 0])]
>>> Word.expand([-2,-1,0], [1,2], excludezero=True)
[Word([-2]), Word([-1]), Word([-2, -1])]
All window lengths must be positive
>>> Word.expand([-2,-1], [0])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "nltk/tag/tbl/template.py", line 371, in expand
:param starts: where to start looking for Feature
ValueError: non-positive window length in [0]
:param starts: where to start looking for Feature
:type starts: list of ints
:param winlens: window lengths where to look for Feature
:type starts: list of ints
:param excludezero: do not output any Feature with 0 in any of its positions.
:type excludezero: bool
:returns: list of Features
:raises ValueError: for non-positive window lengths
c 3 �"