请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对于实现问答对的处理疑问

for group in tqdm(groups):
    for i, line in enumerate(group):
        last_line = None
        if i > 0:
            # 最后一行
            last_line = group[i - 1]
            if not good_line(last_line):
                last_line = None
        # 下一行
        next_line = None
        if i < len(group) - 1:
            next_line = group[i + 1]
            if not good_line(next_line):
                next_line = None
        # 下一行的下一行
        next_next_line = None
        if i < len(group) - 2:
            next_next_line = group[i + 2]
            if not good_line(next_next_line):
                next_next_line = None

这个处理我没有看明白是什么意思?为什么要这样处理句子?

正在回答 回答被采纳积分+3

2回答

nikai_null 2019-07-01 15:36:43

# 遍历组中的数据,进行问和答的编组
for i, line in enumerate(group):
   # 上一行句子
   last_line = None
   if i > 0:
       last_line = group[i - 1]
       if not good_line(last_line):
           last_line = None
   # 下一行句子
   next_line = None
   if i < len(group) - 1:
       next_line = group[i + 1]
       if not good_line(next_line):
           next_line = None
   # 下一行的下一行句子
   next_next_line = None
   if i < len(group) - 2:
       next_next_line = group[i + 2]
       if not good_line(next_next_line):
           next_next_line = None

   # 如果有下一行,则将当前行当作问题,下一行当作回答
   if next_line:
       q_data.append(line)
       a_data.append(next_line)
   # 如果有上一行和下一行,则将上一行和这一行拼接成一句问题,将下一行当作回答
   if last_line and next_line:
       q_data.append(last_line + make_split(last_line) + line)
       a_data.append(next_line)
   # 如果有下一行和下下一行,则将当前行当作问题,将下一行和下下一行当作回答
   if next_line and next_next_line:
       q_data.append(line)
       a_data.append(next_line + make_split(next_line) + next_next_line)


这样理解才是对的,这里应该是老师讲错了,last_line应该理解成上一行,有时候如果不清楚,可以调试着走一遍,看每个变量的值,有助于理解

1 回复 有任何疑惑可以回复我~
Mr_Ricky 2019-07-01 11:08:44

这一部分的处理,主要是把问答的句子给拿出来。

0 回复 有任何疑惑可以回复我~
  • 这里有拼接上一行和这一行成问题,或者拼接下一行和下下一行成回答,不太明白为什么要这么处理(拼接),背后的逻辑是什么
    回复 有任何疑惑可以回复我~ 2019-07-17 12:17:47
问题已解决,确定采纳
还有疑问,暂不采纳
NLP实践TensorFlow打造聊天机器人
  • 参与学习       673    人
  • 解答问题       281    个

解析自然语言处理( NLP )常用技术,从0搭建聊天机器人应用并部署上线,可用于毕设。

了解课程
意见反馈 帮助中心 APP下载
官方微信