Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: The (futile?) quest for an automatic paraphrase engine

by dimar (Curate)
on May 17, 2004 at 01:14 UTC ( [id://353850]=note: print w/replies, xml ) Need Help??


in reply to The (futile?) quest for an automatic paraphrase engine

Rephrasing the original Question

The original question (as written) kinda makes it look like the guy is: 1) trying to over-simplify deep problems of AI; and 2) Looking for a 'complete solution'. Both of these is really not the case.

What I was really getting at, is whether there are some "brute force" strategies to help someone change BEFORE into AFTER, while minimizing the amount of 'hand editing' necessary. Yes, AI is complicated, and I guess so is trying to formulate a question to find ways around it ;-)

  • Comment on Re: The (futile?) quest for an automatic paraphrase engine

Replies are listed 'Best First'.
Re: Re: The (futile?) quest for an automatic paraphrase engine
by toma (Vicar) on May 17, 2004 at 04:20 UTC
    If you want a brute-force solution, one approach would be to first create an engine that solves the reverse problem. That is, given the set of facts, create a routine that generates examples of the type of input that you would like to be able to handle.

    If you create an exhaustive list of all the possible inputs, this list could be used as a lookup table to map your desired input back to the output.

    Since the list of inputs is so large, you'll want to find ways to remove the redundancies in the list. You can think of the various AI techniques as being clever ways to make the length of the list smaller by using perl code.

    Take a look at all the Lingua modules, such as Lingua::Stem. Some of these modules are quite inspiring!

    There is nothing wrong with working on a 'grand challenge' type of problem, even if you are an amateur. I have worked on some of these challenges. When I get something working reasonably well, people say something like, "Oh, of course, if that's all you want, it is easy. The really hard part is..."

    It should work perfectly the first time! - toma
Re: Re: The (futile?) quest for an automatic paraphrase engine
by fluxion (Monk) on May 17, 2004 at 02:03 UTC
    Taking common rules of English into account and trying to simplify the structure of a sentence is not really something that can be "brute-forced" though. Certain words have an explicit usage, others have different uses that must be negotiated using the context in which it appears, a task I think is AI in nature.

    I'm not saying it's impossible though. You could certainly scan a text for sentences that fit a certain predetermined structure for parsing, but it seems to me that making full use of random texts will require some kind of intelligence. That said, I'm also very interested on any other input on the topic.


    Roses are red, violets are blue. All my base, are belong to you.
Re: The (futile?) quest for an automatic paraphrase engine
by jonadab (Parson) on May 17, 2004 at 20:16 UTC
    some "brute force" strategies to help someone change BEFORE into AFTER, while minimizing the amount of 'hand editing' necessary.

    Oh, you only want to minimize the hand-editing necessary, not eliminate it. Yes, that's a much easier problem. Copy and paste will help for starters. It's also pretty easy to write tools that will do things like capitalize the first letter of every sentence, so that you don't have to fuss with that when you rearrange sentence parts so that the first letter is not the first letter anymore. Using a full-featured text editor (e.g., Emacs) will help considerably too, since you can do things like bind a keystroke to highlight forward to the next punctuation mark and cut or copy the result to the clipboard. (Then all you have to do is go paste it...) It's actually pretty easy to get the computer to do a lot of your editing work for you -- as long as it doesn't have to decide what editing to do.


    ;$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$;[-1]->();print

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://353850]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2024-04-24 04:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found