Skip to main content
 首页 » 编程设计

python之正确的日语句子分词器正则表达式- python

2024年09月03日25langtianya

这是我的当前文本,但正则表达式不正确,无法拆分句子更正。请帮助更正我的正则表达式,谢谢。

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 

请您参考如下方法:

试试这个:

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

看起来引号 (「」) 确实属于句子,所以你想允许它们。

我应该警告说,一般来说(好吧,在英语语法中),很难(甚至不可能)解析整个当前句子。 (考虑 1.2、Dr. Fleishman 等)