021_自然语言处理应用

发布于:2025-07-16 ⋅ 阅读:(16) ⋅ 点赞:(0)

自然语言处理应用

目录

NLP应用概述

核心能力范围

文本理解
  • 语义理解:深度理解文本含义和上下文
  • 实体识别:识别人名、地名、机构名等命名实体
  • 关系提取:理解实体间的关系和连接
  • 情感分析:分析文本的情感倾向和态度
文本生成
  • 内容创作:自动生成文章、报告、创意内容
  • 文本摘要:提取关键信息生成摘要
  • 文本转换:格式转换、风格改写、语言翻译
  • 对话生成:智能对话和问答系统
语言分析
  • 语法分析:句法结构和语法关系分析
  • 语义分析:词汇语义和语句意义分析
  • 语用分析:上下文和语境理解
  • 话语分析:篇章结构和修辞分析

应用价值

  • 效率提升:自动化文本处理任务
  • 质量保证:标准化和一致性处理
  • 成本降低:减少人工处理成本
  • 创新应用:开发新的智能化服务

文本理解技术

实体识别与提取

命名实体识别(NER)
def extract_named_entities(text):
    """提取命名实体"""
    
    ner_prompt = f"""
    请从以下文本中提取所有命名实体,并按类别分类:
    
    文本:{text}
    
    请提取:
    1. 人名 (PERSON)
    2. 地名 (LOCATION) 
    3. 机构名 (ORGANIZATION)
    4. 时间 (DATE/TIME)
    5. 数量 (QUANTITY)
    6. 货币 (MONEY)
    
    请以JSON格式返回结果。
    """
    
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        messages=[
            {"role": "user", "content": ner_prompt}
        ]
    )
    
    return parse_ner_response(response.content[0].text)

def parse_ner_response(response_text):
    """解析NER响应"""
    try:
        import json
        return json.loads(response_text)
    except:
        # 如果不是标准JSON,手动解析
        return extract_entities_manually(response_text)

# 使用示例
sample_text = """
苹果公司CEO蒂姆·库克于2023年3月在加利福尼亚州库比蒂诺宣布,
公司将投资1000万美元用于人工智能研发。
"""

entities = extract_named_entities(sample_text)
print(entities)
关系抽取
def extract_relationships(text):
    """提取实体关系"""
    
    relation_prompt = f"""
    分析以下文本中实体之间的关系:
    
    文本:{text}
    
    请识别:
    1. 主语-谓语-宾语关系
    2. 从属关系
    3. 时间关系
    4. 地点关系
    5. 因果关系
    
    以三元组形式返回:(实体1, 关系, 实体2)
    """
    
    response = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        messages=[
            {"role": "user", "content": relation_prompt}
        ]
    )
    
    return parse_relationships(response.content[0].text)

def build_knowledge_graph(entities, relationships):
    """构建知识图谱"""
    
    knowledge_graph = {
        "nodes": [
            {"id": entity["text"], "type": entity["label"], "properties": entity.get("properties", {})}
            for entity_list in entities.values()
            for entity in entity_list
        ],
        "edges": [
            {
                "source": rel["subject"],
                "target": rel["object"], 
                "relation": rel["predicate"],
                "properties": rel.get("properties", {})
            }
            for rel in relationships
        ]
    }
    
    return knowledge_graph

情感分析

