[00:37:21] *** Quits: myoriel1 (~Myoriel@aftr-88-217-181-203.dynamic.mnet-online.de) (Ping timeout: 246 seconds) [02:14:07] *** Quits: drbean (~drbean@60-249-78-253.HINET-IP.hinet.net) (Quit: ZNC - http://znc.in) [02:16:37] *** Joins: drbean (~drbean@60-248-117-253.HINET-IP.hinet.net) [02:21:07] *** Quits: drbean (~drbean@60-248-117-253.HINET-IP.hinet.net) (Ping timeout: 245 seconds) [05:19:02] *** Joins: bakibour (549fee5d@gateway/web/freenode/ip.84.159.238.93) [05:19:42] Hidiho [07:31:01] morning bakibour! [07:31:27] Hey! [07:31:37] Just downloaded the binary package. [07:31:40] :) [07:31:57] I'm trying to think of examples of the type of things you want to do [07:32:03] The code contains platform specifics of the guy who compiled the binary though. [07:32:07] ahah yeah [07:32:10] windows? [07:32:14] yep [07:32:24] Just saying, maybe it should be removed. [07:32:57] yeah, I don't know what's the problem, it has been pointed out earlier too [07:32:58] So far i tried out "import mygfolocation [07:33:04] if you need to set up your path [07:33:07] So far i tried out "import mygfolocation/LangGer.gfo" [07:33:08] check instructions here http://www.grammaticalframework.org/~inari/gf-windows.html [07:33:17] http://www.grammaticalframework.org/~inari/gf-windows.html#toc3 [07:33:23] Thanks [07:33:28] then it should replace the earlier one [07:33:50] i just mean that maybe the guy who builds the binary wants to prefent ppl from knowing about his computer internals :) [07:33:53] like his name [07:33:55] :D [07:34:30] So after i have import the language i tried "parse "Hallo Welt"" [07:34:40] But i always get an error that he cant parse the token. [07:35:09] ah yeah, GF is pretty bad with tokenisation and cases and stuff [07:35:14] so just try "hallo Welt" [07:35:18] k [07:35:34] Nope same thingy [07:35:43] :( [07:35:51] you imported LangGer.gfo? [07:35:54] Yep [07:36:02] From the binary package though. [07:36:06] you can try TranslateGer.gfo too [07:36:14] k [07:36:18] LangGer is more like a library meant to use for building applications [07:36:38] TranslateGer includes more constructions, and as a cheat, a handy chunking grammar [07:37:01] http://cloud.grammaticalframework.org/wc.html so at least this parses and translates hallo Welt and Hallo Welt [07:37:28] Hm hm hm [07:37:29] anyway, for what you want to do, you'll need to write some domain-specific application grammar [07:37:46] Ok [07:38:22] There is some graph transformation going on also right? [07:38:24] also, do you happen to know Christina Unger? she is doing more semantics-based stuff with GF [07:38:54] Cant so so, no [07:39:10] ok [07:39:33] she comes here sometimes, I was just thinking she might know more [07:39:40] I am totally distached from the scientific community and comp lingu stuff. [07:39:45] ok :) [07:39:51] I stufied cognitive science some years back though. [07:39:53] hmm I'll send her an email [07:39:59] cool :) [07:40:59] My idea was that once i get a proper AST of NL german and english i can whip up some functional programming stuff into it. [07:41:13] Like assigning every verb a function. [07:41:43] So you get some kind of state transition function for each sentence. [07:42:15] Eg "X went into the house." Would alter the world state. [07:42:30] ok I'm not exactly sure what you want to do, but maybe this conversation gives some pointers [07:42:33] https://groups.google.com/forum/#!searchin/gf-dev/question$20answering/gf-dev/YsGSZLJ-rNo/b2DNuZOmbgQJ [07:42:53] I'll be all day in the conference filming the talks, so can't really check IRC meantime [07:42:59] (does the link work?) [07:43:17] I'll also send email to christina, she probably knows more about what you want to do [07:43:19] http://ai-depot.com/articles/natural-language-semantics/ [07:43:31] the link works yes, thank you [07:45:57] ok :) [07:46:33] ok, I need to go now [07:46:36] good luck! :) [07:46:51] bb [09:09:06] *** Joins: jmvanel (~jmvanel@18.32.144.77.rev.sfr.net) [09:09:51] *** Joins: chru (~cunger@2001:638:504:2099:35eb:300d:13ec:7df4) [09:24:09] Is it possible to run into some kind of recursive problem if you ever so slightly change the grammar :)? [09:32:45] *** Quits: spectie (~fran@unaffiliated/spectie) (Ping timeout: 272 seconds) [09:47:41] Is it possible to apply occham razor to the parse command? [09:53:57] *** Joins: spectie (~fran@dhcp502-ans.wifi.uit.no) [09:54:05] *** Quits: spectie (~fran@dhcp502-ans.wifi.uit.no) (Changing host) [09:54:05] *** Joins: spectie (~fran@unaffiliated/spectie) [10:19:56] bakibour: what do you mean? [10:20:27] oh and chru is Christina, you can tell her what you want to do and she can probably give some directions [10:22:16] inariksit: when i parse a simple sentence i get like a million possible parse trees. [10:22:37] I would like the "shortest" one though the first that has been found and then quit the search. [10:22:50] Greetings chru [10:23:10] hello [10:23:38] Can you spare some time for the stuff i wanted to do? [10:23:46] sure. tell me about it. [10:24:01] I would like to use GF to build a tool suite for writers. [10:24:17] And thus would require some kind of semantics eventually. [10:24:37] I would like to be able to ask questions about the text later on. [10:24:42] ok [10:25:09] And maybe some kind of consistency checking, like a character can not be active after he died etc. [10:25:43] Stuff like that would be especially interesting for games like Elder Scrolls [10:25:59] Where you have loads of "stories" that you can not check for consistency by hand. [10:26:24] My idea was that you assign verbs functions that you then can apply on your "world state". [10:26:28] i see. sounds cool and complicated ;) [10:26:35] Yeah [10:27:06] so what would a world state be? a collection of predicates? [10:27:08] I saw that you wrote on that semantics book i think about purchasing it. [10:27:20] Yes i guess it would be something like in Prolog. [10:27:49] Not sure how Facts are handled internally in Prolog though. [10:28:08] do you program in prolog usually or some other language? [10:29:06] Some years ago i had the idea to model everything with something like Wierzbikas NLM [10:29:25] I know C++, Haskell, some Lisp, had some courses on Prolog. [10:29:39] Though forgot anything about Prolog :) [10:29:53] bakibour: the translate grammar uses probabilities from penn treebank to rank the parse trees [10:29:57] hm, I never heard of Wierzbika's NLM, I think... [10:30:00] Did the whole 9 yards there with computational linguistics and logic. [10:30:02] and in general, shortest one is given higher priority [10:30:26] inariksit: The parse commands seems to print them all though. [10:30:45] yeah, but in order [10:30:59] chru: The idea is that you would have some kind of cave man language with a small grammar and small dict. [10:31:01] so for instance, write here "what is your name" http://cloud.grammaticalframework.org/wc.html [10:31:14] and it shows first 8 results in green [10:31:16] with translation [10:31:17] Wie heißt du? [10:31:21] And then you can explain new words etc in terms of the basics in a learning like setup. [10:31:27] (or Sie or ihr or something) [10:31:41] Hm [10:31:46] and if you look at the parse trees, they are all domain grammars, of type PQuestion (QWhatName YouFamFemale) [10:31:48] Maybe i just imported too much :) [10:32:22] result number 11 is yellow, which means it's using the RGL [10:32:28] RGL=resource grammar library [10:32:29] PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (what_name_QCl (UsePron youSgFem_Pron)))) NoVoc [10:32:43] you see that there is a function what_name_QCl [10:32:48] Yep [10:33:08] ah okay, it doesn't even show you the results without that [10:33:22] so probably as a 30th result there would be just a literal parse [10:33:41] i imported translateGer and Eng like you suggested [10:33:43] what_Pron be_V you_Pron name_N [10:33:44] or something [10:33:46] okay [10:33:59] does it give you the results in the same order? [10:34:03] and tried something like "i go into the house" or "ich gehe ins Haus" and had to wait pretty long [10:34:13] yeah :/ it's a bit slow [10:34:20] Like a minute of prints [10:34:27] the one in the web service is optimised [10:34:29] oh [10:34:32] that's bad :-D [10:34:34] I thought that every sentence he outputs is a possible parse. [10:34:40] ok I'll test myself [10:34:59] bakibour: it sounds like what you want to do eventually is text understanding. i guess the main challenge will be robustness, as it will be impossible to cover everything in the grammar. (learning new words might not be as big a problem as the wide range of possible phrase and sentence structures, especially in stories.) or do you want some kind of restricted language? [10:35:03] Which is totally ok as long as i can configure how deep he traverses the tree. [10:35:21] but it seems you're well-equipped w.r.t. the computational background, so i'm not sure how i can help. [10:35:23] inariksit: i had to change some of the includes also in the files i downloaded [10:35:55] chru: Well being able to discuss ideas always helps in general :) [10:36:07] chru: have you read aarne's CNL paper? [10:36:07] http://arxiv.org/abs/1406.4057 [10:36:11] it was really nice [10:36:14] about embedded CNLs [10:36:29] Its not only textunderstanding i want to do but things like help the writer check the "character models" [10:37:02] inariksit: no, i haven't seen it yet. thanks! [10:37:12] Eg if some character uses bad verbs in the text then the author should be able to see that. [10:39:31] still, doing this for a restricted domain and language is feasible, but i think it gets incredibly hard as soon as you don't have restrictions on the kind of modeled world knowledge and the sentences authors can write. but the domain probably is restricted in the setting you have in mind? [10:40:48] I think it can be restricted to parsing verbs and assign the verbs functions depending on if they are transitive and such. [10:40:57] And then get the subject and object of these actions. [10:41:10] And parsing adjectives. [10:41:49] Then whip up some kind of discourse analysis. [10:42:36] ok. so why use gf and not some kind of dependency parser? ;) [10:43:05] Cant i run something like that on top of gf? [10:43:34] At least that was my idea. [10:44:59] so gf would give you the connection to the semantics, and the dependency parser would give you the robustness, i assume? [10:46:01] I thought to use gf for the parse trees only and then use the "AST" to do the analysis in a different program. [10:47:23] yes, that makes sense [10:47:58] but what do you do if a sentence cannot be parsed? [10:48:15] I think that i would start with parsing movie scripts cause they have a very precise structure. [10:48:48] Depends on what the writer expects, either it would be shown him in the editor that there is something fishy going on. [10:48:57] Or it would be just ignored etc. [10:50:18] do you have an example of the kind of story you're trageting? [10:50:46] Second [10:51:05] Cool thing about this idea is this site here :) http://www.imsdb.com/ [10:51:32] Eg American Hustle http://www.imsdb.com/scripts/American-Hustle.html [10:51:55] There are chapters that render the scene setup [10:52:14] Inside the chapters there are dialogues with the characters name in front of it. [10:53:06] I thought that with some adaption a writer could write his story in such a syntax first with keywordish texts. [10:53:24] And then edit these blocks to write the real text. [10:53:41] ok, i understand [10:53:54] So you already know if the text refers to a location or somesuch what location might be refered etc. [10:56:00] i guess when writing a first prototype, it gets clear where the main challenges lie. it's hard to see that beforehand, i think. [10:56:29] Can not agree more. [10:56:45] But i think its an interesting enterprise. [10:56:58] indeed [11:20:48] How can i embed the grammars in other programs btw? [11:22:53] either you use one of the APIs (haskell, python, java) or you simply call gf from the program (e.g. having a gf server running and sending http requests) [11:25:16] I think i am going with the Haskell API then. [11:31:12] inariksit: i just read the paper, it's very nice indeed, and very close to what i need currently. [11:32:14] :) [11:33:22] aarne has talked about this in vienna, but it's good to have a reminder on paper ;) [11:35:12] anyway, the parse tree with the interweaved CNL functions and chunk parses is very cool [11:38:31] yeah! [11:46:00] can i use regular expressions for the concrete grammars? [11:46:38] The more i think about this all the more ideas i get :) [11:46:52] :) [11:46:58] It would be fun to parse board game instructions and translate them into GDL (game definition language) [11:47:24] so many applications and so little time ;) [11:47:28] Yeah [11:47:54] Well at least i wrote my first grammar now for parsing luminaire descriptions. [11:48:47] Can i add some rule like UnknownToken = {s = #someregularexpression#} ; ? [11:48:57] using regular expressions will turn out impossible, i think, because all strings need to be known at compile time [11:49:25] Hm ok, that makes it really hard to use with vague texts though. [11:49:37] vague as in if you start with a small dictionary [11:49:38] that's what i mean ;) [11:50:01] Then your prases would produce a lot of fails. [11:50:37] If i was able to parse that unknown type i would be able to ask the user to provide some rule for it. [12:05:28] *** Quits: bakibour (549fee5d@gateway/web/freenode/ip.84.159.238.93) (Ping timeout: 246 seconds) [13:35:13] bakibour: you can use the symbol category [14:12:52] *** Parts: chru (~cunger@2001:638:504:2099:35eb:300d:13ec:7df4) () [14:44:33] *** Quits: spectie (~fran@unaffiliated/spectie) (Quit: Leaving) [14:44:34] *** Joins: spectie (~fran@dhcp502-ans.wifi.uit.no) [14:44:34] *** Quits: spectie (~fran@dhcp502-ans.wifi.uit.no) (Changing host) [14:44:34] *** Joins: spectie (~fran@unaffiliated/spectie) [17:05:06] *** Quits: spectie (~fran@unaffiliated/spectie) (Ping timeout: 252 seconds) [17:27:47] *** Joins: spectie (~fran@unaffiliated/spectie) [20:52:47] *** Quits: jmvanel (~jmvanel@18.32.144.77.rev.sfr.net) (Ping timeout: 245 seconds)