【文創漫談】減少惡意留言 | AI的範例

更新 發佈閱讀 12 分鐘

如何減少惡意留言,其實這個問題已經發生一段時間,作為一個程式設計師,碰到這種問題應該都很有經驗去處理。不過因為每個人使用的程式語言不同,而且現在都是模塊化的管理,所以這次針對這個問題,做討論。我把這個問題丟給 Gimini去處理,他基本上就可以幫我處理到80%以上,剩下的只要能夠丟到系統裡面,去做測試。可能就可以使用。現代的AI真的非常強大,已經可以做到這個程度。

raw-image

設計模塊概念

第一步:接收到留言後,判斷有沒有"http"如果有就成立,如果沒有就成立,建資料。

第二步:判斷如果http裡面只有一個而且是https://vocus.cc/就建檔。

第三步:判斷如果這個會員沒有發過任何文章就不能留言。

第四步:判斷如果這個會員有發過文章5片以上就不限制留言。

第五步:判斷如果這個會員為hdfsh亂碼,限制他的發言次數。

寫一隻綜合以上五個步驟的python程式作為一個模塊。

Gimini的回覆

好的,這是一個整合您提出的五個判斷步驟的 Python 模組。我將其設計為一個可以導入並在您的專案中使用的函數。

import re


class CommentValidator:

def __init__(self, user_post_counts=None, blocked_users=None):

"""

初始化留言驗證器。


Args:

user_post_counts (dict, optional): 一個字典,鍵為用戶 ID,值為其發布的文章數量。預設為 None。

blocked_users (set, optional): 一個包含被限制發言的亂碼用戶 ID 的集合。預設為 None。

"""

self.user_post_counts = user_post_counts if user_post_counts is not None else {}

self.blocked_users = blocked_users if blocked_users is not None else set()


def is_valid_comment(self, user_id, comment_text):

"""

判斷留言是否有效。


Args:

user_id (str): 留言者的用戶 ID。

comment_text (str): 留言內容。


Returns:

bool: 如果留言有效則返回 True,否則返回 False。

"""

# 第一步:判斷是否包含 http 飼養

if "http" in comment_text:

return False


# 第二步:判斷 http 連結是否只有一個且為 https://vocus.cc/

http_links = re.findall(r"https?://\S+", comment_text)

if len(http_links) == 1 and http_links[0] == "https://vocus.cc/":

pass # 符合條件,繼續判斷

elif len(http_links) > 0:

return False


# 第三步:判斷會員是否發過文章

if user_id not in self.user_post_counts or self.user_post_counts.get(user_id, 0) == 0:

return False


# 第四步:判斷會員發過文章是否超過 5 篇(超過則不限制)

if self.user_post_counts.get(user_id, 0) < 5:

# 第五步:判斷是否為亂碼用戶並限制發言

if user_id in self.blocked_users:

return False # 亂碼用戶且發文少於 5 篇,不允許留言


return True


# 範例用法:

if __name__ == "__main__":

validator = CommentValidator(

user_post_counts={"user1": 0, "user2": 3, "user3": 7, "random_user": 2},

blocked_users={"random_user"}

)


print(f"User1 留言 '這篇文章很棒!': {validator.is_valid_comment('user1', '這篇文章很棒!')}")

print(f"User2 留言 'http://example.com': {validator.is_valid_comment('user2', 'http://example.com')}")

print(f"User2 留言 '請看這裡 https://vocus.cc/': {validator.is_valid_comment('user2', '請看這裡 https://vocus.cc/')}")

print(f"User3 留言 '這很有趣': {validator.is_valid_comment('user3', '這很有趣')}")

print(f"random_user 留言 '你好': {validator.is_valid_comment('random_user', '你好')}")

print(f"random_user 留言 'https://vocus.cc/': {validator.is_valid_comment('random_user', 'https://vocus.cc/')}")

print(f"User2 留言 '看看這個 http://a.com 和 http://b.com': {validator.is_valid_comment('user2', '看看這個 http://a.com 和 http://b.com')}")


