Official Everybody Edits Forums

Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?

You are not logged in.

#1 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

[WIP] Natural Language Processor

Hey. I'm making a world editing bot that doesn't require any commands. It's designed to understand the English language and do what you ask.

The problem I have with a lot of bots is that they contain mundane commands such as ".replace 13 15 +r". My goal is to replace that with "switch the up boosts with up gravity".

It's not like "oh my god this is the best thing ever", it's just a small step in making world development smarter, easier, and quicker.


Current features:
_________________

• Understands which block you want based on a short description
• Replace all (Source)
• Fill (Source)
• Draw circle (Source)
• Troll (for art - needs work) (Source)
• Move all (Source)

Planned features:
_________________

• Ambiguity help / Prompt for clarification if the command has multiple meanings.
• Regional commands instead of global commands.
• Save, load, rename, kill, and other basic functions.
• Simple events (e.g. "if someone says __, kick them")
• Undo / Redo commands and blocks you place yourself.
• Enhanced undo: make a correction to your previous statement instead of "undo" and then retyping the command.

Source:
_________________

View source on Github (1 file, 672 lines)

_________________

I'm open to suggestions and other valuable comments.

Also, if you're feeling bored, then you can help by making functions explained in the "Planned features" section. I'd recommend you fork it on Github and then make a pull request but you can also make a function and upload to Pastebin.


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

#2 Before February 2015

Fdoou
Banned

Re: [WIP] Natural Language Processor

but can we also type in the block ID?

#3 Before February 2015

Anch
Member
Joined: 2015-02-16
Posts: 5,447

Re: [WIP] Natural Language Processor

Sounds great!

Offline

#4 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

Re: [WIP] Natural Language Processor

Fdoou wrote:

but can we also type in the block ID?

Um.

Sure.

I'll add that.


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

#5 Before February 2015

Fdoou
Banned

Re: [WIP] Natural Language Processor

I know the lack of that feature has annoyed me in the past for something very similar to this.

#6 Before February 2015

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [WIP] Natural Language Processor

If this was open-sourced (for example on GitHub) with a Visual Studio solution I think it would attract a lot of interest from the community (myself included) to work on it.

I might have something that could assist you in the "undoing" feature.

Offline

#7 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

Re: [WIP] Natural Language Processor

I've uploaded it to Github as suggested:

https://github.com/Seist/NaturalLanguag … Program.cs


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

#8 Before February 2015

Thanel
Member
Joined: 2015-02-18
Posts: 713

Re: [WIP] Natural Language Processor

That's nice idea, but I would recommend using regex. It's what I'm using in my 1st bot (still work in progress). It allows so many possible ways to say commands and if ussed correctly won't activate them during normal chatting. If you add to that some nice respones from bot you can have nice chat with it.

Here is nice example of that system:
Regex: "(clear|clean) .*(this|world|level|map|everything)"
Commands that activate it:
"Hey bot. Please clear this world from all blocks for me!"
"Could you be so nice and clean everything?"
"Egh clear this ****"

Of course it works also with stuff like: "blablabla clean I so here and blablabla map" but for me that's not a problem //forums.everybodyedits.com/img/smilies/tongue
If you wanted to make sure it only works when you talk to bot you could add "bot" or something like this to regex. This system has no limits!

Ps. You could change list of players to simple regex list of them placed under 1 group and later just get it after match from that group. It's so simple but powerful.

Offline

#9 Before February 2015

ABC Boy
Guest

Re: [WIP] Natural Language Processor

Thanel wrote:

That's nice idea, but I would recommend using regex. It's what I'm using in my 1st bot (still work in progress). It allows so many possible ways to say commands and if ussed correctly won't activate them during normal chatting. If you add to that some nice responses from bot you can have nice chat with it.

Here is nice example of that system:
Regex: "(clear|clean) .*(this|world|level|map|everything)"
Commands that activate it:
"Hey bot. Please clear this world from all blocks for me!"
"Could you be so nice and clean everything?"
"Egh clear this ****"

Of course it works also with stuff like: "blablabla clean I so here and blablabla map" but for me that's not a problem //forums.everybodyedits.com/img/smilies/tongue
If you wanted to make sure it only works when you talk to bot you could add "bot" or something like this to regex. This system has no limits!

Ps. You could change list of players to simple regex list of them placed under 1 group and later just get it after match from that group. It's so simple but powerful.

Regex aside, you know how powerful English is, that a simple system like that won't work. Let's take your system as example, "Clear this part" would clear the whole world, and so does "Clear everything but the arts" which the arts are totally undefinable, while it will also clear the whole world in contrast to the original target.

So yeah, this idea may sound cool, but it's almost impossible.

