В настоящее время я борюсь с токенизацией через регулярные выражения (nltk не разрешен).Я пытался создать код самостоятельно с плохими результатами.В основном из текста вроде: «Мистер Браун открыл дверь и сказал с улыбкой:« Я не могу в это поверить! Это так приятно видеть тебя! »'
Вывод должен выглядеть следующим образом: [' Mr. ',' Brown ',' open ',' the ',' door ',' and ',' сказали ',' with ',' a ', 'улыбка' ',', '"', 'я', 'ca', 'n' t ',' верь ',' это ','! ',' это ',' 's', 'a', 'удовольствие', 'до', 'видеть', 'ты', '!', '"']
С некоторыми критическими точками:
- Символы периода в сокращениях«Мистер», «Миссис», «Мисс» и «Доктор» не должны получать свой собственный токен
- Сокращения следует рассматривать как два токена.Части «n't», «ll», «d», «ve», «m» и «re» получают свой собственный токен
- Posessives (то есть «John's»)) следует рассматривать как два токена, причем второй токен начинается с апострофа.
Это мой код, который не дает мне никакого результата ..
string = re.compile (r'[n][\w]+|[\w]+(?!')(?:[A-Za-mo-z](?='))?|(?<=\s)[\w](?=)|[^\s\w'][A-Z]?\w+|[;.,!?:]|\')