This commit is contained in:
thanhvc3
2023-05-04 15:49:41 +07:00
parent c0d0be076f
commit 54e6fbc84c
181 changed files with 39352 additions and 1165059 deletions

20466
data/FB15k-237/test.txt Normal file

File diff suppressed because it is too large Load Diff

272115
data/FB15k-237/train.txt Normal file

File diff suppressed because it is too large Load Diff

17535
data/FB15k-237/valid.txt Normal file

File diff suppressed because it is too large Load Diff

3134
data/WN18RR/test.txt Normal file

File diff suppressed because it is too large Load Diff

86835
data/WN18RR/train.txt Normal file

File diff suppressed because it is too large Load Diff

3034
data/WN18RR/valid.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +0,0 @@
from .data_module import KGC
from .processor import convert_examples_to_features, KGProcessor

View File

@ -1,63 +0,0 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
import cython
from cython.parallel cimport prange, parallel
cimport numpy
import numpy
def floyd_warshall(adjacency_matrix):
(nrows, ncols) = adjacency_matrix.shape
assert nrows == ncols
cdef unsigned int n = nrows
adj_mat_copy = adjacency_matrix.astype(long, order='C', casting='safe', copy=True)
assert adj_mat_copy.flags['C_CONTIGUOUS']
cdef numpy.ndarray[long, ndim=2, mode='c'] M = adj_mat_copy
cdef numpy.ndarray[long, ndim=2, mode='c'] path = numpy.zeros([n, n], dtype=numpy.int64)
cdef unsigned int i, j, k
cdef long M_ij, M_ik, cost_ikkj
cdef long* M_ptr = &M[0,0]
cdef long* M_i_ptr
cdef long* M_k_ptr
# set unreachable nodes distance to 510
for i in range(n):
for j in range(n):
if i == j:
M[i][j] = 0
elif M[i][j] == 0:
M[i][j] = 510
# floyed algo
for k in range(n):
M_k_ptr = M_ptr + n*k
for i in range(n):
M_i_ptr = M_ptr + n*i
M_ik = M_i_ptr[k]
for j in range(n):
cost_ikkj = M_ik + M_k_ptr[j]
M_ij = M_i_ptr[j]
if M_ij > cost_ikkj:
M_i_ptr[j] = cost_ikkj
path[i][j] = k
# set unreachable path to 510
for i in range(n):
for j in range(n):
if M[i][j] >= 510:
path[i][j] = 510
M[i][j] = 510
return M, path
def get_all_edges(path, i, j):
cdef unsigned int k = path[i][j]
if k == 0:
return []
else:
return get_all_edges(path, i, k) + [k] + get_all_edges(path, k, j)

View File

@ -1,71 +0,0 @@
"""Base DataModule class."""
from pathlib import Path
from typing import Dict
import argparse
import os
import pytorch_lightning as pl
from torch.utils.data import DataLoader
class Config(dict):
def __getattr__(self, name):
return self.get(name)
def __setattr__(self, name, val):
self[name] = val
BATCH_SIZE = 8
NUM_WORKERS = 8
class BaseDataModule(pl.LightningDataModule):
"""
Base DataModule.
Learn more at https://pytorch-lightning.readthedocs.io/en/stable/datamodules.html
"""
def __init__(self, args: argparse.Namespace = None) -> None:
super().__init__()
self.args = Config(vars(args)) if args is not None else {}
self.batch_size = self.args.get("batch_size", BATCH_SIZE)
self.num_workers = self.args.get("num_workers", NUM_WORKERS)
@staticmethod
def add_to_argparse(parser):
parser.add_argument(
"--batch_size", type=int, default=BATCH_SIZE, help="Number of examples to operate on per forward step."
)
parser.add_argument(
"--num_workers", type=int, default=0, help="Number of additional processes to load data."
)
parser.add_argument(
"--dataset", type=str, default="./dataset/NELL", help="Number of additional processes to load data."
)
return parser
def prepare_data(self):
"""
Use this method to do things that might write to disk or that need to be done only from a single GPU in distributed settings (so don't set state `self.x = y`).
"""
pass
def setup(self, stage=None):
"""
Split into train, val, test, and set dims.
Should assign `torch Dataset` objects to self.data_train, self.data_val, and optionally self.data_test.
"""
self.data_train = None
self.data_val = None
self.data_test = None
def train_dataloader(self):
return DataLoader(self.data_train, shuffle=True, batch_size=self.batch_size, num_workers=self.num_workers, pin_memory=True)
def val_dataloader(self):
return DataLoader(self.data_val, shuffle=False, batch_size=self.batch_size, num_workers=self.num_workers, pin_memory=True)
def test_dataloader(self):
return DataLoader(self.data_test, shuffle=False, batch_size=self.batch_size, num_workers=self.num_workers, pin_memory=True)

View File

@ -1,195 +0,0 @@
from dataclasses import dataclass
from typing import Any, Callable, Dict, List, NewType, Optional, Tuple, Union
from enum import Enum
import torch
from torch.utils.data import DataLoader
from transformers import AutoTokenizer, BertTokenizer
# from transformers.configuration_bert import BertTokenizer, BertTokenizerFast
from transformers.tokenization_utils_base import (BatchEncoding,
PreTrainedTokenizerBase)
from .base_data_module import BaseDataModule
from .processor import KGProcessor, get_dataset
import transformers
transformers.logging.set_verbosity_error()
class ExplicitEnum(Enum):
"""
Enum with more explicit error message for missing values.
"""
@classmethod
def _missing_(cls, value):
raise ValueError(
f"{value} is not a valid {cls.__name__}, please select one of {list(cls._value2member_map_.keys())}"
)
class PaddingStrategy(ExplicitEnum):
"""
Possible values for the ``padding`` argument in :meth:`PreTrainedTokenizerBase.__call__`. Useful for tab-completion
in an IDE.
"""
LONGEST = "longest"
MAX_LENGTH = "max_length"
DO_NOT_PAD = "do_not_pad"
import numpy as np
@dataclass
class DataCollatorForSeq2Seq:
"""
Data collator that will dynamically pad the inputs received, as well as the labels.
Args:
tokenizer (:class:`~transformers.PreTrainedTokenizer` or :class:`~transformers.PreTrainedTokenizerFast`):
The tokenizer used for encoding the data.
model (:class:`~transformers.PreTrainedModel`):
The model that is being trained. If set and has the `prepare_decoder_input_ids_from_labels`, use it to
prepare the `decoder_input_ids`
This is useful when using `label_smoothing` to avoid calculating loss twice.
padding (:obj:`bool`, :obj:`str` or :class:`~transformers.file_utils.PaddingStrategy`, `optional`, defaults to :obj:`True`):
Select a strategy to pad the returned sequences (according to the model's padding side and padding index)
among:
* :obj:`True` or :obj:`'longest'`: Pad to the longest sequence in the batch (or no padding if only a single
sequence is provided).
* :obj:`'max_length'`: Pad to a maximum length specified with the argument :obj:`max_length` or to the
maximum acceptable input length for the model if that argument is not provided.
* :obj:`False` or :obj:`'do_not_pad'` (default): No padding (i.e., can output a batch with sequences of
different lengths).
max_length (:obj:`int`, `optional`):
Maximum length of the returned list and optionally padding length (see above).
pad_to_multiple_of (:obj:`int`, `optional`):
If set will pad the sequence to a multiple of the provided value.
This is especially useful to enable the use of Tensor Cores on NVIDIA hardware with compute capability >=
7.5 (Volta).
label_pad_token_id (:obj:`int`, `optional`, defaults to -100):
The id to use when padding the labels (-100 will be automatically ignored by PyTorch loss functions).
"""
tokenizer: PreTrainedTokenizerBase
model: Optional[Any] = None
padding: Union[bool, str, PaddingStrategy] = True
max_length: Optional[int] = None
pad_to_multiple_of: Optional[int] = None
label_pad_token_id: int = -100
return_tensors: str = "pt"
num_labels: int = 0
def __call__(self, features, return_tensors=None):
if return_tensors is None:
return_tensors = self.return_tensors
labels = [feature.pop("labels") for feature in features] if "labels" in features[0].keys() else None
label = [feature.pop("label") for feature in features]
features_keys = {}
name_keys = list(features[0].keys())
for k in name_keys:
# ignore the padding arguments
if k in ["input_ids", "attention_mask", "token_type_ids"]: continue
try:
features_keys[k] = [feature.pop(k) for feature in features]
except KeyError:
continue
# We have to pad the labels before calling `tokenizer.pad` as this method won't pad them and needs them of the
# same length to return tensors.
bsz = len(labels)
with torch.no_grad():
new_labels = torch.zeros(bsz, self.num_labels)
for i,l in enumerate(labels):
if isinstance(l, int):
new_labels[i][l] = 1
else:
for j in l:
new_labels[i][j] = 1
labels = new_labels
features = self.tokenizer.pad(
features,
padding=self.padding,
max_length=self.max_length,
pad_to_multiple_of=self.pad_to_multiple_of,
return_tensors=return_tensors,
)
features['labels'] = labels
features['label'] = torch.tensor(label)
features.update(features_keys)
return features
class KGC(BaseDataModule):
def __init__(self, args, model) -> None:
super().__init__(args)
self.tokenizer = AutoTokenizer.from_pretrained(self.args.model_name_or_path, use_fast=False)
self.processor = KGProcessor(self.tokenizer, args)
self.label_list = self.processor.get_labels(args.data_dir)
entity_list = self.processor.get_entities(args.data_dir)
num_added_tokens = self.tokenizer.add_special_tokens({'additional_special_tokens': entity_list})
self.sampler = DataCollatorForSeq2Seq(self.tokenizer,
model=model,
label_pad_token_id=self.tokenizer.pad_token_id,
pad_to_multiple_of=8 if self.args.precision == 16 else None,
padding="longest",
max_length=self.args.max_seq_length,
num_labels = len(entity_list),
)
relations_tokens = self.processor.get_relations(args.data_dir)
self.num_relations = len(relations_tokens)
num_added_tokens = self.tokenizer.add_special_tokens({'additional_special_tokens': relations_tokens})
vocab = self.tokenizer.get_added_vocab()
self.relation_id_st = vocab[relations_tokens[0]]
self.relation_id_ed = vocab[relations_tokens[-1]] + 1
self.entity_id_st = vocab[entity_list[0]]
self.entity_id_ed = vocab[entity_list[-1]] + 1
def setup(self, stage=None):
self.data_train = get_dataset(self.args, self.processor, self.label_list, self.tokenizer, "train")
self.data_val = get_dataset(self.args, self.processor, self.label_list, self.tokenizer, "dev")
self.data_test = get_dataset(self.args, self.processor, self.label_list, self.tokenizer, "test")
def prepare_data(self):
pass
def get_config(self):
d = {}
for k, v in self.__dict__.items():
if "st" in k or "ed" in k:
d.update({k:v})
return d
@staticmethod
def add_to_argparse(parser):
BaseDataModule.add_to_argparse(parser)
parser.add_argument("--model_name_or_path", type=str, default="roberta-base", help="the name or the path to the pretrained model")
parser.add_argument("--data_dir", type=str, default="roberta-base", help="the name or the path to the pretrained model")
parser.add_argument("--max_seq_length", type=int, default=256, help="Number of examples to operate on per forward step.")
parser.add_argument("--warm_up_radio", type=float, default=0.1, help="Number of examples to operate on per forward step.")
parser.add_argument("--eval_batch_size", type=int, default=8)
parser.add_argument("--overwrite_cache", action="store_true", default=False)
return parser
def get_tokenizer(self):
return self.tokenizer
def train_dataloader(self):
return DataLoader(self.data_train, num_workers=self.num_workers, pin_memory=True, collate_fn=self.sampler, batch_size=self.args.batch_size, shuffle=not self.args.faiss_init)
def val_dataloader(self):
return DataLoader(self.data_val, num_workers=self.num_workers, pin_memory=True, collate_fn=self.sampler, batch_size=self.args.eval_batch_size)
def test_dataloader(self):
return DataLoader(self.data_test, num_workers=self.num_workers, pin_memory=True, collate_fn=self.sampler, batch_size=self.args.eval_batch_size)

1074
data/kinship/test.txt Normal file

File diff suppressed because it is too large Load Diff

8544
data/kinship/train.txt Normal file

File diff suppressed because it is too large Load Diff

