python - 如何在Spacy(Python)中获取所有名词短语
问题描述
我想从一个句子中提取“所有”名词短语。我想知道我该怎么做。我有以下代码:
doc2 = nlp("what is the capital of Bangladesh?")
for chunk in doc2.noun_chunks:
print(chunk)
输出:
1. what
2. the capital
3. bangladesh
预期的:
孟加拉国首都
我已经尝试过 spacy doc 和 StackOverflow 的答案。没有任何效果。似乎只有cTakes
并且Stanford core NLP
可以给出如此复杂的 NP。
任何帮助表示赞赏。
解决方案
Spacy 清楚地将名词块定义为:
基本名词短语或“NP 块”是一个名词短语,它不允许其他 NP 嵌套在其中——因此没有 NP 级别的协调,没有介词短语,也没有关系从句。”(https://spacy .io/api/doc#noun_chunks )
如果您以不同的方式处理依赖项解析,允许介词修饰符和嵌套的短语/块,那么您最终可以得到您正在寻找的内容。
我打赌你可以很容易地修改现有的 spacy 代码来做你想做的事:
推荐阅读
- stored-procedures - 两个不同表上的 ORACLE SQL 触发器或存储过程
- kubernetes - 如何在 Istio 中设置 AWS ALB 而不是 ELB?
- nginx - 索引和根页面不工作,502 Bad Gateway
- twitterapi-python - 使用 TwitterAPI (python) 搜索来自特定用户的推文
- javascript - 材料ui下拉验证?
- ios - iOS 在 iOS 13.5.1 中停止将应用程序移动到暂停状态(继续在后台运行)
- qt - 在对话框中使用虚拟键盘的 QML 问题
- oracle - Oracle SQL 将列粘贴到变量中
- mysql - LIKE 查询不适用于 WHERE 和多个 OR WHERE
- git - 如何再次制作 gitattribute `unspecified`?