假设我想构建一个有向图,使用一种算法来读取一段文字,并在名词及其对应的形容词之间建立边。
示例:输入字符串
“猫头鹰是孤独的和夜行的猛禽。”
输出应如下所示:
猫头鹰 = {adjectives:”孤独的, 夜行的, 猛禽”}
如果上述方法不可行,那么获取描述某个名词的形容词的最佳方法是什么?
回答:
你所询问的更通用的方法是使用依存句法分析器,它可以提取句子中单词之间的各种关系类型。
分析器的输入是一个句子,其输出是单词上的依存树,其中每条边表示两个单词之间的依存关系。
考虑以下示例(摘自上述链接的维基条目)。在句子中,“syntactic”是描述“functions”的形容词。解析树通过用标记为ATTR(属性)的边连接这两个单词来编码这一信息。
你可以在线找到许多语言的依存句法分析器。一个好的起点是Python的NLTK包。