VoiceContext.ContextExtractor behaviour (voice_context v0.1.0)

Copy Markdown

Text-to-context via :voice_context, :context_adapter.

Summary

Functions

Extracts summary, topics, entities, and intent from text.

Types

context()

@type context() :: VoiceContext.context()

Callbacks

extract(text, opts)

@callback extract(text :: String.t(), opts :: keyword()) ::
  {:ok, context()} | {:error, term()}

Functions

extract(text, opts \\ [])

@spec extract(
  String.t(),
  keyword()
) :: {:ok, context()} | {:error, term()}

Extracts summary, topics, entities, and intent from text.

Examples

iex> {:ok, ctx} = VoiceContext.ContextExtractor.extract("Pay invoice #42 to Acme")
iex> ctx.intent
"payment"
iex> Enum.any?(ctx.topics, &String.contains?(&1, "invoice"))
true