细粒度情感分析
class SentimentAnalyzer:
    """情感分析器"""
    
    def __init__(self):
        self.emotion_dimensions = {
            "valence": "正面-负面",
            "arousal": "激动-平静", 
            "dominance": "主导-顺从"
        }
    
    def analyze_sentiment(self, text):
        """分析情感"""
        
        sentiment_prompt = f"""
        对以下文本进行全面的情感分析:
        
        文本:{text}
        
        请分析:
        1. 整体情感倾向(正面/负面/中性)
        2. 情感强度(1-10分)
        3. 具体情绪类别(喜悦、愤怒、悲伤、恐惧、惊讶、厌恶等)
        4. 情感目标(情感指向的对象)
        5. 情感原因(产生情感的原因)
        
        以结构化格式返回结果。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": sentiment_prompt}
            ]
        )
        
        return self.parse_sentiment_result(response.content[0].text)
    
    def analyze_aspect_sentiment(self, text):
        """方面级情感分析"""
        
        aspect_prompt = f"""
        对以下文本进行方面级情感分析:
        
        文本:{text}
        
        请识别文本中提到的不同方面/属性,并分析对每个方面的情感:
        
        格式:
        方面:[方面名称]
        情感:[正面/负面/中性]
        强度:[1-10]
        原因:[情感原因]
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": aspect_prompt}
            ]
        )
        
        return self.parse_aspect_sentiment(response.content[0].text)
    
    def detect_emotion_change(self, text_sequence):
        """检测情感变化"""
        
        emotion_change_prompt = f"""
        分析以下文本序列中情感的变化过程:
        
        文本序列:
        {chr(10).join([f"{i+1}. {text}" for i, text in enumerate(text_sequence)])}
        
        请分析:
        1. 情感变化趋势
        2. 关键转折点
        3. 情感变化原因
        4. 整体情感弧线
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": emotion_change_prompt}
            ]
        )
        
        return response.content[0].text

主题建模与聚类

主题提取
def extract_topics(documents, num_topics=5):
    """提取文档主题"""
    
    topic_prompt = f"""
    分析以下文档集合,提取主要主题:
    
    文档数量:{len(documents)}
    目标主题数:{num_topics}
    
    文档内容:
    {chr(10).join([f"文档{i+1}: {doc[:200]}..." for i, doc in enumerate(documents)])}
    
    请提取{num_topics}个主要主题,对每个主题提供:
    1. 主题名称
    2. 关键词(10个)
    3. 主题描述
    4. 相关文档编号
    5. 主题强度评分
    """
    
    response = client.messages.create(
        model="claude-opus-4-20250514",
        max_tokens=2048,
        messages=[
            {"role": "user", "content": topic_prompt}
        ]
    )
    
    return parse_topics(response.content[0].text)

def cluster_documents(documents, cluster_method="semantic"):
    """文档聚类"""
    
    clustering_prompt = f"""
    对以下文档进行语义聚类:
    
    聚类方法:{cluster_method}
    文档数量:{len(documents)}
    
    文档列表:
    {chr(10).join([f"{i+1}. {doc[:150]}..." for i, doc in enumerate(documents)])}
    
    请将文档分为合适的类别,对每个类别提供:
    1. 类别名称
    2. 类别描述
    3. 包含的文档编号
    4. 类别特征关键词
    5. 类别内聚性评分
    """
    
    response = client.messages.create(
        model="claude-opus-4-20250514",
        max_tokens=2048,
        messages=[
            {"role": "user", "content": clustering_prompt}
        ]
    )
    
    return parse_clusters(response.content[0].text)

文本生成应用

内容创作系统

自动文章生成
class ContentGenerator:
    """内容生成器"""
    
    def __init__(self):
        self.writing_styles = {
            "新闻": "客观、简洁、事实导向",
            "博客": "个人化、轻松、互动性强",
            "学术": "严谨、专业、引用丰富",
            "营销": "吸引人、行动导向、情感化",
            "技术": "准确、详细、逻辑清晰"
        }
    
    def generate_article(self, topic, style="博客", length="中等", audience="一般读者"):
        """生成文章"""
        
        length_guides = {
            "短": "500-800字",
            "中等": "1000-1500字", 
            "长": "2000-3000字"
        }
        
        article_prompt = f"""
        请创作一篇关于"{topic}"的{style}风格文章。
        
        要求:
        - 风格:{style}{self.writing_styles.get(style, "通用")})
        - 长度:{length_guides.get(length, "1000-1500字")}
        - 目标读者:{audience}
        
        请包含:
        1. 吸引人的标题
        2. 引人入胜的开头
        3. 逻辑清晰的主体内容
        4. 有力的结尾
        5. 适当的小标题和段落结构
        
        请确保内容原创、准确且有价值。
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=3000,
            messages=[
                {"role": "user", "content": article_prompt}
            ]
        )
        
        return self.format_article(response.content[0].text)
    
    def generate_with_outline(self, topic, outline):
        """基于大纲生成内容"""
        
        outline_prompt = f"""
        基于以下大纲创作关于"{topic}"的文章:
        
        大纲:
        {self.format_outline(outline)}
        
        请为每个部分写出详细内容,保持逻辑连贯,内容充实。
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=3000,
            messages=[
                {"role": "user", "content": outline_prompt}
            ]
        )
        
        return response.content[0].text
    
    def format_outline(self, outline):
        """格式化大纲"""
        formatted = []
        for i, section in enumerate(outline, 1):
            formatted.append(f"{i}. {section['title']}")
            if 'subsections' in section:
                for j, subsection in enumerate(section['subsections'], 1):
                    formatted.append(f"   {i}.{j} {subsection}")
        return "\n".join(formatted)
创意写作助手
class CreativeWritingAssistant:
    """创意写作助手"""
    
    def __init__(self):
        self.genres = {
            "科幻": "想象力丰富、技术感强、未来感",
            "悬疑": "紧张刺激、逻辑严密、悬念迭起",
            "浪漫": "情感丰富、温馨甜蜜、人物细腻",
            "恐怖": "氛围营造、心理描写、恐怖元素",
            "历史": "时代背景、历史细节、人物塑造"
        }
    
    def generate_story(self, genre, theme, length="短篇"):
        """生成故事"""
        
        story_prompt = f"""
        创作一个{genre}类型的{length}故事。
        
        主题:{theme}
        类型特点:{self.genres.get(genre, "通用故事")}
        
        请包含:
        1. 引人入胜的开头
        2. 鲜明的人物角色
        3. 紧凑的情节发展
        4. 适当的冲突和转折
        5. 令人满意的结局
        
        注重:
        - 人物性格刻画
        - 环境氛围营造
        - 对话自然流畅
        - 情节发展合理
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=3000,
            messages=[
                {"role": "user", "content": story_prompt}
            ]
        )
        
        return response.content[0].text
    
    def generate_character(self, story_context=""):
        """生成角色"""
        
        character_prompt = f"""
        为以下故事背景创建一个丰富立体的角色:
        
        故事背景:{story_context}
        
        请提供:
        1. 基本信息(姓名、年龄、职业)
        2. 外貌特征
        3. 性格特点
        4. 背景故事
        5. 动机和目标
        6. 优点和缺点
        7. 说话方式和习惯
        8. 与其他角色的关系
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": character_prompt}
            ]
        )
        
        return response.content[0].text
    
    def generate_dialogue(self, characters, situation):
        """生成对话"""
        
        dialogue_prompt = f"""
        为以下角色在特定情况下创作自然的对话:
        
        角色:
        {self.format_characters(characters)}
        
        情况:{situation}
        
        要求:
        1. 体现每个角色的性格特点
        2. 推动情节发展
        3. 对话自然流畅
        4. 包含适当的动作描写
        5. 体现角色间的关系动态
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": dialogue_prompt}
            ]
        )
        
        return response.content[0].text

