Skip to content
/ fmr Public

Functional Meaning Representation and Semantic Parsing Framework

License

Notifications You must be signed in to change notification settings

liuzl/fmr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 17, 2022
96a8f70 · Oct 17, 2022
Oct 17, 2022
May 9, 2020
May 5, 2020
Sep 25, 2018
Mar 23, 2020
May 10, 2020
May 10, 2020
May 10, 2020
Sep 6, 2018
Jul 6, 2019
Sep 7, 2018
Jan 3, 2020
Oct 17, 2022
Dec 29, 2018
Dec 29, 2018
Oct 17, 2022
Jan 3, 2019
Jan 10, 2020
May 11, 2020
Jan 10, 2020
Jan 3, 2020
Jan 3, 2019
Dec 3, 2018
Oct 17, 2022
May 11, 2020
May 11, 2020
Oct 17, 2022
Jan 12, 2020
Oct 17, 2022
Oct 17, 2022
May 6, 2020
Sep 6, 2018
Dec 3, 2018
Dec 3, 2018
Oct 17, 2022
May 11, 2020
Oct 17, 2022
Jul 12, 2018
Dec 27, 2018
Oct 17, 2022
Oct 17, 2022
Jan 3, 2020
Dec 19, 2018
Dec 26, 2018
May 6, 2020
Jan 3, 2019

Repository files navigation

FMR: Functional Meaning Representation & Semantic Parsing Framework

GoDocGo Report Card

Projects that uses FMR

mathsolver

What is semantic parsing?

Semantic parsing is the process of mapping a natural language sentence into an intermediate logical form which is a formal representation of its meaning.

The formal representation should be a detailed representation of the complete meaning of the natural language sentence in a fully formal language that:

  • Has a rich ontology of types, properties, and relations.
  • Supports automated reasoning or execution.

Representation languages

Early semantic parsers used highly domain-specific meaning representation languages, with later systems using more extensible languages like Prolog, lambda calculus, lambda dependancy-based compositional semantics (λ-DCS), SQL, Python, Java, and the Alexa Meaning Representation Language. Some work has used more exotic meaning representations, like query graphs or vector representations.

FMR, a formal meaning representation language

Tasks

  • Grammar checkers
  • Dialogue management
  • Question answering
  • Information extraction
  • Machine translation

What can FMR do, a glance overview

// semantic parsing
"五与5.8的和的平方的1.5次方与two的和减去261.712" =>
nf.math.sub(
  nf.math.sum(
    nf.math.pow(
      nf.math.pow(
        nf.math.sum(
          5,
          nf.math.to_number("5.8")
        ),
        2
      ),
      nf.math.to_number("1.5")
    ),
    2
  ),
  nf.math.to_number("261.712")
); // denotation: 1000

// slot filling
"从上海到天津的机票" => nf.flight("上海", "天津");
"到重庆,明天,从北京" => nf.flight("北京", "重庆");
"到上海去" => nf.flight(null, "上海");

References