
SceneGraphParser完全指南纯Python自然语言场景图解析工具包让文字秒变结构化图谱【免费下载链接】SceneGraphParserA python toolkit for parsing captions (in natural language) into scene graphs (as symbolic representations).项目地址: https://gitcode.com/gh_mirrors/sc/SceneGraphParserSceneGraphParsersng_parser是一个纯Python编写自然语言场景图解析工具包基于依存句法分析Dependency Parsing能把一句普通英文文本秒变结构化的场景图名词含冠词、形容词等修饰语作为节点名词之间的关系作为边。它无需复杂配置接口简单是文本语义结构化、视觉-语言研究场景下的实用利器 什么是SceneGraphParser场景图解析的原理与优势特性说明纯Python实现不同于斯坦福版Stanford Scene Graph Parser的C实现本项目全部由Python编写易于阅读与二开易用接口一行sng_parser.parse()即可完成解析无需关心底层细节易于配置支持自定义后端Backend默认基于 spaCy 依存分析符号化输出输出纯dict/list结构任意Python项目可直接集成无需处理序列化一句话理解输入自然语言句子输出实体 关系组成的场景图。例如句子 A woman is playing the piano in the room. 会被解析为Entities: -------------------------------- | Head | Span | Modifiers | |--------------------------------| | woman | a woman | a | | piano | the piano | the | | room | the room | the | -------------------------------- Relations: --------------------------------- | Subject | Relation | Object | |---------------------------------| | woman | playing | piano | | woman | in | room | ---------------------------------这种表示方式正是 CVPR 2019 论文Unified Visual-Semantic Embeddings所采用的结构化语义表示适合做文本到图谱的结构化建模。场景图输出规格节点与关系如何定义解析结果是一个字典包含两个核心字段详见项目 README.mdentities实体列表每个实体包含span名词短语的完整文本lemma_span词形还原后的短语head/lemma_head中心名词及其还原形式modifiers修饰语列表如冠词a、the含依存类型deprelations关系列表每条关系包含subject主语实体id、object宾语实体id、relation关系词如playing、in这种纯Python容器的设计让结果可以直接在代码各处传递无需额外序列化。快速安装3步完成SceneGraphParser环境配置只需三步即可拥有可用的场景图解析环境第1步pip安装核心包pip install SceneGraphParser第2步下载spaCy英文模型解析依赖spaCy后端需英文语言包python -m spacy download en第3步可选克隆源码本地调试git clone https://gitcode.com/gh_mirrors/sc/SceneGraphParser 依赖很简单spacy3.2.0与tabulate0.8.9见 setup.py。最快上手方法一行代码解析自然语言句子最简单的方式是直接调用parse函数配合tprint做表格化可视化 import sng_parser graph sng_parser.parse(A woman is playing the piano in the room.) sng_parser.tprint(graph) # 表格形式打印场景图想要批量体验效果项目自带演示脚本 example/demo.py内含多组测试句如 A piano is played by a woman in the room.、A woman standing next to a piano.并支持交互式输入自定义句子python example/demo.py自定义解析器灵活配置Backend后端如果对默认行为不满意可以显式构造Parser实例源码见 sng_parser/parser.py parser sng_parser.Parser(spacy, modelen) # 位置参数指定后端 graph parser.parse(A woman is playing the piano in the room.)后端可扩展Parser通过_backend_registry注册各后端可用Parser.register_backend装饰器注册自定义后端新后端只需实现parse(sentence, **kwargs)方法接口定义见 sng_parser/backends/backend.py默认解析器是单例sng_parser.parse()内部复用一个全局Parser避免重复初始化开销spaCy实现默认后端spacy_parser基于依存树 人工规则提取实体与关系规则细节可参考 sng_parser/backends/spacy_parser.py项目结构导航核心文件都在哪里路径作用sng_parser/__init__.py包入口导出parse、tprint等核心APIsng_parser/parser.pyParser类、后端注册机制、单例解析器sng_parser/backends/spacy_parser.py默认spaCy后端实现sng_parser/utils.pytprint表格化打印工具sng_parser/database.py加载内置词表并判断动词/介词/场景名词sng_parser/_data/scene-nouns.txt场景名词词表room、park等sng_parser/_data/phrasal-verbs.txt短语动词词表sng_parser/_data/phrasal-preps.txt短语介词词表tools/process-scene-nouns.py从语料抽取并处理场景名词tools/get-phrasal-verbs.sh获取短语动词数据脚本内置词表用于识别场景名词和短语动词如playing with、next to帮助解析器更准确地划分场景与关系。为什么选择SceneGraphParser适用场景与注意事项适合你的场景️ 视觉-语言研究将文本描述转为结构化语义表示与视觉场景对齐 NLP流水线为知识图谱构建、信息抽取提供轻量级的句子级结构化输入 快速实验纯Python、pip一键安装比C版更便于调试与定制使用注意目前仅支持 spaCy 后端英文效果最佳需en模型解析基于人工规则项目仍在开发中所有API可能随时变更项目欢迎提交解析失败/边缘案例帮助完善规则采用 MIT 许可证可自由商用见 LICENSE总结3分钟掌握自然语言场景图解析SceneGraphParser 以极简的API把自然语言 → 场景图这件事变得触手可及pip install装上、parse一句解析、tprint一眼看清实体与关系。从 README.md 的示例到 example/demo.py 的交互演示新手也能快速上手中英文本的结构化任务。现在就动手把下一句文本变成你的第一张场景图吧【免费下载链接】SceneGraphParserA python toolkit for parsing captions (in natural language) into scene graphs (as symbolic representations).项目地址: https://gitcode.com/gh_mirrors/sc/SceneGraphParser创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考