Exemplo n.º 1
0
 def wakati(self, text, result=None):
     if result is None:
         result = []
     text = array.array('H', UTF16Codec.encode(text)[0])
     vn = self.__parse(text)
     while vn:
         result.append(UTF16Codec.decode(text[vn.start:vn.start +
                                              vn.length])[0])
         vn = vn.prev
     return result
Exemplo n.º 2
0
    def parse(self, text, result=None):
        """
        形態素解析を行う

        @param text 解析対象テキスト
        @param result 解析結果の形態素が追加されるリスト. None指定時は内部でリストを作成する
        @return 解析結果の形態素リスト. {@code parse(text,result)=result}
        """
        if result is None:
            result = []
        text = array.array('H', UTF16Codec.encode(text)[0])
        vn = self.__parse(text)
        wd = self.wdc.word_data
        while vn:
            surface = UTF16Codec.decode(text[vn.start:vn.start + vn.length])[0]
            feature = UTF16Codec.decode(wd(vn.word_id))[0]
            result.append(Morpheme(surface, feature, vn.start))
            vn = vn.prev
        return result