本文整理汇总了Python中serializer.Serializer.encode方法的典型用法代码示例。如果您正苦于以下问题:Python Serializer.encode方法的具体用法?Python Serializer.encode怎么用?Python Serializer.encode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serializer.Serializer
的用法示例。
在下文中一共展示了Serializer.encode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from serializer import Serializer [as 别名]
# 或者: from serializer.Serializer import encode [as 别名]
class NodeMaker:
def __init__(self):
self.ser = Serializer()
self.words = defaultdict(int)
self.graph = Graph()
def PosNo(self, morph):
for i, p in enumerate([u'形容詞', u'名詞']):
if p in morph.pos():
return i+2
return 0
def regist(self, text):
lines = text.split('\n')
lst = []
for lnum, line in enumerate(lines):
morphs = wakachi.parse(text)
for morph in morphs:
if self.PosNo(morph):
lst.append(morph)
self.words[(morph.posid, morph.original)] += 1
else:
lst.append(None)
lst += [None]*5
if line == '':
self.consume(lst)
lst = []
self.consume(lst)
def consume(self, lst, back=3, fore=10): #0:N, 1:V, 2:Y
size = len(lst)
for i in xrange(size):
if lst[i] is None: continue
posno = self.PosNo(lst[i])
node = []
for x in xrange(posno):
node.append(self.ser.encode((lst[i].posid, lst[i].original(), x)))
self.graph.registerNode(node[x])
#for node = V
for j in xrange(max(0,i-fore), min(size,i+back)):
if lst[j] is None or self.PosNo(lst[j]) == 2: continue
ny = self.ser.encode((lst[j].posid, lst[j].original(), 2))
self.graph.addEdge(node[1], ny)
#for node = Y
if posno == 3:
for j in xrange(max(0,i-back), min(size,i+fore)):
if lst[j] is None: continue
nv = self.ser.encode((lst[j].posid, lst[j].original(), 1))
self.graph.addEdge(node[2],nv)