2011-09-14 13 views
3

最近、いくつかのAIの可能性を調べて、babel-langについて知りました。これは興味深い概念です。English to babel-lang

プロジェクトは放棄されているように見えますが、概念はかなり面白いです。 それはbabel>英語の翻訳者とそのための良い仕様を提供しますが、その方法はありません。

私は英国の>ベルベル翻訳者の作り方をどうやって考えていたのですか?

私が考えることができるから、唯一の方法は動詞、名詞、形容詞などを大量に用意して、その文をバベルに翻訳することです。

これは本当に唯一の(または最良の)方法ですか?

答えて

2

バベルは私の小さなプロジェクトです。長い間プロジェクトに何の仕事もされていないのは間違いありません。私はまだそれをもう一度拾うことを望む。

英語→バベルの翻訳者が素晴らしいと私はそのようなプロジェクトを見たいです。しかし、問題の難しさは、自然言語処理の全体です。理論的には、NLP解析エンジンを出力バベルに変更することができます。

バベルプロジェクトのポイントは、「問題をきれいに分ける」ことです。ユーザーが実際に何を意味するか(バベルのコード)を書くことによって、NLPの問題を心配する必要はなく、思考の作成と操作の本当の問題に集中することができます。

ブライアン

+0

私はあなたのプロジェクト:)バベル・コードはユーザーのために、コンピュータのために理解しやすいですが、好きで、ほぼすべての言語は、それらが使用される1つは、」ではありません、他のユーザーフレンドリーなのです。これが私がこの質問を投稿した理由です。 – Johan

0

は、だから私は実際にバベルの翻訳者に英語を作り始めたのだが、かなりよくなるだろう。私はそれに数時間を費やしてきました。テストサンプルの文章の3分の1はすでに完璧に動作しています。

私は、Penn Treebankで書かれた英語の文章の解析を生成するOpenNLPパーサー(SharpNLPのポート)を取りました。その後、私はBabelを作成するために歩いています。

これは現在http://translator.babelproject.com/EnglishToBabel.aspxで利用可能です。ぜひお試しください。

最初の行は英語のエコーです。 2番目はOpenNLPによって生成されたパーズツリーで、最後に各出力の3番目の行は生成されたBabelです。

すべてがC#で構築されています。あなたがソースを望むかどうか教えてください。

SharpNLPパーサーの種類が悪いので、例文にいくつかの悪い解析があります。どうやらこれはOpenNLPの古いバージョンのポートです。私はおそらくより良い解析結果を与えるように見えるスタンフォードパーサーに切り替えるつもりです。パーサー精度の技術水準は約90%であると思われる。

ここでは、その出力例を示します。私はそれをインタラクティブなフィクションゲームエンジンにつなぐ作業をしています。 :)あなたはちょっと理由を要約している

The quick brown fox jumped over the lazy dog. 
(TOP (S (NP (DT The) (JJ quick) (JJ brown) (NN fox)) (VP (VBD jumped) (PP (IN over) (NP (DT the) (JJ lazy) (NN dog)))) (. .))) 
Fox quick brown.jumped- over[Dog lazy](); 

A quick brown fox is jumping over the lazy dog. 
(TOP (S (NP (DT A) (JJ quick) (JJ brown) (NN fox)) (VP (VBZ is) (VP (VBG jumping) (PRT (RP over)) (NP (DT the) (JJ lazy) (NN dog)))) (. .))) 
Fox quick brown.is(jumping(Dog lazy)); 

You are standing at the end of a road before a small brick building. 
(TOP (S (NP (PRP You)) (VP (VBP are) (VP (VBG standing) (PP (IN at) (NP (NP (DT the) (NN end)) (PP (IN of) (NP (DT a) (NN road))))) (PP (IN before) (NP (DT a) (JJ small) (NN brick) (NN building))))) (. .))) 
You.are(standing at[End of[Road]] before[Building small]()); 

Around you is a forest. 
(TOP (S (SBAR (IN Around) (S (NP (PRP you)) (VP (VBZ is) (NP (DT a) (NN forest))))) (. .))) 


There is a forest around you. 
(TOP (S (NP (EX There)) (VP (VBZ is) (NP (DT a) (NN forest)) (PP (IN around) (NP (PRP you)))) (. .))) 
is around[You](Forest); 

