Skip to content

LeeQixian/NanTATian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nan(TAT)ian - Social Media Corpus Analysis Tool

⚠️ Development Preview (WIP)
当前版本(2026.01)仍处于早期开发阶段。
代码中可能包含大量调试用的断言(Asserts)、未处理的乱码以及临时逻辑。
使用风险自负,请勿在生产环境中直接部署。

📖 项目简介

Nan(TAT)ian 是一个专为 数字人文(Digital Humanities)语料库语言学 研究者设计的本地化 Web UI 工具。

它的核心场景是:在本地电脑上,对社媒评论数据(SQLite/CSV)进行丝滑的清洗、标注与语境分析。

不同于传统的 Python 脚本,本项目旨在将 AntConc 级别的专业分析功能,融合进现代化的、美观的 Web 交互界面中。

🎯 核心目标

  1. 本地优先:所有数据存储在本地 SQLite 数据库中,保护数据隐私,无需上传云端。
  2. 丝滑交互:利用 WAL 模式与索引优化,支持百万级评论数据的流畅翻页与检索。
  3. 灵活字段:不强制绑定表结构,用户可自定义映射核心分析字段:
    • 📝 Content (必需):评论文本(TEXT)。
    • 👤 Author:用户昵称。
    • 🆔 ID:评论唯一标识。
    • Time:发布时间戳(洁癖党福音)。
    • 其他字段(IP、性别等)仅作筛选清洗用。

✨ 已实现功能 (Current Features)

🛠️ 数据管理 (Data Management)

  • 智能导入:支持 CSV 文件拖拽上传,自动清洗列名并转存为 SQLite (.db)。
  • 元数据识别:自动区分“原生爬虫库”(Blue)与“CSV 导入库”(Green)。
  • 右侧抽屉:可视化的数据库与数据表切换面板。
  • 防御性设计:支持特殊字符表名、列名,从此告别 SQL 报错。

📊 分析与标注 (Analysis & Labeling)

  • Dashboard:全量数据预览,支持 Emoji 表情包解析与渲染。
  • KWIC (语境分析):基于关键词的上下文索引(Keyword in Context),支持高亮显示。
  • 人工标注 (Labeling)
    • 支持自定义标注维度(Bool/Text)。
    • 支持导出标注任务包(Standalone HTML),方便分发给协作者。
  • 变体管理 (VoE):左侧抽屉专门记录“表达变体”(Variants of Expression),并支持基于变体的模糊检索。

🚀 待开发功能 (Roadmap)

  • 日志系统重构:全面移除硬编码的 printassert,引入 RotatingFileHandler
  • AntConc 核心复刻
    • KWIC 排序功能 (Sort by 1L/1R)。
    • 搭配词强度计算 (Collocation Strength)。
    • 词频统计 (Word List / N-Grams)。
  • 高级数据清洗:基于 IP、User-Agent 等元数据的批量清洗工具。
  • 图表可视化:引入 Plotly/Echarts 展示时间序列声量变化。

📦 快速开始

  1. 环境准备 (推荐 Python 3.10+)

    pip install -r requirements.txt
  2. 启动应用

    python main.py

    程序会自动打开浏览器访问 http://127.0.0.1:8080

  3. 数据准备

    • 准备好你的 CSV 文件(请确保编码为UTF-8)。
    • 在页面右上角点击“导入”按钮,跟随向导完成入库。

本篇README使用AI生成,不代表项目维护者细节含义等。

About

Nan(TAT)ian(难她天):一个由AI编程驱动的、面向以B站为代表的社媒网站评论数据库的轻量级Web UI分析框架。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors