从文本中提取流行病学信息的注释器。

EpiTator的Python项目详细描述


从文本中提取流行病学信息的注释器。

安装

pip install epitator
python -m spacy download en_core_web_md

注释器

地理名称注释器

geoname注释器使用geonames.org数据集来解析提到的geonames。 分类器用于消除地名的歧义并排除误报。

要使用geoname注释器,请运行以下命令导入geonames.org 数据进入外延器的嵌入式sqlite3数据库:

在使用此数据之前,您应该查看geonames许可证。

python -m epitator.importers.import_geonames

使用量

fromepitator.annotatorimportAnnoDocfromepitator.geoname_annotatorimportGeonameAnnotatordoc=AnnoDoc("Where is Chiang Mai?")doc.add_tiers(GeonameAnnotator())annotations=doc.tiers["geonames"].spansgeoname=annotations[0].geonamegeoname['name']# = 'Chiang Mai'geoname['geonameid']# = '1153671'geoname['latitude']# = 18.79038geoname['longitude']# = 98.98468

解析关键字注释器

已解析关键字注释器使用实体的sqlite数据库来解析 一个实体对一个id有多个同义词。 该项目包括将传染病和动物物种导入 那个数据库。可以使用以下命令调用它们:

脚本从Disease Ontology导入数据, Wikidata 以及ITIS。 在使用这些数据之前,您应该检查他们的许可证和使用条款。 目前,疾病本体属于公共领域,需要引用。

python -m epitator.importers.import_species
# By default entities under the disease by infectious agent class will be
# imported from the disease ontology, but this can be altered by supplying
# a --root-uri parameter.
python -m epitator.importers.import_disease_ontology
python -m epitator.importers.import_wikidata

使用量

fromepitator.annotatorimportAnnoDocfromepitator.resolved_keyword_annotatorimportResolvedKeywordAnnotatordoc=AnnoDoc("5 cases of smallpox")doc.add_tiers(ResolvedKeywordAnnotator())annotations=doc.tiers["resolved_keywords"].spansannotations[0].metadata["resolutions"]# = [{'entity': <sqlite3.Row>, 'entity_id': u'http://purl.obolibrary.org/obo/DOID_8736', 'weight': 3}]

计数注释器

count注释器标识计数,特别是case计数。 计数的值被提取和解析。属性,例如 是指案件或死亡,或是否是近似值也被提取。

使用量

fromepitator.annotatorimportAnnoDocfromepitator.count_annotatorimportCountAnnotatordoc=AnnoDoc("5 cases of smallpox")doc.add_tiers(CountAnnotator())annotations=doc.tiers["counts"].spansannotations[0].metadata# = {'count': 5, 'text': '5 cases', 'attributes': ['case']}

日期注释器

日期注释器标识并分析日期和日期范围。 所有日期都被解析为日期时间范围。例如,像“11-6-87”这样的日期 会被解析为从一天开始到第二天开始的范围, 而像“2011年12月”这样的月份从一开始就被解读为一个区间 从12月1日到下个月初。

使用量

fromepitator.annotatorimportAnnoDocfromepitator.date_annotatorimportDateAnnotatordoc=AnnoDoc("From March 5 until April 7 1988")doc.add_tiers(DateAnnotator())annotations=doc.tiers["dates"].spansannotations[0].metadata["datetime_range"]# = [datetime.datetime(1988, 3, 5, 0, 0), datetime.datetime(1988, 4, 7, 0, 0)]

结构化数据注释器

结构化数据注释器识别并解析嵌入的表。

使用量

fromepitator.annotatorimportAnnoDocfromepitator.structured_data_annotatorimportStructuredDataAnnotatordoc=AnnoDoc("""
species | cases | deaths
Cattle  | 0     | 0
Dogs    | 2     | 1
""")doc.add_tiers(StructuredDataAnnotator())annotations=doc.tiers["structured_data"].spansannotations[0].metadata# = {'data': [#       [AnnoSpan(1-8, species), AnnoSpan(11-16, cases), AnnoSpan(19-25, deaths)],#       [AnnoSpan(26-32, Cattle), AnnoSpan(36-37, 0), AnnoSpan(44-45, 0)],#       [AnnoSpan(46-50, Dogs), AnnoSpan(56-57, 2), AnnoSpan(64-65, 1)]],#    'delimiter': '|',#    'type': 'table'}

结构化事件注释器

结构化事件注释器识别并解析 描述与位置、日期、疾病和物种元数据配对的病例数。 元数据也从表周围的文本中提取。

使用量

fromepitator.annotatorimportAnnoDocfromepitator.structured_incident_annotatorimportStructuredIncidentAnnotatordoc=AnnoDoc("""
Fictional October 2015 rabies cases in Svalbard

species | cases | deaths
Cattle  | 0     | 0
Dogs    | 4     | 1
""")doc.add_tiers(StructuredIncidentAnnotator())annotations=doc.tiers["structured_incidents"].spansannotations[-1].metadata# = {'location': {'name': u'Svalbard', ...},#    'species': {'label': u'Canidae', ...},#    'attributes': [],#    'dateRange': [datetime.datetime(2015, 10, 1, 0, 0), datetime.datetime(2015, 11, 1, 0, 0)],#    'type': 'deathCount',#    'value': 1,#    'resolvedDisease': {'label': u'rabies', ...}}

架构

外延器提供了以下用于组织注释的类。

annodoc-正在注释的文档。annodoc链接到应用于它的注释层。

注释者-一群注释者。每个注释器创建一个或多个注释层。

annospan-应用了注释的一段文本。

许可证

2016生态健康联盟版权所有

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript生成两点之间的固定纬度和经度   java为什么不删除并重命名文件?   求数组的和   java在漂亮面孔中使用正则表达式   SOAP(java)中的Hello World。如何修复它?   java I获取应用程序生成错误,配置为“”的资源“attr/arc_position”的值重复   云基础环境中的Java SFTP客户端应用   谷歌应用程序引擎Java查询日期不正常?   java使用cancel按钮对JOptionPane InputDialog循环进行转义   java数字格式总是返回异常   xquery Java Saxon API以“追加”模式写入文件   java Azure函数在第二个插槽中没有响应   java在构建Play应用程序后向其添加动态依赖项   json如何使用Jackson mapper for java。木卫一。可序列化类型字段?