文本摘要系统

智能摘要生成
class TextSummarizer:
    """文本摘要器"""
    
    def __init__(self):
        self.summary_types = {
            "extractive": "提取原文关键句子",
            "abstractive": "重新组织表达要点",
            "hybrid": "结合提取和重写方法"
        }
    
    def generate_summary(self, text, summary_type="abstractive", length="medium"):
        """生成摘要"""
        
        length_ratios = {
            "short": "原文的10-15%",
            "medium": "原文的20-30%", 
            "long": "原文的40-50%"
        }
        
        summary_prompt = f"""
        为以下文本生成{summary_type}摘要:
        
        原文:
        {text}
        
        摘要要求:
        - 类型:{summary_type}{self.summary_types.get(summary_type)})
        - 长度:{length_ratios.get(length, "原文的20-30%")}
        - 保留核心信息和要点
        - 保持逻辑连贯性
        - 使用简洁清晰的语言
        
        请生成摘要:
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": summary_prompt}
            ]
        )
        
        return response.content[0].text
    
    def generate_multi_level_summary(self, text):
        """生成多层级摘要"""
        
        multi_level_prompt = f"""
        为以下文本生成不同详细程度的摘要:
        
        原文:
        {text}
        
        请提供:
        1. 一句话摘要(核心要点)
        2. 段落摘要(100-150字)
        3. 详细摘要(200-300字)
        4. 要点列表(5-8个关键点)
        
        每个层次都应准确反映原文内容,但详细程度不同。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": multi_level_prompt}
            ]
        )
        
        return self.parse_multi_level_summary(response.content[0].text)
    
    def summarize_multiple_documents(self, documents, focus_topic=None):
        """多文档摘要"""
        
        multi_doc_prompt = f"""
        对以下多个文档进行综合摘要:
        
        文档数量:{len(documents)}
        {f"关注主题:{focus_topic}" if focus_topic else ""}
        
        文档内容:
        {self.format_documents(documents)}
        
        请提供:
        1. 综合摘要(整合所有文档的要点)
        2. 共同主题(所有文档共同讨论的话题)
        3. 不同观点(文档间的差异和分歧)
        4. 关键结论(基于所有文档的总结)
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=2048,
            messages=[
                {"role": "user", "content": multi_doc_prompt}
            ]
        )
        
        return response.content[0].text
    
    def format_documents(self, documents):
        """格式化文档列表"""
        formatted = []
        for i, doc in enumerate(documents, 1):
            formatted.append(f"文档{i}:\n{doc[:500]}...")
        return "\n\n".join(formatted)

语言分析工具

语法与语义分析

语法分析器
class GrammarAnalyzer:
    """语法分析器"""
    
    def analyze_syntax(self, text):
        """语法分析"""
        
        syntax_prompt = f"""
        对以下文本进行详细的语法分析:
        
        文本:{text}
        
        请分析:
        1. 句子结构(主谓宾、定状补)
        2. 词性标注
        3. 语法错误识别
        4. 句式类型分析
        5. 复合句结构分析
        
        以结构化格式返回分析结果。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": syntax_prompt}
            ]
        )
        
        return response.content[0].text
    
    def check_grammar(self, text):
        """语法检查"""
        
        grammar_check_prompt = f"""
        检查以下文本的语法错误并提供修改建议:
        
        文本:{text}
        
        请识别:
        1. 语法错误(主谓不一致、时态错误等)
        2. 标点符号错误
        3. 用词不当
        4. 句式结构问题
        5. 逻辑连接问题
        
        对每个错误提供:
        - 错误类型
        - 错误位置
        - 修改建议
        - 修改后的正确表达
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": grammar_check_prompt}
            ]
        )
        
        return response.content[0].text
语义分析器
class SemanticAnalyzer:
    """语义分析器"""
    
    def analyze_semantics(self, text):
        """语义分析"""
        
        semantic_prompt = f"""
        对以下文本进行深入的语义分析:
        
        文本:{text}
        
        请分析:
        1. 核心语义(主要表达的意思)
        2. 隐含语义(暗示的含义)
        3. 语义关系(词汇间的语义连接)
        4. 语义角色(施事、受事、工具等)
        5. 语义冲突(矛盾或不一致)
        
        提供详细的语义解读。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": semantic_prompt}
            ]
        )
        
        return response.content[0].text
    
    def detect_semantic_similarity(self, text1, text2):
        """语义相似度检测"""
        
        similarity_prompt = f"""
        分析以下两段文本的语义相似度:
        
        文本1:{text1}
        
        文本2:{text2}
        
        请分析:
        1. 整体相似度评分(0-100分)
        2. 语义重叠部分
        3. 语义差异部分
        4. 表达方式差异
        5. 相似度判断依据
        
        提供详细的相似度分析报告。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": similarity_prompt}
            ]
        )
        
        return response.content[0].text

文本质量评估

可读性分析
class ReadabilityAnalyzer:
    """可读性分析器"""
    
    def analyze_readability(self, text, target_audience="一般读者"):
        """可读性分析"""
        
        readability_prompt = f"""
        分析以下文本的可读性:
        
        文本:{text}
        目标读者:{target_audience}
        
        请评估:
        1. 词汇复杂度(简单/中等/复杂)
        2. 句子长度和结构复杂度
        3. 专业术语使用情况
        4. 逻辑结构清晰度
        5. 可读性评分(1-10分)
        
        对于目标读者群体,提供:
        - 适合程度评估
        - 改进建议
        - 简化方案
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": readability_prompt}
            ]
        )
        
        return response.content[0].text
    
    def improve_readability(self, text, target_level="中等"):
        """改善可读性"""
        
        improvement_prompt = f"""
        请改写以下文本,提高其可读性至{target_level}水平:
        
        原文:{text}
        
        改写要求:
        1. 简化复杂句式
        2. 替换难懂词汇
        3. 增加逻辑连接词
        4. 调整段落结构
        5. 保持原意不变
        
        请提供改写后的文本和改写说明。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": improvement_prompt}
            ]
        )
        
        return response.content[0].text

多语言处理

翻译系统

智能翻译
class IntelligentTranslator:
    """智能翻译器"""
    
    def __init__(self):
        self.supported_languages = {
            "zh": "中文",
            "en": "英语", 
            "ja": "日语",
            "ko": "韩语",
            "fr": "法语",
            "de": "德语",
            "es": "西班牙语",
            "ru": "俄语"
        }
    
    def translate_text(self, text, source_lang, target_lang, style="标准"):
        """文本翻译"""
        
        translation_prompt = f"""
        请将以下文本从{self.supported_languages.get(source_lang, source_lang)}翻译成{self.supported_languages.get(target_lang, target_lang)}:
        
        原文:{text}
        
        翻译要求:
        - 风格:{style}
        - 保持原文的语气和含义
        - 考虑文化背景差异
        - 使用自然流畅的目标语言表达
        
        请提供高质量的翻译结果。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": translation_prompt}
            ]
        )
        
        return response.content[0].text
    
    def translate_with_context(self, text, context, source_lang, target_lang):
        """上下文翻译"""
        
        context_translation_prompt = f"""
        基于以下上下文信息翻译文本:
        
        上下文:{context}
        
        待翻译文本:{text}{self.supported_languages.get(source_lang)}翻译到{self.supported_languages.get(target_lang)}
        
        请考虑:
        1. 上下文语境
        2. 专业术语一致性
        3. 语域适配
        4. 文化适应性
        
        提供准确的上下文翻译。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": context_translation_prompt}
            ]
        )
        
        return response.content[0].text
    
    def evaluate_translation_quality(self, source_text, translated_text, reference_translation=None):
        """翻译质量评估"""
        
        evaluation_prompt = f"""
        评估以下翻译的质量:
        
        原文:{source_text}
        译文:{translated_text}
        {f"参考译文:{reference_translation}" if reference_translation else ""}
        
        请从以下维度评估:
        1. 准确性(意思是否准确传达)
        2. 流畅性(语言是否自然流畅)
        3. 完整性(是否遗漏信息)
        4. 一致性(术语翻译是否一致)
        5. 适应性(是否适合目标文化)
        
        给出评分(1-10分)和改进建议。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": evaluation_prompt}
            ]
        )
        
        return response.content[0].text

