beancount/smart_importer

Augment Beancount importers with machine learning functionality.

解决的问题

减少了将银行交易导入 Beancount 时手动分类交易所需的工作量。无需为每个新交易手动分配账户或收款人,该工具会基于历史数据预测这些属性。

工作原理

该项目使用 scikit-learn(特别是支持向量机或 SVC)实现的分类模型。它将用户 Beancount 账本中的现有交易作为训练数据,在导入过程中实时处理。当导入新交易时,模型会分析输入并预测缺失的第二条记账(账户)或收款人名称。用户可以通过修正预测并将其保存到账本中来进一步提高准确性,这些数据随后将成为未来导入的更新训练数据。

适用人群

希望使用自身历史交易数据自动化财务导入分类的 Beancount 和 Beangulp 用户。

特色

  • 本地处理:所有 AI 处理都在本地机器上完成;数据不会发送到云端。
  • 集成性:可作为现有 Beangulp 导入器的钩子或包装器使用,并与 Fava 集成。
  • 可自定义分词:支持自定义分词器(例如用于中文的 jieba),以处理不同语言。
  • 反馈循环:随着用户修正并保存交易到账本,准确率会随着时间推移而提高。

相关