资源简介

基于知识图谱的自动问答系统,有代码,和说明文档,大家可以看看.很很好的知识图谱的入门案例代码

资源截图

代码片段和文件信息

# encoding=utf-8

“““

@author: SimmerChan

@contact: hsl7698590@gmail.com

@file: movie_crawler.py

@time: 2017/12/19 13:23

@desc:
利用The Movie DB(https://www.themoviedb.org)提供的API接口获取周星驰及其相关演员的基本信息和参演电影的基本信息。
数据保存在Mysql中。

“““

import requests
import json
from crawler.tradition2simple import traditional2simple
import re
import pymysql
import time

api_key = ‘your_api_key‘
person_detail_url = ‘https://api.themoviedb.org/3/person/{person_id}?api_key={api_key}&language=zh-cn‘
movie_cast_url = ‘https://api.themoviedb.org/3/movie/{movie_id}/credits?api_key={api_key}‘
person_movie_detail_url = ‘https://api.themoviedb.org/3/person/{person_id}/movie_credits?api_key={api_key}&language=zh-cn‘
all_movie_genres_url = ‘https://api.themoviedb.org/3/genre/movie/list?api_key={api_key}&language=zh-cn‘

chinese_pattern = re.compile(u“[\u4e00-\u9fa5]+“)   # 用于查找汉字,选取演员的中文名

# TODO 连接本地mysql的CBDB数据库
mysql_db = pymysql.connect(host=“localhost“ user=“root“ db=“kg_demo_movie“ use_unicode=True charset=“utf8mb4“)
mysql_cursor = mysql_db.cursor()

# TODO 插入语句模板
insert_person_command = ‘insert into person (person_english_name person_name person_biography person_birth_place person_id person_birth_day person_death_day) values (%s %s %s %s %s %s %s)‘
insert_movie_command = ‘insert into movie (movie_title movie_introduction movie_rating movie_id movie_release_date) values (%s %s %s %s %s)‘
insert_person_movie_command = ‘insert into person_to_movie (person_id movie_id) values (%s %s)‘
insert_movie_genre_command = ‘insert into movie_to_genre (movie_id genre_id) values (%s %s)‘
insert_genre_command = ‘insert into genre (genre_id genre_name) values (%s %s)‘


def get_all_genres():
    “““
    获取所有的电影类型
    :return:
    “““
    r = requests.get(all_movie_genres_url.format(api_key=api_key))
    json_result = json.loads(r.content)
    genres = json_result[‘genres‘]
    genre_list = list()

    for g in genres:
        genre_list.append((g[‘id‘] g[‘name‘]))

    return genre_list


def get_movie_cast(movie_id):
    # type: (int) -> list
    “““
    获取此电影所有参演演员的ID
    :param movie_id:
    :return:
    “““
    cast_list = list()
    r = requests.get(movie_cast_url.format(movie_id=movie_id api_key=api_key))
    json_result = json.loads(r.content)
    movie_cast = json_result[‘cast‘]

    for cast in movie_cast:
        cast_list.append(cast[‘id‘])

    return cast_list


def get_person_detail(person_id):
    “““
    获取该演员的基本信息
    :param person_id:
    :return:
    “““
    detail_list = list()
    r = requests.get(person_detail_url.format(person_id=person_id api_key=api_key))
    json_result = json.loads(r.content)

    try:
        detail_list.append(json_result[‘name‘].strip())
    except KeyError:
        detail_list.append(None)

    exist_chinese_name = False
    for tmp in json_result[‘also_known_as‘]:
        if chinese_pattern.search(tmp):
            detail_list.append(traditional2simple.tradition2simple(tmp.strip()))
            exist_chinese_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\
     文件         265  2018-01-28 11:10  基于知识图谱的自动问答系统\catalog-v001.xml
     目录           0  2018-06-01 20:29  基于知识图谱的自动问答系统\data\
     文件       10547  2018-01-28 11:10  基于知识图谱的自动问答系统\data\ER_diagram.mwb
     文件     1757163  2018-06-01 20:29  基于知识图谱的自动问答系统\data\kg_demo_movie.sql
     文件        1527  2018-01-28 11:10  基于知识图谱的自动问答系统\fuseki_conf.ttl
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\
     文件     8915766  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie.nt
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\.idea\
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\.idea\inspectionProfiles\
     文件         228  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\.idea\inspectionProfiles\profiles_settings.xml
     文件         459  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\.idea\kg_demo_movie.iml
     文件         213  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\.idea\misc.xml
     文件         278  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\.idea\modules.xml
     文件       31453  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\.idea\workspace.xml
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\crawler\
     文件        9495  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\movie_crawler.py
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\crawler\tradition2simple\
     文件        7953  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\tradition2simple\langconv.py
     文件         283  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\tradition2simple\traditional2simple.py
     文件      143251  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\tradition2simple\zh_wiki.py
     文件         129  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\tradition2simple\__init__.py
     文件         129  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\crawler\__init__.py
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\
     目录           0  2018-06-01 16:09  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\
     文件         490  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\csv2txt.py
     文件       31633  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\movie_title.csv
     文件       38267  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\movie_title.txt
     文件        2425  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\person_name.csv
     文件        3171  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\person_name.txt
     文件         133  2018-01-28 11:10  基于知识图谱的自动问答系统\kg_demo_movie\KB_query\external_dict\__init__.py
............此处省略13个文件信息

评论

共有 条评论