spaCy/spacy/lang/fr/punctuation.py

30 lines
989 B
Python
Raw Normal View History

2017-03-12 12:07:28 +00:00
# coding: utf8
2017-01-24 08:47:13 +00:00
from __future__ import unicode_literals
2017-05-08 20:29:04 +00:00
from ..char_classes import TOKENIZER_INFIXES, LIST_PUNCT LIST_ELLIPSES
from ..char_classes import LIST_QUOTES, CURRENCY, QUOTES, UNITS
from ..char_classes import ALPHA, ALPHA_LOWER, ALPHA_UPPER
2017-01-24 08:47:13 +00:00
2017-05-08 13:49:05 +00:00
ELISION = " ' ".strip().replace(' ', '').replace('\n', '')
HYPHENS = r"""- """.strip().replace(' ', '').replace('\n', '')
TOKENIZER_SUFFIXES = (
LIST_PUNCT +
LIST_ELLIPSES +
LIST_QUOTES +
[
r'(?<=[0-9])\+',
r'(?<=°[FfCcKk])\.', # 4°C. -> ["4°C", "."]
r'(?<=[0-9])°[FfCcKk]', # 4°C -> ["4", "°C"]
r'(?<=[0-9])%', # 4% -> ["4", "%"]
r'(?<=[0-9])(?:{c})'.format(c=CURRENCY),
r'(?<=[0-9])(?:{u})'.format(u=UNITS),
r'(?<=[0-9{al}{p}(?:{q})])\.'.format(al=ALPHA_LOWER, p=r'%²\-\)\]\+', q=QUOTES),
2017-05-08 13:49:05 +00:00
r'(?<=[{au}][{au}])\.'.format(au=ALPHA_UPPER)])
2017-01-24 08:47:13 +00:00
TOKENIZER_INFIXES += [
2017-05-08 13:49:05 +00:00
r'(?<=[{a}][{el}])(?=[{a}])'.format(a=ALPHA, el=ELISION)]