구조화되지 않은 데이터 소스에서 지식 그래프를 구성하는 방법.
경고 :이 리포지어는 교육 자습서와 함께 소스 코드 및 노트북을 제공합니다. 패키지 라이브러리 또는 제품으로 의도되지 않습니다.
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -U pip wheel
python3 -m pip install -r requirements.txt 전체 데모 앱은 demo.py 에 있습니다.
python3 demo.py 이 데모는 치매와 정기적으로 가공 된 붉은 육류 간의 연계에 관한 기사에서 텍스트 소스를 긁어 낸 다음 LanceDB gensim.Word2Vec 텍스트 청크 임베딩의 벡터 데이터베이스 인 NetworkX 사용하여 그래프를 생성합니다.
data/kg.json NetworkX 그래프의 직렬화data/lancedb 벡터 데이터베이스 테이블data/entity.w2v 엔티티 임베딩 모델kg.html PyVis 의 대화식 그래프 시각화 Jupyter Notebooks 모음은이 워크 플로에서 중요한 단계를 보여줍니다.
./venv/bin/jupyter-labconstruct.ipynb 어휘 그래프를 사용한 상세 KG 구성chunk.ipynb 스크랩 및 청크 텍스트의 간단한 예vector.ipynb 텍스트 청크 임베딩을위한 쿼리 lancetb 테이블 ( demo.py 실행 한 후)embed.ipynb 엔티티 임베딩 모델 쿼리 ( demo.py 실행 한 후) 목적 : 딥 러닝 모델이 좁은 초점 포인트 솔루션을 제공하여 그래프의 구성 요소를 생성하기 위해 노드, 가장자리, 속성을 생성하는 오픈 소스 라이브러리를 사용하여 지식 그래프 (KG)를 구성합니다.
이 단계는이 튜토리얼이 어휘 그래프 에서 선택되는 일반화 된 프로세스를 정의합니다.
시맨틱 오버레이 :
데이터 그래프 :
어휘 그래프 :
이 접근법은 하나의 크기가 전체 그래프를 자동으로 생성하기 위해 모든 "블랙 박스"접근 방식에 맞는 큰 언어 모델 (LLM)을 사용하는 것과 대조적입니다. 블랙 박스 접근 방식은 감사, 설명, 증거, 데이터 출처 등이 필요한 규제 환경의 KG 관행에 적합하지 않습니다.
더 나은 방법으로, 각 추론 단계 후 중간 결과를 검토하여 Argilla 사용하여 KG 구성 요소를 큐 레이트하기위한 인간 피드백을 수집하십시오.
조사와 같은 미션 크리티컬 앱에 사용되는 KGS는 일반적으로 1 단계 구성 프로세스가 아니라 업데이트에 의존합니다. 위의 단계를 기반으로 KG를 생성함으로써 업데이트를보다 효과적으로 처리 할 수 있습니다. LLM 결과를 접지하기위한 그래프 래그 와 같은 다운 스트림 앱도 개선 된 데이터 품질의 혜택을받을 수 있습니다.
spaCy : https://spacy.io/GLiNER : https://github.com/urchade/glinerGLiREL : https://github.com/jackboyla/glirelOpenNRE : https://github.com/thunlp/opennreNetworkX : https://networkx.org/PyVis : https://github.com/westhealth/pyvisLanceDB : https://github.com/lanctb/lanctbgensim : https://github.com/piskvorky/gensimpandas : https://pandas.pydata.org/Pydantic : https://github.com/pydantic/pydanticPyinstrument : https://github.com/joerick/pyinstrument 참고 : opennre.ipynb 노트북을 실행하기 전에 nre.sh 스크립트를 사용하여 OpenNNRE 사전 훈련 된 모델을로드해야합니다.