Blog

Applications of Knowledge Graph: Healthcare

1. Introduction

随着人类社会的发展,医疗健康领域的数据量日益庞大,包括病例记录、药物信息、医疗设备数据、医学研究文献等。这些数据的存储、管理和分析对于提高医疗质量、降低医疗成本、提高医疗效果至关重要。知识图谱(Knowledge Graph)是一种将结构化数据和非结构化数据融合在一起的技术,可以帮助医疗健康领域解决这些问题。

2. Core concepts and linkages

2.1 知识图谱

知识图谱是一种图形结构,用于表示实体(如人、地点、事件等)之间的关系。它可以将结构化数据(如数据库)和非结构化数据(如文本、图片、音频等)融合在一起,形成一个连贯的知识体系。知识图谱可以通过自然语言处理、机器学习、数据挖掘等技术来构建和维护。

2.2 医疗健康领域

医疗健康领域涉及到人体健康的保障、疾病的诊断、治疗、预防等方面。医疗健康领域的数据来源多样,包括病例记录、药物信息、医疗设备数据、医学研究文献等。这些数据的存储、管理和分析对于提高医疗质量、降低医疗成本、提高医疗效果至关重要。

2.3 知识图谱在医疗健康领域的应用

知识图谱在医疗健康领域的应用主要包括以下几个方面:

诊断助手:通过分析患者的症状、病史、检查结果等信息,为医生提供诊断建议。

治疗方案推荐:根据患者的疾病特点、病史、生活习惯等信息,为医生推荐个性化的治疗方案。

疾病预测:通过分析患者的基因信息、生活习惯、环境因素等,预测患者可能发展的疾病。

医疗资源优化:通过分析医疗资源的分布、使用情况等,为医疗机构提供资源分配策略。

3. Core Algorithm Principles

3.1 实体识别与关系抽取

实体识别(Entity Recognition)是将文本中的实体(如人、地点、组织等)标记为特定类别的过程。关系抽取(Relation Extraction)是从文本中抽取实体之间的关系的过程。这两个步骤是知识图谱构建的关键。

3.2 实体链接

实体链接(Entity Linking)是将文本中的实体与知识图谱中已有的实体进行匹配的过程。这可以帮助将非结构化数据转换为结构化数据,并扩展知识图谱的覆盖范围。

3.3 知识图谱推理

知识图谱推理(Knowledge Graph Inference)是利用知识图谱中的关系和约束来推导新的知识的过程。这可以帮助解决知识图谱中的缺失信息和不一致信息,并提高知识图谱的可靠性和完整性。

3.4 知识图谱查询

知识图谱查询(Knowledge Graph Query)是利用自然语言查询知识图谱,并返回相关结果的过程。这可以帮助用户更方便地查询和浏览知识图谱中的信息。

4. Code Examples

4.1 实体识别与关系抽取

在实体识别与关系抽取的过程中,我们可以使用基于规则的方法或基于机器学习的方法。以下是一个基于规则的实例:

import re
import spacy

nlp = spacy.load("en_core_web_sm")

def entity_recognition(text):
doc = nlp(text)
entities = []
for ent in doc.ents:
if ent.label_ == "PERSON" or ent.label_ == "ORG":
entities.append(ent.text)
return entities

def relation_extraction(text, entities):
patterns = [
r"(.*) (is|was) (a|an) (.*)",
r"(.*) (born in|from) (.*)",
r"(.*) (worked at|for) (.*)"
]
relations = []
for pattern in patterns:
matches = re.findall(pattern, text)
for match in matches:
subject, predicate, object_ = match
if subject in entities and object_ in entities:
relations.append((subject, predicate, object_))
return relations

text = "Barack Obama was born in Hawaii and worked at the White House."
entities = entity_recognition(text)
relations = relation_extraction(text, entities)
print(relations)

4.2 实体链接

在实体链接的过程中,我们可以使用基于规则的方法或基于机器学习的方法。以下是一个基于规则的实例:

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

