【文創漫談】減少惡意留言 | 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
留言分享你的想法!
蔡緯嘉-avatar-img
2025/04/25
感謝分享,這世界處處有人才呀!
普普文創-avatar-img
發文者
2025/04/25
蔡緯嘉 謝謝,我替大家急,老是刪姍姍,不是辦法。
avatar-img
普普文創
471會員
3.4K內容數
普普文創、水彩速寫、迷你短篇、文創漫談、心靈雞湯、踏青步道、智慧音樂、美食天堂、超級房間。
普普文創的其他內容
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
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自動生成的標題、分類、摘要等內容,我覺得很有趣。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News