A forest is around you. 
(TOP (S (NP (DT A) (NN forest)) (VP (VBZ is) (PP (IN around) (NP (PRP you)))) (. .))) 
Forest.is around[You](); 

A small stream flows out of the building and down a gully. 
(TOP (S (NP (DT A) (JJ small) (NN stream)) (VP (VBZ flows) (PP (PP (IN out) (PP (IN of) (NP (DT the) (NN building)))) (CC and) (PP (IN down) (NP (DT a) (NN gully))))) (. .))) 
Stream small.flows(); 

I ate cheese. 
(TOP (S (NP (PRP I)) (VP (VBD ate) (NP (NN cheese))) (. .))) 
I.ate-(Cheese); 

I will eat cheese. 
(TOP (S (NP (PRP I)) (VP (MD will) (VP (VB eat) (NP (NN cheese)))) (. .))) 
I.will(eat(Cheese)); 

My dog ran quickly. 
(TOP (S (NP (PRP$ My) (NN dog)) (VP (VBD ran) (ADVP (RB quickly))) (. .))) 
Dog.ran- quickly(); 

See Jane run. 
(TOP (S (VP (VB See) (NP (NNP Jane) (NN run))) (. .))) 
see(Run); 

Joe is tall. 
(TOP (S (NP (NNP Joe)) (VP (VBZ is) (ADJP (JJ tall))) (. .))) 
Joe.is(tall); 

Joe was tall. 
(TOP (S (NP (NNP Joe)) (VP (VBD was) (ADJP (JJ tall))) (. .))) 
Joe.was-(tall); 

Joe is a human. 
(TOP (S (NP (NNP Joe)) (VP (VBZ is) (NP (DT a) (JJ human))) (. .))) 
Joe.is(); 

The chickens are running loose today. 
(TOP (S (NP (DT The) (NNS chickens)) (VP (VBP are) (VP (VBG running) (S (ADJP (RB loose))) (NP (NN today)))) (. .))) 
Chickens*.are(running(Today)); 

Chickens were running loose. 
(TOP (S (NP (NNS Chickens)) (VP (VBD were) (VP (VBG running) (ADVP (RB loose)))) (. .))) 
Chickens*.were-(running loose()); 

Before you go to school, take out the trash. 
(TOP (S (SBAR (IN Before) (S (NP (PRP you)) (VP (VBP go) (PP (TO to) (NP (NN school)))))) (, ,) (VP (VB take) (PRT (RP out)) (NP (DT the) (NN trash))) (. .))) 
take(Trash); 

What is the color of horse that I am riding? 
(TOP (SBARQ (WHNP (WP What)) (SQ (VP (VBZ is) (NP (NP (NP (DT the) (NN color)) (PP (IN of) (NP (NN horse)))) (SBAR (WHNP (IN that)) (S (NP (PRP I)) (VP (VBP am) (VP (VBG riding)))))))) (. ?))) 


The horse that I was riding died. 
(TOP (FRAG (NP (NP (DT The) (NN horse)) (SBAR (WHNP (IN that)) (S (NP (PRP I)) (VP (VBD was) (VP (VBG riding) (VP (VBD died))))))) (. .))) 


Is Joe tall? 
(TOP (SQ (VBZ Is) (NP (NNP Joe) (NN tall)) (. ?))) 
Tall.is(); 

Where is Joe? Sam ate the oranges. 
(TOP (S (SBARQ (WHADVP (WRB Where)) (SQ (VP (VBZ is)) (NP (NNP Joe))) (. ?)) (NP (NNP Sam)) (VP (VBD ate) (NP (DT the) (NNS oranges))) (. .))) 
Sam.ate-(Oranges*); 

Samson slept. 
(TOP (S (NP (NNP Samson)) (VP (VBD slept)) (. .))) 
Samson.slept-(); 

Sit! 
(TOP (S (VP (VB Sit)) (. !))) 
sit(); 

Where are you going? 
(TOP (SBARQ (WHADVP (WRB Where)) (SQ (VBP are) (NP (PRP you)) (VP (VBG going))) (. ?))) 


