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
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