This is the code used in the paper:
"Where’s My Head? Definition, Dataset and Models for Numeric Fused-Heads Identification and Resolution" Yanai Elazar and Yoav Goldberg
to appear in TACL
Installing the num_fh package is simple as:
pip install num_fh
- at least python 3.6 (and specific libraries in the requirements.txt)
We strongly recommend that you use a new virtual environment to install num_fh
conda create -n nfh python==3.6 anaconda
source activate nfh
git clone git@github.com:yanaiela/num_fh.git
pip install -r requirements.txt
import spacy
from num_fh import NFH
nlp = spacy.load('en_core_web_sm')
nfh = NFH(nlp)
nlp.add_pipe(nfh, first=False)
doc = nlp("I told you two, that only one of them is the one who will get 2 or 3 icecreams")
assert doc[16]._.is_nfh == True
assert doc[18]._.is_nfh == False
assert doc[3]._.is_deter_nfh == True
assert doc[16]._.is_deter_nfh == False
assert len(doc._.nfh) == 4
The paper (and therefore, also the code) deals with two sub-tasks of the FH solution:
- Identification
- Resolution
These are dealt with separately, and discussed in the paper in sections (3,4) and (5,6). These parts are also solved separately in the code, and contain further instructions for each one in dedicated README files: Identification and Resolution
To run the demo, run the following:
export FLASK_APP=num_fh/demo/server.py
flask run --port 5000 --host ""
If you find this work relevant to yours, please consider citing us:
@article{elazar_head,
author = {Elazar, Yanai and Goldberg, Yoav},
title = {Where’s My Head? Definition, Data Set, and Models for Numeric Fused-Head Identification and Resolution},
journal = {Transactions of the Association for Computational Linguistics},
volume = {7},
number = {},
pages = {519-535},
year = {2019},
doi = {10.1162/tacl\_a\_00280},
URL = {https://doi.org/10.1162/tacl_a_00280},
}
If you have any question, issue or suggestions, feel free to contact us with the emails listed in the paper.