ConvoKit 项目介绍
项目概述
ConvoKit 是一个强大的工具包,旨在从对话中提取对话特征,并分析对话中社会现象的工具。它使用了一个统一的接口,这个接口受到了广泛使用的 scikit-learn 的启发并与之兼容。ConvoKit 包含几个大型对话数据集,并附带示例脚本展示如何在这些数据集上使用工具包。该项目的最新版本是 3.0.1,开发者可以通过访问项目的 GitHub 页面随时获取更新。
社区互动
ConvoKit 提供了一个活跃的 Discord 社区,开发者可以加入该社区来了解最新动态、与其他开发者交流、共同解决问题。
功能特点
- 语言协调:通过功能词的使用来衡量个体或群体间的语言影响力和相对权力。
- 礼貌策略:一组与礼貌和不礼貌相关的词汇和解析特征。
- 预期对话上下文框架:用于根据预期的对话上下文描述话语和术语的框架。
- 超图对话表示:通过超图表示对话的结构特征进行提取的方法。
- 对话中的语言多样性:计算个体在其自身对话中的语言多样性,以及在一个群体中的语言多样性。
- CRAFT 调用预测:使用神经模型预测对话发展的未来结果(如,偏离到人身攻击)。
数据集
ConvoKit 附带了若干已准备好可直接使用的数据集,常用的有:
- Wikipedia 编辑员讨论页
- 改变我观点(ChangeMyView)子版的数据集
- 康奈尔电影对话语料库
- 议会问答环节数据集
- 美国最高法院口头辩论数据集
- Reddit 子版面数据集
- 各种对话语料库(如网球访谈、智力辩论人物交谈、朋友剧集对话等)
用户还可以使用自己的数据集,通过将它们加载到 convokit.Corpus
对象中来进行操作。
安装方法
要使用 ConvoKit 工具包,需具备 Python 3.10 或更高版本。下面是安装步骤:
- 使用 pip3 安装:
pip3 install convokit
- 下载 Spacy 的英语模型:
python3 -m spacy download en
- 下载 NLTK 的 'punkt' 模型:在 Python 解释器中执行
import nltk; nltk.download('punkt')
如果在安装过程中遇到困难,可以通过查看项目的故障排除指南获得帮助。
文档与学习
完整的文档可以通过 ConvoKit 的官网访问。对于新手,可以从核心概念教程和高级教程开始,这些教程提供了如何将 ConvoKit 导入项目、加载语料库以及使用 ConvoKit 功能的指南。
贡献与致谢
ConvoKit 社区欢迎所有形式的贡献,您可以查看贡献指南以了解如何参与。此外,使用者在引用 ConvoKit 的代码或数据集时,请依据文档中的提示给予相应的学术致谢。
通过对 ConvoKit 的介绍,不难看出,它为对对话进行复杂分析提供了强大的工具和丰富的资源,不仅便利了研究者,也为开发者开放了无限可能。