english-nal

English sentences to Narsese

https://github.com/aosirisj/english-nal

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: mdpi.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

English sentences to Narsese

Basic Info
  • Host: GitHub
  • Owner: aosirisj
  • Language: Prolog
  • Default Branch: main
  • Homepage:
  • Size: 2.44 MB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme Citation

README.md

English to NAL

This repository contains the implementation in Prolog of the rule set described in the paper Non-Axiomatic Logic Modeling of English Texts for Knowledge Discovery and Commonsense Reasoning for writing English sentences in the language of Non-Axiomatic Logic (NAL).

Prerequisites

  • SWI-Prolog
  • Python3

Installation

  • Fix a current working directory
  • Download Stanford Parser version 4.2.0 and copy stanford-parser-full-2020-11-17 folder in your working directory. If necessary, uncompress the models (stanford-parser-4.2.0-models) and copy the model englishPCFG.ser.gz in the SP directory
  • Download Stanford Name Entity Recognizer version 4.2.0 and copy stanford-ner-4.2.0 folder in your working directory
  • Clone Wordnet-prolog or copy folder wordnet-prolog-master in your working directory
  • Clone this project or copy folder traduccion in your working directory

Usage

  • Open a terminal in the working directory and excute SWI-Prolog

bash swipl - In SWI-Prolog, Consult traduccion.pl and use predicate traduccion

```prolog consult(./traduccion/traduccion.pl)

% Predicade for translating. Replace variable Sentence with an English sentence. Variable J will keep the resulting judgments. traduccion(Sentence, J). ```

For example,

prolog traduccion("Ana teaches me Logic", J). will give the result:

prolog J = [juicio(inheritance(['{Ana-1}', 'Logic-4', '{I-3}'], 'teach-2'), [1, 0.9])] ; that represents judgement (×, {Ana}, logic, {I}) ⟶ teach with truth value (1, 0.9). In general, juicio is a binary predicate where the first argument represents an inheritance sentence and the second argument represents the truth value of the judgement. Besides, inheritance is also a binary predicate that represents an inheritance relation; the first argument represents the subject of the sentence, and the second argument represents the predicate of the sentence. In other words, a judgement S ⟶ P (f, c) will be represented by the predicades juicio and inheritance as juicio(inheritance(S, P), [f, c]).

Notes

  • If you want to change folder names, versions, or use other models, change paths in traduccion.pl
  • Parsed dependencies can be seen in /traduccion/parsed/parsed.txt and sometimes can be a little off. You can change these dependencies if necessary. After rectifying the dependencies, use predicate crear_juicios(J) instead of traduccion(S, J).
  • The names of some predicates are written in Spanish (traduccion, crear_juicios, lemas, etc).

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Owner

  • Name: Osiris Juárez
  • Login: aosirisj
  • Kind: user
  • Location: Mexico City

Ph.D student at CIC-IPN.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Juárez
    given-names: Osiris
    orcid: https://orcid.org/0009-0008-7419-1651
title: "Non-Axiomatic Logic Modeling of English Texts"
version: 1.1.0
identifiers:
  - type: doi
    value: 10.3390/app132011535
date-released: 2023-10-21

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
Last Year
  • Watch event: 1
  • Push event: 1