zoukankan      html  css  js  c++  java
  • GENIA命名实体数据集解析代码

    GENIA命名实体数据集解析

    欢迎联系2448267954@qq.com指正交流。

    代码

    import xml.sax
    xml_ds="GENIA-term.xml"
    out_file="result.txt"
    
    class SentenceHandler(xml.sax.ContentHandler):
        def __init__(self):
            self.text = ""
            self.labels = ""
            self.totag = []
            self.indexer = 0
            self.writer = open("result.txt",'w',encoding='utf8')
    
    # 开始元素处理
        def startElement(self, tag, attributes):
            self.CurrentData = tag
            if tag == "cons":
                try:
                    self.totag.append(attributes["sem"])
                except AttributeError:
                    pass
                except KeyError:
                    pass
            if tag == "sentence":
                self.writer.write("
    ")
    
    # 元素结束处理
        def endElement(self, tag):
            if self.CurrentData == "cons":
                if len(self.totag) > 1:
                    self.totag = self.totag[:-2]
                else:
                    self.totag.clear()
    
    # 内容事件处理
        def characters(self, content):
            content = content.split(" ")
            for word in content:
                if word == "" or word == "
    ":
                    continue
                tow = ' '.join([str(self.indexer), word, "|".join(self.totag)])
                self.writer.write(tow+'
    ')
                self.indexer += 1
    
    
    if (__name__ == "__main__"):
    
        parser = xml.sax.make_parser()
        parser.setFeature(xml.sax.handler.feature_namespaces, 0)
    
        Headler = SentenceHandler()
        parser.setContentHandler(Headler)
    
        parser.parse(xml_ds)
    
    

    输出格式

    index word tag1|tag2|tag3

  • 相关阅读:
    Spring源码学习之容器的基本实现(一)
    面向对象设计原则
    简单易懂带你了解红黑树
    简单易懂带你了解二叉树
    单例模式
    原形模式
    数组与链表
    记一次解决postgresql数据库内存泄露的问题
    记一次排查CPU高的问题
    react ts 设置paths 和 声明非@types的模块
  • 原文地址:https://www.cnblogs.com/huangdong2000/p/12176453.html
Copyright © 2011-2022 走看看