1068
data/kinship/valid.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,954 +0,0 @@
from hashlib import new
from re import DEBUG
import contextlib
import sys
from collections import Counter
from multiprocessing import Pool
from torch._C import HOIST_CONV_PACKED_PARAMS
from torch.utils.data import Dataset, Sampler, IterableDataset
from collections import defaultdict
from functools import partial
from multiprocessing import Pool
import os
import random
import json
import torch
import copy
import numpy as np
import pickle
from tqdm import tqdm
from dataclasses import dataclass, asdict, replace
import inspect
from transformers.models.auto.tokenization_auto import AutoTokenizer
from models.utils import get_entity_spans_pre_processing
import pyximport
pyximport.install(setup_args={'include_dirs': np.get_include()})
import data.algos as algos
def lmap(a, b):
return list(map(a,b)) # a是个函数b是个值列表返回函数值列表
def cache_results(_cache_fp, _refresh=False, _verbose=1):
r"""
cache_results是fastNLP中用于cache数据的装饰器。通过下面的例子看一下如何使用::
import time
import numpy as np
from fastNLP import cache_results
@cache_results('cache.pkl')
def process_data():
# 一些比较耗时的工作比如读取数据预处理数据等这里用time.sleep()代替耗时
time.sleep(1)
return np.random.randint(10, size=(5,))
start_time = time.time()
print("res =",process_data())
print(time.time() - start_time)
start_time = time.time()
print("res =",process_data())
print(time.time() - start_time)
# 输出内容如下,可以看到两次结果相同,且第二次几乎没有花费时间
# Save cache to cache.pkl.
# res = [5 4 9 1 8]
# 1.0042750835418701
# Read cache from cache.pkl.
# res = [5 4 9 1 8]
# 0.0040721893310546875
可以看到第二次运行的时候只用了0.0001s左右是由于第二次运行将直接从cache.pkl这个文件读取数据而不会经过再次预处理::
# 还是以上面的例子为例如果需要重新生成另一个cache比如另一个数据集的内容通过如下的方式调用即可
process_data(_cache_fp='cache2.pkl') # 完全不影响之前的cache.pkl'
上面的_cache_fp是cache_results会识别的参数它将从'cache2.pkl'这里缓存/读取数据,即这里的'cache2.pkl'覆盖默认的
'cache.pkl'。如果在你的函数前面加上了@cache_results()则你的函数会增加三个参数[_cache_fp, _refresh, _verbose]。
上面的例子即为使用_cache_fp的情况这三个参数不会传入到你的函数中当然你写的函数参数名也不可能包含这三个名称::
process_data(_cache_fp='cache2.pkl', _refresh=True) # 这里强制重新生成一份对预处理的cache。
# _verbose是用于控制输出信息的如果为0,则不输出任何内容;如果为1,则会提醒当前步骤是读取的cache还是生成了新的cache
:param str _cache_fp: 将返回结果缓存到什么位置;或从什么位置读取缓存。如果为Nonecache_results没有任何效用除非在
函数调用的时候传入_cache_fp这个参数。
:param bool _refresh: 是否重新生成cache。
:param int _verbose: 是否打印cache的信息。
:return:
"""
def wrapper_(func):
signature = inspect.signature(func)
for key, _ in signature.parameters.items():
if key in ('_cache_fp', '_refresh', '_verbose'):
raise RuntimeError("The function decorated by cache_results cannot have keyword `{}`.".format(key))
def wrapper(*args, **kwargs):
my_args = args[0]
mode = args[-1]
if '_cache_fp' in kwargs:
cache_filepath = kwargs.pop('_cache_fp')
assert isinstance(cache_filepath, str), "_cache_fp can only be str."
else:
cache_filepath = _cache_fp
if '_refresh' in kwargs:
refresh = kwargs.pop('_refresh')
assert isinstance(refresh, bool), "_refresh can only be bool."
else:
refresh = _refresh
if '_verbose' in kwargs:
verbose = kwargs.pop('_verbose')
assert isinstance(verbose, int), "_verbose can only be integer."
else:
verbose = _verbose
refresh_flag = True
model_name = my_args.model_name_or_path.split("/")[-1]
is_pretrain = my_args.pretrain
cache_filepath = os.path.join(my_args.data_dir, f"cached_{mode}_features{model_name}_pretrain{is_pretrain}_faiss{my_args.faiss_init}_seqlength{my_args.max_seq_length}_{my_args.litmodel_class}.pkl")
refresh = my_args.overwrite_cache
if cache_filepath is not None and refresh is False:
# load data
if os.path.exists(cache_filepath):
with open(cache_filepath, 'rb') as f:
results = pickle.load(f)
if verbose == 1:
logger.info("Read cache from {}.".format(cache_filepath))
refresh_flag = False
if refresh_flag:
results = func(*args, **kwargs)
if cache_filepath is not None:
if results is None:
raise RuntimeError("The return value is None. Delete the decorator.")
with open(cache_filepath, 'wb') as f:
pickle.dump(results, f)
logger.info("Save cache to {}.".format(cache_filepath))
return results
return wrapper
return wrapper_
import argparse
import csv
import logging
import os
import random
import sys
import numpy as np
import torch
from torch.utils.data import (DataLoader, RandomSampler, SequentialSampler,
TensorDataset)
from torch.utils.data.distributed import DistributedSampler
from tqdm import tqdm, trange
# from torch.nn import CrossEntropyLoss, MSELoss
# from scipy.stats import pearsonr, spearmanr
# from sklearn.metrics import matthews_corrcoef, f1_scoreclass
logger = logging.getLogger(__name__)
class InputExample(object):
"""A single training/test example for simple sequence classification."""
def __init__(self, guid, text_a, text_b=None, text_c=None, text_d=None, label=None, real_label=None, en=None, en_id=None, rel=None, text_d_id=None, graph_inf=None):
"""Constructs a InputExample.
Args:
guid: Unique id for the example.
text_a: string. The untokenized text of the first sequence. For single
sequence tasks, only this sequence must be specified.
text_b: (Optional) string. The untokenized text of the second sequence.
Only must be specified for sequence pair tasks.
text_c: (Optional) string. The untokenized text of the third sequence.
Only must be specified for sequence triple tasks.
label: (Optional) string. list of entities
"""
self.guid = guid
self.text_a = text_a
self.text_b = text_b
self.text_c = text_c
self.text_d = text_d
self.label = label
self.real_label = real_label
self.en = en
self.rel = rel # rel id
self.text_d_id = text_d_id
self.graph_inf = graph_inf
self.en_id = en_id
@dataclass
class InputFeatures:
"""A single set of features of data."""
input_ids: torch.Tensor
attention_mask: torch.Tensor
labels: torch.Tensor = None
label: torch.Tensor = None
en: torch.Tensor = 0
rel: torch.Tensor = 0
pos: torch.Tensor = 0
graph: torch.Tensor = 0
distance_attention: torch.Tensor = 0
# attention_bias: torch.Tensor = 0
class DataProcessor(object):
"""Base class for data converters for sequence classification data sets."""
def get_train_examples(self, data_dir):
"""Gets a collection of `InputExample`s for the train set."""
raise NotImplementedError()
def get_dev_examples(self, data_dir):
"""Gets a collection of `InputExample`s for the dev set."""
raise NotImplementedError()
def get_labels(self, data_dir):
"""Gets the list of labels for this data set."""
raise NotImplementedError()
@classmethod
def _read_tsv(cls, input_file, quotechar=None):
"""Reads a tab separated value file."""
with open(input_file, "r", encoding="utf-8") as f:
reader = csv.reader(f, delimiter="\t", quotechar=quotechar)
lines = []
for line in reader:
if sys.version_info[0] == 2:
line = list(unicode(cell, 'utf-8') for cell in line)
lines.append(line)
return lines
import copy
def solve_get_knowledge_store(line, set_type="train", pretrain=1):
"""
use the LM to get the entity embedding.
Transductive: triples + text description
Inductive: text description
"""
examples = []
head_ent_text = ent2text[line[0]]
tail_ent_text = ent2text[line[2]]
relation_text = rel2text[line[1]]
i=0
a = tail_filter_entities["\t".join([line[0],line[1]])]
b = head_filter_entities["\t".join([line[2],line[1]])]
guid = "%s-%s" % (set_type, i)
text_a = head_ent_text
text_b = relation_text
text_c = tail_ent_text
# use the description of c to predict A
examples.append(
InputExample(guid=guid, text_a="[PAD]", text_b=text_b + "[PAD]", text_c = "[PAD]" + " " + text_c, label=lmap(lambda x: ent2id[x], b), real_label=ent2id[line[0]], en=[ent2id[line[0]], rel2id[line[1]], ent2id[line[2]]], rel=0)
)
examples.append(
InputExample(guid=guid, text_a="[PAD]", text_b=text_b + "[PAD]", text_c = "[PAD]" + " " + text_a, label=lmap(lambda x: ent2id[x], b), real_label=ent2id[line[2]], en=[ent2id[line[0]], rel2id[line[1]], ent2id[line[2]]], rel=0)
)
return examples
def solve(line, set_type="train", pretrain=1, max_triplet=32):
examples = []
head_ent_text = ent2text[line[0]]
tail_ent_text = ent2text[line[2]]
relation_text = rel2text[line[1]]
i=0
a = tail_filter_entities["\t".join([line[0],line[1]])]
b = head_filter_entities["\t".join([line[2],line[1]])]
guid = "%s-%s" % (set_type, i)
text_a = head_ent_text
text_b = relation_text
text_c = tail_ent_text
if pretrain:
text_a_tokens = text_a.split()
for i in range(10):
st = random.randint(0, len(text_a_tokens))
examples.append(
InputExample(guid=guid, text_a="[MASK]", text_b=" ".join(text_a_tokens[st:min(st+64, len(text_a_tokens))]), text_c = "", label=ent2id[line[0]], real_label=ent2id[line[0]], en=0, rel=0)
)
examples.append(
InputExample(guid=guid, text_a="[MASK]", text_b=text_a, text_c = "", label=ent2id[line[0]], real_label=ent2id[line[0]], en=0, rel=0)
)
# examples.append(
# InputExample(guid=guid, text_a="[MASK]", text_b=text_c, text_c = "", label=ent2id[line[2]], real_label=ent2id[line[2]], en=0, rel=0)
# )
else:
# 主要是对text_c进行包装不再是原来的文本而是对应子图的graph变量graph_seq。如果mask的是尾实体那么就让text_c在后面加入graph_seq
# masked_head_seq = []
# masked_tail_seq = []
# masked_tail_graph_list = masked_tail_neighbor["\t".join([line[0],line[1]])]
# masked_head_graph_list = masked_head_neighbor["\t".join([line[2],line[1]])]
# for item in masked_head_graph_list:
# masked_head_seq.append(ent2id[item[0]])
# masked_head_seq.append(rel2id[item[1]])
# masked_head_seq.append(ent2id[item[2]])
# for item in masked_tail_graph_list:
# masked_tail_seq.append(ent2id[item[0]])
# masked_tail_seq.append(rel2id[item[1]])
# masked_tail_seq.append(ent2id[item[2]])
masked_head_seq = set()
masked_head_seq_id = set()
masked_tail_seq = set()
masked_tail_seq_id = set()
masked_tail_graph_list = masked_tail_neighbor["\t".join([line[0],line[1]])] if len(masked_tail_neighbor["\t".join([line[0],line[1]])]) < max_triplet else \
random.sample(masked_tail_neighbor["\t".join([line[0],line[1]])], max_triplet)
masked_head_graph_list = masked_head_neighbor["\t".join([line[2],line[1]])] if len(masked_head_neighbor["\t".join([line[2],line[1]])]) < max_triplet else \
random.sample(masked_head_neighbor["\t".join([line[2],line[1]])], max_triplet)
# masked_tail_graph_list = masked_tail_neighbor["\t".join([line[0],line[1]])][:16]
# masked_head_graph_list = masked_head_neighbor["\t".join([line[2],line[1]])][:16]
for item in masked_head_graph_list:
masked_head_seq.add(item[0])
masked_head_seq.add(item[1])
masked_head_seq.add(item[2])
masked_head_seq_id.add(ent2id[item[0]])
masked_head_seq_id.add(rel2id[item[1]])
masked_head_seq_id.add(ent2id[item[2]])
for item in masked_tail_graph_list:
masked_tail_seq.add(item[0])
masked_tail_seq.add(item[1])
masked_tail_seq.add(item[2])
masked_tail_seq_id.add(ent2id[item[0]])
masked_tail_seq_id.add(rel2id[item[1]])
masked_tail_seq_id.add(ent2id[item[2]])
# print(masked_tail_seq)
masked_head_seq = masked_head_seq.difference({line[0]})
masked_head_seq = masked_head_seq.difference({line[2]})
masked_head_seq = masked_head_seq.difference({line[1]})
masked_head_seq_id = masked_head_seq_id.difference({ent2id[line[0]]})
masked_head_seq_id = masked_head_seq_id.difference({rel2id[line[1]]})
masked_head_seq_id = masked_head_seq_id.difference({ent2id[line[2]]})
masked_tail_seq = masked_tail_seq.difference({line[0]})
masked_tail_seq = masked_tail_seq.difference({line[2]})
masked_tail_seq = masked_tail_seq.difference({line[1]})
masked_tail_seq_id = masked_tail_seq_id.difference({ent2id[line[0]]})
masked_tail_seq_id = masked_tail_seq_id.difference({rel2id[line[1]]})
masked_tail_seq_id = masked_tail_seq_id.difference({ent2id[line[2]]})
# examples.append(
# InputExample(guid=guid, text_a="[MASK]", text_b=' '.join(text_b.split(' ')[:16]) + " [PAD]", text_c = "[PAD]" + " " + ' '.join(text_c.split(' ')[:16]), text_d = masked_head_seq, label=lmap(lambda x: ent2id[x], b), real_label=ent2id[line[0]], en=[rel2id[line[1]], ent2id[line[2]]], rel=rel2id[line[1]]))
# examples.append(
# InputExample(guid=guid, text_a="[PAD] ", text_b=' '.join(text_b.split(' ')[:16]) + " [PAD]", text_c = "[MASK]" +" " + ' '.join(text_a.split(' ')[:16]), text_d = masked_tail_seq, label=lmap(lambda x: ent2id[x], a), real_label=ent2id[line[2]], en=[ent2id[line[0]], rel2id[line[1]]], rel=rel2id[line[1]]))
examples.append(
InputExample(guid=guid, text_a="[MASK]", text_b="[PAD]", text_c = "[PAD]", text_d = list(masked_head_seq), label=lmap(lambda x: ent2id[x], b), real_label=ent2id[line[0]], en=[line[1], line[2]], en_id = [rel2id[line[1]], ent2id[line[2]]], rel=rel2id[line[1]], text_d_id = list(masked_head_seq_id), graph_inf = masked_head_graph_list))
examples.append(
InputExample(guid=guid, text_a="[PAD]", text_b="[PAD]", text_c = "[MASK]", text_d = list(masked_tail_seq), label=lmap(lambda x: ent2id[x], a), real_label=ent2id[line[2]], en=[line[0], line[1]], en_id = [ent2id[line[0]], rel2id[line[1]]], rel=rel2id[line[1]], text_d_id = list(masked_tail_seq_id), graph_inf = masked_tail_graph_list))
return examples
def filter_init(head, tail, t1,t2, ent2id_, ent2token_, rel2id_, masked_head_neighbor_, masked_tail_neighbor_, rel2token_):
global head_filter_entities
global tail_filter_entities
global ent2text
global rel2text
global ent2id
global ent2token
global rel2id
global masked_head_neighbor
global masked_tail_neighbor
global rel2token
head_filter_entities = head
tail_filter_entities = tail
ent2text =t1
rel2text =t2
ent2id = ent2id_
ent2token = ent2token_
rel2id = rel2id_
masked_head_neighbor = masked_head_neighbor_
masked_tail_neighbor = masked_tail_neighbor_
rel2token = rel2token_
def delete_init(ent2text_):
global ent2text
ent2text = ent2text_
class KGProcessor(DataProcessor):
"""Processor for knowledge graph data set."""
def __init__(self, tokenizer, args):
self.labels = set()
self.tokenizer = tokenizer
self.args = args
self.entity_path = os.path.join(args.data_dir, "entity2textlong.txt") if os.path.exists(os.path.join(args.data_dir, 'entity2textlong.txt')) \
else os.path.join(args.data_dir, "entity2text.txt")
def get_train_examples(self, data_dir):
"""See base class."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, "train.tsv")), "train", data_dir, self.args)
def get_dev_examples(self, data_dir):
"""See base class."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, "dev.tsv")), "dev", data_dir, self.args)
def get_test_examples(self, data_dir, chunk=""):
"""See base class."""
return self._create_examples(
self._read_tsv(os.path.join(data_dir, f"test{chunk}.tsv")), "test", data_dir, self.args)
def get_relations(self, data_dir):
"""Gets all labels (relations) in the knowledge graph."""
# return list(self.labels)
with open(os.path.join(data_dir, "relations.txt"), 'r') as f:
lines = f.readlines()
relations = []
for line in lines:
relations.append(line.strip().split('\t')[0])
rel2token = {ent : f"[RELATION_{i}]" for i, ent in enumerate(relations)}
return list(rel2token.values())
def get_labels(self, data_dir):
"""Gets all labels (0, 1) for triples in the knowledge graph."""
relation = []
with open(os.path.join(data_dir, "relation2text.txt"), 'r') as f:
lines = f.readlines()
entities = []
for line in lines:
relation.append(line.strip().split("\t")[-1])
return relation
def get_entities(self, data_dir):
"""Gets all entities in the knowledge graph."""
with open(self.entity_path, 'r') as f:
lines = f.readlines()
entities = []
for line in lines:
entities.append(line.strip().split("\t")[0])
ent2token = {ent : f"[ENTITY_{i}]" for i, ent in enumerate(entities)}
return list(ent2token.values())
def get_train_triples(self, data_dir):
"""Gets training triples."""
return self._read_tsv(os.path.join(data_dir, "train.tsv"))
def get_dev_triples(self, data_dir):
"""Gets validation triples."""
return self._read_tsv(os.path.join(data_dir, "dev.tsv"))
def get_test_triples(self, data_dir, chunk=""):
"""Gets test triples."""
return self._read_tsv(os.path.join(data_dir, f"test{chunk}.tsv"))
def _create_examples(self, lines, set_type, data_dir, args):
"""Creates examples for the training and dev sets."""
# entity to text
ent2text = {}
ent2text_with_type = {}
with open(self.entity_path, 'r') as f:
ent_lines = f.readlines()
for line in ent_lines:
temp = line.strip().split('\t')
try:
end = temp[1]#.find(',')
if "wiki" in data_dir:
assert "Q" in temp[0]
ent2text[temp[0]] = temp[1].replace("\\n", " ").replace("\\", "") #[:end]
except IndexError:
# continue
end = " "#.find(',')
if "wiki" in data_dir:
assert "Q" in temp[0]
ent2text[temp[0]] = end #[:end]
entities = list(ent2text.keys())
ent2token = {ent : f"[ENTITY_{i}]" for i, ent in enumerate(entities)}
ent2id = {ent : i for i, ent in enumerate(entities)}
rel2text = {}
with open(os.path.join(data_dir, "relation2text.txt"), 'r') as f:
rel_lines = f.readlines()
for line in rel_lines:
temp = line.strip().split('\t')
rel2text[temp[0]] = temp[1]
relation_names = {}
with open(os.path.join(data_dir, "relations.txt"), "r") as file:
for line in file.readlines():
t = line.strip()
relation_names[t] = rel2text[t]
tmp_lines = []
not_in_text = 0
for line in tqdm(lines, desc="delete entities without text name."):
if (line[0] not in ent2text) or (line[2] not in ent2text) or (line[1] not in rel2text):
not_in_text += 1
continue
tmp_lines.append(line)
lines = tmp_lines
print(f"total entity not in text : {not_in_text} ")
relations = list(rel2text.keys())
rel2token = {rel : f"[RELATION_{i}]" for i, rel in enumerate(relations)}
# rel id -> relation token id
num_entities = len(self.get_entities(args.data_dir))
rel2id = {w:i+num_entities for i,w in enumerate(relation_names.keys())}
with open(os.path.join(data_dir, "masked_head_neighbor.txt"), 'r') as file:
masked_head_neighbor = json.load(file)
with open(os.path.join(data_dir, "masked_tail_neighbor.txt"), 'r') as file:
masked_tail_neighbor = json.load(file)
examples = []
# head filter head entity
head_filter_entities = defaultdict(list)
tail_filter_entities = defaultdict(list)
dataset_list = ["train.tsv", "dev.tsv", "test.tsv"]
# in training, only use the train triples
if set_type == "train" and not args.pretrain: dataset_list = dataset_list[0:1]
for m in dataset_list:
with open(os.path.join(data_dir, m), 'r') as file:
train_lines = file.readlines()
for idx in range(len(train_lines)):
train_lines[idx] = train_lines[idx].strip().split("\t")
for line in train_lines:
tail_filter_entities["\t".join([line[0], line[1]])].append(line[2])
head_filter_entities["\t".join([line[2], line[1]])].append(line[0])
max_head_entities = max(len(_) for _ in head_filter_entities.values())
max_tail_entities = max(len(_) for _ in tail_filter_entities.values())
# use bce loss, ignore the mlm
if set_type == "train" and args.bce:
lines = []
for k, v in tail_filter_entities.items():
h, r = k.split('\t')
t = v[0]
lines.append([h, r, t])
for k, v in head_filter_entities.items():
t, r = k.split('\t')
h = v[0]
lines.append([h, r, t])
# for training , select each entity as for get mask embedding.
if args.pretrain:
rel = list(rel2text.keys())[0]
lines = []
for k in ent2text.keys():
lines.append([k, rel, k])
print(f"max number of filter entities : {max_head_entities} {max_tail_entities}")
# 把子图信息加入到filter_init中初始化为文件夹及固定子图设置为全局变量solve中调用
from os import cpu_count
threads = min(1, cpu_count())
filter_init(head_filter_entities, tail_filter_entities,ent2text, rel2text, ent2id, ent2token, rel2id, masked_head_neighbor, masked_tail_neighbor, rel2token
)
if hasattr(args, "faiss_init") and args.faiss_init:
annotate_ = partial(
solve_get_knowledge_store,
pretrain=self.args.pretrain
)
else:
annotate_ = partial(
solve,
pretrain=self.args.pretrain,
max_triplet=self.args.max_triplet
)
examples = list(
tqdm(
map(annotate_, lines),
total=len(lines),
desc="convert text to examples"
)
)
tmp_examples = []
for e in examples:
for ee in e:
tmp_examples.append(ee)
examples = tmp_examples
# delete vars
del head_filter_entities, tail_filter_entities, ent2text, rel2text, ent2id, ent2token, rel2id
return examples
class Verbalizer(object):
def __init__(self, args):
if "WN18RR" in args.data_dir:
self.mode = "WN18RR"
elif "FB15k" in args.data_dir:
self.mode = "FB15k"
elif "umls" in args.data_dir:
self.mode = "umls"
elif "codexs" in args.data_dir:
self.mode = "codexs"
elif "FB13" in args.data_dir:
self.mode = "FB13"
elif "WN11" in args.data_dir:
self.mode = "WN11"
def _convert(self, head, relation, tail):
if self.mode == "umls":
return f"The {relation} {head} is "
return f"{head} {relation}"
class KGCDataset(Dataset):
def __init__(self, features):
self.features = features
def __getitem__(self, index):
return self.features[index]
def __len__(self):
return len(self.features)
def convert_examples_to_features_init(tokenizer_for_convert):
global tokenizer
tokenizer = tokenizer_for_convert
def convert_examples_to_features(example, max_seq_length, mode, pretrain=1):
"""Loads a data file into a list of `InputBatch`s."""
text_a = " ".join(example.text_a.split()[:128])
text_b = " ".join(example.text_b.split()[:128])
text_c = " ".join(example.text_c.split()[:128])
if pretrain:
input_text_a = text_a
input_text_b = text_b
else:
input_text_a = " ".join([text_a, text_b])
input_text_b = text_c
inputs = tokenizer(
input_text_a,
input_text_b,
truncation="longest_first",
max_length=max_seq_length,
padding="longest",
add_special_tokens=True,
)
# assert tokenizer.mask_token_id in inputs.input_ids, "mask token must in input"
features = asdict(InputFeatures(input_ids=inputs["input_ids"],
attention_mask=inputs['attention_mask'],
labels=torch.tensor(example.label),
label=torch.tensor(example.real_label)
)
)
return features
def _truncate_seq_pair(tokens_a, tokens_b, max_length):
"""Truncates a sequence pair in place to the maximum length."""
# This is a simple heuristic which will always truncate the longer sequence
# one token at a time. This makes more sense than truncating an equal percent
# of tokens from each, since if one sequence is very short then each token
# that's truncated likely contains more information than a longer sequence.
while True:
total_length = len(tokens_a) + len(tokens_b)
if total_length <= max_length:
break
if len(tokens_a) > len(tokens_b):
tokens_a.pop()
else:
tokens_b.pop()
def _truncate_seq_triple(tokens_a, tokens_b, tokens_c, max_length):
"""Truncates a sequence triple in place to the maximum length."""
# This is a simple heuristic which will always truncate the longer sequence
# one token at a time. This makes more sense than truncating an equal percent
# of tokens from each, since if one sequence is very short then each token
# that's truncated likely contains more information than a longer sequence.
while True:
total_length = len(tokens_a) + len(tokens_b) + len(tokens_c)
if total_length <= max_length:
break
if len(tokens_a) > len(tokens_b) and len(tokens_a) > len(tokens_c):
tokens_a.pop()
elif len(tokens_b) > len(tokens_a) and len(tokens_b) > len(tokens_c):
tokens_b.pop()
elif len(tokens_c) > len(tokens_a) and len(tokens_c) > len(tokens_b):
tokens_c.pop()
else:
tokens_c.pop()
@cache_results(_cache_fp="./dataset")
def get_dataset(args, processor, label_list, tokenizer, mode):
assert mode in ["train", "dev", "test"], "mode must be in train dev test!"
# use training data to construct the entity embedding
combine_train_and_test = False
if args.faiss_init and mode == "test" and not args.pretrain:
mode = "train"
if "ind" in args.data_dir: combine_train_and_test = True
else:
pass
if mode == "train":
train_examples = processor.get_train_examples(args.data_dir)
elif mode == "dev":
train_examples = processor.get_dev_examples(args.data_dir)
else:
train_examples = processor.get_test_examples(args.data_dir)
if combine_train_and_test:
logger.info("use all the dataset for getting the entity mask embedding in pretraining pretraining")
logger.info("use all the dataset for getting the entity mask embedding in pretraining pretraining")
train_examples = processor.get_test_examples(args.data_dir) + processor.get_train_examples(args.data_dir) + processor.get_dev_examples(args.data_dir)
from os import cpu_count
with open(os.path.join(args.data_dir, f"examples_{mode}.txt"), 'w') as file:
for line in train_examples:
d = {}
d.update(line.__dict__)
file.write(json.dumps(d) + '\n')
# 这里应该不需要重新from_pretrain必须沿用加入token的
tokenizer = AutoTokenizer.from_pretrained(args.model_name_or_path, use_fast=False)
features = []
file_inputs = [os.path.join(args.data_dir, f"examples_{mode}.txt")]
file_outputs = [os.path.join(args.data_dir, f"features_{mode}.txt")]
with contextlib.ExitStack() as stack:
inputs = [
stack.enter_context(open(input, "r", encoding="utf-8"))
if input != "-" else sys.stdin
for input in file_inputs
]
outputs = [
stack.enter_context(open(output, "w", encoding="utf-8"))
if output != "-" else sys.stdout
for output in file_outputs
]
encoder = MultiprocessingEncoder(tokenizer, args)
pool = Pool(16, initializer=encoder.initializer)
encoder.initializer()
encoded_lines = pool.imap(encoder.encode_lines, zip(*inputs), 1000)
# encoded_lines = map(encoder.encode_lines, zip(*inputs))
stats = Counter()
for i, (filt, enc_lines) in tqdm(enumerate(encoded_lines, start=1), total=len(train_examples)):
if filt == "PASS":
for enc_line, output_h in zip(enc_lines, outputs):
features.append(eval(enc_line))
# features.append(enc_line)
# print(enc_line, file=output_h)
else:
stats["num_filtered_" + filt] += 1
for k, v in stats.most_common():
print("[{}] filtered {} lines".format(k, v), file=sys.stderr)
for f_id, f in enumerate(features):
en = features[f_id].pop("en")
rel = features[f_id].pop("rel")
graph = features[f_id].pop("graph")
real_label = f['label']
features[f_id]['distance_attention'] = torch.Tensor(features[f_id]['distance_attention'])
cnt = 0
cnt_2 = 0
if not isinstance(en, list): break
pos = 0
for i,t in enumerate(f['input_ids']):
if t == tokenizer.pad_token_id:
features[f_id]['input_ids'][i] = en[cnt] + len(tokenizer)
cnt += 1
if t == tokenizer.unk_token_id:
features[f_id]['input_ids'][i] = graph[cnt_2] + len(tokenizer)
cnt_2 += 1
if features[f_id]['input_ids'][i] == real_label + len(tokenizer):
pos = i
if cnt_2 == len(graph) and cnt == len(en): break
# 如果等于UNK pop出图节点list然后替换
assert not (args.faiss_init and pos == 0)
features[f_id]['pos'] = pos
# for i,t in enumerate(f['input_ids']):
# if t == tokenizer.pad_token_id:
# features[f_id]['input_ids'][i] = rel + len(tokenizer) + num_entities
# break
features = KGCDataset(features)
return features
class MultiprocessingEncoder(object):
def __init__(self, tokenizer, args):
self.tokenizer = tokenizer
self.pretrain = args.pretrain
self.max_seq_length = args.max_seq_length
def initializer(self):
global bpe
bpe = self.tokenizer
def encode(self, line):
global bpe
ids = bpe.encode(line)
return list(map(str, ids))
def decode(self, tokens):
global bpe
return bpe.decode(tokens)
def encode_lines(self, lines):
"""
Encode a set of lines. All lines will be encoded together.
"""
enc_lines = []
for line in lines:
line = line.strip()
if len(line) == 0:
return ["EMPTY", None]
# enc_lines.append(" ".join(tokens))
enc_lines.append(json.dumps(self.convert_examples_to_features(example=eval(line))))
# enc_lines.append(" ")
# enc_lines.append("123")
return ["PASS", enc_lines]
def decode_lines(self, lines):
dec_lines = []
for line in lines:
tokens = map(int, line.strip().split())
dec_lines.append(self.decode(tokens))
return ["PASS", dec_lines]
def convert_examples_to_features(self, example):
pretrain = self.pretrain
max_seq_length = self.max_seq_length
global bpe
"""Loads a data file into a list of `InputBatch`s."""
# tokens_a = tokenizer.tokenize(example.text_a)
# tokens_b = tokenizer.tokenize(example.text_b)
# tokens_c = tokenizer.tokenize(example.text_c)
# _truncate_seq_triple(tokens_a, tokens_b, tokens_c, max_length= max_seq_length)
# text_a = " ".join(example['text_a'].split()[:128])
# text_b = " ".join(example['text_b'].split()[:128])
# text_c = " ".join(example['text_c'].split()[:128])
text_a = example['text_a']
text_b = example['text_b']
text_c = example['text_c']
text_d = example['text_d']
graph_list = example['graph_inf']
if pretrain:
# the des of xxx is [MASK] .
input_text = f"The description of {text_a} is that {text_b} ."
inputs = bpe(
input_text,
truncation="longest_first",
max_length=max_seq_length,
padding="longest",
add_special_tokens=True,
)
else:
if text_a == "[MASK]":
input_text_a = " ".join([text_a, text_b])
input_text_b = text_c
origin_triplet = ["MASK"] + example['en']
graph_seq = ["MASK"] + example['en'] + text_d
else:
input_text_a = text_a
input_text_b = " ".join([text_b, text_c])
origin_triplet = example['en'] + ["MASK"]
graph_seq = example['en'] + ["MASK"] + text_d
# 加入graph信息, 拼接等量[UNK]
input_text_b = " ".join(["[CLS]", input_text_a, input_text_b, bpe.unk_token * len(text_d)])
inputs = bpe(
input_text_b,
truncation="longest_first",
max_length=max_seq_length,
padding="longest",
add_special_tokens=False,
)
# assert bpe.mask_token_id in inputs.input_ids, "mask token must in input"
# graph_seq = input_text_b[] 把图结构信息读取出来
# [CLS] [ENTITY_13258] [RELATION_68] [MASK] [ENTITY_4] [RELATION_127] [ENTITY_8] [RELATION_9] [ENTITY_9011] [ENTITY_12477] [PAD] [PAD]
# 获取图结构信息
# 首先在solve中加入一个存储所有子图三元组的临时存储变量
# 在这里graph_information = example['graph']
new_rel = set()
new_rel.add(tuple((origin_triplet[0], origin_triplet[1])))
new_rel.add(tuple((origin_triplet[1], origin_triplet[0])))
new_rel.add(tuple((origin_triplet[1], origin_triplet[2])))
new_rel.add(tuple((origin_triplet[2], origin_triplet[1])))
for triplet in graph_list:
rel1, rel2, rel3, rel4 = tuple((triplet[0], triplet[1])), tuple((triplet[1], triplet[2])), tuple((triplet[1], triplet[0])), tuple((triplet[2], triplet[1]))
new_rel.add(rel1)
new_rel.add(rel2)
new_rel.add(rel3)
new_rel.add(rel4)
# 这里的三元组转换为new_rel
KGid2Graphid_map = defaultdict(int)
for i in range(len(graph_seq)):
KGid2Graphid_map[graph_seq[i]] = i
N = len(graph_seq)
adj = torch.zeros([N, N], dtype=torch.bool)
for item in list(new_rel):
adj[KGid2Graphid_map[item[0]], KGid2Graphid_map[item[1]]] = True
shortest_path_result, _ = algos.floyd_warshall(adj.numpy())
max_dist = np.amax(shortest_path_result)
# [PAD]部分, [CLS]部分补全, [SEP]额外引入也当作[PAD]处理
# 加上一个attention_bias, PAD部分设置为-inf在送入model前对其进行处理, 将其相加让模型无法关注PAD
# 加入attention到huggingface的BertForMaskedLM这个可能需要再去查查
# attention_bias = torch.zero(N, N, dtype=torch.float)
# attention_bias[torch.tensor(shortest_path_result == )]
features = asdict(InputFeatures(input_ids=inputs["input_ids"],
attention_mask=inputs['attention_mask'],
labels=example['label'],
label=example['real_label'],
en=example['en_id'],
rel=example['rel'],
graph=example['text_d_id'],
distance_attention = shortest_path_result.tolist(),
)
)
return features

