Как найти жетоны слова внутри непрерывной строки, такие как имя пользователя, в python? - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь найти и посчитать количество токенов, которые напоминают слова внутри строк, которые выглядят как имена пользователей. То есть строки, не нарушенные очевидными стоп-словами или пробелами. Так что, если имя пользователя было «blackmagics1221», то если бы я использовал свой код

def tokenizer():
    #a functoin to tokenize unbroken strings
 x=tokenizer('blackmagics1221')

при токенизации я должен получить x=['black','magic'] и len(x)=2.

'truck _ $$$' должно дать x=['truck'] и len(x)=1. Я попытался использовать nltk.word_tokenizer (), но он просто находит всю строку как один токен. Еще лучшим решением было бы взглянуть на номерные и орфографические подстанции, но это было бы большим прогрессом. В этом случае

x=tokenizer('ca$h_money_123')

даст x=['ca$h', 'money'], в идеале или x=['cash','money'], что будет хорошо, но не очень. Любая помощь будет оценена! Мои поиски в SO и Google пока не дали результатов.

Я пытался

import nltk
from nltk.stem import WordNetLemmatizer
from nltk.tokenize import word_tokenize
s='caraaabbb1111'
test1= nltk.word_tokenize(s)
Out:'caraaabbb1111'

Я хочу, чтобы это вернулось (['car'])

и

wnl = WordNetLemmatizer()
test2=wnl.lemmatize(s)
Out:'caraaabbb1111'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...