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
Repository
English sentences to Narsese
Basic Info
Statistics
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
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
- Repositories: 1
- Profile: https://github.com/aosirisj
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