You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将文本文件中的词汇自动匹配到历史、政治、科学主题

词汇主题分类:方向指导与可拓展基础程序

方向指导

  • 领域词典优先匹配:小样本场景下,预训练模型的效率劣势明显,先针对历史、政治、科学三个领域手动构建核心词汇词典,通过精确匹配快速完成分类,这是最直接高效的方案。
  • 轻量模型辅助消歧:如果词典覆盖不全,用Spacy轻量模型(如en_core_web_sm)或NLTK的WordNet做词义消歧,手动标注少量样本后微调模型,避免全量预训练的高耗时问题。
  • 规则补充优化:针对特定领域的词汇特征(比如-oma是医学肿瘤术语后缀,sarc-词根多关联生物学/医学词汇),添加正则规则匹配,进一步提升分类准确率。

可拓展基础程序

import re

# 自定义领域词典(可根据实际需求持续扩充)
domain_vocab = {
    "历史": {"Sarat", "Saratha", "Sarathi", "Saravana", "Saraya", "Sarbamouli"},
    "科学": {"Sarcinae", "Sarcocystes", "Sarcodina", "Sarcoidoins", "Sarcoma", 
            "Sarcophaga", "Sarcophagi", "Sarcoplasmic", "Sarcotesta"},
    "政治": set()  # 示例无对应词汇,后续可按需添加
}

# 科学领域词汇规则(匹配特定词根/后缀)
science_rules = [
    re.compile(r".*sarc(?:o|in|ae|cyst|od|om).*", re.IGNORECASE),
    re.compile(r".*oma$", re.IGNORECASE)
]

def categorize_terms(term_list):
    classification_result = {}
    for term in term_list:
        categories = []
        # 第一步:词典匹配
        for domain, words in domain_vocab.items():
            if term in words:
                categories.append(domain)
        # 第二步:规则匹配补充
        for rule in science_rules:
            if rule.match(term) and "科学" not in categories:
                categories.append("科学")
        # 处理无匹配项
        classification_result[term] = categories if categories else ["无匹配"]
    return classification_result

# 示例运行
if __name__ == "__main__":
    # 从文本文件读取词汇(假设每行一个词汇)
    with open("vocabulary.txt", "r", encoding="utf-8") as file:
        terms = [line.strip() for line in file if line.strip()]
    # 执行分类
    result = categorize_terms(terms)
    # 输出结果
    for term, cats in result.items():
        print(f"{term}: {', '.join(cats)}")

程序拓展建议

  • 持续扩充domain_vocab中的各领域词汇,提升精确匹配的覆盖范围
  • 添加更多领域的规则(比如政治领域的特定术语前缀/后缀)
  • 后续可接入Spacy的词义向量功能,对模糊词汇做相似度匹配:加载模型后获取词汇的向量,与各领域核心词汇向量做余弦相似度计算,判断所属领域

内容的提问来源于stack exchange,提问作者sibi kanagaraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 10:52:44