我想从句子中提取信息。我是这个领域的新手。我的句子是:
"Andrew query pizza king what is today's deal"
"Andrew order flower shop to send my wife roses"
Format : <Name> <command> <company name> <connecting word> <action>
借助Standford NLP解析器,如何提取上述格式的句子?像提取后一样如果我想打印句子的动作,则应输入{is today's deal, me send my wife roses}
答案 0 :(得分:1)
这是一项艰巨的任务。如果您的句子集非常有限,则可以尝试使用popBackStack (int id,int flags)
并使用规则为问题建模。但是,我通过popBackStack (int id,int flags)
跑了你的句子,结果显然是错误的:
(ROOT
(FRAG
(NP
(NP (NNP Andrew) (NN query) (NN pizza) (NN king))
(SBAR
(WHNP (WP what))
(S
(VP (VBZ is)
(NP
(NP (NN today) (POS 's))
(NN deal))))))))
如您所见,它把Andrew查询Pizza king作为名词短语,它与“ Andrew dog萝卜汤今天的交易”相同。显然,它缺少动词“ query”,目标“ pizza king”等。
即使可行,语法解析器也仅对语法建模,而忽略语义。您应该检查parser dependencies,命名实体识别,关系提取等。对于您的特定任务,很可能您必须定义自己的语义,然后使用统计算法来分析文本并提取所需的信息。>
这是一篇有关构建聊天机器人的方法的不错的文章:Stanford parser