spaCy/spacy/lang/fr/punctuation.py

30 lines
1.0 KiB
Python
Raw Normal View History

2017-03-12 15:07:28 +03:00
# coding: utf8
2017-01-24 11:47:13 +03:00
from __future__ import unicode_literals
2017-05-09 01:00:54 +03:00
from ..punctuation import TOKENIZER_INFIXES
from ..char_classes import LIST_PUNCT, LIST_ELLIPSES, LIST_QUOTES, CURRENCY
from ..char_classes import QUOTES, UNITS, ALPHA, ALPHA_LOWER, ALPHA_UPPER
2017-01-24 11:47:13 +03:00
2017-05-08 16:49:05 +03:00
ELISION = " ' ".strip().replace(' ', '').replace('\n', '')
2017-05-09 01:00:54 +03:00
HYPHENS = r"- ".strip().replace(' ', '').replace('\n', '')
_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])(?:{})'.format(CURRENCY),
r'(?<=[0-9])(?:{})'.format(UNITS),
r'(?<=[0-9{}{}(?:{})])\.'.format(ALPHA_LOWER, r'%²\-\)\]\+', QUOTES),
r'(?<=[{au}][{au}])\.'.format(au=ALPHA_UPPER)])
_infixes = (TOKENIZER_INFIXES +
[r'(?<=[{a}][{el}])(?=[{a}])'.format(a=ALPHA, el=ELISION)])
TOKENIZER_SUFFIXES = _suffixes
TOKENIZER_INFIXES = _infixes