You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# MetaExtractor: Finding Fossils in the Literature
2
8
3
9
This project aims to identify research articles which are relevant to the [Neotoma Paleoecological Database](http://neotomadb.org) (Neotoma), extract data relevant to Neotoma from the article, and provide a mechanism for the data to be reviewed by Neotoma data stewards then submitted to Neotoma. It is being completed as part of the University of British Columbia (UBC) [Masters of Data Science (MDS) program](https://masterdatascience.ubc.ca/) in partnership with the [Neotoma Paleoecological Database](http://neotomadb.org).
4
10
11
+
There are 3 primary components to this project:
12
+
1.**Article Relevance Prediction** - get the latest articles published, predict which ones are relevant to Neotoma and submit for processing
13
+
2.**MetaData Extraction Pipeline** - extract relevant metadata from the article including geographic locations, taxa present, etc.
14
+
3.**Data Review Tool** - this takes the extracted data and allows a user to review and correct it for submission to Neotoma
15
+
16
+

17
+
18
+
## Article Relevance Prediction
19
+
20
+
The goal of this component is to monitor and identify new articles that are relevant to Neotoma. This is done by using the public [xDD API](https://geodeepdive.org/) to regularly get recently published articles. Article metadata is queried from the [CrossRef API](https://www.crossref.org/documentation/retrieve-metadata/rest-api/) to obtain data such as journal name, title, abstract and more. The article metadata is then used to predict whether the article is relevant to Neotoma or not. The predicted articles are then submitted to the MetaData Extraction Pipeline for processing.
21
+
22
+
## MetaData Extraction Pipeline
23
+
24
+
The predicted relevant articles have their full text provided by the xDD team and a custom trained Named Entity Recognition (NER) model is used to extract relevant data from the article.
25
+
26
+
The entities detected by this model are:
27
+
-**AGE**: when historical ages are mentioned such as 1234 AD or 4567 BP (before present)
28
+
-**TAXA**: plant or animal taxa names indicating what samples contained
29
+
-**GEOG**: geographic coordinates indicating where samples were excavated from, e.g. 12'34"N 34'23"W
30
+
-**SITE**: site names for where samples were excavated from
31
+
-**REGION**: more general regions to provide context for where sites are located
32
+
-**EMAIL**: researcher emails in the articles able to be used for follow-up contact
33
+
-**ALTI**: altitudes of sites from where samples were excavated, e.g. 123 m a.s.l (above sea level)
34
+
35
+
The model was trained on ~40 existing Paleoecology articles manually annotated by the team consisting of ~60,000 tokens with ~4,500 tagged entities.
36
+
37
+
The trained model is available for inference and re-use on huggingface.co [here](https://huggingface.co/finding-fossils/metaextractor).
38
+

39
+
40
+
## Data Review Tool
41
+
42
+
Finally, the extracted data is loaded into the Data Review Tool where members of the Neotoma community can review the data and make any corrections necessary before submitting to Neotoma. The Data Review Tool is a web application built using the [Plotly Dash](https://dash.plotly.com/) framework. The tool allows users to view the extracted data, make corrections, and submit the data to be entered into Neotoma.
43
+
44
+

5
45
## Contributors
6
46
7
47
This project is an open project, and contributions are welcome from any individual. All contributors to this project are bound by a [code of conduct](https://github.com/NeotomaDB/MetaExtractor/blob/main/CODE_OF_CONDUCT.md). Please review and follow this code of conduct as part of your contribution.
@@ -24,30 +64,31 @@ All products of the Neotoma Paleoecology Database are licensed under an [MIT Lic
24
64
25
65
## How to use this repository
26
66
27
-
TBD
67
+
WIP
28
68
29
69
30
70
### Development Workflow Overview
31
71
32
-
TBD
72
+
WIP
33
73
34
74
### Analysis Workflow Overview
35
75
36
-
TBD
76
+
WIP
37
77
38
78
### System Requirements
39
79
40
-
TBD
80
+
WIP
41
81
42
82
### Data Requirements
43
83
44
-
TBD
84
+
WIP
45
85
46
86
### Directory Structure and Description
47
87
48
88
```
49
89
├── .github/ <- Directory for GitHub files
50
90
│ ├── workflows/ <- Directory for workflows
91
+
├── assets/ <- Directory for assets
51
92
├── data/ <- Directory for data
52
93
│ ├── entity-extraction/ <- Directory for named entity extraction data
53
94
│ │ ├── raw/ <- Raw unprocessed data
@@ -65,6 +106,9 @@ TBD
65
106
│ ├── article-relevance/ <- Directory for results related to article relevance prediction
66
107
│ ├── ner/ <- Directory for results related to named entity recognition
67
108
│ └── data-review-tool/ <- Directory for results related to data review tool
109
+
├── models/ <- Directory for models
110
+
│ ├── entity-extraction/ <- Directory for named entity recognition models
111
+
│ ├── article-relevance/ <- Directory for article relevance prediction models
68
112
├── notebooks/ <- Directory for notebooks
69
113
├── src/ <- Directory for source code
70
114
│ ├── entity_extraction/ <- Directory for named entity recognition code
@@ -74,4 +118,15 @@ TBD
74
118
├── tests/ <- Directory for tests
75
119
├── Makefile <- Makefile with commands to perform analysis
76
120
└── README.md <- The top-level README for developers using this project.
0 commit comments