大佬教程收集整理的这篇文章主要介绍了如何将逗号与单词分开(标记化),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在标记化方面遇到了一些问题,作业是将一个句子分成单词。
这就是我目前所做的。
def tokenize(s):
d = []
start = 0
while start < len(s):
while start < len(s) and s[start].isspace():
start = start+1
end = start
while end < len(s) and not s[end].isspace():
end = end+1
d = d + [s[start:end]]
start = end
print(d)
运行程序:
>>> tokenize("He was walking,it was fun")
['He','was','walking,','it','fun']
这很好用,但问题是你可以看到我的程序将在单词 walk 中包含逗号。我想将逗号(和其他“符号”)作为一个单独的“词”分开。
例如:
['He','walking','fun']
如何修改我的代码来解决这个问题?
提前致谢!
这里有一个可能的修改建议,它适用于您的具体示例,但肯定会失败,例如“你好吗?!”:
def tokenize(s):
d = []
start = 0
while start < len(s):
while start < len(s) and s[start].isspace():
start = start+1
end = start
while end < len(s) and not s[end].isspace():
end = end+1
if(s[end-1] in ["!",",".",";",":"]):
d = d + [s[start:(end-1)]]
d = d + [s[end-1]]
else:
d = d + [s[start:end]]
start = end
print(d)
tokenize("He was walking,it was fun!")
# ['He','was','walking',','it','fun','!']
,
另一种方法是使用 split
函数,如下所示
def tokenize(s):
d1 = s.split(",")
d3 = []
for d2 in d1:
for d in d2.split():
d3.append( d )
d3.append( "," )
d3.pop(-1)
print(d3)
tokenize("He was walking,it was fun")
以上是大佬教程为你收集整理的如何将逗号与单词分开(标记化)全部内容,希望文章能够帮你解决如何将逗号与单词分开(标记化)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。