程式碼說明:

  1. CommentValidator 類別: __init__(self, user_post_counts=None, blocked_users=None): 建構子,用於初始化驗證器。 user_post_counts (可選):一個字典,用於儲存每個用戶發布的文章數量。您可以根據您的資料庫或其他來源提供這個資訊。 blocked_users (可選):一個集合,用於儲存被標記為亂碼的用戶 ID。 is_valid_comment(self, user_id, comment_text) 方法: 接收 user_id (留言者的用戶 ID) 和 comment_text (留言內容) 作為輸入。 第一步:檢查 "http": 使用 in 運算符判斷留言內容是否包含 "http" 字串。如果包含,直接返回 False。 第二步:檢查單一 https://vocus.cc/ 連結: 使用 re.findall(r"https?://\S+", comment_text) 找出所有以 "http://" 或 "https://" 開頭的連結。\S+ 匹配一個或多個非空白字元。 判斷找到的連結數量是否為 1 且該連結是否為 "https://vocus.cc/"。如果不符合,則返回 False。 第三步:檢查是否發過文章: 檢查 user_id 是否存在於 self.user_post_counts 字典中,以及該用戶的文章數量是否大於 0。如果用戶沒有發過任何文章,則返回 False。 第四步和第五步:檢查發文數量和亂碼用戶: 如果用戶發布的文章數量少於 5 篇,則進一步檢查該用戶是否在 self.blocked_users 集合中。如果在,則視為亂碼用戶並返回 False。 如果通過以上所有檢查,則返回 True,表示留言有效。 範例用法 (if __name__ == "__main__":): 創建一個 CommentValidator 實例,並提供範例的 user_post_counts 和 blocked_users。 呼叫 is_valid_comment 方法並印出結果,以展示驗證器的功能。

如何使用這個模組:

  1. 將上面的 Python 程式碼儲存為一個 .py 檔案 (例如:comment_checker.py)。 在您的專案中導入這個模組: Pythonfrom comment_checker import CommentValidator 創建 CommentValidator 的實例,並在初始化時傳入您的用戶文章數量和亂碼用戶列表 (如果有的話): Pythonuser_posts = {"user_a": 10, "user_b": 2, "user_c": 0, "bad_user": 1} blocked = {"bad_user"} validator = CommentValidator(user_posts, blocked) 當您需要驗證留言時,呼叫 is_valid_comment 方法: Pythonuser_id = "user_b" comment = "這是一個很棒的分享!" if validator.is_valid_comment(user_id, comment): print(f"用戶 {user_id} 的留言 '{comment}' 有效。") # 將留言儲存到資料庫或其他操作 else: print(f"用戶 {user_id} 的留言 '{comment}' 無效。")

請記得根據您的實際應用場景,從您的資料庫其他來源獲取用戶的文章數量和亂碼用戶列表,並將其傳遞給 CommentValidator 的建構子。

