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.