AI 英语词源词典数据库

4 天前
 ssshooter

本体是 AI 英语词源词典数据库,顺便用 Tauri 做了个壳子。

本地内置了四六级、托福词汇表的单词的信息,词表来源于常用英语词汇表。内置信息包括:

以上信息均由 AI 生成,不保证准确。另外,可在线查询英英词典,或打开 Merriam-Webster 页面了解更多单词信息。

下载

Windows 便携版( 12.9 MB )Github releases

技术栈

数据库

数据库文件位于 public\english_etymology.db,数据库设计:

-- Main words table
CREATE TABLE IF NOT EXISTS words (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    word TEXT NOT NULL UNIQUE,
    frequency TEXT CHECK (frequency IN ('very_common', 'common', 'uncommon', 'rare', 'archaic')),
    etymology TEXT,
    context TEXT,
    related_words TEXT,      -- 合并 related_words 表
    similar_words TEXT,      -- 合并 similar_looking_words 表
    antonyms TEXT,          -- 合并 antonyms 表
    synonyms TEXT,          -- 合并 synonyms 表
    derivatives TEXT,       -- 合并 derivatives 表
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 词根字典表
CREATE TABLE IF NOT EXISTS root_dictionary (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    root TEXT NOT NULL UNIQUE
);

-- 词根关联表
CREATE TABLE IF NOT EXISTS word_roots (
    word_id INTEGER NOT NULL,
    root_id INTEGER NOT NULL,
    PRIMARY KEY (word_id, root_id),
    FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE,
    FOREIGN KEY (root_id) REFERENCES root_dictionary(id) ON DELETE CASCADE
);

-- Other languages
CREATE TABLE IF NOT EXISTS other_languages (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    word_id INTEGER,
    lang TEXT NOT NULL,
    meaning TEXT NOT NULL,
    words TEXT NOT NULL,
    FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE
);

-- Collocations
CREATE TABLE IF NOT EXISTS collocations (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    word_id INTEGER,
    item TEXT NOT NULL,
    translate TEXT NOT NULL,
    FOREIGN KEY (word_id) REFERENCES words(id) ON DELETE CASCADE
);

-- Create indexes for better query performance
CREATE INDEX IF NOT EXISTS idx_words_word ON words(word);
CREATE INDEX IF NOT EXISTS idx_root_dictionary_root ON root_dictionary(root);
CREATE INDEX IF NOT EXISTS idx_word_roots_root_id ON word_roots(root_id);
CREATE INDEX IF NOT EXISTS idx_word_roots_word_id ON word_roots(word_id);
CREATE INDEX IF NOT EXISTS idx_other_languages_word_id ON other_languages(word_id);
CREATE INDEX IF NOT EXISTS idx_collocations_word_id ON collocations(word_id);

感谢

850 次点击
所在节点    分享创造
3 条回复
linglongll
4 天前
厉害厉害
qianchengv
4 天前



第一个是 Abandon 我怀疑你是故意的
twinsant
3 天前
收藏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1101960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX