PredPatt icon indicating copy to clipboard operation
PredPatt copied to clipboard

fatal error and crash in PredPatt.from_sentence(sen)

Open indiclinguist opened this issue 7 years ago • 1 comments

Look at "input_text_1" and "input_text_2".
There are some obvious spelling errors in the input sentence. There is a fatal error, when processing with PredPatt.from_sentence(sen). However, when using parse tree with PredPatt.from_constituency(sen), it is fine.

===================================================== Python 3.5.4 (v3.5.4:3f56838976, Aug 7 2017, 12:56:33) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import nltk from nltk.tokenize import sent_tokenize
from predpatt import PredPatt

input_text_1 = "Items that are not dishwasher safemay melt and create a potential fire hazard. NSF certified residential dishwashers are not intended for licensed food establishments."

input_text_2 = "Items that are not dishwasher safemay melt and create a potential fire hazard. NSF certified residential dishwashers are not intended for licensed food establishments. NSF certified residential dishwashers are not intendedfor licensed food establishments."

def sen_2_arg(paragraph):
... sent_tokenize_list = sent_tokenize(paragraph) ... for sen in sent_tokenize_list: ... print(sen) ... decomposed_sen = PredPatt.from_sentence(sen) ... for ds in decomposed_sen.instances: ... print(ds, ds.phrase()) ... for a in ds.arguments: ... print(' ', a, a.phrase()) ...

sen_2_arg(input_text_1) Items that are not dishwasher safemay melt and create a potential fire hazard. Predicate(safemay/5) ?a are not dishwasher safemay Argument(that/1) that Predicate(melt/6) ?a melt Argument(Items/0) Items that are not dishwasher safemay Predicate(create/8) ?a create ?b Argument(Items/0) Items that are not dishwasher safemay Argument(hazard/12) a potential fire hazard NSF certified residential dishwashers are not intended for licensed food establishments. Predicate(intended/6) ?a are not intended for ?b Argument(dishwashers/3) NSF certified residential dishwashers Argument(establishments/10) licensed food establishments

sen_2_arg(input_text_2) Items that are not dishwasher safemay melt and create a potential fire hazard. Predicate(safemay/5) ?a are not dishwasher safemay Argument(that/1) that Predicate(melt/6) ?a melt Argument(Items/0) Items that are not dishwasher safemay Predicate(create/8) ?a create ?b Argument(Items/0) Items that are not dishwasher safemay Argument(hazard/12) a potential fire hazard NSF certified residential dishwashers are not intended for licensed food establishments. Predicate(intended/6) ?a are not intended for ?b Argument(dishwashers/3) NSF certified residential dishwashers Argument(establishments/10) licensed food establishments NSF certified residential dishwashers are not intendedfor licensed food establishments.

A fatal error has been detected by the Java Runtime Environment:

SIGBUS (0xa) at pc=0x0000000101863f49, pid=75707, tid=0x0000000000000307

JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)

Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode bsd-amd64 compressed oops)

Problematic frame:

C [libsystem_platform.dylib+0x4f49] _platform_memmove$VARIANT$Haswell+0x29

Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

============================= Python 3.5.4 (v3.5.4:3f56838976, Aug 7 2017, 12:56:33) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information.

import nltk from nltk.tokenize import sent_tokenize >>> from stanfordcorenlp import StanfordCoreNLP from predpatt import PredPatt
stfd_nlp = StanfordCoreNLP('http://localhost', port=9000)

input_text_1 = "Items that are not dishwasher safemay melt and create a potential fire hazard. NSF certified residential dishwashers are not intended for licensed food establishments."

input_text_2 = "Items that are not dishwasher safemay melt and create a potential fire hazard. NSF certified residential dishwashers are not intended for licensed food establishments. NSF certified residential dishwashers are not intendedfor licensed food establishments."

def sen_2_arg(paragraph): ... sent_tokenize_list = sent_tokenize(paragraph) ... for sen in sent_tokenize_list: ... print(sen) ... pst = stfd_nlp.parse(sen) ... decomposed_sen = PredPatt.from_constituency(pst) ... for ds in decomposed_sen.instances: ... print(ds, ds.phrase()) ...

sen_2_arg(input_text_1) Items that are not dishwasher safemay melt and create a potential fire hazard. Predicate(dishwasher/4) ?a are not dishwasher safemay Predicate(melt/6) ?a melt ?b Predicate(create/8) ?a create NSF certified residential dishwashers are not intended for licensed food establishments. Predicate(certified/1) ?a certified ?b Predicate(intended/6) ?a are not intended for ?b

sen_2_arg(input_text_2) Items that are not dishwasher safemay melt and create a potential fire hazard. Predicate(dishwasher/4) ?a are not dishwasher safemay Predicate(melt/6) ?a melt ?b Predicate(create/8) ?a create NSF certified residential dishwashers are not intended for licensed food establishments. Predicate(certified/1) ?a certified ?b Predicate(intended/6) ?a are not intended for ?b NSF certified residential dishwashers are not intendedfor licensed food establishments. Predicate(certified/1) ?a certified ?b Predicate(establishments/9) ?a are not intendedfor licensed food establishments

indiclinguist avatar May 10 '18 15:05 indiclinguist

For programmatic usage, please refer to the new tutorial. Both from_sentence and from_constituency will be deprecated.

sheng-z avatar May 10 '18 15:05 sheng-z