跨语言分析

多语言内容分析
class MultilingualAnalyzer:
    """多语言分析器"""
    
    def analyze_multilingual_content(self, content_dict):
        """多语言内容分析"""
        
        multilingual_prompt = f"""
        分析以下多语言内容:
        
        {self.format_multilingual_content(content_dict)}
        
        请分析:
        1. 各语言版本的一致性
        2. 翻译质量评估
        3. 文化适应性差异
        4. 内容完整性对比
        5. 语言特色保持情况
        
        提供综合分析报告。
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=2048,
            messages=[
                {"role": "user", "content": multilingual_prompt}
            ]
        )
        
        return response.content[0].text
    
    def detect_language(self, text):
        """语言检测"""
        
        language_detection_prompt = f"""
        检测以下文本的语言:
        
        文本:{text}
        
        请识别:
        1. 主要语言
        2. 混合语言(如果有)
        3. 置信度评分
        4. 语言变体(如方言、地区差异)
        
        以结构化格式返回结果。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=512,
            messages=[
                {"role": "user", "content": language_detection_prompt}
            ]
        )
        
        return response.content[0].text
    
    def format_multilingual_content(self, content_dict):
        """格式化多语言内容"""
        formatted = []
        for lang, content in content_dict.items():
            lang_name = self.supported_languages.get(lang, lang)
            formatted.append(f"{lang_name}版本:\n{content}\n")
        return "\n".join(formatted)