You were reading this morning. 
(TOP (S (NP (PRP You)) (VP (VBD were) (VP (VBG reading) (NP (DT this) (NN morning)))) (. .))) 
You.were-(reading(Morning)); 

The morning of today, you read. 
(TOP (S (NP (NP (DT The) (NN morning)) (PP (IN of) (NP (NN today)))) (, ,) (NP (PRP you)) (VP (VBD read)) (. .))) 
You.read-(); 

What were you reading this morning? 
(TOP (SBARQ (WHNP (WP What)) (SQ (VBD were) (NP (PRP you)) (VP (VBG reading) (NP (DT this) (NN morning)))) (. ?))) 


Whose bike were you using? 
(TOP (S (NP (WP$ Whose) (NN bike)) (VP (VBD were) (S (NP (PRP you)) (VP (VBG using)))) (. ?))) 
Bike.were-(); 

You bought the bike that you use. 
(TOP (S (NP (PRP You)) (VP (VBD bought) (NP (DT the) (NN bike)) (SBAR (IN that) (S (NP (PRP you)) (VP (VBP use))))) (. .))) 
You.bought-(Bike); 

May I postpone this assignment? 
(TOP (SQ (MD May) (NP (PRP I)) (VP (VB postpone) (NP (DT this) (NN assignment))) (. ?))) 
I.postpone(Assignment); 

Juanita and Celso worked hard and then rested. 
(TOP (S (NP (NP (NNP Juanita)) (CC and) (NP (NNP Celso))) (VP (VBD worked) (ADVP (RB hard) (CC and) (RB then) (VBD rested))) (. .))) 
& Juanita & Celso.worked- then(); 

Tashonda sent e-mail. 
(TOP (S (NP (NNP Tashonda)) (VP (VBD sent) (NP (NN e-mail))) (. .))) 
Tashonda.sent-(E-mail); 

Tashonda sent cards and letters. 
(TOP (S (NP (NNP Tashonda)) (VP (VBD sent) (NP (NNS cards) (CC and) (NNS letters))) (. .))) 
Tashonda.sent-(Letters*); 

Tashonda sent e-mail, cards, and letters. 
(TOP (S (NP (NNP Tashonda)) (VP (VBD sent) (NP (NN e-mail) (, ,) (NNS cards) (, ,) (CC and) (NNS letters))) (. .))) 
Tashonda.sent-(Letters*); 

Tashonda sent e-mail, cards, or letters. 
(TOP (S (NP (NNP Tashonda)) (VP (VBD sent) (NP (NN e-mail) (, ,) (NNS cards) (, ,) (CC or) (NNS letters))) (. .))) 
Tashonda.sent-(Letters*); 

Mrs. 
(TOP (NNP Mrs.)) 


Doubtfire gave the children homework. 
(TOP (S (NP (NNP Doubtfire)) (VP (VBD gave) (NP (DT the) (NNS children) (NN homework))) (. .))) 
Doubtfire.gave-(Homework*); 

Mrs. 
(TOP (NNP Mrs.)) 


Doubtfire gave Tabitha and Samantha quizzes. 
(TOP (S (NP (NNP Doubtfire)) (VP (VBD gave) (NP (NNP Tabitha) (CC and) (NNP Samantha) (NNS quizzes))) (. .))) 
Doubtfire.gave-(Quizzes*); 

I myself prefer basketball. 
(TOP (S (NP (NP (PRP I)) (NP (PRP myself))) (VP (VBP prefer) (NP (NN basketball))) (. .))) 
& I & Myself.prefer(Basketball); 

I prefer basketball myself. 
(TOP (S (NP (PRP I)) (VP (VBP prefer) (NP (NN basketball)) (NP (PRP myself))) (. .))) 
I.prefer(Myself); 

John Calhoun is a coach. 
(TOP (S (NP (NNP John) (NNP Calhoun)) (VP (VBZ is) (NP (DT a) (NN coach))) (. .))) 
Calhoun.is(Coach); 

Johnny painted his old jalopy purple. 
(TOP (S (NP (NNP Johnny)) (VP (VBD painted) (NP (PRP$ his) (JJ old) (NN jalopy) (NN purple))) (. .))) 
Johnny.painted-(Purple old); 