661
data/umls/test.txt Normal file
View File

@ -0,0 +1,661 @@
steroid interacts_with eicosanoid
clinical_attribute isa conceptual_entity
body_location_or_region location_of physiologic_function
neoplastic_process isa disease_or_syndrome
carbohydrate affects molecular_function
disease_or_syndrome affects organ_or_tissue_function
substance issue_in occupation_or_discipline
laboratory_or_test_result evaluation_of genetic_function
chemical_viewed_functionally isa entity
organophosphorus_compound ingredient_of clinical_drug
mental_or_behavioral_dysfunction affects social_behavior
human_caused_phenomenon_or_process result_of pathologic_function
amino_acid_peptide_or_protein interacts_with antibiotic
hormone affects experimental_model_of_disease
antibiotic affects cell_function
embryonic_structure part_of bird
tissue produces organic_chemical
genetic_function process_of organ_or_tissue_function
congenital_abnormality part_of mammal
inorganic_chemical causes cell_or_molecular_dysfunction
receptor disrupts cell
professional_society location_of laboratory_procedure
organism_function co-occurs_with cell_function
immunologic_factor causes cell_or_molecular_dysfunction
vitamin affects neoplastic_process
antibiotic complicates anatomical_abnormality
quantitative_concept measurement_of physiologic_function
pathologic_function affects biologic_function
congenital_abnormality issue_in occupation_or_discipline
tissue adjacent_to body_space_or_junction
vitamin disrupts organ_or_tissue_function
receptor isa substance
mental_process isa organism_function
vertebrate exhibits individual_behavior
body_location_or_region location_of therapeutic_or_preventive_procedure
physical_object issue_in biomedical_occupation_or_discipline
inorganic_chemical affects cell_function
neoplastic_process affects vertebrate
cell_function affects mammal
population_group uses medical_device
human_caused_phenomenon_or_process result_of molecular_function
pharmacologic_substance treats neoplastic_process
embryonic_structure location_of cell_or_molecular_dysfunction
experimental_model_of_disease result_of laboratory_procedure
enzyme disrupts cell_function
pathologic_function complicates injury_or_poisoning
mental_or_behavioral_dysfunction degree_of disease_or_syndrome
plant interacts_with animal
disease_or_syndrome process_of pathologic_function
pathologic_function result_of diagnostic_procedure
anatomical_abnormality manifestation_of biologic_function
laboratory_or_test_result manifestation_of pathologic_function
fish issue_in biomedical_occupation_or_discipline
carbohydrate affects cell_or_molecular_dysfunction
biologic_function affects virus
mental_process precedes cell_function
experimental_model_of_disease occurs_in mental_or_behavioral_dysfunction
congenital_abnormality part_of bacterium
human_caused_phenomenon_or_process result_of physiologic_function
cell location_of therapeutic_or_preventive_procedure
experimental_model_of_disease process_of natural_phenomenon_or_process
neoplastic_process result_of phenomenon_or_process
neuroreactive_substance_or_biogenic_amine affects organism_function
mental_or_behavioral_dysfunction process_of archaeon
congenital_abnormality part_of virus
pathologic_function manifestation_of genetic_function
biologically_active_substance causes mental_or_behavioral_dysfunction
pharmacologic_substance treats disease_or_syndrome
body_space_or_junction location_of cell_function
genetic_function affects virus
acquired_abnormality result_of diagnostic_procedure
physiologic_function affects archaeon
cell_component location_of pathologic_function
molecular_biology_research_technique measures chemical_viewed_functionally
molecular_function result_of human_caused_phenomenon_or_process
professional_or_occupational_group uses manufactured_object
receptor disrupts molecular_function
organ_or_tissue_function process_of biologic_function
molecular_biology_research_technique measures element_ion_or_isotope
physiologic_function result_of experimental_model_of_disease
physiologic_function produces biologically_active_substance
fully_formed_anatomical_structure part_of amphibian
enzyme complicates organism_function
tissue location_of virus
invertebrate isa animal
mental_process co-occurs_with genetic_function
anatomical_abnormality location_of bacterium
fully_formed_anatomical_structure location_of cell_or_molecular_dysfunction
organ_or_tissue_function co-occurs_with genetic_function
physiologic_function result_of human_caused_phenomenon_or_process
molecular_function result_of cell_or_molecular_dysfunction
diagnostic_procedure associated_with pathologic_function
physiologic_function result_of neoplastic_process
lipid interacts_with pharmacologic_substance
cell_component produces receptor
physiologic_function result_of congenital_abnormality
age_group performs machine_activity
congenital_abnormality associated_with organism_attribute
laboratory_procedure analyzes amino_acid_peptide_or_protein
vitamin affects mental_process
cell_component part_of organism
classification isa conceptual_entity
organism_function result_of pathologic_function
organism_function produces vitamin
laboratory_procedure diagnoses mental_or_behavioral_dysfunction
carbohydrate affects pathologic_function
cell_component isa entity
pathologic_function affects organism
mental_process affects bacterium
laboratory_or_test_result indicates organ_or_tissue_function
tissue produces body_substance
cell_component part_of body_part_organ_or_organ_component
molecular_function affects mental_or_behavioral_dysfunction
carbohydrate interacts_with immunologic_factor
daily_or_recreational_activity associated_with acquired_abnormality
molecular_function result_of disease_or_syndrome
neoplastic_process occurs_in injury_or_poisoning
fully_formed_anatomical_structure part_of archaeon
carbohydrate affects mental_process
element_ion_or_isotope interacts_with hazardous_or_poisonous_substance
injury_or_poisoning disrupts molecular_function
professional_or_occupational_group interacts_with population_group
mental_or_behavioral_dysfunction affects archaeon
organic_chemical affects neoplastic_process
substance causes disease_or_syndrome
biologically_active_substance causes disease_or_syndrome
injury_or_poisoning disrupts tissue
pathologic_function issue_in occupation_or_discipline
mental_or_behavioral_dysfunction process_of reptile
acquired_abnormality manifestation_of pathologic_function
element_ion_or_isotope issue_in biomedical_occupation_or_discipline
behavior associated_with age_group
disease_or_syndrome complicates cell_or_molecular_dysfunction
fully_formed_anatomical_structure produces receptor
chemical causes injury_or_poisoning
mental_or_behavioral_dysfunction affects reptile
biologic_function affects organism_function
antibiotic interacts_with neuroreactive_substance_or_biogenic_amine
biologically_active_substance affects mental_or_behavioral_dysfunction
laboratory_procedure assesses_effect_of genetic_function
research_activity measures amino_acid_peptide_or_protein
disease_or_syndrome affects cell_or_molecular_dysfunction
pathologic_function result_of disease_or_syndrome
disease_or_syndrome occurs_in mental_or_behavioral_dysfunction
social_behavior associated_with patient_or_disabled_group
antibiotic diagnoses mental_or_behavioral_dysfunction
pathologic_function result_of organism_function
plant interacts_with reptile
mental_or_behavioral_dysfunction affects amphibian
sign_or_symptom diagnoses mental_or_behavioral_dysfunction
biologic_function result_of mental_or_behavioral_dysfunction
biologic_function affects cell_or_molecular_dysfunction
anatomical_abnormality part_of vertebrate
family_group interacts_with group
experimental_model_of_disease process_of fish
mental_or_behavioral_dysfunction affects natural_phenomenon_or_process
organism_function affects alga
cell_component location_of body_space_or_junction
body_part_organ_or_organ_component location_of genetic_function
chemical affects genetic_function
chemical_viewed_functionally affects physiologic_function
language issue_in biomedical_occupation_or_discipline
body_part_organ_or_organ_component location_of organ_or_tissue_function
research_activity isa occupational_activity
diagnostic_procedure analyzes hazardous_or_poisonous_substance
experimental_model_of_disease occurs_in group
nucleic_acid_nucleoside_or_nucleotide isa entity
diagnostic_procedure associated_with congenital_abnormality
occupational_activity associated_with cell_or_molecular_dysfunction
organ_or_tissue_function result_of acquired_abnormality
molecular_function affects cell_function
chemical_viewed_structurally ingredient_of clinical_drug
mental_or_behavioral_dysfunction result_of behavior
chemical_viewed_structurally interacts_with carbohydrate
cell_function affects neoplastic_process
pathologic_function occurs_in mental_or_behavioral_dysfunction
family_group performs therapeutic_or_preventive_procedure
family_group produces research_device
amino_acid_peptide_or_protein affects mental_process
hormone complicates biologic_function
anatomical_abnormality result_of health_care_activity
organism_function process_of biologic_function
immunologic_factor complicates disease_or_syndrome
nucleotide_sequence property_of nucleic_acid_nucleoside_or_nucleotide
organization location_of occupational_activity
clinical_attribute result_of genetic_function
vitamin causes anatomical_abnormality
mental_or_behavioral_dysfunction affects organ_or_tissue_function
neoplastic_process result_of mental_or_behavioral_dysfunction
body_part_organ_or_organ_component produces organic_chemical
virus isa organism
organ_or_tissue_function process_of physiologic_function
individual_behavior associated_with occupation_or_discipline
hazardous_or_poisonous_substance affects disease_or_syndrome
cell_or_molecular_dysfunction affects physiologic_function
hormone disrupts tissue
molecular_function affects animal
physiologic_function affects molecular_function
biologic_function affects physiologic_function
laboratory_or_test_result indicates mental_process
chemical_viewed_structurally affects organ_or_tissue_function
cell_function result_of disease_or_syndrome
amino_acid_peptide_or_protein affects biologic_function
experimental_model_of_disease affects biologic_function
biomedical_or_dental_material affects biologic_function
molecular_biology_research_technique measures amino_acid_peptide_or_protein
experimental_model_of_disease affects bacterium
antibiotic affects organ_or_tissue_function
human isa mammal
population_group performs daily_or_recreational_activity
cell_component conceptual_part_of body_system
cell part_of reptile
organ_or_tissue_function affects human
indicator_reagent_or_diagnostic_aid interacts_with chemical
cell_or_molecular_dysfunction result_of organism_function
molecular_biology_research_technique measures eicosanoid
molecular_biology_research_technique measures natural_phenomenon_or_process
organism_attribute result_of disease_or_syndrome
pharmacologic_substance treats injury_or_poisoning
genetic_function affects biologic_function
group exhibits individual_behavior
human_caused_phenomenon_or_process result_of phenomenon_or_process
antibiotic affects genetic_function
hormone interacts_with enzyme
pathologic_function process_of archaeon
bird interacts_with mammal
neuroreactive_substance_or_biogenic_amine disrupts organ_or_tissue_function
carbohydrate causes cell_or_molecular_dysfunction
cell_function affects disease_or_syndrome
cell part_of fungus
organism_function process_of human
receptor complicates mental_or_behavioral_dysfunction
genetic_function isa molecular_function
mental_or_behavioral_dysfunction degree_of cell_or_molecular_dysfunction
group_attribute property_of family_group
pharmacologic_substance diagnoses experimental_model_of_disease
pathologic_function affects alga
tissue location_of biologic_function
organism_function co-occurs_with mental_process
occupational_activity associated_with neoplastic_process
indicator_reagent_or_diagnostic_aid affects genetic_function
carbohydrate interacts_with biomedical_or_dental_material
organism_function occurs_in temporal_concept
inorganic_chemical causes anatomical_abnormality
cell_or_molecular_dysfunction affects organism_function
amphibian exhibits social_behavior
anatomical_structure part_of alga
lipid isa entity
cell_or_molecular_dysfunction result_of disease_or_syndrome
social_behavior associated_with professional_or_occupational_group
cell produces hormone
invertebrate isa entity
organic_chemical causes cell_or_molecular_dysfunction
acquired_abnormality result_of human_caused_phenomenon_or_process
pathologic_function manifestation_of disease_or_syndrome
chemical_viewed_functionally issue_in occupation_or_discipline
experimental_model_of_disease co-occurs_with anatomical_abnormality
laboratory_procedure assesses_effect_of element_ion_or_isotope
diagnostic_procedure measures cell_function
chemical_viewed_structurally issue_in occupation_or_discipline
genetic_function affects disease_or_syndrome
laboratory_or_test_result co-occurs_with sign_or_symptom
amino_acid_peptide_or_protein interacts_with chemical_viewed_functionally
cell part_of bacterium
cell_function affects clinical_attribute
fully_formed_anatomical_structure part_of plant
chemical_viewed_structurally interacts_with lipid
molecular_biology_research_technique measures molecular_function
fungus interacts_with organism
enzyme interacts_with vitamin
congenital_abnormality manifestation_of mental_or_behavioral_dysfunction
therapeutic_or_preventive_procedure complicates pathologic_function
chemical affects organ_or_tissue_function
virus location_of hormone
organ_or_tissue_function produces hormone
alga location_of neuroreactive_substance_or_biogenic_amine
laboratory_procedure affects organ_or_tissue_function
pathologic_function process_of invertebrate
manufactured_object causes cell_or_molecular_dysfunction
neoplastic_process affects rickettsia_or_chlamydia
cell_or_molecular_dysfunction result_of acquired_abnormality
genetic_function affects plant
alga isa physical_object
family_group performs laboratory_procedure
disease_or_syndrome degree_of cell_or_molecular_dysfunction
reptile exhibits social_behavior
therapeutic_or_preventive_procedure affects patient_or_disabled_group
qualitative_concept evaluation_of individual_behavior
population_group uses regulation_or_law
antibiotic causes cell_or_molecular_dysfunction
cell_or_molecular_dysfunction occurs_in mental_or_behavioral_dysfunction
acquired_abnormality manifestation_of genetic_function
bacterium isa entity
experimental_model_of_disease occurs_in age_group
immunologic_factor causes congenital_abnormality
laboratory_procedure measures pharmacologic_substance
disease_or_syndrome affects fish
biologic_function result_of neoplastic_process
therapeutic_or_preventive_procedure associated_with acquired_abnormality
cell produces vitamin
mental_process process_of vertebrate
mental_process result_of neoplastic_process
diagnostic_procedure diagnoses cell_or_molecular_dysfunction
rickettsia_or_chlamydia location_of vitamin
neoplastic_process manifestation_of pathologic_function
disease_or_syndrome precedes neoplastic_process
physiologic_function result_of natural_phenomenon_or_process
laboratory_or_test_result measurement_of food
diagnostic_procedure assesses_effect_of element_ion_or_isotope
vitamin causes cell_or_molecular_dysfunction
carbohydrate_sequence isa idea_or_concept
human_caused_phenomenon_or_process result_of injury_or_poisoning
element_ion_or_isotope causes cell_or_molecular_dysfunction
organic_chemical causes congenital_abnormality
human_caused_phenomenon_or_process result_of experimental_model_of_disease
experimental_model_of_disease complicates mental_or_behavioral_dysfunction
organ_or_tissue_function isa natural_phenomenon_or_process
nucleotide_sequence isa molecular_sequence
physiologic_function affects fungus
experimental_model_of_disease isa phenomenon_or_process
cell_or_molecular_dysfunction manifestation_of injury_or_poisoning
clinical_drug causes acquired_abnormality
cell_component location_of genetic_function
occupational_activity associated_with disease_or_syndrome
laboratory_or_test_result associated_with anatomical_abnormality
age_group performs social_behavior
fully_formed_anatomical_structure location_of physiologic_function
hormone interacts_with vitamin
molecular_function precedes organism_function
human_caused_phenomenon_or_process isa event
professional_or_occupational_group performs diagnostic_procedure
disease_or_syndrome co-occurs_with injury_or_poisoning
mental_process produces biologically_active_substance
molecular_function produces hormone
neoplastic_process complicates congenital_abnormality
neoplastic_process result_of mental_process
eicosanoid issue_in biomedical_occupation_or_discipline
health_care_related_organization isa entity
cell_function isa biologic_function
diagnostic_procedure analyzes pharmacologic_substance
immunologic_factor complicates genetic_function
physiologic_function precedes genetic_function
immunologic_factor complicates physiologic_function
mental_or_behavioral_dysfunction process_of mammal
immunologic_factor indicates neoplastic_process
neoplastic_process process_of genetic_function
biologic_function affects fish
organ_or_tissue_function affects bird
mental_or_behavioral_dysfunction result_of environmental_effect_of_humans
hazardous_or_poisonous_substance complicates neoplastic_process
cell_or_molecular_dysfunction result_of social_behavior
experimental_model_of_disease result_of human_caused_phenomenon_or_process
element_ion_or_isotope interacts_with vitamin
drug_delivery_device causes injury_or_poisoning
fully_formed_anatomical_structure location_of fungus
fully_formed_anatomical_structure location_of bacterium
natural_phenomenon_or_process result_of disease_or_syndrome
enzyme complicates experimental_model_of_disease
individual_behavior manifestation_of mental_or_behavioral_dysfunction
geographic_area isa idea_or_concept
tissue isa fully_formed_anatomical_structure
sign_or_symptom diagnoses experimental_model_of_disease
educational_activity associated_with pathologic_function
receptor affects biologic_function
organ_or_tissue_function co-occurs_with physiologic_function
mental_or_behavioral_dysfunction produces vitamin
experimental_model_of_disease result_of physiologic_function
hormone complicates physiologic_function
self_help_or_relief_organization carries_out educational_activity
environmental_effect_of_humans isa event
chemical causes disease_or_syndrome
diagnostic_procedure diagnoses congenital_abnormality
cell_component part_of human
experimental_model_of_disease result_of health_care_activity
laboratory_or_test_result manifestation_of experimental_model_of_disease
organism_attribute measurement_of mental_process
cell_function affects genetic_function
anatomical_structure part_of plant
natural_phenomenon_or_process result_of pathologic_function
congenital_abnormality result_of experimental_model_of_disease
organism_function produces receptor
food causes neoplastic_process
hormone affects genetic_function
diagnostic_procedure issue_in biomedical_occupation_or_discipline
organ_or_tissue_function process_of mental_or_behavioral_dysfunction
bird interacts_with archaeon
laboratory_procedure analyzes organophosphorus_compound
animal interacts_with organism
laboratory_procedure assesses_effect_of disease_or_syndrome
plant interacts_with alga
therapeutic_or_preventive_procedure prevents neoplastic_process
congenital_abnormality complicates anatomical_abnormality
antibiotic disrupts organism_function
age_group performs daily_or_recreational_activity
gene_or_genome part_of plant
amino_acid_peptide_or_protein interacts_with neuroreactive_substance_or_biogenic_amine
pharmacologic_substance causes pathologic_function
lipid issue_in occupation_or_discipline
research_device causes anatomical_abnormality
disease_or_syndrome process_of alga
anatomical_abnormality result_of cell_function
antibiotic treats experimental_model_of_disease
antibiotic complicates mental_process
injury_or_poisoning result_of cell_function
physiologic_function precedes organ_or_tissue_function
genetic_function result_of human_caused_phenomenon_or_process
quantitative_concept measurement_of mental_process
fungus causes pathologic_function
rickettsia_or_chlamydia location_of immunologic_factor
eicosanoid interacts_with element_ion_or_isotope
inorganic_chemical causes neoplastic_process
anatomical_structure issue_in biomedical_occupation_or_discipline
immunologic_factor complicates injury_or_poisoning
drug_delivery_device treats injury_or_poisoning
research_device isa entity
biologically_active_substance interacts_with neuroreactive_substance_or_biogenic_amine
organophosphorus_compound interacts_with biologically_active_substance
molecular_function affects amphibian
mental_or_behavioral_dysfunction co-occurs_with injury_or_poisoning
neoplastic_process manifestation_of experimental_model_of_disease
bacterium location_of biologically_active_substance
organic_chemical interacts_with biomedical_or_dental_material
physiologic_function affects natural_phenomenon_or_process
laboratory_procedure isa health_care_activity
neoplastic_process complicates anatomical_abnormality
anatomical_abnormality affects vertebrate
clinical_attribute manifestation_of organ_or_tissue_function
embryonic_structure part_of fungus
inorganic_chemical interacts_with enzyme
mental_or_behavioral_dysfunction co-occurs_with experimental_model_of_disease
enzyme complicates neoplastic_process
sign_or_symptom manifestation_of organ_or_tissue_function
organ_or_tissue_function co-occurs_with molecular_function
age_group isa group
steroid affects neoplastic_process
age_group exhibits behavior
disease_or_syndrome manifestation_of physiologic_function
diagnostic_procedure isa event
biologically_active_substance disrupts gene_or_genome
anatomical_abnormality manifestation_of mental_process
cell_function result_of physiologic_function
mental_process process_of human
chemical issue_in biomedical_occupation_or_discipline
alga interacts_with human
vitamin affects biologic_function
fully_formed_anatomical_structure produces carbohydrate
environmental_effect_of_humans result_of acquired_abnormality
disease_or_syndrome result_of human_caused_phenomenon_or_process
organic_chemical interacts_with steroid
cell_or_molecular_dysfunction process_of natural_phenomenon_or_process
anatomical_abnormality part_of animal
diagnostic_procedure uses drug_delivery_device
molecular_biology_research_technique method_of diagnostic_procedure
biologically_active_substance causes injury_or_poisoning
anatomical_abnormality affects plant
molecular_function process_of invertebrate
diagnostic_procedure measures pharmacologic_substance
element_ion_or_isotope affects molecular_function
mental_or_behavioral_dysfunction result_of neoplastic_process
machine_activity isa activity
nucleic_acid_nucleoside_or_nucleotide interacts_with hormone
laboratory_procedure affects neoplastic_process
biomedical_or_dental_material isa chemical
pathologic_function affects animal
receptor causes pathologic_function
indicator_reagent_or_diagnostic_aid causes anatomical_abnormality
neuroreactive_substance_or_biogenic_amine affects cell_or_molecular_dysfunction
cell_function affects rickettsia_or_chlamydia
embryonic_structure location_of virus
therapeutic_or_preventive_procedure affects cell_function
human interacts_with organism
fungus causes disease_or_syndrome
cell produces receptor
population_group produces regulation_or_law
family_group performs research_activity
vitamin causes injury_or_poisoning
molecular_sequence issue_in biomedical_occupation_or_discipline
steroid issue_in biomedical_occupation_or_discipline
bacterium interacts_with fish
cell_function result_of mental_process
organism_attribute property_of mammal
anatomical_abnormality manifestation_of disease_or_syndrome
cell_or_molecular_dysfunction result_of environmental_effect_of_humans
physiologic_function affects mammal
fully_formed_anatomical_structure part_of bird
organic_chemical interacts_with hormone
idea_or_concept issue_in occupation_or_discipline
patient_or_disabled_group uses research_device
receptor causes acquired_abnormality
biologic_function result_of disease_or_syndrome
biologically_active_substance interacts_with enzyme
physiologic_function isa biologic_function
antibiotic complicates cell_function
hazardous_or_poisonous_substance disrupts mental_process
pathologic_function precedes cell_or_molecular_dysfunction
organism_attribute property_of organism
organophosphorus_compound interacts_with carbohydrate
bacterium location_of receptor
organ_or_tissue_function result_of experimental_model_of_disease
fully_formed_anatomical_structure location_of organism_function
finding isa conceptual_entity
congenital_abnormality isa entity
tissue issue_in biomedical_occupation_or_discipline
natural_phenomenon_or_process result_of neoplastic_process
organism_attribute manifestation_of organ_or_tissue_function
therapeutic_or_preventive_procedure complicates cell_function
population_group produces medical_device
antibiotic interacts_with biologically_active_substance
antibiotic causes acquired_abnormality
cell_function produces vitamin
neoplastic_process affects physiologic_function
environmental_effect_of_humans result_of mental_or_behavioral_dysfunction
organ_or_tissue_function affects organism_function
lipid affects pathologic_function
laboratory_procedure affects mental_process
biologically_active_substance disrupts cell_component
finding manifestation_of organism_function
organism_function affects bird
genetic_function affects physiologic_function
cell_function result_of genetic_function
antibiotic affects physiologic_function
organophosphorus_compound causes pathologic_function
natural_phenomenon_or_process affects genetic_function
neoplastic_process produces receptor
laboratory_procedure measures biomedical_or_dental_material
organism_attribute measurement_of molecular_function
physiologic_function affects biologic_function
experimental_model_of_disease result_of neoplastic_process
alga interacts_with virus
congenital_abnormality location_of fungus
antibiotic diagnoses cell_or_molecular_dysfunction
diagnostic_procedure measures temporal_concept
mental_or_behavioral_dysfunction result_of biologic_function
pharmacologic_substance complicates biologic_function
pharmacologic_substance disrupts organism_function
anatomical_abnormality result_of injury_or_poisoning
fully_formed_anatomical_structure location_of molecular_function
nucleic_acid_nucleoside_or_nucleotide interacts_with antibiotic
neuroreactive_substance_or_biogenic_amine isa biologically_active_substance
experimental_model_of_disease process_of bacterium
neuroreactive_substance_or_biogenic_amine interacts_with chemical
cell_or_molecular_dysfunction affects bird
laboratory_or_test_result isa conceptual_entity
pathologic_function associated_with organism_attribute
acquired_abnormality co-occurs_with injury_or_poisoning
professional_or_occupational_group uses drug_delivery_device
professional_or_occupational_group diagnoses experimental_model_of_disease
cell_or_molecular_dysfunction degree_of neoplastic_process
neoplastic_process issue_in biomedical_occupation_or_discipline
disease_or_syndrome result_of mental_process
neoplastic_process process_of bird
pathologic_function result_of anatomical_abnormality
congenital_abnormality manifestation_of disease_or_syndrome
organism_attribute result_of neoplastic_process
injury_or_poisoning issue_in occupation_or_discipline
receptor causes mental_or_behavioral_dysfunction
clinical_attribute property_of bacterium
nucleic_acid_nucleoside_or_nucleotide affects experimental_model_of_disease
lipid causes congenital_abnormality
chemical_viewed_structurally interacts_with chemical_viewed_functionally
antibiotic prevents pathologic_function
eicosanoid isa organic_chemical
biologically_active_substance disrupts organ_or_tissue_function
organ_or_tissue_function affects genetic_function
antibiotic affects neoplastic_process
fully_formed_anatomical_structure location_of virus
qualitative_concept evaluation_of activity
embryonic_structure part_of cell
enzyme disrupts tissue
governmental_or_regulatory_activity associated_with disease_or_syndrome
gene_or_genome location_of mental_process
neoplastic_process process_of organism_function
pharmacologic_substance issue_in biomedical_occupation_or_discipline
receptor complicates disease_or_syndrome
disease_or_syndrome process_of genetic_function
anatomical_abnormality location_of virus
embryonic_structure part_of vertebrate
organism_function affects experimental_model_of_disease
manufactured_object causes mental_or_behavioral_dysfunction
cell part_of body_part_organ_or_organ_component
molecular_function result_of experimental_model_of_disease
medical_device treats acquired_abnormality
disease_or_syndrome affects human
body_part_organ_or_organ_component location_of molecular_function
disease_or_syndrome occurs_in neoplastic_process
vitamin isa chemical_viewed_functionally
cell_component issue_in occupation_or_discipline
cell_component produces nucleic_acid_nucleoside_or_nucleotide
bacterium isa organism
cell_or_molecular_dysfunction occurs_in injury_or_poisoning
hazardous_or_poisonous_substance issue_in occupation_or_discipline
organization location_of educational_activity
tissue produces biologically_active_substance
fungus isa physical_object
organism_function result_of phenomenon_or_process
organism_function isa biologic_function
organic_chemical interacts_with nucleic_acid_nucleoside_or_nucleotide
organic_chemical affects natural_phenomenon_or_process
diagnostic_procedure associated_with neoplastic_process
molecular_function produces neuroreactive_substance_or_biogenic_amine
mental_or_behavioral_dysfunction process_of bird
chemical_viewed_structurally affects biologic_function
experimental_model_of_disease produces biologically_active_substance
mental_or_behavioral_dysfunction associated_with organism_attribute
laboratory_procedure analyzes neuroreactive_substance_or_biogenic_amine
organic_chemical isa substance
mental_or_behavioral_dysfunction affects plant
daily_or_recreational_activity associated_with experimental_model_of_disease
mental_process precedes organ_or_tissue_function
chemical affects neoplastic_process
hormone ingredient_of clinical_drug
hormone isa biologically_active_substance
molecular_biology_research_technique measures receptor
experimental_model_of_disease precedes neoplastic_process
pharmacologic_substance interacts_with neuroreactive_substance_or_biogenic_amine
virus interacts_with fish
acquired_abnormality affects virus
pathologic_function result_of molecular_function
embryonic_structure location_of fungus
pharmacologic_substance affects cell_or_molecular_dysfunction
biologic_function result_of acquired_abnormality
neoplastic_process co-occurs_with anatomical_abnormality
neoplastic_process result_of acquired_abnormality
body_part_organ_or_organ_component produces body_substance
cell_or_molecular_dysfunction process_of mental_or_behavioral_dysfunction
educational_activity issue_in occupation_or_discipline
pathologic_function manifestation_of neoplastic_process
virus causes pathologic_function
injury_or_poisoning complicates experimental_model_of_disease
eicosanoid interacts_with pharmacologic_substance
molecular_function result_of natural_phenomenon_or_process
neoplastic_process produces tissue
diagnostic_procedure assesses_effect_of vitamin
anatomical_abnormality manifestation_of organ_or_tissue_function
hazardous_or_poisonous_substance ingredient_of clinical_drug
organophosphorus_compound affects cell_or_molecular_dysfunction
laboratory_procedure measures organism_attribute
chemical_viewed_functionally interacts_with immunologic_factor
diagnostic_procedure diagnoses disease_or_syndrome
injury_or_poisoning complicates disease_or_syndrome
molecular_function result_of congenital_abnormality
biologic_function affects bacterium
organism_function produces hormone
individual_behavior associated_with neoplastic_process
natural_phenomenon_or_process affects cell_function
daily_or_recreational_activity associated_with pathologic_function
fully_formed_anatomical_structure location_of rickettsia_or_chlamydia
organ_or_tissue_function affects pathologic_function
neoplastic_process affects amphibian
acquired_abnormality occurs_in age_group
mental_process affects organism_attribute
molecular_biology_research_technique measures neoplastic_process
disease_or_syndrome occurs_in patient_or_disabled_group
mental_or_behavioral_dysfunction affects mammal
environmental_effect_of_humans isa phenomenon_or_process
cell_or_molecular_dysfunction precedes experimental_model_of_disease
laboratory_or_test_result isa entity
virus interacts_with archaeon
indicator_reagent_or_diagnostic_aid causes mental_or_behavioral_dysfunction
anatomical_structure part_of fungus
cell_or_molecular_dysfunction process_of bird

