Welcome to coolisf’s documentation!¶
coolisf
is a Python 3 implementation of the Integrated Semantic
Framework that provides computational deep
semantic analysis by combining structural semantics from construction
grammars and lexical semantics from ontologies in a single
representation.
Install¶
coolisf
only works on Linux distributions at the moment (built and
tested on Fedora and Ubuntu Linux).
Install
coolisf
package from PyPI using pip
pip install coolisf
Create coolisf data folder at
/home/user/local/isf/data
Download ace-0.9.26 binary from https://osf.io/x52fy/ to
/home/user/bin/ace
. Make sure that you can run ace by
[isf]$ ~/bin/ace -V
ACE version 0.9.26
compiled at 18:48:50 on Sep 14 2017
Install lelesk and yawlib with data
Download coolisf lexical rules database from https://osf.io/qn4wz/ and extract it to
/home/user/local/isf/data/lexrules.db
Download grammar files (erg.dat, jacy.dat, virgo.dat, etc.) and copy them to
/home/user/local/isf/data/grammars/
The final data folder should look something like this
/home/user/local/isf/data
├── grammars
│ ├── erg.dat
│ └── jacy.dat
├── lexrules.db
Using ISF¶
To parse a sentence, use coolisf text
command
python -m coolisf text "I drink green tea." -f dmrs
:`I drink green tea.` (len=5)
------------------------------------------------------------
dmrs {
10000 [pron<0:1> x ind=+ num=sg pers=1 pt=std];
10001 [pronoun_q<0:1> x ind=+ num=sg pers=1 pt=std];
10002 [_drink_v_1_rel<2:7> e mood=indicative perf=- prog=- sf=prop tense=pres];
10003 [udef_q<8:18> x num=sg pers=3];
10004 [_green+tea_n_1_rel<8:18> x num=sg pers=3];
0:/H -> 10002;
10001:RSTR/H -> 10000;
10002:ARG1/NEQ -> 10000;
10002:ARG2/NEQ -> 10004;
10003:RSTR/H -> 10004;
}
# 10002 -> 01170052-v[drink/lelesk]
# 10004 -> 07935152-n[green tea/lelesk]
...
For batch processing, create a text file with each sentence on a
separate line. For example here is the content of the file
sample.txt
I drink green tea.
Sherlock Holmes has three guard dogs.
A soul is not a living thing.
Do you have any green tea chest?
After that, run the following command and the output will be written to
the file demo_out.xml
python -m coolisf parse demo.txt -o demo_out.xml