示例#1
0
 def xml(self, fileids, key=None):
     return concat(
         [
             ToolboxData(path, enc).parse(key=key)
             for (path, enc) in self.abspaths(fileids, True)
         ]
     )
示例#2
0
 def fields(self,
            fileids,
            strip=True,
            unwrap=True,
            encoding='utf8',
            errors='strict',
            unicode_fields=None):
     return concat([
         list(
             ToolboxData(fileid, enc).fields(strip, unwrap, encoding,
                                             errors, unicode_fields))
         for (fileid, enc) in self.abspaths(fileids, include_encoding=True)
     ])
示例#3
0
ignored_tags = ['arg', 'dcsv', 'pt', 'vx']
validate_lexicon(grammar, lexicon, ignored_tags)

# Ex11-4 为Toolbox词典分块:此块语法描述了一种中国方言的词汇条目结构
# 使用块分析器,能够识别局部结构并且报告已经确定的局部结构
grammar = r"""
lexfunc: {<lf>(<lv><ln|le>*)*}
example: {<rf|xv><xn|xe>*}
sense:   {<sn><ps><pn|gv|dv|gn|gp|dn|rn|ge|de|re>*<example>*<lexfunc>*}
record:  {<lx><hm><sense>+<dt>}
"""

from xml.etree.ElementTree import ElementTree
from nltk.toolbox import ToolboxData

db = ToolboxData()
db.open(nltk.data.find('corpora/toolbox/iu_mien_samp.db'))
# db.parse()解析不了
lexicon = db.parse(grammar, encoding='utf8')
tree = ElementTree(lexicon)
with open('iu_mien_samp.xml', 'wb') as output:
    tree.write(output)

# 11.6 使用OLAC元数据描述语言资源
# NLP社区成员共同使用的具有很高精度和召回率的语言资源,已经提供的方法是元数据聚焦

# 11.6.1 什么是元数据?
# “元数据”就是关于数据的结构化数据。是对象或者资源的描述信息。
# 都柏林核心数据(Dublin Core Metadata)由15个元数据元素组成,每个元素都是可选的和可重复的。
# 标题、创建者、主题、描述、发布者、参与者、日期、类型、格式、标识符、来源、语言、关系、覆盖范围和版权
# 开放档案倡议(Open Archives Initiative,OAI)提供了跨越数字化的学术资料库的共同框架,不考虑资源的类型