def entity_linking(text, entities, knowledge_graph):
vectorizer = TfidfVectorizer()
text_vector = vectorizer.fit_transform([text])
knowledge_vector = vectorizer.fit_transform(knowledge_graph)
similarity = cosine_similarity(text_vector, knowledge_vector)
linked_entity = knowledge_graph[similarity.argmax()]
return linked_entity

knowledge_graph = ["Barack Obama", "Hawaii", "White House"]
text = "Barack Obama was born in Hawaii and worked at the White House."
entity = entity_linking(text, ["Barack Obama", "Hawaii", "White House"], knowledge_graph)
print(entity)

4.3 知识图谱推理

在知识图谱推理的过程中,我们可以使用基于规则的方法或基于机器学习的方法。以下是一个基于规则的实例:

def knowledge_graph_inference(knowledge_graph, query):
graph = {}
for entity in knowledge_graph:
graph[entity] = []
for relation in knowledge_graph:
subject, predicate, object_ = relation
graph[subject].append((predicate, object_))
graph[object_].append((predicate, subject))
results = []
for entity in query:
visited = set()
stack = [entity]
while stack:
node = stack.pop()
if node not in visited:
visited.add(node)
stack.extend(graph[node])
results.append(node)
return results

knowledge_graph = [
("Barack Obama", "born in", "Hawaii"),
("Hawaii", "capital", "Honolulu"),
("Barack Obama", "worked at", "White House"),
("White House", "located in", "Washington, D.C.")
]
query = ["Barack Obama", "Hawaii", "White House"]
inferred_knowledge_graph = knowledge_graph_inference(knowledge_graph, query)
print(inferred_knowledge_graph)

4.4 知识图谱查询

在知识图谱查询的过程中,我们可以使用基于规则的方法或基于机器学习的方法。以下是一个基于规则的实例:

def knowledge_graph_query(knowledge_graph, query):
graph = {}
for entity in knowledge_graph:
graph[entity] = []
for relation in knowledge_graph:
subject, predicate, object_ = relation
graph[subject].append((predicate, object_))
graph[object_].append((predicate, subject))
results = []
for entity in query:
visited = set()
stack = [entity]
while stack:
node = stack.pop()
if node not in visited:
visited.add(node)
stack.extend(graph[node])
results.append(node)
return results

knowledge_graph = [
("Barack Obama", "born in", "Hawaii"),
("Hawaii", "capital", "Honolulu"),
("Barack Obama", "worked at", "White House"),
("White House", "located in", "Washington, D.C.")
]
query = ["Barack Obama", "Hawaii", "White House"]
query_results = knowledge_graph_query(knowledge_graph, query)
print(query_results)

5. Practical application scenarios

知识图谱在医疗健康领域的应用场景包括:

医疗机构管理:医疗机构可以使用知识图谱管理患者信息、医生信息、医疗设备信息等,提高医疗资源的利用效率。

诊断助手:医生可以使用知识图谱的诊断助手功能,根据患者的症状、病史、检查结果等信息,快速获取可能的诊断建议。

治疗方案推荐:医生可以使用知识图谱的治疗方案推荐功能,根据患者的疾病特点、病史、生活习惯等信息,获取个性化的治疗方案。

疾病预测:医生可以使用知识图谱的疾病预测功能,根据患者的基因信息、生活习惯、环境因素等信息,预测患者可能发展的疾病。

6. Future trends and challenges

知识图谱在医疗健康领域的应用具有巨大的潜力。未来,知识图谱将继续发展,以解决更复杂的医疗健康问题。然而,知识图谱在医疗健康领域仍然面临挑战:

数据质量:医疗健康领域的数据质量可能不稳定,这可能影响知识图谱的准确性。

数据安全:医疗健康数据是敏感数据,需要保障数据安全。

多语言支持:医疗健康领域涉及到多种语言,知识图谱需要支持多语言。

规范化:医疗健康领域的数据格式和结构不一致,需要进行规范化处理。

Applications of Knowledge Graph: Internet of Things and Smart Home

