KG Gen: 일반 텍스트로부터 지식 그래프를 자동으로 생성하는 오픈 소스 도구

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
14.3K 00

일반 소개

KGGen은 스탠포드 신뢰 인공 지능 연구소(STAIR Lab)에서 개발한 오픈 소스 도구로, 임의의 텍스트로부터 지식 그래프를 자동으로 생성하도록 설계되어 GitHub에서 호스팅됩니다. 고급 언어 모델과 클러스터링 알고리즘을 사용하여 연구자, 개발자 및 데이터 분석가를 위해 비정형 텍스트 데이터를 구조화된 개체 및 관계 네트워크로 변환합니다. 이 프로젝트는 지식 추출 정확도와 그래프 연결성이 향상되었다는 평가를 받으며 출시 이후 많은 주목을 받아왔습니다.1 KGGen의 핵심 강점인 조작의 단순성과 결과의 신뢰성은 학술 연구 및 AI 애플리케이션 개발에 활용되고 있으며, 지난 2월 20일에 마지막으로 업데이트되었습니다.1 이 프로젝트 역시 출시 이후 많은 관심을 받아왔습니다.

KG Gen:从纯文本中自动生成知识图谱的开源工具

 

기능 목록

  • 텍스트-지식 그래프 변환: 임의의 텍스트 입력에서 개체와 관계를 추출하여 구조화된 지식 그래프를 생성합니다.
  • 다국어 모델 지원주류 언어 모델을 통합하여 텍스트 이해력과 구조화를 향상시킵니다.
  • 클러스터링 알고리즘 최적화클러스터링 기법을 통해 지식 그래프의 연결성과 논리를 강화합니다.
  • 오픈 소스 사용자 지정 가능전체 코드가 제공되며 사용자는 필요에 따라 기능을 수정하고 확장할 수 있습니다.
  • 데이터 내보내기생성된 지식 그래프는 추후 분석 및 적용을 위해 다양한 형식으로 내보내기를 지원합니다.

 

도움말 사용

설치 프로세스

KGGen은 Python 기반 도구로 배포를 위해 몇 가지 프로그래밍 환경 구성이 필요합니다. 자세한 설치 단계는 다음과 같습니다:

1. 환경 준비

  • 운영 체제Windows, MacOS 및 Linux가 지원됩니다.
  • Python 버전Python 3.8 이상을 권장합니다.
  • Git코드베이스를 복제하려면 Git이 설치되어 있는지 확인하세요.
  • 종속성 관리 도구권장 사용 pip 어쩌면 conda.

2. 코드 베이스 복제

터미널 또는 명령줄에 다음 명령을 입력하여 로컬에 KGGen 프로젝트를 복제합니다:

git clone https://github.com/stair-lab/kg-gen.git
cd kg-gen

3. 종속성 설치

이 프로젝트는 requirements.txt 파일에 필요한 종속성 라이브러리가 포함되어 있습니다. 다음 명령을 실행하여 설치합니다:

pip install -r requirements.txt

다음을 사용하는 경우 conda를 사용하여 가상 환경을 먼저 만들 수 있습니다:

conda create -n kggen python=3.8
conda activate kggen
pip install -r requirements.txt

4. 설치 확인

설치가 완료되면 Python 인터프리터로 이동하여 다음 코드를 입력하여 성공 여부를 확인합니다:

import kg_gen
print(kg_gen.__version__)

출력 버전 번호(예 1.0.0), 설치에 성공했음을 나타냅니다.

사용법

KGGen의 주요 기능은 텍스트로부터 지식 그래프를 생성하는 것이며, 구체적인 작동 절차는 다음과 같습니다:

1. 입력 텍스트 준비

텍스트 파일을 만듭니다(예 input.txt)를 클릭하고 처리할 텍스트를 작성합니다. 예시:

人工智能正在改变世界。机器学习是人工智能的核心技术。斯坦福大学的研究团队开发了许多创新工具。

다음 위치에 파일을 저장합니다. kg-gen 카탈로그.

2. KGGen 실행

터미널에서 프로젝트 디렉토리로 이동하여 다음 명령을 실행합니다:

python -m kg_gen --input input.txt --output graph.json
  • --input: 입력 텍스트 파일 경로를 지정합니다.
  • --output: 생성된 지식창고 출력 파일의 경로를 지정합니다(JSON 형식 지원).

3. 결과 보기

실행이 완료되면 graph.json를 클릭하면 다음과 같은 내용이 표시됩니다:

{
"entities": ["人工智能", "机器学习", "斯坦福大学"],
"relations": [
{"source": "人工智能", "target": "机器学习", "relation": "包含"},
{"source": "斯坦福大学", "target": "创新工具", "relation": "开发"}
]
}

이는 KGGen이 텍스트에서 엔티티를 추출하고 관계를 설정했음을 의미합니다.

4. 사용자 지정 구성(선택 사항)

KGGen은 결과 최적화를 위한 매개변수 조정을 지원합니다. 편집 config.py 문서가 있는 경우 수정될 수 있습니다:

  • 언어 모델: 사전 학습된 다른 모델(예: BERT)로 교체합니다.
  • 클러스터링 매개변수: 클러스터링 임계값을 조정하여 플롯 밀도를 변경합니다.
    변경 사항을 저장하고 위의 명령을 다시 실행합니다.

주요 기능 작동

여러 파일 일괄 처리

여러 개의 텍스트 파일을 처리해야 하는 경우 스크립트 루프 호출을 사용할 수 있습니다:

for file in *.txt; do python -m kg_gen --input "$file" --output "${file%.txt}.json"; done

이는 각 기업에게 좋은 기회가 될 것입니다. .txt 파일은 해당 .json Atlas 파일.

시각적 지식 그래프

KGGen에는 시각화 도구가 내장되어 있지 않지만 타사 라이브러리(예 networkx 노래로 응답 matplotlib) 매핑:

  1. 종속성을 설치합니다:
pip install networkx matplotlib
  1. 다음 Python 스크립트(visualize.py):
import json
import networkx as nx
import matplotlib.pyplot as plt
with open('graph.json', 'r') as f:
data = json.load(f)
G = nx.DiGraph()
for rel in data['relations']:
G.add_edge(rel['source'], rel['target'], label=rel['relation'])
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', font_size=10)
edge_labels = nx.get_edge_attributes(G, 'label')
nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)
plt.show()
  1. 스크립트를 실행합니다:
python visualize.py

생성된 지식 그래프의 그래픽 표현을 볼 수 있습니다.

디버깅 및 로깅

생성된 결과가 예상과 다르면 디버그 모드를 활성화할 수 있습니다:

python -m kg_gen --input input.txt --output graph.json --verbose

그러면 문제를 찾는 데 도움이 되는 자세한 로그가 출력됩니다.

주의

  • 텍스트 품질입력 텍스트가 명확할수록 생성된 지도의 정확도가 높아집니다.
  • 컴퓨팅 리소스긴 텍스트를 처리하려면 더 높은 메모리가 필요할 수 있으며, 최소 8GB RAM을 권장합니다.
  • 유지 관리 업데이트최신 버전을 사용하고 있는지 확인하기 위해 정기적으로 GitHub 리포지토리를 확인합니다.

이러한 단계를 통해 KGGen을 쉽게 시작하고, 텍스트에서 구조화된 지식을 추출하여 실제 프로젝트에 적용할 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...