softconf2aclpub: read author ORCIDs from .orc side files - #215
Conversation
When converting from ACLPUB format, read the sibling .orc side file for each paper and attach ORCIDs to authors by 1-based index, mirroring the .orc side-loading in the ACL Anthology's bin/ingest.py. ORCIDs land in the lowercase 'orcid' author field expected downstream. No-op when no .orc file is present, so existing workflows are unaffected.
|
Thanks, this looks useful and the no-op behavior when no Before approving, I’d like to clarify two things:
The code itself looks reasonable to me, but I think the expected input layout should be documented so users know how to make use of it. |
|
|
Actually, looking at this code in more detail, it doesn't work the way I expected. I assumed that the conversion happened offline after downloading full, completed proceedings from ACLPUB, but that does not appear to be the case. |
|
Thanks, that makes sense. I’m wondering whether we should avoid making For aclpub2, it seems cleaner to have Would it make more sense to treat |
|
Sounds reasonable to me. @mjpost? |
Hi, I think this is what the script does? I am not adding Ideally we would do away with this script entirely, since the Anthology supports direct ACLPUB ingestion. But if it is here, we'd like it to catch the ORCIC iD data that Softconf/ACLPUB now exports. |
|
Thanks Matt, that clears it up — I'd missed that Two small things I'd like to fix before merging: 1. An for filename in glob(os.path.join("attachments", f"{row['Submission ID']}_*")):
if filename.endswith(".orc"):
continue2. The 1-based index isn't aligned with the author list here. In the Anthology the index runs over orcids = read_orc_file(find_orc_file(row["Submission ID"]))
for i in authors_i:
if row[f"{i}: Last Name"] != "":
author = {...}
if orcids.get(i):
author["orcid"] = orcids[i]
authors.append(author)Minor: With those plus the README note, good to go from my side. Unrelated to this PR, but worth a separate issue: OpenReview profiles sometimes store ORCIDs as full URLs while |
What
When converting from ACLPUB format,
softconf2aclpub.pynow reads theACLPUB
.orcORCID side files and attaches each author's ORCID to thegenerated
papers.yml.This mirrors the
.orcside-loading the ACL Anthology does inbin/ingest.py.Converting from ACLPUB format isn't necessary (the Anthology can ingest
ACLPUB directly), but some people do it anyway, and previously the
converted
papers.ymldropped author ORCIDs..orcformatACLPUB writes one
.orcfile next to each paper's.bib, with one entryper author (1-based index, matching the paper's author order):
Behavior
value are skipped.
orcidauthor field (the same fieldthe program-committee export and downstream ingestion already use).
cdrom/bib/,bib/,attachments/, and...orcfile is present, soexisting scrape-only workflows are unaffected.
Note for reviewers
The side-file lookup directories / key (Submission ID) are a best-effort
default; happy to adjust the search path or matching key to whatever
location your build places the
.orcfiles in.