4 ms·
It's right there in the paper, table 1, page 9. Task I: path finding 1.The office is east of the hallway. 2.The kitchen is north of the office. 3.The g
by jbaiter 11y ago
It's right there in the paper, table 1, page 9.
Task I: path finding
1.The office is east of the hallway.
2.The kitchen is north of the office.
3.The garden is west of the bedroom.
4.The office is west of the garden.
5.The bathroom is north of the garden.
How do you go from the kitchen to the garden?
-> south, east, relies on 2 and 4
How do you go from the office to the bathroom?
-> east, north, relies on 4 and 5
Task II: positional reasoning
1.The triangle is above the pink rectangle.
2.The blue square is to the left of the triangle.
Is the pink rectangle to the right of the blue square?
-> Yes, relies on 1 and 2
Is the blue square below the pink rectangle?
-> No, relies on 1 and 2
- amelius 11y agoThanks for digging this up :) But it seems it is also quite simple to solve such puzzles using conventional (non-neural) programming. So my next question would be: what is the advantage of using neural networks? Or, how far can this be pushed?
- jbaiter 11y agoWell, usually you have to write quite a lot of code to be able to answer such natural language questions. For university I'm currently writing something similar (with Prolog), its basically a pipeline that goes something like this: (1) natural language -> (2) syntax tree -> (3) annotate syntax tree with logical (in my case, lambda) terms that represent the semantics -> (4) use semantics to query knowledge base. (2) requires you to write a grammar, which is a lot of work, even for a very limited subset of your target language. (3) is even harder, for every term and grammatical construction that you want to be able to parse, you have to write rules that translate the semantics into something the computer understands. And (4) is quite time-consuming as well, since you have to translate your knowledge into something that the computer can understand (in my case, logical terms). From what I can understand, this system allows you to skip (2), (3) and (4) i.e. you just feed the system your facts and questions and it will perform the reasoning by itself, no more hand-written rules. Basically, you feed it only natural language (easy to do, even for untrained people!) and it does the rest on its own. Which is a huge timesaver, obviously :-)
- amelius 11y agoOkay this sounds interesting. Do you know how they manage to solve arbitrary-length paths using a finite-depth neural network? Do they use an iterative approach? And what if I want the system to learn relations inside an arbitrarily large corpus of text, does this mean that the neural network also needs to be of increasing complexity?
- 336f5 11y ago> Do you know how they manage to solve arbitrary-length paths using a finite-depth neural network? Do they use an iterative approach? This is not overall an RNN; they only use an RNN layer in the initial layer to parse the questions & facts (pg3), then it gets fed into a regular feedforward deep network. I think any specific implementation of this would have a limit; for example, figure 2 implies that each 'fact' gets its own stack of DNNs, so for k facts you need k stacks of DNNs. And each stack can only do so much computation based on how many layers there are, so they can only solve certain length problems before forgetting/running out of time. So I would guess the answers to your questions are 'it doesn't, 'no', and 'yes'. (None of which is necessarily bad. It's not like humans can solve arbitrary-length problems in our heads either.)
- jsprogrammer 11y agoDoes the natural language encode the semantics? Or is something being done to annotate what the natural language means?
- romaniv 11y agoSo, with 10K samples it can parse semi-arbitrary data presented in a natural language, semi-arbitrary questions in a natural language and give natural-language answers? Am I missing something? This sound so much more powerful than anything else I've read about that I'm suspicious.