1. Introduction

物联网(Internet of Things,IoT)是指通过互联网将物体和设备连接起来,使它们能够互相传递信息,自主决策和协同工作。智能家居则是利用物联网技术将家居设备连接到互联网上,实现远程控制和智能化管理。知识图谱(Knowledge Graph,KG)是一种用于表示实体和关系的数据结构,可以帮助我们更好地理解和利用大量的信息。

2. Core concepts and linkages

在物联网和智能家居领域,知识图谱的核心概念主要包括实体、关系、图谱等。

实体:实体是物联网设备、用户、数据等在知识图谱中的基本单位。例如,设备实体可以表示智能灯泡、智能门锁等物联网设备;用户实体可以表示家庭成员等用户。

关系:关系是实体之间的联系,用于描述实体之间的关联关系。例如,设备实体与用户实体之间的关系可以表示用户对设备的控制权;设备实体之间的关系可以表示设备之间的相互作用。

图谱:图谱是由实体和关系组成的有向或无向图,用于表示知识图谱的结构。

知识图谱在物联网和智能家居领域的应用主要通过以下几个方面实现:

实体识别与管理:通过知识图谱,我们可以识别物联网设备实体,并实现设备实体之间的管理和配置。

关系抽取与建模:知识图谱可以帮助我们抽取和建模物联网设备之间的关系,从而实现设备之间的自动化识别和配置。

数据处理与分析:知识图谱可以帮助我们处理和分析物联网设备生成的大量数据,从而实现更智能化的家居管理。

3. Core Algorithm Principles

在物联网和智能家居领域,知识图谱的核心算法主要包括实体识别、关系抽取、图谱建模等。

实体识别

实体识别是指通过对物联网设备的信息进行分析,从中抽取出实体。实体识别的主要算法有以下几种:

基于规则的实体识别:通过设定一组规则,从物联网设备信息中抽取出实体。例如,通过关键词匹配、正则表达式等方法,从设备信息中抽取出设备实体。

基于机器学习的实体识别:通过训练机器学习模型,从物联网设备信息中抽取出实体。例如,通过支持向量机、随机森林等机器学习算法,从设备信息中抽取出设备实体。

关系抽取

关系抽取是指通过对物联网设备之间的交互信息进行分析,从中抽取出关系。关系抽取的主要算法有以下几种:

基于规则的关系抽取:通过设定一组规则,从物联网设备之间的交互信息中抽取出关系。例如,通过关键词匹配、正则表达式等方法,从设备交互信息中抽取出设备之间的关系。

基于机器学习的关系抽取:通过训练机器学习模型,从物联网设备之间的交互信息中抽取出关系。例如,通过支持向量机、随机森林等机器学习算法,从设备交互信息中抽取出设备之间的关系。

图谱建模

图谱建模是指通过将实体和关系组合在一起,构建知识图谱的过程。图谱建模的主要算法有以下几种:

基于规则的图谱建模:通过设定一组规则,将实体和关系组合在一起,构建知识图谱。例如,通过关键词匹配、正则表达式等方法,将设备实体和设备之间的关系组合在一起,构建物联网设备知识图谱。

基于机器学习的图谱建模:通过训练机器学习模型,将实体和关系组合在一起,构建知识图谱。例如,通过支持向量机、随机森林等机器学习算法,将设备实体和设备之间的关系组合在一起,构建物联网设备知识图谱。

4. Code Examples

在实际应用中,我们可以通过以下几个步骤来实现物联网和智能家居领域的知识图谱应用:

Step1: 收集和预处理数据:收集物联网设备的信息,并进行预处理,以便于后续的实体识别和关系抽取。

Step2: 实体识别:通过实体识别算法,从物联网设备信息中抽取出实体。

Step3: 关系抽取:通过关系抽取算法,从物联网设备之间的交互信息中抽取出关系。

Step4: 图谱建模:将实体和关系组合在一起,构建知识图谱。

