所以我有一些基本的代码:
text='''Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus sit amet sapien velit, ac sodales
ante. Integer mattis eros non turpis interdum et auctor enim consectetur, etc.
Praesent molestie suscipit bibendum. Donec justo purus, venenatis eget convallis sed, feugiat
vitae velit,etc.'''
paras=text.split("\n")
class Node:
def __init__(self, name, children=None):
self.name=name
self.children=children
def getchildren(self):
return self.children
def addchild(self, name):
self.children.append(name)
class Tree:
def __init__(self):
self.nodes=[]
def nodes(self):
return self.nodes
def add_node(self,ID,parent=None):
node=Node(ID)
self.ID=node
if parent is not None:
self.parent.addchild(ID)
但是,我不知道如何实际使用它将文本分解成树。我想把它分成段落和句子两个层次。句子下面是名词。你知道吗
这是我尝试实现分形摘要算法的第一步。你知道吗
我认为第一步是分析这个段落。然后你可以很容易地把它放在树上。你还说你想把名词当作孩子,这意味着你需要知道哪些词是名词。除非解析它,否则将无法检测段落的词性(POS)。你知道吗
您可以使用NLTK(对于学习目的很好),或者更好地使用Stanford coreNLP/Berekeley NLP解析器。你知道吗
一旦得到解析后的结构,构建树就非常容易了。你知道吗
有几种方法可以做到这一点。你知道吗
您可以使用列表理解和一些拆分,因为您的结构嵌套不太深。例如:
这本质上是通过拥有一个列表列表得到一棵“树”。虽然这很方便,但也不是很强大。你知道吗
通常解决这个问题的方法是使用所谓的“标记器”、“词法器”和“解析树”。我建议查看pyparsing,这是一个python库,用于构造任意语法并从中创建解析树。你知道吗
相关问题 更多 >
编程相关推荐