spaCy/spacy/lang/fr/punctuation.py

37 lines
1.0 KiB
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 22:00:54 +00: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 08:47:13 +00:00
ELISION = " ' ".strip().replace(" ", "").replace("\n", "")
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)
]
2017-05-08 22:00:54 +00:00
TOKENIZER_SUFFIXES = _suffixes
TOKENIZER_INFIXES = _infixes