留言
avatar-img
普普文創
584會員
6.5K內容數
這裡就是一個小報社,普普文創、水彩速寫、迷你短篇、文創漫談、心靈雞湯、踏青步道、智慧音樂、美食天堂、超級房間。歡迎閱讀。。。謝謝。。
普普文創的其他內容
2025/04/29
提示詞:與AI的對話起點 使用AI的提示詞(Prompt)就像與一位無比博學卻略顯拘謹的對話者交談。你越清楚如何表達需求,AI的回應就越貼近你的期待。然而,隨著使用時間的累積,我們逐漸學會如何精準地「指揮」AI,但也發現了一個問題:若未明確交代細節,AI的回答往往落入一種「最大公約數」的模式——也
Thumbnail
2025/04/29
提示詞:與AI的對話起點 使用AI的提示詞(Prompt)就像與一位無比博學卻略顯拘謹的對話者交談。你越清楚如何表達需求,AI的回應就越貼近你的期待。然而,隨著使用時間的累積,我們逐漸學會如何精準地「指揮」AI,但也發現了一個問題:若未明確交代細節,AI的回答往往落入一種「最大公約數」的模式——也
Thumbnail
2025/04/26
AI寫小說,這幾個字聽起來像是科幻故事裡才會出現的場景,然而如今已經變成我們生活中可以實驗、可以討論的現實。我曾經看過有人用AI改寫《紅樓夢》,用現代的方式重新鋪陳經典,也有人試圖讓AI模擬不同風格的文學家,甚至模擬金庸、村上春樹的筆觸。我自己也試過很多方法,有時候覺得寫得不錯,有時候卻又覺得那不過
Thumbnail
2025/04/26
AI寫小說,這幾個字聽起來像是科幻故事裡才會出現的場景,然而如今已經變成我們生活中可以實驗、可以討論的現實。我曾經看過有人用AI改寫《紅樓夢》,用現代的方式重新鋪陳經典,也有人試圖讓AI模擬不同風格的文學家,甚至模擬金庸、村上春樹的筆觸。我自己也試過很多方法,有時候覺得寫得不錯,有時候卻又覺得那不過
Thumbnail
2025/04/24
平台遭受騷擾,使用者也受害:該是正視問題的時候了 近期,方格子平台出現大量來路不明的用戶註冊後隨即大量張貼外部連結的情況,這種現象已不再是偶發事件,而是持續、密集且具系統性的騷擾。根據觀察,每天新增的可疑帳號高達五十個左右,他們在不同使用者的文章下張貼類似甚至完全相同的連結與廣告資訊,試圖引導讀者
Thumbnail
2025/04/24
平台遭受騷擾,使用者也受害:該是正視問題的時候了 近期,方格子平台出現大量來路不明的用戶註冊後隨即大量張貼外部連結的情況,這種現象已不再是偶發事件,而是持續、密集且具系統性的騷擾。根據觀察,每天新增的可疑帳號高達五十個左右,他們在不同使用者的文章下張貼類似甚至完全相同的連結與廣告資訊,試圖引導讀者
Thumbnail
看更多
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
AI帶來便利與快捷 AI技術的應用確實帶來了許多便利與快捷,但同時也引發了許多倫理問題,如數據隱私、偏見和公平性問題。這些問題需要我們在開發和使用技術時,保持高度的道德判斷和責任心。以下,我將就這些問題進行深入探討,並討論如何在使用AI時保持道德標準和履行應有的責任。 數據隱私 AI技
Thumbnail
AI帶來便利與快捷 AI技術的應用確實帶來了許多便利與快捷,但同時也引發了許多倫理問題,如數據隱私、偏見和公平性問題。這些問題需要我們在開發和使用技術時,保持高度的道德判斷和責任心。以下,我將就這些問題進行深入探討,並討論如何在使用AI時保持道德標準和履行應有的責任。 數據隱私 AI技
Thumbnail
程式設計與技術能力 在現代社會中的重要性越來越明顯,尤其是在人工智能(AI)和自動化技術迅速發展的背景下。理解編程語言,如Python、R等,以及熟悉相關技術架構和工具,能夠幫助個人在這樣的環境中更好地工作。這種能力不僅對技術專業人士至關重要,也對非技術領域的人士日益重要,因為基礎的程式設計知識已
Thumbnail
程式設計與技術能力 在現代社會中的重要性越來越明顯,尤其是在人工智能(AI)和自動化技術迅速發展的背景下。理解編程語言,如Python、R等,以及熟悉相關技術架構和工具,能夠幫助個人在這樣的環境中更好地工作。這種能力不僅對技術專業人士至關重要,也對非技術領域的人士日益重要,因為基礎的程式設計知識已
Thumbnail
AI繪圖要廣泛用於商用還有一大段路,還需要依賴人類的經驗判斷、調整,為什麼呢?
Thumbnail
AI繪圖要廣泛用於商用還有一大段路,還需要依賴人類的經驗判斷、調整,為什麼呢?
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
AI 工具雖能在短時間生成內容,但它不瞭解你的客戶,也無法取代你做現場互動交流。在合適的時機選擇使用適合的 AI 工具,幫助我們專注於最重要的人事物上。
Thumbnail
AI 工具雖能在短時間生成內容,但它不瞭解你的客戶,也無法取代你做現場互動交流。在合適的時機選擇使用適合的 AI 工具,幫助我們專注於最重要的人事物上。
Thumbnail
 【AI整理Threads的優點】還沒被文字獄跟詐騙洗禮的園地,公司還是META,以後就不知道了,現況還OK。發長文跟連結也不至於降觸及。 1. 專注性: Threads 專注於特定主題,使其更適合深入討論和互動。用戶可以創建群組來討論特定的興趣或話題,並邀請朋友和關注者加入。這使得 Thr
Thumbnail
 【AI整理Threads的優點】還沒被文字獄跟詐騙洗禮的園地,公司還是META,以後就不知道了,現況還OK。發長文跟連結也不至於降觸及。 1. 專注性: Threads 專注於特定主題,使其更適合深入討論和互動。用戶可以創建群組來討論特定的興趣或話題,並邀請朋友和關注者加入。這使得 Thr
Thumbnail
邊塗鴉時思考的一些事情,僅限個人想法。 一直在思索是什麼讓文字與人變得平面、變得冰冷,又是什麼讓創作的意義變得單一而扭曲。最近在盯著「AI建議」這個按鈕看時稍微理出一些頭緒。 文章發布前頁面頂端有個「AI建議」的SEO優化按鈕,按下之後會出現AI自動生成的標題、分類、摘要等內容,我覺得很有趣。
Thumbnail
邊塗鴉時思考的一些事情,僅限個人想法。 一直在思索是什麼讓文字與人變得平面、變得冰冷,又是什麼讓創作的意義變得單一而扭曲。最近在盯著「AI建議」這個按鈕看時稍微理出一些頭緒。 文章發布前頁面頂端有個「AI建議」的SEO優化按鈕,按下之後會出現AI自動生成的標題、分類、摘要等內容,我覺得很有趣。
Thumbnail
未來,針對圖片生成的 prompt engineering 可能會越來越不重要。
Thumbnail
未來,針對圖片生成的 prompt engineering 可能會越來越不重要。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News