python - 如何在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'
解决方案
推荐阅读
- ios - 将 2 UITabBarItem 定位到屏幕的左右两侧,中间为 void
- arrays - 使用基本 Scala 包,我如何将此 JSON 数组转换为实际数组?
- r - 将 data.frame 转换为邻接矩阵列表不显示值(在 R 中)
- java - 添加到 Arraylist 时 JTable 没有更新?
- android - Kotlin 我的应用程序 android 模拟器和我的 decive 工作但签名或调试 apk 不工作
- javascript - Socket.io JS客户端返回连接错误
- python - 用铬烧瓶中的文件写入错误
- vue.js - Vue 2 按乐器名称列出乐队成员,但只显示乐器名称一次
- c++ - 动态转换为函数参数类型 (C++)
- r - 让基于kernlab函数的程序运行得更快