zoukankan      html  css  js  c++  java
  • 深度问答之提取语料2

    遍历读取所有的yml文件的问答,然后写入question和answer文件中

    #!/usr/bin/env python
    # coding:utf8
    # author:Z time:2018/9/12
    
    
    
    import xlwt
    import yaml
    
    import os
    
    def mkdir(path):
        # 去除首位空格
        path = path.strip()
        # 去除尾部  符号
        path = path.rstrip("\")
    
        # 判断路径是否存在
        # 存在     True
        # 不存在   False
        isExists = os.path.exists(path)
    
        # 判断结果
        if not isExists:
            # 如果不存在则创建目录
            # 创建目录操作函数
            os.makedirs(path)
    
            print(path + ' 创建成功')
            return True
        else:
            # 如果目录存在则不创建,并提示目录已存在
            print(path + ' 目录已存在')
            return False
    
    
    
    
    yml_file_list=[]
    path=os.path.dirname(os.path.abspath(__file__))
    file_list=os.listdir(path)
    for file in file_list:
        if file.endswith('yml'):
            yml_file_list.append(file)
            """
             循环创建文件夹
            """
            # # 定义要创建的目录
            # mkpath = "E:\chatterbot-corpus-master\chatterbot_corpus\data\chinese\" + file[:-4]
            # # 调用函数
            # mkdir(mkpath)
    
    """
    [['谁是美国第37届总统?', '理查德·尼克松'], ['肯尼迪总统哪年遇刺身亡?', '1963'], ['太空竞赛是哪两个冷战对手之间,在20世纪航天能力的霸主地位上的竞争?', '苏联和美国.'], 
    ['第一颗人造地球卫星的名称是什么?', '斯普特尼克1号'], ['一个旋转盘,在它的转轴方向,不受倾斜和旋转的影响,它叫什么?', '陀螺.'], 
    ['哈勃太空望远镜,于1990年发射进入近地轨道,它是以什么美国天文学家命名的?', '爱德温·哈伯'], ['离银河系最近的大型星系叫什么?', '仙女座星系.'], 
    ['天佑女王是哪个国家的国歌?', '大不列颠联合王国'], ['凯尔特陆棚,是什么大陆的大陆架的一部分?', '欧洲'], ['海豚使用的一种感觉,类似于声纳,以确定附近的物品的位置和形状.它是什么', '回声定位']]
    """
    
    
    for yml_file in yml_file_list:
    
        with open(yml_file, 'r', encoding="utf-8") as rf:
            ss = yaml.load(rf)
            aa=ss['conversations']
    
            question_index=1
            answer_index=1
    
            for i in aa:
    
                question=i[0]
                answer=i[1:]
    
                for j in answer:
                    with open('answer', 'a+', encoding='utf8')as f:
    
                        f.write(j+'
    ')
    
                    with open('question', 'a+', encoding='utf8')as f2:
                        f2.write(question + '
    ')
  • 相关阅读:
    Java中Io类-File类的构造方法
    hadoop的wordcount例子运行
    关于“javax.servlet.include.request_uri”属性值
    如何高效地分析框架源码
    代码重构的技巧——合理使用@Deprecated
    spring的事件机制
    在eclipse中使用jetty插件替代m2e开发调试maven web项目
    maven多配目配置总结
    如何禁止anonymous用户访问nexus
    efront二次开发记要
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9639750.html
Copyright © 2011-2022 走看看