Pergunta: Os gráficos de conhecimento são importantes, o modelo de linguagem DeepSeek está em alta, ele pode ser usado para criar gráficos de conhecimento rapidamente? Quero experimentar. DeepSeek do real para ver como ele se sai na extração de informações, na integração do conhecimento e na criação de gráficos a partir do nada.
Métodos: Realizei três experimentos para testar os recursos de criação de gráficos de conhecimento do DeepSeek:
- Mapeamento de construção de artigo único: Forneça um artigo ao DeepSeek e veja se ele consegue obter as informações com precisão e criar um gráfico.
- Mapeamento de fusão de vários artigos: Dê ao DeepSeek vários artigos para ver se ele pode adicionar novos conhecimentos a um gráfico existente.
- Mapeamento de geração de temas: Basta informar ao DeepSeek o tópico do atlas, não o artigo, e ver se ele consegue criar um atlas por conta própria.
Resultados: As experiências comprovam que o DeepSeek cria e funde bem os gráficos de conhecimento, mas ainda há espaço para melhorias.
Aqui está o procedimento exato e os resultados do experimento, que deixarei claro em termos mais simples.
I. Extração de conhecimento de um único artigo para criar um mapa
Objetivo: Testar a capacidade do DeepSeek de extrair conhecimento de um artigo e criar um gráfico de conhecimento.
Processo: Encontrei um artigo sobre bancos de dados gráficos NebulaGraph e pedi ao DeepSeek que lesse o artigo, extraísse as principais informações e, em seguida, gerasse o código do banco de dados NebulaGraph (nGQL) para criar um gráfico de conhecimento.
Instruções: "Você pode me ajudar a gerar um gráfico de conhecimento? Eu lhe darei o artigo, você extrairá as principais informações e criará o gráfico de conhecimento com o código nGQL."
Operação: Copie e cole o conteúdo do artigo diretamente no DeepSeek.
O código nGQL gerado pelo DeepSeek:
Definição do esquema # (tipo de TAG)
CREATE TAG IF NOT EXISTS product (
nome STRING,
description STRING
); CREATE TAG IF NOT EXISTS product
CREATE TAG IF NOT EXISTS empresa (
nome STRING
); CREATE TAG IF NOT EXISTS empresa
CREATE TAG IF NOT EXISTS feature (
nome STRING
); CREATE TAG IF NOT EXISTS company ( name STRING )
CREATE TAG IF NOT EXISTS ferramenta (
nome STRING
); CRIAR TAG SE NÃO EXISTIR
CREATE TAG IF NOT EXISTS cenário (
nome STRING
); CRIAR TAG SE NÃO EXISTIR
CREATE TAG IF NOT EXISTS language (
nome STRING
); CRIAR TAG SE NÃO EXISTIR
CREATE TAG IF NOT EXISTS auth_service (
nome STRING
); CRIAR TAG SE NÃO EXISTIR
CREATE TAG IF NOT EXISTS ecossistema (
name STRING
); CREATE TAG IF NOT EXISTS ecosystem ( name STRING ).
Definição do esquema # (tipo EDGE)
CREATE EDGE IF NOT EXISTS has_feature (); CREATE EDGE IF NOT EXISTS used ( name STRING )
CREATE EDGE IF NOT EXISTS used_by (); CREATE EDGE IF NOT EXISTS used_by ()
CREATE EDGE IF NOT EXISTS provides_tool ().
CREATE EDGE IF NOT EXISTS supports_language (); CREATE EDGE IF NOT EXISTS supports_language ().
CREATE EDGE IF NOT EXISTS applicable_scenario (); CREATE EDGE IF NOT EXISTS supports_language ()
CREATE EDGE IF NOT EXISTS compatible_with (); CREATE EDGE IF NOT EXISTS compatible_with ().
CREATE EDGE IF NOT EXISTS supports_auth (); CREATE EDGE IF NOT EXISTS supports_auth ()
CREATE EDGE IF NOT EXISTS integrates_with (); CREATE EDGE IF NOT EXISTS integrates_with ().
Inserção de dados do # - Produto principal
INSERT VERTEX product(name, description) VALUES
"NebulaGraph": ("NebulaGraph", "Banco de dados de grafos distribuídos de código aberto que suporta um conjunto de dados de centenas de bilhões de pontos e trilhões de bordas");; # Data Insertion - Core Product INSERT VERTEX product(name, description) VALUES
Inserção de dados do # - Características do produto
INSERT VERTEX feature(name) VALUES
"high_performance": ("alto desempenho"), "open_source": ("open_source")
"flexible_modelling": ("modelagem de dados flexível"), "read_write_balance": ("balanço de leitura e gravação")
"read_write_balance": ("Equilíbrio de leitura/gravação"), "compatibility": ("Compatibilidade")
"compatibility": ("Compatibilidade de linguagem de consulta");; /* ...
/* ... Omitir mais dados aqui ... */
Resultados: O código do DeepSeek é bom, a sintaxe está correta e é eficiente, pois combina vários dados em uma única instrução. O código é colocado no NebulaGraph para ser executado, e o gráfico tem a seguinte aparência:
O gráfico é centralizado no NebulaGraph e mostra informações relevantes.
II. integração do conhecimento em vários artigos
Objetivo: Testar a capacidade do DeepSeek de fundir o conhecimento de vários artigos para ampliar um gráfico existente.
Processo: Primeiro, crie o gráfico com um artigo e, em seguida, forneça ao DeepSeek mais artigos sobre o NebulaGraph (da enciclopédia do Baidu) para mesclar o novo conhecimento no gráfico existente.
Instruções: "A seguir, outro artigo para você. Tente mesclar o mapeamento com a estrutura da tabela atual. Para alterar a estrutura da tabela, use o comando ALTER."
Operação: Os resumos das entradas do NebulaGraph e da 360 Encyclopedia foram fornecidos ao DeepSeek, respectivamente.
O código nGQL gerado pelo DeepSeek (léxico NebulaGraph):
# Mudança de estrutura 1: Adicionar atributos de versão e tempo à tag do produto
ALTER TAG product ADD (
licence STRING,
current_version STRING,
release_date STRING, last_updated STRING
last_updated STRING
STRING, last_updated STRING).
# Mudança de estrutura 2: Adicionar novo tipo de relacionamento desenvolvido
CREATE EDGE IF NOT EXISTS developed_by();
Atualização de dados do # - Adicionar atributos de produto
INSERT VERTEX product(name, description, licence, current_version, release_date, last_updated)
VALUES
"NebulaGraph": ("NebulaGraph", "Banco de dados de gráficos distribuídos", "Apache 2.0", "v3.3.0", "2019-05-15", "2022-11-14");
# Adicionar nova empresa de desenvolvimento (reutilizar a tag company)
INSERT VERTEX company(name)
VALUES
"Yueshu": ("Hangzhou Yueshu Technology Co.")
# Novo recurso (reutilizar tag de recurso)
INSERT VERTEX feature(name)
VALUES
"acl_mechanism": ("Mecanismo de ACL"), "linear_scaling": ("Mecanismo de ACL"), "linear_scaling": ("Mecanismo de ACL")
"linear_scaling": ("escalonamento linear"), "data_recovery": ("data_recovery")
"data_recovery": ("recuperação de dados"), "htap": ("htap"), "htap": ("htap"), "htap": ("htap")
"nGQL_language": ("Linguagem de consulta nGQL").
# Estabelecimento de relacionamento (reutilização de tipos de relacionamento existentes)
INSERT EDGE has_feature()
VALUES
"NebulaGraph"->"acl_mechanism":(),
"NebulaGraph"->"linear_scaling":(),
"NebulaGraph"->"data_recovery":(),
"NebulaGraph"->"htap":(),
"NebulaGraph"->"nGQL_language":();
# Adição de uma nova relação desenvolvida
INSERT EDGE developed_by()
VALUES
"NebulaGraph"->"Yueshu":();
O código nGQL gerado pelo DeepSeek (360 palavras):
# Mudança de estrutura 1: Adicionar atributos founder, founded_date e revenue à tag company
ALTER TAG company ADD (founder STRING, founded_date STRING, revenue DOUBLE);
# Mudança de estrutura 2: Adicionar TAG de tipo de evento
CREATE TAG IF NOT EXISTS event (
type STRING, date STRING, event (
date STRING,
amount STRING, date STRING, amount DOUBLE, details STRING
detalhes STRING
STRING, date STRING, amount DOUBLE, details STRING).
Atualização de dados do #: adicionar 360 informações da empresa
INSERT VERTEX company(name, founder, founded_date, revenue)
VALUES
"360": ("Qihoo360", "Zhou Hongyi", "2005-09", 116,15);
# Inserção de dados: ecologia do produto (reutilização da tag do produto)
INSERT VERTEX product(name)
VALUES
"360_Security_Guard": ("360 Security Guard"), "360_Browser".
"360_Cloud": ("360 Security Cloud").
# Inserção de dados: eventos significativos (usando a nova tag de evento)
INSERT VERTEX event(type, date, amount, details)
VALUES
"acquisition_360.com": ("Aquisição de domínio", "2015-02-04", 1700.0, "Aquisição de RMB 110 milhões da 360.com"),
"privatisation": ("privatisation", "2015-12", 9300.0, "$9.3bn privatisation deal"), ).
# Construção de relacionamento: multiplexação de produtos desenvolvidos por produtos conectados lateralmente
Resultados: O DeepSeek pode modificar a estrutura da tabela com base no novo artigo (por exemplo, fornecendo produto responder cantando empresa tabela mais campos) e também adicionou um novo tipo de relacionamento. Ele faz isso conforme necessário com a função ALTER para alterar a estrutura da tabela. O pequeno problema é que o comentário usa o comando --O nGQL não é reconhecido, altere-o manualmente. # Na linha.
O código é colocado no banco de dados para execução, e o mapeamento fundido funciona:
Resumo: O DeepSeek é bom para criar gráficos e fundir conhecimentos. No entanto, o servidor às vezes é lento e o NebulaGraph altera o esquema de forma assíncrona e demora um pouco para entrar em vigor.
III. geração de temas: mapeamento agrícola a partir do nada
Objetivo: Teste da capacidade do DeepSeek de gerar gráficos de conhecimento com base em tópicos sem artigos.
Processo: Crie um novo diálogo e deixe o DeepSeek gerar o código de mapeamento diretamente sobre o tópico "Agricultura". Nenhum artigo é fornecido, é um "free-for-all".
Instruções: "Quero criar um gráfico de conhecimento agrícola. Use o banco de dados NebulaGraph e gere um script nGQL. Os nomes das tabelas são grandes, os nomes dos atributos são pequenos. Os nomes dos esquemas são envolvidos por `` para evitar conflitos. Gere pelo menos 3.000 nós."
Código nGQL gerado pelo DeepSeek (parcial):
# ======================================= #
# Criando um espaço de diagrama
# ======================================= #
CREATE SPACE `Agriculture` (vid_type = FIXED_STRING(32));
USE `Agriculture`.
# ======================================= #
# Definição de esquemas de rótulos (nomeação de grandes volumes)
# ======================================= #
CREATE TAG IF NOT EXISTS `Crop` (
`cropId` int, `cropName` string
string `cropName` string, `growthPeriod
`growthPeriod` int, `suitableTemp` string
string `suitableTemp` string, `yieldPerMu
`yieldPerMu` float
);
# ======================================= #
# Muitos scripts são omitidos aqui
# ======================================= #
Problemas e melhorias:
- Limite de contagem de nós: Comecei com 3.000 nós, o DeepSeek se recusou e deu o Python para importar o código CSV. Eu não queria usar o Python, então reduzi o número de nós.
- A questão da anotação surge novamente: Os comentários do código são novamente --Gostaria de apontar o problema novamente.
Instruções de aprimoramento: "Use o # para comentários, sem código Python, 3.000 nós são demais. Apenas me dê o script ngql para 50 nós."
Diálogo e instruções de acompanhamento: Para refinar o mapa, continuei a conversar com o DeepSeek, pedindo que ele adicionasse dados, fortalecesse as associações, organizasse o mapa por classificação (filo, ordem, família, gênero e espécie) e também pedisse que gerasse dados de rotação de culturas.
Por exemplo, minhas instruções:
- "Dados suplementares para vínculos de dados mais sólidos."
- "Faça um atlas com essas classificações [de filos, ordens, famílias, gêneros e espécies]."
- "Identifique contraindicações e ganhe culturas na rotação de culturas existentes."
- "Combinação de dados mapeados de tecidos de culturas para fornecer scripts nGQL no formato anterior"
Interlúdio experimental: DeepSeek, uma vez. INSERIR usa a sintaxe Cypher, que não é compatível com o nGQL, e isso foi apontado e alterado.
Instruções: "Essa instrução de inserção não é a sintaxe nGQL. Altere-a para que a DDL venha primeiro e a DML venha depois."
Volume final de dados: Após algumas rodadas de diálogo, a quantidade de dados é mostrada:
Efeitos de mapeamento: Expanda alguns nós aleatórios para ver:
Exemplos de combinações de espécies rotativas que aumentam o rendimento: Efeitos combinatórios do plantio adventício que aumentam a produtividade:
IV. Resumo
Conclusão: O DeepSeek é excelente na construção e fusão de gráficos de conhecimento, e os experimentos demonstram seus recursos:
- A extração de informações é rápida e precisa: O DeepSeek extrai rapidamente as principais informações do texto, gera scripts nGQL compatíveis e tem uma forte compreensão do idioma para reconhecer entidades, relacionamentos e eventos.
- Forte capacidade de integrar conhecimentos: O DeepSeek funde bem o conhecimento de vários artigos, expande e atualiza o gráfico com base em novos artigos e garante a integridade e a precisão do gráfico.
- Você pode criar um mapa a partir do nada: Nenhum artigo pode gerar gráficos por tópico. Há alguns problemas de sintaxe no processo de geração, mas os ajustes produzem scripts aceitáveis.
- Os detalhes precisam ser otimizados: Os scripts gerados pelo DeepSeek ocasionalmente apresentam problemas de sintaxe, como comentários incorretos. Ao gerar um grande número de nós, o servidor pode demorar a responder. Você precisa prestar atenção a esses problemas quando for usá-lo de fato.