The club elected Tashonda president. 
(TOP (S (NP (DT The) (NN club)) (VP (VBD elected) (NP (NNP Tashonda) (NN president))) (. .))) 
Club.elected-(President); 

The club elected Tashonda as its president. 
(TOP (S (NP (DT The) (NN club)) (VP (VBD elected) (NP (NNP Tashonda)) (PP (IN as) (NP (PRP$ its) (NN president)))) (. .))) 
Club.elected- as[President](Tashonda); 

Man, that hurt! Athletic moves excite the crowd. 
(TOP (S (NP (NP (NP (NN Man)) (, ,) (SBAR (WHNP (WDT that)) (S (VP (VBP hurt))))) (. !) (NP (NNP Athletic))) (VP (VBZ moves) (VP (VB excite) (NP (DT the) (NN crowd)))) (. .))) 
& Man & Athletic.moves(excite(Crowd)); 

The little old lady hit the tall and distinguished gentleman. 
(TOP (S (NP (DT The) (JJ little) (JJ old) (NN lady)) (VP (VBD hit) (NP (DT the) (JJ tall) (CC and) (JJ distinguished) (NN gentleman))) (. .))) 
Lady little old.hit-(Gentleman tall distinguished); 

Samson was powerful. 
(TOP (S (NP (NNP Samson)) (VP (VBD was) (ADJP (JJ powerful))) (. .))) 
Samson.was-(powerful); 

Dogsbreath works quickly. 
(TOP (S (NP (NNP Dogsbreath)) (VP (VBZ works) (ADVP (RB quickly))) (. .))) 
Dogsbreath.works quickly(); 

Dr. 
(TOP (NNP Dr.)) 


Turveydrop waited patiently and quietly at the door. 
(TOP (S (NP (NNP Turveydrop)) (VP (VBD waited) (ADVP (RB patiently) (CC and) (RB quietly)) (PP (IN at) (NP (DT the) (NN door)))) (. .))) 
Turveydrop.waited- quietly at[Door](); 

Charles is working in the garden. 
(TOP (S (NP (NNP Charles)) (VP (VBZ is) (VP (VBG working) (PP (IN in) (NP (DT the) (NN garden))))) (. .))) 
Charles.is(working in[Garden]()); 

Charles is working in the garden by the river. 
(TOP (S (NP (NNP Charles)) (VP (VBZ is) (VP (VBG working) (PP (IN in) (NP (DT the) (NN garden))) (PP (IN by) (NP (DT the) (NN river))))) (. .))) 
Charles.is(working in[Garden] by[River]()); 

She felt under the weather. 
(TOP (S (NP (PRP She)) (VP (VBD felt) (PP (IN under) (NP (DT the) (NN weather)))) (. .))) 
She.felt- under[Weather](); 

The screaming crowd watched the bridge falling into the river. 
(TOP (S (NP (DT The) (VBG screaming) (NN crowd)) (VP (VBD watched) (S (NP (DT the) (NN bridge)) (VP (VBG falling) (PP (IN into) (NP (DT the) (NN river)))))) (. .))) 
Crowd.watched-(); 

The New Yorker quickly rejected whatever Sarah submitted. 
(TOP (S (NP (DT The) (JJ New) (NNP Yorker)) (ADVP (RB quickly)) (VP (VBD rejected) (SBAR (IN whatever) (S (NP (NNP Sarah)) (VP (VBD submitted))))) (. .))) 
Yorker new.rejected-(); 

When the train goes through, the windows rattle noisily and the whole house shakes. 
(TOP (S (SBAR (WHADVP (WRB When)) (S (NP (DT the) (NN train)) (VP (VBZ goes) (ADVP (RP through))))) (, ,) (NP (DT the) (NNS windows) (NN rattle)) (ADVP (RB noisily)) (CC and) (S (NP (DT the) (JJ whole) (NN house)) (VP (VBZ shakes))) (. .))) 
+0

私はまだ興味がありますが、あなたはどんな言語でそれを作ったのですか? – Johan

+0

それはまだC#で​​すべてです。私はプロジェクトサイトを更新して、間もなくコードの新しいリリースをすぐに投稿してくれることを願っています。詳細については、http://babelproject.com/blog/のブログを参照してください。 –