information = [
{"title": "Python基础", "description": "Python入门指南", "keywords": ["Python", "基础", "编程"]},
{"title": "Java高级", "description": "深入理解Java", "keywords": ["Java", "高级", "面向对象"]},
{"title": "数据库教程", "description": "SQL入门与实践", "keywords": ["SQL", "数据库", "查询"]}
]
]]>
def search(keyword):
results = []
for item in information:
if keyword in item["keywords"]:
results.append(item)
return results
]]>
from sklearn.feature_extraction.text import TfidfVectorizer
def rank_results(query, data):
vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform([item["description"] for item in data])
query_vec = vectorizer.transform([query])
scores = tfidf_matrix.dot(query_vec.T).toarray()
ranked = [(score, i) for i, score in enumerate(scores)]
ranked.sort(reverse=True)
return [data[i] for _, i in ranked]
]]>
faq = {
"Q1": "如何安装Python?",
"A1": "访问官网下载并按照提示操作。",
"Q2": "Java和Python有什么区别?",
"A2": "Java主要用于企业级开发,而Python更适合脚本和数据分析。"
}
def get_faq():
return faq
]]>