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