[('是', '邻居', '小明'), ('小明', '篮球队', '是')]
- 1.
1. 三元组的构造不准确:例如第一个三元组`('是', '邻居', '小明')`,其中“是”并不是一个实体,而应该是一个关系 。
2. 丢失了一些关键信息:例如第三个句子"我和小明是篮球队的队友"并没有正确抽取为三元组 。
这些问题揭示了一般NLP任务(尤其是基于规则或浅层NLP工具的任务)存在的一些局限性:
1. 词性标注和句法分析的不准确性:依赖于词性标注和句法分析工具的准确性 , 一旦工具出错,后续的信息抽取也会受到影响 。
2. 缺乏深度语义理解:仅仅通过词性标注和浅层句法分析,难以准确地抽取复杂或模糊的关系 。
3. 泛化能力差:对于不同类型或结构的句子 , 可能需要不断地调整规则或模型 。
4. 对上下文信息的利用不足:这种方法通常只考虑单个句子内的信息,而忽视了上下文信息,这在复杂文本中是非常重要的 。
大语言模型如何助力知识图谱大语言模型 , 如GPT或BERT,是基于深度学习的自然语言处理模型,具有出色的文本理解和生成能力 。它们能够理解自然语言,从而使复杂的查询和推理变得更加简单 。相比于传统方法,大模型有以下几点优势:
- 文本理解能力:可以准确地抽取和理解更复杂、模糊或多义的实体和关系 。
- 上下文敏感性:大模型能够理解词语在不同上下文中的不同含义 , 这对于精准抽取实体和关系至关重要 。这种上下文敏感性让模型能够理解复杂和模糊的句子结构 。
- 强大的泛化能力:由于在大量多样化数据上进行了训练,这些模型能够很好地泛化到新的、未见过的数据 。这意味着即使面对具有复杂结构或不常见表达方式的文本,它们也能准确地进行实体和关系抽取 。
from snownlp import SnowNLP# 初始化三元组列表triplets = []# 待处理的文本列表from langchAIn.llms import OpenAIllm = OpenAI(model_name="gpt-3.5-turbo")texts = '''小红是我的同学 。小红是小明的邻居 。小明是我的篮球队队友 。'''#知识图谱索引创建from langchain.indexes import GraphIndexCreator#知识图谱问答的chainfrom langchain.chains import GraphQAChain#知识图谱三元素的一个类 。三元素:主 谓 宾 。from langchain.graphs.NETworkx_graph import KnowledgeTriple#创建图谱的索引,解析文本内容index_creator = GraphIndexCreator(llm=llm)#创建图谱的索引,显示对象之间的关系f_index_creator = GraphIndexCreator(llm=llm)final_graph = f_index_creator.from_text('')#对文本进行切割for text in texts.split("."):#将切割以后的文本生成三元组triples = index_creator.from_text(text)for (node1, node2, relation) in triples.get_triples():#将三元组的信息放到final_graph中用以显示final_graph.add_triple(KnowledgeTriple(node1, node2,relation ))print("=================")print(node1)print(relation)print(node2)
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
推荐阅读
- 使用Beacon API实现高效数据传输和用户行为分析
- 如何用Java实现B+树和跳表的高效存储?
- 如何构建基于大模型的App
- 人工智能大模型布局千行百业
- 数据标注员,困在大模型里
- 大模型可解释性你能理得清吗?综述已来,一文解你疑惑
- 多模态大模型最全综述来了!7位微软研究员大力合作,5大主题,成文119页
- Python构建高效安全的OTP验证系统!
- 国产大模型:创新为道 落地为王
- 搜狐科技实测腾讯混元大模型:能模仿鲁迅、林黛玉,还会玩梗换算“花西子币”