Step5: 知识图谱应用:利用知识图谱,实现物联网和智能家居领域的应用,例如设备识别与管理、数据处理与分析、用户需求理解等。

以下是一个简单的代码实例,展示了如何通过Python语言实现物联网设备知识图谱的构建:

import networkx as nx
import pandas as pd

# 创建一个空的有向图
G = nx.DiGraph()

# 读取物联网设备信息
device_data = pd.read_csv('device_data.csv')

# 遍历设备数据,并添加设备实体和设备之间的关系
for index, row in device_data.iterrows():
device_id = row['device_id']
device_name = row['device_name']
device_type = row['device_type']
user_id = row['user_id']
control_action = row['control_action']

# 添加设备实体
G.add_node(device_id, name=device_name, type=device_type)

# 添加设备之间的关系
G.add_edge(device_id, user_id, action=control_action)

# 绘制知识图谱
nx.draw(G, with_labels=True, node_color='lightblue', edge_color='gray')

在这个代码实例中,我们首先创建了一个空的有向图,然后读取了物联网设备信息,并遍历了设备数据,将设备实体和设备之间的关系添加到图中。最后,我们绘制了知识图谱。

5. Practical application scenarios

知识图谱在物联网和智能家居领域的应用主要有以下几个方面:

设备识别与管理:通过知识图谱,我们可以更好地识别和管理物联网设备,实现设备间的自动化识别和配置。

数据处理与分析:知识图谱可以帮助我们更好地处理和分析物联网设备生成的大量数据,从而实现更智能化的家居管理。

用户需求理解:通过知识图谱,我们可以更好地理解用户的需求,实现更符合用户需求的智能家居系统。

6. Tools and resources

在实际应用中,我们可以使用以下几个工具和资源来实现物联网和智能家居领域的知识图谱应用:

数据收集与预处理:可以使用Python语言的Pandas库来实现数据的收集和预处理。

实体识别与关系抽取:可以使用Python语言的Scikit-learn库来实现基于机器学习的实体识别和关系抽取。

图谱建模:可以使用Python语言的NetworkX库来实现图谱建模。

知识图谱应用:可以使用Python语言的NLTK库来实现知识图谱的应用,例如设备识别与管理、数据处理与分析、用户需求理解等。

7. Future trends and challenges

知识图谱在物联网和智能家居领域的应用已经取得了一定的进展,但仍然存在一些挑战:

数据质量和完整性:物联网设备生成的大量数据,数据质量和完整性对知识图谱的构建和应用具有重要影响。

实体识别和关系抽取:实体识别和关系抽取是知识图谱构建的关键步骤,但仍然存在一些挑战,例如如何有效地抽取和识别实体和关系。

知识图谱应用:知识图谱应用在物联网和智能家居领域仍然存在一些挑战,例如如何有效地实现设备识别与管理、数据处理与分析、用户需求理解等。

未来,我们可以通过以下几个方向来解决这些挑战:

提高数据质量和完整性:通过设计更好的数据收集和预处理方法,提高物联网设备生成的大量数据的质量和完整性。

提高实体识别和关系抽取效果:通过设计更好的实体识别和关系抽取算法,提高实体识别和关系抽取的效果。

提高知识图谱应用效果:通过设计更好的知识图谱应用方法,提高设备识别与管理、数据处理与分析、用户需求理解等应用的效果。

大型语言模型与知识图谱的互补优势与应用

大型语言模型和知识图谱这两者其实可以相辅相成。让我们先看看它们的主要区别和各自的优点:

大语言模型:

强大的语言理解和生成能力: LLM经过大规模语料训练,能够理解和生成流畅、自然的语言,这使得它们在处理自然语言任务时表现出色。

灵活性和泛化能力: LLM能够处理广泛的主题和任务,不仅限于特定领域的知识。它们能够根据上下文推理和生成相关信息。

学习新知识的能力 :通过持续的训练,LLM可以不断更新和扩展其知识库,学习新的信息和概念。

无需明确结构化数据: LLM能够从非结构化数据中提取信息,这减少了对事先精心设计和维护结构化知识库的依赖。

