Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
41 lines (35 sloc) 1.41 KB

Стандартний алгоритм токенізації

  1. Розбивка тексту на абзаци по символу Newline

  2. Розбивка тексту на речення за настуним алгоритмом

    • Розбивка на токени по регекспу [^\s]+
    • Якщо токен закінчується на один з розділових знаків .!?…» (за виключенням випадків, коли цей токен починається з відкриваючої дужки або входить в перелік загальновживаних абревіатур з крапкою - див. нижче), а наступний токен починається з великої літери, то це границя речення.
  3. Розбивка речень на токени по наступному регулярному виразу:

     \w+://(?:[a-zA-Z]|[0-9]|[$-_@.&+])+
     |[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+
     |[0-9]+-[а-яА-ЯіїІЇ'’`]+
     |[+-]?[0-9](?:[0-9,.-]*[0-9])?
     |[\w](?:[\w'’`-]?[\w]+)*
     |\w.(?:\w.)+\w?
     |["#$%&*+,/:;<=>@^`~…\\(\\)⟨⟩{}\\[\\|\\]‒–—―«»“”‘’'№]
     |[.!?]+
     |-+
    

Абревіатури з крапкою

ім.
о.
вул.
просп.
бул.
пров.
пл.
г.
р.
див.
п.
с.
м.