专业领域应用

法律文本处理

法律文档分析
class LegalTextProcessor:
    """法律文本处理器"""
    
    def analyze_legal_document(self, document, doc_type="合同"):
        """法律文档分析"""
        
        legal_analysis_prompt = f"""
        分析以下{doc_type}文档:
        
        文档内容:{document}
        
        请提供:
        1. 文档结构分析
        2. 关键条款识别
        3. 权利义务梳理
        4. 风险点识别
        5. 法律术语解释
        6. 合规性检查
        
        以专业的法律视角进行分析。
        """
        
        response = client.messages.create(
            model="claude-opus-4-20250514",
            max_tokens=2048,
            messages=[
                {"role": "user", "content": legal_analysis_prompt}
            ]
        )
        
        return response.content[0].text
    
    def extract_legal_entities(self, text):
        """提取法律实体"""
        
        legal_entities_prompt = f"""
        从以下法律文本中提取法律实体:
        
        文本:{text}
        
        请识别:
        1. 当事人(自然人、法人)
        2. 法律关系
        3. 法律行为
        4. 法律后果
        5. 时间要素
        6. 地点要素
        7. 标的物
        8. 适用法条
        
        以结构化格式返回。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": legal_entities_prompt}
            ]
        )
        
        return response.content[0].text

医学文本处理

医学文档分析
class MedicalTextProcessor:
    """医学文本处理器"""
    
    def analyze_medical_report(self, report, report_type="检查报告"):
        """医学报告分析"""
        
        medical_analysis_prompt = f"""
        分析以下{report_type}:
        
        报告内容:{report}
        
        请提供:
        1. 关键医学信息提取
        2. 症状和体征识别
        3. 诊断建议总结
        4. 治疗方案梳理
        5. 医学术语解释
        6. 风险因素评估
        
        注意:仅用于信息分析,不提供医学诊断建议。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": medical_analysis_prompt}
            ]
        )
        
        return response.content[0].text
    
    def extract_medical_entities(self, text):
        """提取医学实体"""
        
        medical_entities_prompt = f"""
        从以下医学文本中提取医学实体:
        
        文本:{text}
        
        请识别:
        1. 疾病名称
        2. 症状描述
        3. 药物名称
        4. 检查项目
        5. 治疗方法
        6. 解剖部位
        7. 医学数值
        8. 时间信息
        
        以标准医学术语格式返回。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": medical_entities_prompt}
            ]
        )
        
        return response.content[0].text

实践案例

企业应用案例

客户服务智能化
class CustomerServiceNLP:
    """客户服务NLP系统"""
    
    def __init__(self):
        self.intent_categories = {
            "咨询": "产品信息、使用方法、功能介绍",
            "投诉": "产品问题、服务不满、要求赔偿",
            "建议": "功能改进、新需求、使用体验",
            "技术支持": "故障排除、操作指导、技术问题",
            "商务": "价格咨询、合作洽谈、采购需求"
        }
    
    def classify_customer_query(self, query):
        """客户查询分类"""
        
        classification_prompt = f"""
        对以下客户查询进行意图分类:
        
        客户查询:{query}
        
        分类类别:
        {self.format_intent_categories()}
        
        请确定:
        1. 主要意图类别
        2. 紧急程度(低/中/高)
        3. 情感倾向(正面/中性/负面)
        4. 关键信息点
        5. 建议处理方式
        
        以结构化格式返回分类结果。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": classification_prompt}
            ]
        )
        
        return response.content[0].text
    
    def generate_response_template(self, query_analysis, knowledge_base):
        """生成回复模板"""
        
        response_generation_prompt = f"""
        基于客户查询分析和知识库信息生成回复:
        
        查询分析:{query_analysis}
        
        相关知识:{knowledge_base}
        
        请生成:
        1. 个性化问候语
        2. 针对性回答
        3. 额外有用信息
        4. 后续服务建议
        5. 礼貌结束语
        
        回复应当专业、友好、有帮助。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1024,
            messages=[
                {"role": "user", "content": response_generation_prompt}
            ]
        )
        
        return response.content[0].text
    
    def format_intent_categories(self):
        """格式化意图类别"""
        formatted = []
        for category, description in self.intent_categories.items():
            formatted.append(f"- {category}{description}")
        return "\n".join(formatted)
内容营销优化
class ContentMarketingNLP:
    """内容营销NLP系统"""
    
    def optimize_marketing_content(self, content, target_audience, platform):
        """优化营销内容"""
        
        optimization_prompt = f"""
        优化以下营销内容:
        
        原始内容:{content}
        目标受众:{target_audience}
        发布平台:{platform}
        
        请提供:
        1. 内容优化建议
        2. 情感调性调整
        3. 关键词优化
        4. 行动号召改进
        5. 平台适配建议
        
        生成优化后的内容版本。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": optimization_prompt}
            ]
        )
        
        return response.content[0].text
    
    def analyze_content_performance(self, content, metrics):
        """分析内容表现"""
        
        performance_analysis_prompt = f"""
        分析以下营销内容的表现:
        
        内容:{content}
        
        表现指标:
        {self.format_metrics(metrics)}
        
        请分析:
        1. 内容表现评估
        2. 成功因素识别
        3. 改进机会发现
        4. 未来内容建议
        5. 受众反应洞察
        
        提供详细的分析报告。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": performance_analysis_prompt}
            ]
        )
        
        return response.content[0].text
    
    def format_metrics(self, metrics):
        """格式化指标数据"""
        formatted = []
        for metric, value in metrics.items():
            formatted.append(f"- {metric}{value}")
        return "\n".join(formatted)

教育应用案例

智能作文评估
class EssayEvaluationSystem:
    """作文评估系统"""
    
    def evaluate_essay(self, essay, grade_level, topic):
        """评估作文"""
        
        evaluation_prompt = f"""
        评估以下{grade_level}学生作文:
        
        题目:{topic}
        作文内容:{essay}
        
        请从以下维度评分(1-10分):
        1. 内容相关性
        2. 结构组织
        3. 语言表达
        4. 创意性
        5. 语法正确性
        
        对每个维度提供:
        - 评分
        - 具体评价
        - 改进建议
        
        最后给出总分和总体评价。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": evaluation_prompt}
            ]
        )
        
        return response.content[0].text
    
    def provide_writing_feedback(self, essay, focus_areas=None):
        """提供写作反馈"""
        
        feedback_prompt = f"""
        为以下作文提供详细的写作反馈:
        
        作文:{essay}
        {f"重点关注:{focus_areas}" if focus_areas else ""}
        
        请提供:
        1. 优点识别
        2. 问题诊断
        3. 具体修改建议
        4. 写作技巧指导
        5. 范例展示
        
        反馈应当具体、建设性、鼓励性。
        """
        
        response = client.messages.create(
            model="claude-sonnet-4-20250514",
            max_tokens=1536,
            messages=[
                {"role": "user", "content": feedback_prompt}
            ]
        )
        
        return response.content[0].text

通过这些自然语言处理应用,可以显著提升文本处理的效率和质量,为各行各业提供智能化的语言服务解决方案。


网站公告

今日签到

点亮在社区的每一天
去签到