知识图谱:

精确和可靠的知识: 知识图谱包含了结构化的事实,它们通常经过验证,可以提供更精确和可靠的信息。

可解释性和透明度: 知识图谱的结构化特性使其在提供信息时具有更好的可解释性。用户可以理解信息的来源和连接。

复杂查询的处理能力: 对于需要深入理解实体之间复杂关系的查询,知识图谱表现出色。

实体识别和关系挖掘: 知识图谱专注于实体及其属性和关系,这对于实体识别和关系挖掘任务非常重要。

相互补充:

结合使用: LLM和知识图谱可以结合使用,提高信息检索和处理的准确性。LLM可以用于理解和生成自然语言,而知识图谱可以为LLM提供精确的事实支持。

互补优势: 知识图谱的结构化信息可以帮助LLM提高在特定领域的性能,同时,LLM的自然语言处理能力可以用于更新和扩展知识图谱。

相关论文:

Unifying Large Language Models and Knowledge Graphs: A Roadmap

关于为什么不用区块链

Why?

1. 区块链Web3意味着不兼容(浏览器访问的)Web,而如果要兼容就要设置桥接,但这意味着中心化,和区块链的意义相悖。

2. 区块链Web3没法存储私有数据,且没办法有意义地设置访问权限(修改版客户端可以轻易绕过),除非接受链下存储,但这又和使用区块链的价值相悖。这两点都导致使用区块链的初衷受到质疑,而UPOD则完全没有这些问题。

3. 消耗算力大。

End

我觉得区块链的一些特性也完全可以加入UPOD (Ubiquitous Personal Online Datastore)中(比如provenance或交叉签名),不过需要明确的作用和意义。

Bard generates photos now

Bard can now compete with other multimodal chatbots.

Google’s Bard chatbot is adding AI image generation, catching up on a feature that rival ChatGPT Plus has had for months.

Users can prompt Bard to generate photos using Google’s Imagen 2 text-to-image model. Bard, now powered by Google’s Gemini Pro large language model, was always going to have image generation. It was assumed the more powerful Gemini Ultra model would power it; however, that model remains in development.

Google has been positioning Bard as a worthy competitor to OpenAI’s ChatGPT Plus, which runs GPT-4 and lets users generate images thanks to DALL-E 3 integration. Both chatbots perform well, but Bard’s lack of text-to-image features gave ChatGPT Plus a bit of an edge. People can use the updated Bard with Imagen 2 at no cost, unlike ChatGPT Plus, which relies on a paid subscription.

Image generation will not be limited to Bard. Google released a new experimental photo tool powered by Imagen 2 called ImageFX. ImageFX lets users create images with simple text prompts so people can play around with generative AI, with the feedback going directly back to Google engineers. As with Bard, all photos generated through ImageFX will be marked by SynthID and follow Google’s AI principles and technical guardrails. It joins Google’s other AI creation tools, MusicFX and TextFX, which launched last year, and is available for testing on Google Labs.

Bard is also getting a handful of other expansions today. While image generation is only in English for now, the chatbot has expanded to over 40 languages in more than 230 countries. The previous version only worked in English and was available in 170 countries. Some languages it supports include Arabic, Bengali, Tamil, and Urdu.

Google also expanded the double-check feature to 40 languages, which lets users evaluate responses by automatically searching the internet to support or contradict content.

第10回 ウェアラブル EXPO -ウェアラブル [開発]・[活用] 展に参加

展示会概要

【開催展名】第10回 ウェアラブル EXPO -ウェアラブル [開発]・[活用] 展

【会期】2024年1月24日[水]~1月26日[金]

【時間】10:00~17:00

【会場】東京ビッグサイト

【主催】RX Japan株式会社

【併催企画】ウェアラブル EXPO カンファレンス

【同時開催展】

第38回 ネプコン ジャパン -エレクトロニクス 開発・実装展

第16回 オートモーティブ ワールド -クルマの先端技術 展

第3回 スマート物流 EXPO

