Я использую StanfordNLP для тождества набора сообщений, написанных на смартфонах. В этих текстах много опечаток и не соблюдаются правила пунктуации. Очень часто пробелы отсутствуют, что влияет на токенизацию.StanfordNLP Tokenizer
Например, следующие предложения пропускают пробелы в «California.This» и «University, based».
Стэнфордский университет расположен в California.This университета является большой университет, основанный в 1891 году
The Tokenizer возвращается:
{ "Stanford", "Университет", "является", «находится», «in», «California.This», «университет», «есть», «a», «отлично», «университет», «,», «основано», «in», «1891», «.»}
Как наблюдалось, они разбили все жетоны, но «California.This» (я ожидаю иметь три жетона («Калифорния» ».« Это »). Я взглянул на правила токенизации, и я заметил, что регулярное выражение для слов принимает знаки препинания, используемые для конца предложения в слове.
WORD = {БУКВА} ({БУКВА} | {DIGIT}) ({БУКВА} ({БУКВА} [.!?] | {DIGIT})) *
Я снял последнюю часть и перекомпилированный, но токенизатор по-прежнему не изменяет его поведение.
Есть ли у кого-то идеи, как избежать этого нежелательного поведения? Или кто-то может указать мне еще один токенизатор, который хорошо работает с этими типами текстов?