东南枝hlh 2022-03-31 09:58 采纳率: 100%
浏览 36
已结题

为什么python运转出来的结果总是挤成一堆没有空格?

在学习利用二元文法模型进行二元分词的时候,运转的结果没有实现分词的效果,之前在做其它案例练习时也是出现这种挤在一堆的现象,不知道是不是我哪里没有设置好?

代码
import re
sent="I want to eat Chinese food."
lst_sent=sent.split(".")
lst_sent1=[re.sub('\W','',i) for i in lst_sent]
bigram=[]
for i in range(len(lst_sent1)-1):
bigram.append(lst_sent1[i]+""+lst_sent1[i+1])
print(bigram)

运行结果
['IwanttoeatChinesefood']

我想要达到的结果
正确的分词结果应该是
['I want','want to','to eat',''eat Chinese','Chinese food']

  • 写回答

1条回答 默认 最新

  • hellobigorange 人工智能领域新星创作者 2022-03-31 10:03
    关注

    split以空格隔开,不是.

    
    import re
    sent="I want to eat Chinese food."
    lst_sent=sent.split(" ")
    lst_sent1=[re.sub('\W','',i) for i in lst_sent]
    bigram=[]
    for i in range(len(lst_sent1)-1):
        bigram.append(lst_sent1[i]+" "+lst_sent1[i+1])
    print(bigram)
    

    如有帮助,希望点一下下采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月31日