Factory Innovation Week 2024

出展対象製品・サービス

1. ウェアラブル端末ゾーン

スマートグラス、スマートウォッチ、スマートウェア、スマートバンド、ヘルスケアデバイス、ヘッドマウントディスプレイ、各種スマートデバイス など

2. ウェアラブル活用ソリューションゾーン

生産・業務効率化、医療業務改善、従業員ヘルスケア、ビッグデータ活用 など

3. AR / VR ゾーン

アプリ、コンテンツ、開発ツール/エンジン、プラットフォーム、その他AR/VRソリューション/サービス など

4. 開発技術ゾーン

電子部品、高機能素材、電子材料、製造装置、ディスプレイ、加工受託、バッテリー/給電技術、開発ツール など

第10回 ウェアラブル EXPO -ウェアラブル [開発]・[活用] 展については以下をご覧ください。

https://www.wearable-expo.jp/ja-jp/about.html

早稲田大学の公開講演会に参加

早稲田大学 大学院人間科学研究科 ネットワーク情報システム学研究室

Networked Information Systems Laboratory (NISLAB), Waseda University

東洋医学と西洋医学の統合による高齢者の認知機能向上を目指したデジタル健康管理

周思宇氏,杭州師範大学医学部准教授,博士(人間科学)

Mobile ALOHA: Learning Bimanual Mobile Manipulation with Low-Cost Whole-Body Teleoperation

近日,斯坦福大学、伯克利大学和谷歌 DeepMind 团队合作推出一款家用机器人,名为”Mobile ALOHA”。

Mobile ALOHA的形态是一个轮式小型机器人,大小类似于亚马逊 Alexa 设备。它配备了摄像头、麦克风和扬声器,可以看见、听到并与用户沟通。Mobile ALOHA最独特的特点是其移动性——它能够利用先进的计算机视觉能力自主导航室内环境。

Mobile ALOHA 一个关键创新是谷歌在机器人导航和地图方面的进步。Mobile ALOHA能够使用摄像头和传感器识别家具、物体和墙壁,从而构建室内空间的动态地图。它能够在地图中定位自己,并规划最优路径进行导航。机器学习使得机器人能够随着时间的推移,在收集更多感知数据后,改进其地图和导航能力。

其实,这款机器人最吸引人的特点之一是它的双重操作模式。它可以手动操作:支持复杂的远程控制进行操作,提供精准的操控性和任务执行能力。自动功能:或许最具突破性的功能是它的自主操作能力,经过大约 50 次训练演示后,机器人能够独立执行复杂任务,包括使用电梯和烹饪。

在技术细节上,Mobile ALOHA 继承了原始 ALOHA 系统的优点,即低成本、灵巧、可维修的双臂远程操作装置,同时将其功能扩展到桌面操作之外。

在模仿学习方面,Mobile ALOHA 利用了 Transformer(大型语言模型中使用的架构)。最初的 ALOHA 系统使用了一种名为 Action Chunking with Transformers (ACT) 的架构,它将来自多个视点和关节位置的图像作为输入并预测一系列动作。

另外,得益于生成模型的成功,MobileAloha 可以快速从人类演示中学习,而且它可以只通过 50 次的演示就能学会一件事,合作训练可以提高成功率高达 90%。

Abstract

Imitation learning from human demonstrations has shown impressive performance in robotics. However, most results focus on table-top manipulation, lacking the mobility and dexterity necessary for generally useful tasks. In this work, we develop a system for imitating mobile manipulation tasks that are bimanual and require whole-body control. We first present Mobile ALOHA, a low-cost and whole-body teleoperation system for data collection. It augments the ALOHA system with a mobile base, and a whole-body teleoperation interface. Using data collected with Mobile ALOHA, we then perform supervised behavior cloning and find that co-training with existing static ALOHA datasets boosts performance on mobile manipulation tasks. With 50 demonstrations for each task, co-training can increase success rates by up to 90%, allowing Mobile ALOHA to autonomously complete complex mobile manipulation tasks such as sauteing and serving a piece of shrimp, opening a two-door wall cabinet to store heavy cooking pots, calling and entering an elevator, and lightly rinsing a used pan using a kitchen faucet.

