
大模型RAG技術:從入門到實踐
keywords = ["中獎", "貸款", "免費", "優惠"]
def filter_sms(message):
for keyword in keywords:
if keyword in message:
return True
return False
# 測試
sms = "恭喜您中獎了,請點擊鏈接領取獎品!"
if filter_sms(sms):
print("垃圾短信,已過濾")
else:
print("正常短信")
關鍵詞過濾雖然簡單,但容易誤判。機器學習過濾通過訓練模型,可以更準確地識別垃圾短信。
# 使用Scikit-learn進行短信分類
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline
# 訓練數據
train_data = ["恭喜您中獎了", "貸款優惠", "免費領取", "晚上一起吃飯"]
train_labels = [1, 1, 1, 0] # 1表示垃圾短信,0表示正常短信
# 創建模型
model = make_pipeline(CountVectorizer(), MultinomialNB())
model.fit(train_data, train_labels)
# 測試
test_data = ["免費領取優惠券", "晚上一起看電影"]
predictions = model.predict(test_data)
print(predictions) # 輸出:[1, 0]
電話攔截是另一種常見的電信防騷擾技術。通過識別來電號碼,系統可以自動攔截騷擾電話。
黑名單攔截是最簡單的電話攔截方法。用戶可以將騷擾號碼加入黑名單,系統會自動攔截這些號碼的來電。
# 黑名單攔截示例代碼
blacklist = ["1234567890", "0987654321"]
def intercept_call(number):
if number in blacklist:
return True
return False
# 測試
call_number = "1234567890"
if intercept_call(call_number):
print("騷擾電話,已攔截")
else:
print("正常電話")
智能攔截通過分析來電號碼的行為模式,可以更準確地識別騷擾電話。
# 使用機器學習進行電話攔截
from sklearn.ensemble import RandomForestClassifier
import numpy as np
# 訓練數據
train_data = [
[1, 0, 1], # 號碼1:頻繁來電,短時長,標記為騷擾
[0, 1, 0], # 號碼2:不頻繁來電,長時長,標記為正常
[1, 1, 1], # 號碼3:頻繁來電,短時長,標記為騷擾
]
train_labels = [1, 0, 1] # 1表示騷擾電話,0表示正常電話
# 創建模型
model = RandomForestClassifier()
model.fit(train_data, train_labels)
# 測試
test_data = [[1, 0, 1], [0, 1, 0]]
predictions = model.predict(test_data)
print(predictions) # 輸出:[1, 0]
應用監控可以幫助用戶了解手機應用的運行情況,防止惡意軟件竊取用戶信息。
通過監控應用的權限使用情況,可以及時發現異常行為。
# 應用權限監控示例代碼
import android.permission as permission
def monitor_permissions(app):
permissions = app.get_requested_permissions()
for perm in permissions:
if perm == permission.READ_SMS:
print(f"應用 {app.get_name()} 請求讀取短信權限")
elif perm == permission.ACCESS_FINE_LOCATION:
print(f"應用 {app.get_name()} 請求獲取精確位置權限")
# 測試
app = get_current_app()
monitor_permissions(app)
通過監控應用的行為,可以及時發現惡意軟件的異常行為。
# 應用行為監控示例代碼
import android.app.ActivityManager as am
def monitor_behavior(app):
activity_manager = am.get_system_service(am.ACTIVITY_SERVICE)
running_apps = activity_manager.get_running_app_processes()
for proc in running_apps:
if proc.process_name == app.get_package_name():
print(f"應用 {app.get_name()} 正在運行")
if proc.importance == am.RunningAppProcessInfo.IMPORTANCE_FOREGROUND:
print(f"應用 {app.get_name()} 正在前臺運行")
# 測試
app = get_current_app()
monitor_behavior(app)
網絡監控可以幫助用戶了解手機的網絡使用情況,防止惡意軟件竊取用戶數據。
通過監控網絡流量,可以及時發現異常的網絡請求。
# 網絡流量監控示例代碼
import android.net.TrafficStats as ts
def monitor_traffic(app):
uid = app.get_uid()
rx_bytes = ts.getUidRxBytes(uid)
tx_bytes = ts.getUidTxBytes(uid)
print(f"應用 {app.get_name()} 接收數據: {rx_bytes} 字節, 發送數據: {tx_bytes} 字節")
# 測試
app = get_current_app()
monitor_traffic(app)
通過監控網絡請求,可以及時發現惡意的網絡行為。
# 網絡請求監控示例代碼
import android.net.Network as network
def monitor_requests(app):
network_info = network.get_active_network_info()
if network_info.is_connected():
print(f"應用 {app.get_name()} 正在使用網絡")
if network_info.get_type() == network.TYPE_WIFI:
print(f"應用 {app.get_name()} 正在使用WiFi")
elif network_info.get_type() == network.TYPE_MOBILE:
print(f"應用 {app.get_name()} 正在使用移動數據")
# 測試
app = get_current_app()
monitor_requests(app)
將電信防騷擾與手機監控技術結合起來,可以更全面地保護用戶的隱私和安全。
# 綜合應用示例代碼
def comprehensive_protection():
# 短信過濾
sms = "恭喜您中獎了,請點擊鏈接領取獎品!"
if filter_sms(sms):
print("垃圾短信,已過濾")
else:
print("正常短信")
# 電話攔截
call_number = "1234567890"
if intercept_call(call_number):
print("騷擾電話,已攔截")
else:
print("正常電話")
# 應用監控
app = get_current_app()
monitor_permissions(app)
monitor_behavior(app)
# 網絡監控
monitor_traffic(app)
monitor_requests(app)
# 測試
comprehensive_protection()
通過自動化腳本,可以實現全天候的電信防騷擾和手機監控。
# 自動化防護示例代碼
import time
def automated_protection():
while True:
comprehensive_protection()
time.sleep(60) # 每分鐘檢查一次
# 啟動自動化防護
automated_protection()
電信防騷擾和手機監控技術是保護用戶隱私和安全的重要手段。通過本文介紹的技術和代碼示例,用戶可以有效地過濾垃圾短信、攔截騷擾電話,并監控手機應用和網絡的使用情況。希望本文能為讀者提供實用的技術參考,幫助大家更好地應對電信騷擾問題。