Closed siam1991 closed 4 years ago
处理语料,遍历句子,进行字符和单词抽取的时候,总是遗漏掉每句话的最后一个词 应该是ngram_utils.py中的下面代码导致了问题
def generate_ngram(corpus,n:int=2): def generate_ngram_str(text:str,n): for i in range(0,len(text)-n): yield text[i:i+n]
range(min,max) 在取值时,不会取到max的值 sample: 无人货架启动和运营成本貌似最低 结果 ngram=1 ['无', '人', '货', '架', '启', '动', '和', '运', '营', '成', '本', '貌', '似', '最'] ngram=2 ['无人', '人货', '货架', '架启', '启动', '动和', '和运', '运营', '营成', '成本', '本貌', '貌似', '似最'] ngram=3 ['无人货', '人货架', '货架启', '架启动', '启动和', '动和运', '和运营', '运营成', '营成本', '成本貌', '本貌似', '貌似最'] 应当改为for i in range(0, len(text)-n+1)
感谢意见! 欢迎直接提交pull request到源码, 我们会在发布v0.3版本的时候解决这个问题. 再次感谢!
已经发布
处理语料,遍历句子,进行字符和单词抽取的时候,总是遗漏掉每句话的最后一个词 应该是ngram_utils.py中的下面代码导致了问题
range(min,max) 在取值时,不会取到max的值 sample: 无人货架启动和运营成本貌似最低 结果 ngram=1 ['无', '人', '货', '架', '启', '动', '和', '运', '营', '成', '本', '貌', '似', '最'] ngram=2 ['无人', '人货', '货架', '架启', '启动', '动和', '和运', '运营', '营成', '成本', '本貌', '貌似', '似最'] ngram=3 ['无人货', '人货架', '货架启', '架启动', '启动和', '动和运', '和运营', '运营成', '营成本', '成本貌', '本貌似', '貌似最'] 应当改为for i in range(0, len(text)-n+1)