5216
data/umls/train.txt Normal file

File diff suppressed because it is too large Load Diff

652
data/umls/valid.txt Normal file
View File

@ -0,0 +1,652 @@
nucleic_acid_nucleoside_or_nucleotide affects mental_or_behavioral_dysfunction
patient_or_disabled_group performs individual_behavior
neoplastic_process process_of molecular_function
lipid affects biologic_function
neoplastic_process affects alga
antibiotic affects cell_or_molecular_dysfunction
eicosanoid affects mental_or_behavioral_dysfunction
fully_formed_anatomical_structure location_of injury_or_poisoning
machine_activity method_of laboratory_procedure
cell_or_molecular_dysfunction isa pathologic_function
molecular_biology_research_technique measures organism_function
organism_function affects animal
patient_or_disabled_group performs governmental_or_regulatory_activity
laboratory_procedure measures mental_process
tissue surrounds body_space_or_junction
anatomical_abnormality affects organism_function
plant location_of biologically_active_substance
pathologic_function degree_of mental_or_behavioral_dysfunction
rickettsia_or_chlamydia location_of neuroreactive_substance_or_biogenic_amine
steroid causes anatomical_abnormality
organophosphorus_compound isa organic_chemical
amino_acid_peptide_or_protein interacts_with eicosanoid
age_group produces research_device
acquired_abnormality result_of genetic_function
organic_chemical interacts_with chemical
invertebrate interacts_with fish
gene_or_genome produces nucleic_acid_nucleoside_or_nucleotide
enzyme isa biologically_active_substance
cell location_of body_space_or_junction
clinical_attribute degree_of organism_attribute
vitamin isa biologically_active_substance
animal interacts_with mammal
injury_or_poisoning result_of experimental_model_of_disease
organism_function co-occurs_with physiologic_function
amino_acid_peptide_or_protein interacts_with biologically_active_substance
pharmacologic_substance disrupts cell_function
mental_process process_of bird
acquired_abnormality result_of social_behavior
research_activity measures temporal_concept
steroid isa substance
molecular_function process_of cell_function
professional_or_occupational_group performs health_care_activity
disease_or_syndrome result_of physiologic_function
body_location_or_region location_of injury_or_poisoning
antibiotic complicates acquired_abnormality
organophosphorus_compound interacts_with amino_acid_peptide_or_protein
neuroreactive_substance_or_biogenic_amine complicates injury_or_poisoning
gene_or_genome produces body_substance
injury_or_poisoning associated_with clinical_attribute
cell_function affects human
finding associated_with injury_or_poisoning
laboratory_procedure measures organic_chemical
disease_or_syndrome result_of mental_or_behavioral_dysfunction
physiologic_function precedes mental_process
body_space_or_junction issue_in occupation_or_discipline
mental_or_behavioral_dysfunction process_of animal
acquired_abnormality result_of physiologic_function
acquired_abnormality result_of injury_or_poisoning
idea_or_concept isa conceptual_entity
molecular_function process_of archaeon
anatomical_abnormality result_of organism_function
health_care_related_organization location_of molecular_biology_research_technique
eicosanoid causes neoplastic_process
pathologic_function precedes neoplastic_process
environmental_effect_of_humans result_of injury_or_poisoning
element_ion_or_isotope causes neoplastic_process
molecular_function affects vertebrate
neuroreactive_substance_or_biogenic_amine causes acquired_abnormality
steroid causes congenital_abnormality
inorganic_chemical interacts_with chemical
tissue produces nucleic_acid_nucleoside_or_nucleotide
body_part_organ_or_organ_component location_of cell_function
organism_attribute property_of animal
eicosanoid interacts_with indicator_reagent_or_diagnostic_aid
disease_or_syndrome affects mental_process
cell_or_molecular_dysfunction process_of disease_or_syndrome
pathologic_function result_of biologic_function
finding manifestation_of mental_or_behavioral_dysfunction
congenital_abnormality location_of bacterium
biomedical_or_dental_material causes neoplastic_process
chemical_viewed_functionally interacts_with biomedical_or_dental_material
experimental_model_of_disease process_of disease_or_syndrome
pathologic_function affects experimental_model_of_disease
receptor complicates pathologic_function
chemical_viewed_structurally affects experimental_model_of_disease
fish exhibits individual_behavior
immunologic_factor isa entity
diagnostic_procedure measures molecular_function
carbohydrate isa entity
pathologic_function process_of plant
amino_acid_sequence property_of gene_or_genome
cell_or_molecular_dysfunction affects biologic_function
food isa entity
neoplastic_process process_of human
hazardous_or_poisonous_substance complicates anatomical_abnormality
body_location_or_region location_of disease_or_syndrome
cell_function process_of animal
natural_phenomenon_or_process affects organ_or_tissue_function
neuroreactive_substance_or_biogenic_amine isa chemical_viewed_functionally
organophosphorus_compound interacts_with element_ion_or_isotope
genetic_function result_of disease_or_syndrome
neoplastic_process process_of invertebrate
laboratory_procedure assesses_effect_of experimental_model_of_disease
alga isa organism
clinical_attribute measurement_of organ_or_tissue_function
human isa entity
molecular_sequence isa idea_or_concept
hazardous_or_poisonous_substance affects molecular_function
amino_acid_peptide_or_protein isa chemical_viewed_structurally
age_group issue_in biomedical_occupation_or_discipline
laboratory_or_test_result measurement_of element_ion_or_isotope
organization location_of laboratory_procedure
steroid isa organic_chemical
therapeutic_or_preventive_procedure affects disease_or_syndrome
natural_phenomenon_or_process result_of organ_or_tissue_function
chemical_viewed_functionally causes anatomical_abnormality
geographic_area associated_with injury_or_poisoning
carbohydrate_sequence result_of mental_process
genetic_function result_of environmental_effect_of_humans
biomedical_or_dental_material affects cell_or_molecular_dysfunction
chemical_viewed_functionally affects pathologic_function
molecular_function affects archaeon
neoplastic_process manifestation_of organ_or_tissue_function
tissue produces neuroreactive_substance_or_biogenic_amine
indicator_reagent_or_diagnostic_aid causes cell_or_molecular_dysfunction
laboratory_or_test_result evaluation_of mental_process
biomedical_or_dental_material causes cell_or_molecular_dysfunction
neoplastic_process result_of organ_or_tissue_function
genetic_function produces neuroreactive_substance_or_biogenic_amine
mental_or_behavioral_dysfunction result_of organ_or_tissue_function
mental_process affects invertebrate
indicator_reagent_or_diagnostic_aid affects natural_phenomenon_or_process
mental_or_behavioral_dysfunction associated_with pathologic_function
mental_process affects neoplastic_process
cell_function affects biologic_function
experimental_model_of_disease manifestation_of genetic_function
inorganic_chemical causes congenital_abnormality
laboratory_or_test_result measurement_of organic_chemical
physical_object isa entity
body_location_or_region location_of pathologic_function
neuroreactive_substance_or_biogenic_amine complicates cell_function
research_activity affects mental_process
laboratory_procedure measures pathologic_function
amino_acid_peptide_or_protein causes cell_or_molecular_dysfunction
acquired_abnormality affects human
diagnostic_procedure affects pathologic_function
immunologic_factor complicates cell_or_molecular_dysfunction
bacterium issue_in biomedical_occupation_or_discipline
receptor complicates genetic_function
neoplastic_process complicates experimental_model_of_disease
organ_or_tissue_function affects cell_function
therapeutic_or_preventive_procedure isa health_care_activity
experimental_model_of_disease result_of social_behavior
therapeutic_or_preventive_procedure method_of biomedical_occupation_or_discipline
eicosanoid affects mental_process
drug_delivery_device causes congenital_abnormality
organism_function affects rickettsia_or_chlamydia
mental_or_behavioral_dysfunction produces enzyme
manufactured_object causes neoplastic_process
chemical_viewed_structurally interacts_with immunologic_factor
cell_function process_of fungus
physiologic_function process_of invertebrate
natural_phenomenon_or_process result_of congenital_abnormality
vitamin complicates congenital_abnormality
gene_or_genome part_of body_part_organ_or_organ_component
disease_or_syndrome result_of phenomenon_or_process
disease_or_syndrome affects animal
patient_or_disabled_group performs occupational_activity
organism_attribute result_of organism_function
biologically_active_substance affects pathologic_function
embryonic_structure location_of experimental_model_of_disease
vitamin affects physiologic_function
medical_device causes cell_or_molecular_dysfunction
research_activity measures antibiotic
drug_delivery_device treats acquired_abnormality
organism isa physical_object
molecular_function process_of fungus
physiologic_function result_of organ_or_tissue_function
antibiotic prevents disease_or_syndrome
medical_device causes mental_or_behavioral_dysfunction
nucleic_acid_nucleoside_or_nucleotide affects mental_process
cell_or_molecular_dysfunction process_of physiologic_function
chemical affects mental_or_behavioral_dysfunction
nucleic_acid_nucleoside_or_nucleotide interacts_with neuroreactive_substance_or_biogenic_amine
plant interacts_with bacterium
organic_chemical interacts_with chemical_viewed_functionally
experimental_model_of_disease associated_with clinical_attribute
congenital_abnormality part_of organism
gene_or_genome location_of experimental_model_of_disease
body_part_organ_or_organ_component location_of fungus
amino_acid_peptide_or_protein affects pathologic_function
genetic_function produces hormone
laboratory_procedure associated_with anatomical_abnormality
antibiotic causes pathologic_function
acquired_abnormality affects physiologic_function
professional_or_occupational_group isa group
sign_or_symptom associated_with acquired_abnormality
enzyme causes congenital_abnormality
genetic_function process_of cell_function
vitamin complicates physiologic_function
clinical_attribute measurement_of molecular_function
embryonic_structure location_of mental_or_behavioral_dysfunction
injury_or_poisoning result_of phenomenon_or_process
chemical_viewed_structurally affects natural_phenomenon_or_process
cell_function affects mental_or_behavioral_dysfunction
mental_process affects social_behavior
biologic_function process_of virus
diagnostic_procedure analyzes indicator_reagent_or_diagnostic_aid
experimental_model_of_disease affects physiologic_function
virus location_of receptor
qualitative_concept evaluation_of health_care_activity
cell_function affects alga
mental_or_behavioral_dysfunction process_of biologic_function
mental_process process_of organ_or_tissue_function
organ_or_tissue_function result_of injury_or_poisoning
neoplastic_process precedes cell_or_molecular_dysfunction
disease_or_syndrome degree_of mental_or_behavioral_dysfunction
patient_or_disabled_group produces medical_device
antibiotic interacts_with chemical
disease_or_syndrome manifestation_of neoplastic_process
cell_function process_of organism_function
organism_attribute manifestation_of cell_function
alga issue_in biomedical_occupation_or_discipline
professional_society issue_in biomedical_occupation_or_discipline
phenomenon_or_process result_of organism_function
chemical affects organism_function
laboratory_or_test_result manifestation_of organism_function
congenital_abnormality affects organism_function
daily_or_recreational_activity associated_with injury_or_poisoning
laboratory_or_test_result measurement_of enzyme
congenital_abnormality part_of bird
neoplastic_process manifestation_of mental_process
laboratory_procedure analyzes chemical_viewed_structurally
disease_or_syndrome result_of biologic_function
hormone disrupts cell
cell_or_molecular_dysfunction manifestation_of molecular_function
age_group produces regulation_or_law
mental_process affects bird
medical_device treats mental_or_behavioral_dysfunction
phenomenon_or_process result_of mental_process
embryonic_structure part_of virus
molecular_function affects reptile
therapeutic_or_preventive_procedure prevents experimental_model_of_disease
lipid isa substance
laboratory_procedure assesses_effect_of physiologic_function
fish interacts_with organism
plant isa physical_object
gene_or_genome isa entity
clinical_attribute property_of invertebrate
diagnostic_procedure analyzes element_ion_or_isotope
antibiotic affects natural_phenomenon_or_process
gene_or_genome produces vitamin
neoplastic_process affects natural_phenomenon_or_process
neoplastic_process result_of health_care_activity
diagnostic_procedure measures receptor
bacterium interacts_with archaeon
physiologic_function affects organism_attribute
hormone interacts_with receptor
professional_society carries_out laboratory_procedure
cell location_of organ_or_tissue_function
amino_acid_peptide_or_protein ingredient_of clinical_drug
human_caused_phenomenon_or_process result_of natural_phenomenon_or_process
research_activity issue_in occupation_or_discipline
chemical_viewed_functionally causes acquired_abnormality
reptile isa vertebrate
biologic_function affects invertebrate
neoplastic_process affects organism
vitamin affects natural_phenomenon_or_process
antibiotic diagnoses disease_or_syndrome
acquired_abnormality manifestation_of physiologic_function
pharmacologic_substance isa chemical
age_group exhibits social_behavior
organism_function process_of animal
professional_or_occupational_group performs machine_activity
experimental_model_of_disease isa event
neoplastic_process process_of disease_or_syndrome
acquired_abnormality location_of disease_or_syndrome
event issue_in biomedical_occupation_or_discipline
mental_or_behavioral_dysfunction occurs_in professional_or_occupational_group
indicator_reagent_or_diagnostic_aid affects experimental_model_of_disease
mental_or_behavioral_dysfunction isa biologic_function
health_care_activity method_of occupation_or_discipline
element_ion_or_isotope affects experimental_model_of_disease
plant interacts_with fungus
patient_or_disabled_group issue_in occupation_or_discipline
self_help_or_relief_organization carries_out occupational_activity
research_activity measures molecular_function
acquired_abnormality part_of amphibian
receptor affects mental_process
nucleic_acid_nucleoside_or_nucleotide causes injury_or_poisoning
cell_or_molecular_dysfunction affects organ_or_tissue_function
organism_attribute result_of experimental_model_of_disease
pathologic_function affects bacterium
professional_society location_of health_care_activity
hazardous_or_poisonous_substance disrupts embryonic_structure
animal exhibits social_behavior
biologic_function result_of congenital_abnormality
pathologic_function affects mental_process
diagnostic_procedure measures amino_acid_peptide_or_protein
molecular_function co-occurs_with physiologic_function
family_group uses medical_device
group performs machine_activity
laboratory_procedure associated_with pathologic_function
neoplastic_process co-occurs_with congenital_abnormality
laboratory_procedure measures indicator_reagent_or_diagnostic_aid
anatomical_abnormality result_of pathologic_function
body_location_or_region location_of cell_function
research_activity measures steroid
invertebrate causes neoplastic_process
laboratory_procedure analyzes hormone
disease_or_syndrome affects biologic_function
pathologic_function affects genetic_function
tissue issue_in occupation_or_discipline
biologic_function affects plant
anatomical_abnormality affects reptile
body_location_or_region location_of mental_or_behavioral_dysfunction
medical_device treats pathologic_function
organism_attribute result_of cell_function
gene_or_genome location_of virus
gene_or_genome part_of tissue
tissue produces hormone
laboratory_or_test_result indicates neoplastic_process
mental_or_behavioral_dysfunction complicates injury_or_poisoning
biologically_active_substance causes experimental_model_of_disease
therapeutic_or_preventive_procedure issue_in biomedical_occupation_or_discipline
quantitative_concept measurement_of body_location_or_region
professional_or_occupational_group isa entity
gene_or_genome affects organ_or_tissue_function
eicosanoid affects disease_or_syndrome
immunologic_factor complicates organism_function
gene_or_genome part_of reptile
laboratory_or_test_result manifestation_of molecular_function
mental_or_behavioral_dysfunction occurs_in family_group
therapeutic_or_preventive_procedure treats mental_or_behavioral_dysfunction
population_group isa group
body_location_or_region location_of tissue
quantitative_concept measurement_of molecular_sequence
laboratory_procedure isa activity
diagnostic_procedure assesses_effect_of organophosphorus_compound
gene_or_genome issue_in occupation_or_discipline
organ_or_tissue_function process_of reptile
geographic_area isa conceptual_entity
neuroreactive_substance_or_biogenic_amine affects mental_or_behavioral_dysfunction
biologically_active_substance isa chemical
enzyme disrupts embryonic_structure
virus location_of vitamin
professional_or_occupational_group uses regulation_or_law
experimental_model_of_disease result_of therapeutic_or_preventive_procedure
indicator_reagent_or_diagnostic_aid causes neoplastic_process
sign_or_symptom evaluation_of biologic_function
physiologic_function process_of amphibian
classification issue_in biomedical_occupation_or_discipline
organism_function produces biologically_active_substance
laboratory_or_test_result measurement_of chemical
immunologic_factor disrupts body_part_organ_or_organ_component
health_care_activity issue_in biomedical_occupation_or_discipline
carbohydrate interacts_with antibiotic
neoplastic_process result_of diagnostic_procedure
mental_or_behavioral_dysfunction result_of organism_function
cell_component location_of organ_or_tissue_function
organophosphorus_compound issue_in occupation_or_discipline
cell_component location_of experimental_model_of_disease
lipid causes acquired_abnormality
experimental_model_of_disease result_of mental_process
anatomical_abnormality result_of cell_or_molecular_dysfunction
cell_function isa physiologic_function
acquired_abnormality manifestation_of cell_function
laboratory_or_test_result associated_with disease_or_syndrome
mental_process produces hormone
mammal exhibits behavior
daily_or_recreational_activity associated_with neoplastic_process
clinical_drug causes injury_or_poisoning
research_activity associated_with pathologic_function
cell_or_molecular_dysfunction process_of human
body_part_organ_or_organ_component part_of invertebrate
drug_delivery_device treats sign_or_symptom
neuroreactive_substance_or_biogenic_amine affects disease_or_syndrome
vertebrate isa physical_object
experimental_model_of_disease result_of diagnostic_procedure
drug_delivery_device isa entity
therapeutic_or_preventive_procedure uses clinical_drug
enzyme affects cell_or_molecular_dysfunction
diagnostic_procedure analyzes neuroreactive_substance_or_biogenic_amine
amphibian exhibits individual_behavior
mental_or_behavioral_dysfunction process_of physiologic_function
laboratory_procedure diagnoses cell_or_molecular_dysfunction
therapeutic_or_preventive_procedure complicates mental_process
steroid interacts_with inorganic_chemical
physiologic_function affects plant
biomedical_occupation_or_discipline isa conceptual_entity
laboratory_procedure analyzes carbohydrate
eicosanoid interacts_with receptor
age_group performs molecular_biology_research_technique
element_ion_or_isotope interacts_with enzyme
hazardous_or_poisonous_substance disrupts cell_component
congenital_abnormality result_of physiologic_function
organophosphorus_compound interacts_with neuroreactive_substance_or_biogenic_amine
anatomical_abnormality part_of bacterium
clinical_drug causes anatomical_abnormality
body_space_or_junction issue_in biomedical_occupation_or_discipline
therapeutic_or_preventive_procedure affects mental_process
health_care_activity associated_with injury_or_poisoning
molecular_function precedes organ_or_tissue_function
health_care_related_organization carries_out research_activity
cell_function process_of molecular_function
neoplastic_process affects experimental_model_of_disease
diagnostic_procedure affects cell_or_molecular_dysfunction
diagnostic_procedure issue_in occupation_or_discipline
governmental_or_regulatory_activity method_of biomedical_occupation_or_discipline
laboratory_or_test_result manifestation_of cell_function
professional_or_occupational_group produces regulation_or_law
laboratory_or_test_result measurement_of pharmacologic_substance
pharmacologic_substance affects experimental_model_of_disease
receptor affects cell_function
neuroreactive_substance_or_biogenic_amine causes anatomical_abnormality
body_part_organ_or_organ_component produces vitamin
hormone affects biologic_function
fully_formed_anatomical_structure location_of disease_or_syndrome
receptor affects physiologic_function
research_activity measures organism_attribute
finding manifestation_of organ_or_tissue_function
mental_or_behavioral_dysfunction manifestation_of physiologic_function
health_care_activity affects mental_or_behavioral_dysfunction
antibiotic interacts_with immunologic_factor
disease_or_syndrome produces body_substance
diagnostic_procedure measures biomedical_or_dental_material
chemical affects natural_phenomenon_or_process
research_activity measures biomedical_or_dental_material
body_part_organ_or_organ_component conceptual_part_of body_system
disease_or_syndrome affects bacterium
chemical causes anatomical_abnormality
organism_function result_of mental_process
cell_or_molecular_dysfunction occurs_in age_group
pathologic_function affects amphibian
molecular_function isa phenomenon_or_process
laboratory_procedure analyzes vitamin
governmental_or_regulatory_activity associated_with pathologic_function
mental_process result_of acquired_abnormality
tissue produces organophosphorus_compound
gene_or_genome part_of cell_component
mental_or_behavioral_dysfunction affects animal
immunologic_factor causes acquired_abnormality
antibiotic treats acquired_abnormality
eicosanoid isa lipid
neuroreactive_substance_or_biogenic_amine causes pathologic_function
antibiotic treats congenital_abnormality
acquired_abnormality part_of plant
mental_or_behavioral_dysfunction process_of mental_process
professional_or_occupational_group exhibits individual_behavior
cell_component location_of biologic_function
hazardous_or_poisonous_substance isa chemical_viewed_functionally
cell_function result_of molecular_function
element_ion_or_isotope ingredient_of clinical_drug
acquired_abnormality affects amphibian
group uses classification
organic_chemical interacts_with eicosanoid
receptor isa biologically_active_substance
biologically_active_substance affects molecular_function
pathologic_function precedes mental_or_behavioral_dysfunction
laboratory_procedure assesses_effect_of biologically_active_substance
cell_function produces hormone
biologically_active_substance disrupts embryonic_structure
biologic_function produces receptor
alga location_of hormone
experimental_model_of_disease produces receptor
organ_or_tissue_function occurs_in mental_process
nucleic_acid_nucleoside_or_nucleotide affects molecular_function
acquired_abnormality part_of rickettsia_or_chlamydia
medical_device treats experimental_model_of_disease
neoplastic_process process_of experimental_model_of_disease
geographic_area associated_with cell_or_molecular_dysfunction
organophosphorus_compound interacts_with steroid
cell_function isa natural_phenomenon_or_process
disease_or_syndrome result_of social_behavior
mental_or_behavioral_dysfunction occurs_in patient_or_disabled_group
injury_or_poisoning occurs_in professional_or_occupational_group
hazardous_or_poisonous_substance complicates congenital_abnormality
invertebrate causes pathologic_function
acquired_abnormality occurs_in professional_or_occupational_group
lipid affects mental_or_behavioral_dysfunction
clinical_attribute associated_with organism_attribute
lipid affects mental_process
invertebrate interacts_with reptile
gene_or_genome part_of vertebrate
organ_or_tissue_function process_of mammal
body_substance conceptual_part_of body_system
body_part_organ_or_organ_component produces neuroreactive_substance_or_biogenic_amine
carbohydrate interacts_with inorganic_chemical
anatomical_abnormality part_of mammal
natural_phenomenon_or_process affects molecular_function
substance causes cell_or_molecular_dysfunction
embryonic_structure surrounds cell
injury_or_poisoning isa phenomenon_or_process
diagnostic_procedure diagnoses anatomical_abnormality
body_space_or_junction location_of injury_or_poisoning
cell_function result_of experimental_model_of_disease
neuroreactive_substance_or_biogenic_amine complicates genetic_function
experimental_model_of_disease result_of environmental_effect_of_humans
health_care_activity affects cell_or_molecular_dysfunction
professional_society carries_out diagnostic_procedure
health_care_activity affects mental_process
group produces research_device
cell_component location_of congenital_abnormality
vertebrate isa animal
molecular_biology_research_technique measures biomedical_or_dental_material
professional_society produces classification
amino_acid_sequence isa idea_or_concept
genetic_function co-occurs_with physiologic_function
mental_or_behavioral_dysfunction manifestation_of genetic_function
biologic_function process_of mammal
individual_behavior affects social_behavior
pathologic_function co-occurs_with injury_or_poisoning
invertebrate causes experimental_model_of_disease
fish interacts_with archaeon
research_device causes disease_or_syndrome
quantitative_concept issue_in biomedical_occupation_or_discipline
professional_society location_of therapeutic_or_preventive_procedure
drug_delivery_device prevents disease_or_syndrome
fully_formed_anatomical_structure part_of invertebrate
mammal isa entity
body_part_organ_or_organ_component produces receptor
molecular_function affects mammal
laboratory_procedure analyzes biomedical_or_dental_material
human_caused_phenomenon_or_process isa phenomenon_or_process
experimental_model_of_disease process_of vertebrate
professional_society carries_out research_activity
experimental_model_of_disease precedes cell_or_molecular_dysfunction
experimental_model_of_disease affects amphibian
laboratory_procedure assesses_effect_of hazardous_or_poisonous_substance
anatomical_abnormality issue_in biomedical_occupation_or_discipline
hormone affects mental_process
laboratory_procedure analyzes pharmacologic_substance
body_location_or_region location_of genetic_function
disease_or_syndrome result_of injury_or_poisoning
laboratory_procedure assesses_effect_of neoplastic_process
congenital_abnormality affects animal
biomedical_or_dental_material interacts_with immunologic_factor
organism_function isa natural_phenomenon_or_process
classification isa intellectual_product
natural_phenomenon_or_process result_of anatomical_abnormality
chemical_viewed_functionally affects neoplastic_process
amino_acid_sequence result_of mental_process
clinical_attribute property_of reptile
mammal exhibits individual_behavior
natural_phenomenon_or_process affects disease_or_syndrome
organ_or_tissue_function process_of neoplastic_process
biologically_active_substance complicates mental_process
laboratory_procedure assesses_effect_of biomedical_or_dental_material
biomedical_or_dental_material interacts_with chemical
neoplastic_process associated_with cell_or_molecular_dysfunction
qualitative_concept isa idea_or_concept
sign_or_symptom evaluation_of experimental_model_of_disease
neuroreactive_substance_or_biogenic_amine interacts_with receptor
cell location_of pathologic_function
diagnostic_procedure assesses_effect_of enzyme
acquired_abnormality part_of alga
organophosphorus_compound interacts_with hazardous_or_poisonous_substance
diagnostic_procedure assesses_effect_of lipid
fungus interacts_with invertebrate
laboratory_or_test_result measurement_of physiologic_function
acquired_abnormality affects mental_process
disease_or_syndrome affects reptile
amino_acid_sequence isa entity
mental_process result_of biologic_function
organic_chemical affects biologic_function
steroid interacts_with hormone
pathologic_function result_of acquired_abnormality
research_activity measures chemical_viewed_structurally
therapeutic_or_preventive_procedure associated_with mental_or_behavioral_dysfunction
physiologic_function result_of mental_process
clinical_attribute result_of human_caused_phenomenon_or_process
laboratory_procedure measures antibiotic
cell part_of invertebrate
vitamin complicates cell_or_molecular_dysfunction
clinical_attribute manifestation_of molecular_function
organism_function result_of acquired_abnormality
professional_or_occupational_group interacts_with age_group
natural_phenomenon_or_process affects neoplastic_process
organization carries_out research_activity
embryonic_structure part_of bacterium
fully_formed_anatomical_structure produces enzyme
organic_chemical interacts_with indicator_reagent_or_diagnostic_aid
natural_phenomenon_or_process result_of human_caused_phenomenon_or_process
neoplastic_process affects pathologic_function
fully_formed_anatomical_structure issue_in biomedical_occupation_or_discipline
environmental_effect_of_humans result_of experimental_model_of_disease
experimental_model_of_disease manifestation_of physiologic_function
body_part_organ_or_organ_component location_of mental_process
receptor causes injury_or_poisoning
sign_or_symptom diagnoses disease_or_syndrome
antibiotic disrupts mental_process
mental_process precedes organism_function
chemical_viewed_structurally affects cell_or_molecular_dysfunction
vitamin disrupts molecular_function
pharmacologic_substance causes injury_or_poisoning
professional_or_occupational_group performs governmental_or_regulatory_activity
educational_activity isa activity
congenital_abnormality location_of disease_or_syndrome
neoplastic_process co-occurs_with pathologic_function
chemical_viewed_functionally causes mental_or_behavioral_dysfunction
biologic_function process_of human
hormone complicates mental_or_behavioral_dysfunction
embryonic_structure location_of rickettsia_or_chlamydia
congenital_abnormality result_of mental_or_behavioral_dysfunction
organ_or_tissue_function produces enzyme
molecular_biology_research_technique measures experimental_model_of_disease
disease_or_syndrome process_of organism_function
finding manifestation_of disease_or_syndrome
pathologic_function process_of mammal
organ_or_tissue_function process_of human
indicator_reagent_or_diagnostic_aid affects physiologic_function
health_care_related_organization carries_out molecular_biology_research_technique
hazardous_or_poisonous_substance disrupts organ_or_tissue_function
mental_process process_of invertebrate
tissue location_of experimental_model_of_disease
antibiotic isa pharmacologic_substance
therapeutic_or_preventive_procedure prevents mental_or_behavioral_dysfunction
steroid affects disease_or_syndrome
pharmacologic_substance prevents disease_or_syndrome
behavior result_of mental_process
social_behavior associated_with geographic_area
tissue part_of body_part_organ_or_organ_component
molecular_function affects rickettsia_or_chlamydia
population_group performs governmental_or_regulatory_activity
biologically_active_substance disrupts organism_function
acquired_abnormality isa anatomical_abnormality
molecular_function affects alga
congenital_abnormality result_of human_caused_phenomenon_or_process
congenital_abnormality result_of environmental_effect_of_humans
neoplastic_process process_of mental_or_behavioral_dysfunction
functional_concept isa entity
spatial_concept isa conceptual_entity
mental_or_behavioral_dysfunction process_of cell_or_molecular_dysfunction
biomedical_or_dental_material causes anatomical_abnormality
hazardous_or_poisonous_substance causes congenital_abnormality
antibiotic disrupts cell
disease_or_syndrome affects alga
finding manifestation_of experimental_model_of_disease
element_ion_or_isotope affects natural_phenomenon_or_process
amphibian interacts_with archaeon
body_space_or_junction location_of mental_process
substance causes neoplastic_process
biologic_function affects genetic_function
indicator_reagent_or_diagnostic_aid causes injury_or_poisoning
research_activity measures pharmacologic_substance
injury_or_poisoning result_of environmental_effect_of_humans
organization issue_in occupation_or_discipline
organ_or_tissue_function process_of mental_process
research_activity associated_with mental_or_behavioral_dysfunction
human issue_in biomedical_occupation_or_discipline
molecular_function affects disease_or_syndrome
eicosanoid affects pathologic_function