diff --git a/lib/simple_bayes/tokenizer.ex b/lib/simple_bayes/tokenizer.ex index 0728f4f..381eefa 100644 --- a/lib/simple_bayes/tokenizer.ex +++ b/lib/simple_bayes/tokenizer.ex @@ -24,14 +24,37 @@ defmodule SimpleBayes.Tokenizer do iex> SimpleBayes.Tokenizer.tokenize(~s(fo-o's ba_r"ed.)) ~w(fo-o's ba_r"ed) + + iex> SimpleBayes.Tokenizer.tokenize("шевченко") + ["шевченко"] + + iex> SimpleBayes.Tokenizer.tokenize("слава Україні") + ["слава", "україні"] + + iex> SimpleBayes.Tokenizer.tokenize(",воля або смерть .") + ["воля", "або", "смерть"] + + iex> SimpleBayes.Tokenizer.tokenize("Крим це Україна") + ["крим", "це", "україна"] + + iex> SimpleBayes.Tokenizer.tokenize("співуча, солов'їна") + ["співуча", "солов'їна"] + + iex> SimpleBayes.Tokenizer.tokenize("паляниця запашна.") + ["паляниця", "запашна"] + + iex> SimpleBayes.Tokenizer.tokenize(~s(де-не-де будь ласка "світлина". незабаром! Київ - моє місто)) + ["де-не-де", "будь", "ласка", "\\"світлина\\"", "незабаром", "київ", "-", "моє", "місто"] + """ def tokenize(string) do string |> String.downcase() - |> String.replace(~r/[^0-9a-zA-Z _\-'"]+/, "") + |> String.replace(~r/[^0-9a-zа-яґієї _\-'"]+/iu, "") |> String.split() end + @doc """ Filters out a list based on another list.