将Python中的非英文文本标记为句子

时间:2018-11-23 18:05:31

标签: python string python-3.x stringtokenizer

我有一个像这样的阿拉伯文本文件

اغانيواغانياخلاقتربطناساخنهبنالخطابحريممنتدىنضالوامراهاخرىقابيلوقومواجميعاحالهالجومتىوانانحناحبابكراميمرضالنقرسماذاتاكل。افضلمنقلبراشدليشاتعبدار

如果每个句子都用点分隔,我想使用python从此段落生成一个句子列表。

我找到了这个答案:Tokenizing non English Text in Python

它将文本分为单词,而不是句子。

我也尝试过

from nltk.tokenize import sent_tokenize, word_tokenize
import regex
text = "اغاني و اغانياخلاق تربطنا ساخنه بن الخطاب حريم منتدى نضال و امراه اخرى قابيل و قوموا جميعا حاله الجو متى و انا نحن احبابك رامي مرض النقرس ماذا تاكل‪.‬ افضل من قلب راشد ليش اتعب" 
regex.findall(r'\p{L}+', text.replace('[\u200c]', ''))
print(sent_tokenize(data))

它返回以'\ u202a'分隔的文本

زيز 240 و انا بدرب منال تاريخ\u202a.\u202c برقاء

注意:该句子没有任何意义,只是阿拉伯语中的一个例子。

我需要输出形式为句子:

[اغاني و اغانياخلاق تربطنا ساخنه , بن الخطاب حريم منتدى نضال و امراه , انا نحن,  احبابك رامي مرض , النقرس ماذا]

这意味着:

[sentence 1, sentence 2, sentence, 3]

0 个答案:

没有答案