FramexTools
Maintained by Erdal Turan.
FramexTools manages named corpus profiles for Framex.
A profile selects frames, lexical units, exemplar limits, semantic-type closure,
and the frame relations needed to make a small, reproducible artifact.
FramexTools is an optional companion to the read-only framex query package.
It does not embed the full FrameNet corpus in Hex.
Install
def deps do
[
{:framex_tools, "~> 0.1.1"}
]
end
Choose a corpus source
The core framex package already includes a small demo corpus. Install
FramexTools when the application needs to fetch either the focused profile
artifact or the complete FrameNet release through Mix.
FramexTools has two corpus modes. Use a named profile when the application needs a reproducible, focused corpus definition:
mix framex.tools.fetch --corpus_profile demo_en_17
--corpus_profile NAME selects the profile JSON bundled with FramexTools. The
profile records the FrameNet release, selected frames, lexical-unit IDs,
example limits, and the release checksum. The current fetch task verifies that
release and places its source data under the consumer project's
priv/corpora; profile-based artifact reduction is the next builder step.
Use the full-source mode when working with the complete release rather than a named selection:
mix framex.tools.fetch --corpus_full
--corpus_full is the explicit full-release mode. It downloads and verifies
the complete FrameNet release without applying a profile selection. The two
switches are mutually exclusive.
The user-facing facade in a consumer project is also available as:
mix framex.corpus.fetch --full
mix framex.corpus.fetch --corpus_full
Both full-corpus switches are equivalent. --corpus_profile NAME selects the
small profile artifact.
The default destination is the consumer Mix project's priv/corpora.
Set FRAMEX_CORPORA_DIR when a different corpus root is needed.
After fetching, the source corpus is available at:
priv/corpora/framenet-1.7-streamed
The profile definition remains bundled under the dependency's priv/profiles;
the downloaded source data belongs to the consumer project's priv tree.
Inspect a profile
mix framex.tools.profiles --corpus_profile demo_en_17
The profile name is the only required selector. demo_en_17 resolves its
source corpus, bundled profile definition, and output directory automatically.
Plan a profile expansion
mix framex.tools.expand --corpus_profile demo_en_17 hope.v
The default is a dry run. It reports the selected lexical unit, frame, valence
patterns, semantic-type records, and raw FrameNet relation fields. Add
--apply to update the profile selection after reviewing the plan.
mix framex.tools.expand --corpus_profile demo_en_17 hope.v --apply
The full FrameNet source data is licensed separately under CC BY 3.0 Unported; the FramexTools code is licensed under Apache-2.0.