#10 Before February 2015

Hexagon
Member
Joined: 2015-04-22
Posts: 1,213

Re: [WIP] Natural Language Processor

I created a bot that creates artificial layers so one could say delete everything but Hexagon's stuff or the inverse. While this is very far from just preserving art it is a step closer.

Offline

#11 Before February 2015

Thanel
Member
Joined: 2015-02-18
Posts: 713

Re: [WIP] Natural Language Processor

ABC Boy wrote:

Regex aside, you know how powerful English is, that a simple system like that won't work. Let's take your system as example, "Clear this part" would clear the whole world, and so does "Clear everything but the arts" which the arts are totally undefinable, while it will also clear the whole world in contrast to the original target.

So yeah, this idea may sound cool, but it's almost impossible.

Yeah of course. I know that's almost impossible to do that but it fits my needs and works better than using arguments like Tako did in his example. I'm just throwing here my simple idea //forums.everybodyedits.com/img/smilies/smile

Offline

#12 Before February 2015

lrussell
Member
From: Saturn's Titan
Joined: 2015-02-15
Posts: 843
Website

Re: [WIP] Natural Language Processor

ABC Boy wrote:
Thanel wrote:

That's nice idea, but I would recommend using regex. It's what I'm using in my 1st bot (still work in progress). It allows so many possible ways to say commands and if ussed correctly won't activate them during normal chatting. If you add to that some nice responses from bot you can have nice chat with it.

Here is nice example of that system:
Regex: "(clear|clean) .*(this|world|level|map|everything)"
Commands that activate it:
"Hey bot. Please clear this world from all blocks for me!"
"Could you be so nice and clean everything?"
"Egh clear this ****"

Of course it works also with stuff like: "blablabla clean I so here and blablabla map" but for me that's not a problem //forums.everybodyedits.com/img/smilies/tongue
If you wanted to make sure it only works when you talk to bot you could add "bot" or something like this to regex. This system has no limits!

Ps. You could change list of players to simple regex list of them placed under 1 group and later just get it after match from that group. It's so simple but powerful.

Regex aside, you know how powerful English is, that a simple system like that won't work. Let's take your system as example, "Clear this part" would clear the whole world, and so does "Clear everything but the arts" which the arts are totally undefinable, while it will also clear the whole world in contrast to the original target.

So yeah, this idea may sound cool, but it's almost impossible.

You could define regions, say after art is done go through and box them to define the region and categorize it under "Art". Then a command such as "Clear all except art" would be viable.

Offline

#13 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

Re: [WIP] Natural Language Processor

ABC Boy wrote:

Regex aside, you know how powerful English is, that a simple system like that won't work. Let's take your system as example, "Clear this part" would clear the whole world, and so does "Clear everything but the arts" which the arts are totally undefinable, while it will also clear the whole world in contrast to the original target.

So yeah, this idea may sound cool, but it's almost impossible.

I wouldn't call English "powerful", just complex. And of course, something that is complex is not necessarily impossible to understand. There's nothing magical about how we interpret English. Therefore, there's no reason to assume it's impossible to translate that interpretation into code. It's not a new idea, in fact there is an entire branch of software dedicated to this idea of interpreting, called "virtual intelligence software".

As for your "Clear this part" bug, that's just ambiguity. Depending on the scenario, even a human wouldn't be 100% confident in what you meant. However, it's still readable. I propose that you can read the phrase "this part", or even just "this". It's just a matter of analyzing how you would receive the phrase in a bunch of different scenarios.


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

#14 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

Re: [WIP] Natural Language Processor

Hexagon wrote:

remove all of the 883 blocks and replace those with 993 blocks then delete them thanks!!. replace all 883 with 993 please. Oh sorry could you move all of those blocks right seven blocks? Wait wait sorry cancel that last thing

I will not be adding support for multiple commands in one message. Once you add "and"s it gets a lot more tricky to parse.


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

#15 Before February 2015

Tako
Member
From: Memphis, Tennessee, USA
Joined: 2015-08-10
Posts: 6,663
Website

Re: [WIP] Natural Language Processor

Added Troll, Draw Circle, Move, and Fill.

Also, you must preface all commands with "bot," so it knows you're talking to it.

Examples:
• bot, troll green brick on top of brown brick.
• bot, draw a circle with radius 49
• bot, move the map 10 blocks left
• bot, fill with plate iron bg


Yeah, well, you know that's just like, uh, your opinion, man.

Offline

Tako1423758123203309

Board footer

Powered by FluxBB

[ Started around 1713886736.3804 - Generated in 0.083 seconds, 12 queries executed - Memory usage: 1.56 MiB (Peak: 1.74 MiB) ]