mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			395 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			395 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from ..tokenizer_exceptions import BASE_EXCEPTIONS
 | 
						||
from ...symbols import ORTH, NORM
 | 
						||
from ...util import update_exc
 | 
						||
 | 
						||
_exc = {}
 | 
						||
 | 
						||
for token in ["Απ'", "ΑΠ'", "αφ'", "Αφ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "από"}]
 | 
						||
 | 
						||
for token in ["Αλλ'", "αλλ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "αλλά"}]
 | 
						||
 | 
						||
for token in ["παρ'", "Παρ'", "ΠΑΡ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "παρά"}]
 | 
						||
 | 
						||
for token in ["καθ'", "Καθ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "κάθε"}]
 | 
						||
 | 
						||
for token in ["κατ'", "Κατ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "κατά"}]
 | 
						||
 | 
						||
for token in ["'ΣΟΥΝ", "'ναι", "'ταν", "'τανε", "'μαστε", "'μουνα", "'μουν"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "είμαι"}]
 | 
						||
 | 
						||
for token in ["Επ'", "επ'", "εφ'", "Εφ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "επί"}]
 | 
						||
 | 
						||
for token in ["Δι'", "δι'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "δια"}]
 | 
						||
 | 
						||
for token in ["'χουν", "'χουμε", "'χαμε", "'χα", "'χε", "'χεις", "'χει"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "έχω"}]
 | 
						||
 | 
						||
for token in ["υπ'", "Υπ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "υπό"}]
 | 
						||
 | 
						||
for token in ["Μετ'", "ΜΕΤ'", "'μετ"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "μετά"}]
 | 
						||
 | 
						||
for token in ["Μ'", "μ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "με"}]
 | 
						||
 | 
						||
for token in ["Γι'", "ΓΙ'", "γι'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "για"}]
 | 
						||
 | 
						||
for token in ["Σ'", "σ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "σε"}]
 | 
						||
 | 
						||
for token in ["Θ'", "θ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "θα"}]
 | 
						||
 | 
						||
for token in ["Ν'", "ν'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "να"}]
 | 
						||
 | 
						||
for token in ["Τ'", "τ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "να"}]
 | 
						||
 | 
						||
for token in ["'γω", "'σένα", "'μεις"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "εγώ"}]
 | 
						||
 | 
						||
for token in ["Τ'", "τ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "το"}]
 | 
						||
 | 
						||
for token in ["Φέρ'", "Φερ'", "φέρ'", "φερ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "φέρνω"}]
 | 
						||
 | 
						||
for token in ["'ρθούνε", "'ρθουν", "'ρθει", "'ρθεί", "'ρθε", "'ρχεται"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "έρχομαι"}]
 | 
						||
 | 
						||
for token in ["'πανε", "'λεγε", "'λεγαν", "'πε", "'λεγα"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "λέγω"}]
 | 
						||
 | 
						||
for token in ["Πάρ'", "πάρ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "παίρνω"}]
 | 
						||
 | 
						||
for token in ["μέσ'", "Μέσ'", "μεσ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "μέσα"}]
 | 
						||
 | 
						||
for token in ["Δέσ'", "Δεσ'", "δεσ'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "δένω"}]
 | 
						||
 | 
						||
for token in ["'κανε", "Κάν'"]:
 | 
						||
    _exc[token] = [{ORTH: token, NORM: "κάνω"}]
 | 
						||
 | 
						||
_other_exc = {
 | 
						||
    "κι": [{ORTH: "κι", NORM: "και"}],
 | 
						||
    "Παίξ'": [{ORTH: "Παίξ'", NORM: "παίζω"}],
 | 
						||
    "Αντ'": [{ORTH: "Αντ'", NORM: "αντί"}],
 | 
						||
    "ολ'": [{ORTH: "ολ'", NORM: "όλος"}],
 | 
						||
    "ύστερ'": [{ORTH: "ύστερ'", NORM: "ύστερα"}],
 | 
						||
    "'πρεπε": [{ORTH: "'πρεπε", NORM: "πρέπει"}],
 | 
						||
    "Δύσκολ'": [{ORTH: "Δύσκολ'", NORM: "δύσκολος"}],
 | 
						||
    "'θελα": [{ORTH: "'θελα", NORM: "θέλω"}],
 | 
						||
    "'γραφα": [{ORTH: "'γραφα", NORM: "γράφω"}],
 | 
						||
    "'παιρνα": [{ORTH: "'παιρνα", NORM: "παίρνω"}],
 | 
						||
    "'δειξε": [{ORTH: "'δειξε", NORM: "δείχνω"}],
 | 
						||
    "όμουρφ'": [{ORTH: "όμουρφ'", NORM: "όμορφος"}],
 | 
						||
    "κ'τσή": [{ORTH: "κ'τσή", NORM: "κουτσός"}],
 | 
						||
    "μηδ'": [{ORTH: "μηδ'", NORM: "μήδε"}],
 | 
						||
    "'ξομολογήθηκε": [{ORTH: "'ξομολογήθηκε", NORM: "εξομολογούμαι"}],
 | 
						||
    "'μας": [{ORTH: "'μας", NORM: "εμάς"}],
 | 
						||
    "'ξερες": [{ORTH: "'ξερες", NORM: "ξέρω"}],
 | 
						||
    "έφθασ'": [{ORTH: "έφθασ'", NORM: "φθάνω"}],
 | 
						||
    "εξ'": [{ORTH: "εξ'", NORM: "εκ"}],
 | 
						||
    "δώσ'": [{ORTH: "δώσ'", NORM: "δίνω"}],
 | 
						||
    "τίποτ'": [{ORTH: "τίποτ'", NORM: "τίποτα"}],
 | 
						||
    "Λήξ'": [{ORTH: "Λήξ'", NORM: "λήγω"}],
 | 
						||
    "άσ'": [{ORTH: "άσ'", NORM: "αφήνω"}],
 | 
						||
    "Στ'": [{ORTH: "Στ'", NORM: "στο"}],
 | 
						||
    "Δωσ'": [{ORTH: "Δωσ'", NORM: "δίνω"}],
 | 
						||
    "Βάψ'": [{ORTH: "Βάψ'", NORM: "βάφω"}],
 | 
						||
    "Αλλ'": [{ORTH: "Αλλ'", NORM: "αλλά"}],
 | 
						||
    "Αμ'": [{ORTH: "Αμ'", NORM: "άμα"}],
 | 
						||
    "Αγόρασ'": [{ORTH: "Αγόρασ'", NORM: "αγοράζω"}],
 | 
						||
    "'φύγε": [{ORTH: "'φύγε", NORM: "φεύγω"}],
 | 
						||
    "'φερε": [{ORTH: "'φερε", NORM: "φέρνω"}],
 | 
						||
    "'φαγε": [{ORTH: "'φαγε", NORM: "τρώω"}],
 | 
						||
    "'σπαγαν": [{ORTH: "'σπαγαν", NORM: "σπάω"}],
 | 
						||
    "'σκασε": [{ORTH: "'σκασε", NORM: "σκάω"}],
 | 
						||
    "'σβηνε": [{ORTH: "'σβηνε", NORM: "σβήνω"}],
 | 
						||
    "'ριξε": [{ORTH: "'ριξε", NORM: "ρίχνω"}],
 | 
						||
    "'κλεβε": [{ORTH: "'κλεβε", NORM: "κλέβω"}],
 | 
						||
    "'κει": [{ORTH: "'κει", NORM: "εκεί"}],
 | 
						||
    "'βλεπε": [{ORTH: "'βλεπε", NORM: "βλέπω"}],
 | 
						||
    "'βγαινε": [{ORTH: "'βγαινε", NORM: "βγαίνω"}],
 | 
						||
}
 | 
						||
 | 
						||
_exc.update(_other_exc)
 | 
						||
 | 
						||
for h in range(1, 12 + 1):
 | 
						||
 | 
						||
    for period in ["π.μ.", "πμ"]:
 | 
						||
        _exc[f"{h}{period}"] = [
 | 
						||
            {ORTH: f"{h}"},
 | 
						||
            {ORTH: period, NORM: "π.μ."},
 | 
						||
        ]
 | 
						||
 | 
						||
    for period in ["μ.μ.", "μμ"]:
 | 
						||
        _exc[f"{h}{period}"] = [
 | 
						||
            {ORTH: f"{h}"},
 | 
						||
            {ORTH: period, NORM: "μ.μ."},
 | 
						||
        ]
 | 
						||
 | 
						||
for exc_data in [
 | 
						||
    {ORTH: "ΑΓΡ.", NORM: "Αγροτικός"},
 | 
						||
    {ORTH: "Αγ. Γρ.", NORM: "Αγία Γραφή"},
 | 
						||
    {ORTH: "Αθ.", NORM: "Αθανάσιος"},
 | 
						||
    {ORTH: "Αλεξ.", NORM: "Αλέξανδρος"},
 | 
						||
    {ORTH: "Απρ.", NORM: "Απρίλιος"},
 | 
						||
    {ORTH: "Αύγ.", NORM: "Αύγουστος"},
 | 
						||
    {ORTH: "Δεκ.", NORM: "Δεκέμβριος"},
 | 
						||
    {ORTH: "Δημ.", NORM: "Δήμος"},
 | 
						||
    {ORTH: "Ιαν.", NORM: "Ιανουάριος"},
 | 
						||
    {ORTH: "Ιούλ.", NORM: "Ιούλιος"},
 | 
						||
    {ORTH: "Ιούν.", NORM: "Ιούνιος"},
 | 
						||
    {ORTH: "Ιωαν.", NORM: "Ιωάννης"},
 | 
						||
    {ORTH: "Μ. Ασία", NORM: "Μικρά Ασία"},
 | 
						||
    {ORTH: "Μάρτ.", NORM: "Μάρτιος"},
 | 
						||
    {ORTH: "Μάρτ'", NORM: "Μάρτιος"},
 | 
						||
    {ORTH: "Νοέμβρ.", NORM: "Νοέμβριος"},
 | 
						||
    {ORTH: "Οκτ.", NORM: "Οκτώβριος"},
 | 
						||
    {ORTH: "Σεπτ.", NORM: "Σεπτέμβριος"},
 | 
						||
    {ORTH: "Φεβρ.", NORM: "Φεβρουάριος"},
 | 
						||
]:
 | 
						||
    _exc[exc_data[ORTH]] = [exc_data]
 | 
						||
 | 
						||
for orth in [
 | 
						||
    "$ΗΠΑ",
 | 
						||
    "Α'",
 | 
						||
    "Α.Ε.",
 | 
						||
    "Α.Ε.Β.Ε.",
 | 
						||
    "Α.Ε.Ι.",
 | 
						||
    "Α.Ε.Π.",
 | 
						||
    "Α.Μ.Α.",
 | 
						||
    "Α.Π.Θ.",
 | 
						||
    "Α.Τ.",
 | 
						||
    "Α.Χ.",
 | 
						||
    "ΑΝ.",
 | 
						||
    "Αγ.",
 | 
						||
    "Αλ.",
 | 
						||
    "Αν.",
 | 
						||
    "Αντ.",
 | 
						||
    "Απ.",
 | 
						||
    "Β'",
 | 
						||
    "Β)",
 | 
						||
    "Β.Ζ.",
 | 
						||
    "Β.Ι.Ο.",
 | 
						||
    "Β.Κ.",
 | 
						||
    "Β.Μ.Α.",
 | 
						||
    "Βασ.",
 | 
						||
    "Γ'",
 | 
						||
    "Γ)",
 | 
						||
    "Γ.Γ.",
 | 
						||
    "Γ.Δ.",
 | 
						||
    "Γκ.",
 | 
						||
    "Δ.Ε.Η.",
 | 
						||
    "Δ.Ε.Σ.Ε.",
 | 
						||
    "Δ.Ν.",
 | 
						||
    "Δ.Ο.Υ.",
 | 
						||
    "Δ.Σ.",
 | 
						||
    "Δ.Υ.",
 | 
						||
    "ΔΙ.ΚΑ.Τ.Σ.Α.",
 | 
						||
    "Δηλ.",
 | 
						||
    "Διον.",
 | 
						||
    "Ε.Α.",
 | 
						||
    "Ε.Α.Κ.",
 | 
						||
    "Ε.Α.Π.",
 | 
						||
    "Ε.Ε.",
 | 
						||
    "Ε.Κ.",
 | 
						||
    "Ε.ΚΕ.ΠΙΣ.",
 | 
						||
    "Ε.Λ.Α.",
 | 
						||
    "Ε.Λ.Ι.Α.",
 | 
						||
    "Ε.Π.Σ.",
 | 
						||
    "Ε.Π.Τ.Α.",
 | 
						||
    "Ε.Σ.Ε.Ε.Κ.",
 | 
						||
    "Ε.Υ.Κ.",
 | 
						||
    "ΕΕ.",
 | 
						||
    "ΕΚ.",
 | 
						||
    "ΕΛ.",
 | 
						||
    "ΕΛ.ΑΣ.",
 | 
						||
    "Εθν.",
 | 
						||
    "Ελ.",
 | 
						||
    "Εμ.",
 | 
						||
    "Επ.",
 | 
						||
    "Ευ.",
 | 
						||
    "Η'",
 | 
						||
    "Η.Π.Α.",
 | 
						||
    "ΘΕ.",
 | 
						||
    "Θεμ.",
 | 
						||
    "Θεοδ.",
 | 
						||
    "Θρ.",
 | 
						||
    "Ι.Ε.Κ.",
 | 
						||
    "Ι.Κ.Α.",
 | 
						||
    "Ι.Κ.Υ.",
 | 
						||
    "Ι.Σ.Θ.",
 | 
						||
    "Ι.Χ.",
 | 
						||
    "ΙΖ'",
 | 
						||
    "ΙΧ.",
 | 
						||
    "Κ.Α.Α.",
 | 
						||
    "Κ.Α.Ε.",
 | 
						||
    "Κ.Β.Σ.",
 | 
						||
    "Κ.Δ.",
 | 
						||
    "Κ.Ε.",
 | 
						||
    "Κ.Ε.Κ.",
 | 
						||
    "Κ.Ι.",
 | 
						||
    "Κ.Κ.",
 | 
						||
    "Κ.Ι.Θ.",
 | 
						||
    "Κ.Ι.Θ.",
 | 
						||
    "Κ.ΚΕΚ.",
 | 
						||
    "Κ.Ο.",
 | 
						||
    "Κ.Π.Ρ.",
 | 
						||
    "ΚΑΤ.",
 | 
						||
    "ΚΚ.",
 | 
						||
    "Καν.",
 | 
						||
    "Καρ.",
 | 
						||
    "Κατ.",
 | 
						||
    "Κυρ.",
 | 
						||
    "Κων.",
 | 
						||
    "Λ.Α.",
 | 
						||
    "Λ.χ.",
 | 
						||
    "Λ.Χ.",
 | 
						||
    "Λεωφ.",
 | 
						||
    "Λι.",
 | 
						||
    "Μ.Δ.Ε.",
 | 
						||
    "Μ.Ε.Ο.",
 | 
						||
    "Μ.Ζ.",
 | 
						||
    "Μ.Μ.Ε.",
 | 
						||
    "Μ.Ο.",
 | 
						||
    "Μεγ.",
 | 
						||
    "Μιλτ.",
 | 
						||
    "Μιχ.",
 | 
						||
    "Ν.Δ.",
 | 
						||
    "Ν.Ε.Α.",
 | 
						||
    "Ν.Κ.",
 | 
						||
    "Ν.Ο.",
 | 
						||
    "Ν.Ο.Θ.",
 | 
						||
    "Ν.Π.Δ.Δ.",
 | 
						||
    "Ν.Υ.",
 | 
						||
    "ΝΔ.",
 | 
						||
    "Νικ.",
 | 
						||
    "Ντ'",
 | 
						||
    "Ντ.",
 | 
						||
    "Ο'",
 | 
						||
    "Ο.Α.",
 | 
						||
    "Ο.Α.Ε.Δ.",
 | 
						||
    "Ο.Δ.",
 | 
						||
    "Ο.Ε.Ε.",
 | 
						||
    "Ο.Ε.Ε.Κ.",
 | 
						||
    "Ο.Η.Ε.",
 | 
						||
    "Ο.Κ.",
 | 
						||
    "Π.Δ.",
 | 
						||
    "Π.Ε.Κ.Δ.Υ.",
 | 
						||
    "Π.Ε.Π.",
 | 
						||
    "Π.Μ.Σ.",
 | 
						||
    "ΠΟΛ.",
 | 
						||
    "Π.Χ.",
 | 
						||
    "Παρ.",
 | 
						||
    "Πλ.",
 | 
						||
    "Πρ.",
 | 
						||
    "Σ.Δ.Ο.Ε.",
 | 
						||
    "Σ.Ε.",
 | 
						||
    "Σ.Ε.Κ.",
 | 
						||
    "Σ.Π.Δ.Ω.Β.",
 | 
						||
    "Σ.Τ.",
 | 
						||
    "Σαβ.",
 | 
						||
    "Στ.",
 | 
						||
    "ΣτΕ.",
 | 
						||
    "Στρ.",
 | 
						||
    "Τ.Α.",
 | 
						||
    "Τ.Ε.Ε.",
 | 
						||
    "Τ.Ε.Ι.",
 | 
						||
    "ΤΡ.",
 | 
						||
    "Τζ.",
 | 
						||
    "Τηλ.",
 | 
						||
    "Υ.Γ.",
 | 
						||
    "ΥΓ.",
 | 
						||
    "ΥΠ.Ε.Π.Θ.",
 | 
						||
    "Φ.Α.Β.Ε.",
 | 
						||
    "Φ.Κ.",
 | 
						||
    "Φ.Σ.",
 | 
						||
    "Φ.Χ.",
 | 
						||
    "Φ.Π.Α.",
 | 
						||
    "Φιλ.",
 | 
						||
    "Χ.Α.Α.",
 | 
						||
    "ΧΡ.",
 | 
						||
    "Χ.Χ.",
 | 
						||
    "Χαρ.",
 | 
						||
    "Χιλ.",
 | 
						||
    "Χρ.",
 | 
						||
    "άγ.",
 | 
						||
    "άρθρ.",
 | 
						||
    "αι.",
 | 
						||
    "αν.",
 | 
						||
    "απ.",
 | 
						||
    "αρ.",
 | 
						||
    "αριθ.",
 | 
						||
    "αριθμ.",
 | 
						||
    "β'",
 | 
						||
    "βλ.",
 | 
						||
    "γ.γ.",
 | 
						||
    "γεν.",
 | 
						||
    "γραμμ.",
 | 
						||
    "δ.δ.",
 | 
						||
    "δ.σ.",
 | 
						||
    "δηλ.",
 | 
						||
    "δισ.",
 | 
						||
    "δολ.",
 | 
						||
    "δρχ.",
 | 
						||
    "εκ.",
 | 
						||
    "εκατ.",
 | 
						||
    "ελ.",
 | 
						||
    "θιν'",
 | 
						||
    "κ.",
 | 
						||
    "κ.ά.",
 | 
						||
    "κ.α.",
 | 
						||
    "κ.κ.",
 | 
						||
    "κ.λπ.",
 | 
						||
    "κ.ο.κ.",
 | 
						||
    "κ.τ.λ.",
 | 
						||
    "κλπ.",
 | 
						||
    "κτλ.",
 | 
						||
    "κυβ.",
 | 
						||
    "λ.χ.",
 | 
						||
    "μ.",
 | 
						||
    "μ.Χ.",
 | 
						||
    "μ.μ.",
 | 
						||
    "μιλ.",
 | 
						||
    "ντ'",
 | 
						||
    "π.Χ.",
 | 
						||
    "π.β.",
 | 
						||
    "π.δ.",
 | 
						||
    "π.μ.",
 | 
						||
    "π.χ.",
 | 
						||
    "σ.",
 | 
						||
    "σ.α.λ.",
 | 
						||
    "σ.σ.",
 | 
						||
    "σελ.",
 | 
						||
    "στρ.",
 | 
						||
    "τ'ς",
 | 
						||
    "τ.μ.",
 | 
						||
    "τετ.",
 | 
						||
    "τετρ.",
 | 
						||
    "τηλ.",
 | 
						||
    "τρισ.",
 | 
						||
    "τόν.",
 | 
						||
    "υπ.",
 | 
						||
    "χ.μ.",
 | 
						||
    "χγρ.",
 | 
						||
    "χιλ.",
 | 
						||
    "χλμ.",
 | 
						||
]:
 | 
						||
    _exc[orth] = [{ORTH: orth}]
 | 
						||
 | 
						||
TOKENIZER_EXCEPTIONS = update_exc(BASE_EXCEPTIONS, _exc)
 |