首页 > 解决方案 > 如何在python中找到完整字符串中的单词标记,例如用户名?

问题描述

我正在尝试查找并计算类似于用户名字符串中单词的令牌数量。也就是说,字符串不会被明显的停用词或空格打断。因此,如果用户名是“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'], 理想情况下 , or 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'

标签: pythonpython-3.xtextnlpnltk

解决方案


推荐阅读