Я пытаюсь найти и посчитать количество токенов, которые напоминают слова внутри строк, которые выглядят как имена пользователей. То есть строки, не нарушенные очевидными стоп-словами или пробелами. Так что, если имя пользователя было «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'