2012-04-01 35 views
2

我有一堆存储在数据库中的推文,现在我需要创建一个搜索引擎来查找特定的推文,所以我试图创建所有推文的反向索引。python中的多语言解析

这样的过程需要分析推文,对于大多数语言而言,推文可能很简单:您只需在空格中分解句子。但对于一些人们通常不使用空格来分隔单词的语言,如中文和日语,它会变得单调乏味。最糟糕的是,鸣叫的显著数量多语言,例如下面的鸣叫:

青空だ♪(@成田国际空港第1ターミナル(成田国际机场 - 1号航站楼)W/3人) http://t.co/eqjJSxTX

在这种情况下,我需要使用Python上述字符串转换成一个元组:

( “青”, “空”, “だ”, “♪”,“(@ “ ”成“, ”田“, ”国“, ”际“, ”空“, ”港“, ”“, ”第“, ”1“, ”タ“, ”ー“, ”ミ“,”ナ “ ”ル“, ”(“, ”成田“,” 在国际“,”机场“,” - “,”终端“,”1“,”w /“,”3“,”其他“),”http://t.co/eqjJSxTX“)

也就是说,对于日文字符,每个元素应该只包含一个字符,但对于非日语字符,解析字符串应该用空格。

那么是否有任何可用的库来执行此功能,或者如果这样的库不存在,什么是实现这个功能的相对简单的方法?

谢谢大家。

+0

为什么'('开始'成田'得到它是一个字符串,但结束'其他'不是? – aaronasterling 2012-04-01 05:20:49

+0

只是一些noob spitballing在这里,不会编解码器帮助你将它们转换为unicode,然后你可以处理他们的礼仪? – Mellkor 2012-04-01 05:44:18

回答

-1

尝试regex

words = regex.findall(ur'([\p{Han}\p{Katakana}]|[\p{Latin}\p{Number}]+)', tweet) 

(假定 “鸣叫”,以是Unicode,如果不是,首先将其转换)。