相关链接:

https://arxiv.org/abs/2401.02117

https://mobile-aloha.github.io/

https://github.com/MarkFzp/mobile-aloha

https://github.com/MarkFzp/act-plus-plus

Zotero

Zotero で論文管理してみた話

Zotero を使い始めたので、自分自身の記録を兼ねて記事にしておく。

What is Zotero?

ZoteroはCorporation for Digital Scholorshipのソフトで、デスクトップ版はWindows/Mac/Linuxに対応しています。ブラウザ版もあるので基本的にはどのOSでも使えます。特徴として文献情報の読み取り精度が高く、元からbibtexで管理していた人にとっては扱いやすいと思います。

Zotero の基本的な構造と仕様

論文のメタデータを読み取り、ローカルに保存

メタデータ、論文 PDF をクラウドに保存・共有(Zotero にログイン済み)

取り込んだ論文 PDF のファイル名を論文タイトル (任意に変更可能) などに変更する

BibTeX などの出力

メタデータのローカル保存先は、$HOME$\Zotero\storage である。

デフォルトでは C ドライブに保存される。他のドライブに保存したい場合は、メニューバー 編集 – > 設定 から、詳細 – > ファイルとフォルダ に データ・ディレクトリの場所 の個人設定を好きなドライブ上のディレクトリに変更すればよい。

設定

まず、必要なモノ で挙げているものを準備する。また、Zotero に新規登録する。(ログインすることでメタデータを共有することが出来るようになる)

Zotero に ZotFile をインポートする

Zotero のメニューバーから、ツール – > アドオン に進み、歯車のアイコンから Install Add-on From File をクリックし、ZotFile ファイルを選択する。インポートしたら Zotero を再起動して、ツール – > ZotFile Preferences があることを確認する。

Zotero の環境設定

メニューバーから 編集 – > 設定 で設定する。

以下で、取り込むファイルの保存先を設定する。保存先に Dropbox を使用するので、\Dropbox\zotero というようにフォルダを 1 つ作っておくとよい。

ZotFile の設定

メニューバーから ツール – > ZotFile Preferences で設定する。

Zotero に論文を取り込んでみよう

Chrome の拡張機能 Zotero Connector で論文を取り込もう。

arXiv でダウンロードしたい論文があったら、Zotero Connector を用いて取り込めば良いだけ。

メタデータが Zotero に取り込まれ、PDF のファイル名は Renaming Rules にしたがって改名してくれる。

たまにエラーを吐くことがあるが、Zotero を起動してからもう一度取り込むと上手くいく。

Zotero の拡張

日本語の BibTeX を生成する際に、どうやらおかしなことが生じるらしい(詳しくはよく知らない。というか BibTeX をまだよくわかっていない。)それを解消するプラグインがある。

https://retorque.re/zotero-better-bibtex/

その他、Zotero のプラグインは Zotero の公式サイトで一覧になっているので、良さそうなものがあれば導入すると良いだろう。

https://www.zotero.org/support/plugins

また、動作しなくなったプラグインに対しても言及されているので、どこかで見たプラグインを使う際には確認しておくと良いだろう。

https://www.zotero.org/support/plugins/unmaintained

関連記事

https://qiita.com/Yarakashi_Kikohshi/items/8f720643543ba175f7cc

Disabling Right-Click and Copy Functions on a Webpage with a Single Line of Code

为了防止自己的网页被别人复制,可以开启整个网页无法复制、选中的功能。无需多繁杂的步骤,只需要在你的页面内加一行代码即可。

代码如下:

<body ondragstart="window.event.returnValue=false" oncontextmenu="window.event.returnValue=false" onselectstart="event.returnValue=false">

以WordPress为例,将这行代码放到主题的header.php内即可。

复制完成后重启一下你的服务器,刷新网页,即可看到效果。