Правильное регулярное выражение для японского предложения токенизатор-питон - PullRequest
2 голосов
/ 03 марта 2011

Это текущий текст, который у меня есть, но регулярное выражение неверно, чтобы разделить исправление предложений.Пожалуйста, помогите исправить мое регулярное выражение, спасибо.

import nltk
import os, sys, re, glob
from nltk.tokenize import RegexpTokenizer

jp_sent_tokenizer = nltk.RegexpTokenizer(u'[^ 「」!?。]*[!?。]')

para = []
para.append (jp_sent_tokenizer.tokenize(u' 「オタ」とも呼ばれているこのペラナカン(華人)の特製料理は、とてもおいしいスナック料理です。これは、ココナッツミルクやチリペースト、レモングラス、ガーリックと一緒に魚を砕き、それを、蒸して柔らかくしたバナナの葉に包んで炭火で軽く焼いた料理です。このレシピは、アジアの数地域で知られています。「オタオタ(otak otak )」は、マレー語で「脳」を意味します。この「オタオタ」という名前は、この料理の柔らかくトロリとした食感から由来しています。魚を使ったオタオタが、最も一般的ですが、エビやイカ、カニ、魚の頭などを用いたものなど、そのバリエーションは豊富です。 ')

for index in range(len(para[0])):
          print para[0][index]
          print 'this is eos'
          #print line
print 'this is eop'

Я получаю этот вывод:

とも呼ばれているこのペラナカン(華人)の特製料理は、とてもおいしいスナック料理です。
this is eos
これは、ココナッツミルクやチリペースト、レモングラス、ガーリックと一緒に魚を砕き、それを、蒸して柔らかくしたバナナの葉に包んで炭火で軽く焼いた料理です。
this is eos
このレシピは、アジアの数地域で知られています。
this is eos
を意味します。
this is eos
という名前は、この料理の柔らかくトロリとした食感から由来しています。
this is eos
魚を使ったオタオタが、最も一般的ですが、エビやイカ、カニ、魚の頭などを用いたものなど、そのバリエーションは豊富です。
this is eos
this is eop

Правильный вывод должен быть таким:

 「オタ」とも呼ばれているこのペラナカン(華人)の特製料理は、とてもおいしいスナック料理です。
this is eos
これは、ココナッツミルクやチリペースト、レモングラス、ガーリックと一緒に魚を砕き、それを、蒸して柔らかくしたバナナの葉に包んで炭火で軽く焼いた料理です。
this is eos
このレシピは、アジアの数地域で知られています。
this is eos
「オタオタ(otak otak )」は、マレー語で「脳」を意味します。
this is eos
「オタオタ(otak otak )」は、マレー語で「脳」を意味します。この「オタオタ」という名前は、この料理の柔らかくトロリとした食感から由来しています。
this is eos
魚を使ったオタオタが、最も一般的ですが、エビやイカ、カニ、魚の頭などを用いたものなど、そのバリエーションは豊富です。 
this is eos
this is eop

1 Ответ

3 голосов
/ 03 марта 2011

Попробуйте это:

u'[^!?。]*[!?。]'

Похоже, что кавычки (「belong) принадлежат предложениям, поэтому вы хотите их разрешить.

Я должен предупредить, что в целом (хорошо,в грамматике английского языка) очень сложно (или даже невозможно) разобрать целые текущие предложения.(рассмотрим 1.2, Dr. Fleishman и т. д.)

...