从非结构化文本中提取 <subject, predicate, object> 三元组
Extracting <subject, predicate, object> triplet from unstructured text
我需要从非结构化文本中提取简单的三元组。通常它的形式是名词-动词-名词,所以我尝试了 POS 标记,然后从邻域中提取名词和动词。
然而,它会导致很多情况并且准确度较低。
在这种情况下 Syntactic/semantic 解析会有帮助吗?
基于ontology的信息提取会更有用吗?
我希望句法分析最适合您的场景。一些简单的带有 POS 标签的模板匹配方法可能会起作用,你可以在其中找到前后跟一个名词的动词,并将前者作为主语,将后者作为宾语。但是,听起来您已经尝试过类似的方法——除非您的邻域提取忽略了词序(这有点傻——您会猜测哪个名词是词,哪个是宾语,而这完全是假设每句两个名词)。
由于您正在寻找 {s, v, o} 三元组,因此您很可能不需要语义或本体论信息。如果您需要更多信息,那将很有用,例如代理-患者关系或更深层次的知识提取。
{s,v,o} 是浅层句法信息,鉴于句法分析比语义分析更健壮和更易于访问,这可能是您最好的选择。句法解析对简单的单词重新排序很敏感,例如"The hamburger was eaten by John." => {约翰,吃汉堡};您还可以专门处理不及物动词和双及物动词,这可能是更天真的方法的问题。
我需要从非结构化文本中提取简单的三元组。通常它的形式是名词-动词-名词,所以我尝试了 POS 标记,然后从邻域中提取名词和动词。 然而,它会导致很多情况并且准确度较低。 在这种情况下 Syntactic/semantic 解析会有帮助吗?
基于ontology的信息提取会更有用吗?
我希望句法分析最适合您的场景。一些简单的带有 POS 标签的模板匹配方法可能会起作用,你可以在其中找到前后跟一个名词的动词,并将前者作为主语,将后者作为宾语。但是,听起来您已经尝试过类似的方法——除非您的邻域提取忽略了词序(这有点傻——您会猜测哪个名词是词,哪个是宾语,而这完全是假设每句两个名词)。
由于您正在寻找 {s, v, o} 三元组,因此您很可能不需要语义或本体论信息。如果您需要更多信息,那将很有用,例如代理-患者关系或更深层次的知识提取。
{s,v,o} 是浅层句法信息,鉴于句法分析比语义分析更健壮和更易于访问,这可能是您最好的选择。句法解析对简单的单词重新排序很敏感,例如"The hamburger was eaten by John." => {约翰,吃汉堡};您还可以专门处理不及物动词和双及物动词,这可能是更天真的方法的问题。