위장하는 스팸 검토의 발견 알고리즘
개요
결탁 한 스팸 검토를 발견하는 알고리즘에 이어,
온라인 쇼핑 및 레스토랑 리뷰 사이트에서 스팸 리뷰어를 발견하기 위해,
일반적인 검토자에게 위장하는 스팸 검토자를 찾는 알고리즘 FRAUDAR이 준비되었습니다.
FRAUDAR는 2016년 ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2016)에서 베스트 페이퍼상을 수상한 알고리즘으로, 저자에 의해 구현이 공개됨.
이번에는 스팸 검토자 발견 알고리즘 평가를 위한 데이터 세트 등을보다 쉽게 분석 할 수 있도록 결탁 한 스팸 검토를 발견하는 알고리즘과 공통 인터페이스을 작성했다.
사용법
이번에 작성한 FRAUDAR 래퍼 rgmining-fraudar는 PyPI에 등록되어 있으므로 pip
명령으로 설치할 수 있습니다.
$ pip install --upgrade rgmining-fraudar
fraudar
라는 패키지가 추가되고 그 중 fraudar.ReviewGraph
는이 알고리즘을 구현하는 그래프 클래스입니다.
ReviewGraph 클래스의 생성자는, 옵션으로 몇 종류의 위장 패턴을 생각할까 하는 파라미터와, 내부에서 사용하는 서브 알고리즘을 받지만, 전자만 데이터 세트에 맞추어 주면 좋다고 생각한다 (둘 다 디폴트에서도 문제 없다).
import fraudar
# 例えば 10パタンのカモフラージュを考える場合.
n = 10
graph = fraudar.ReviewGraph(n)
그런 다음 그래프에 검토, 상품 및 리뷰를 추가합니다.
결탁 한 스팸 검토를 발견하는 알고리즘 예제와 같은 방법으로 추가 할 수 있습니다.
reviewers = [graph.new_reviewer("reviewer-{0}".format(i)) for i in range(2)]
products = [graph.new_product("product-{0}".format(i)) for i in range(3)]
graph.add_review(reviewers[0], products[0], 0.2)
graph.add_review(reviewers[0], products[1], 0.9)
graph.add_review(reviewers[0], products[2], 0.6)
graph.add_review(reviewers[1], products[0], 0.1)
graph.add_review(reviewers[1], products[1], 0.7)
된다. 평가 및 상품은 ReviewGraph
의 new_reviewer
및 new_product
메소드를 사용하여 작성됩니다.
리뷰는 add_review
메소드에 추가됩니다.
알고리즘을 실행하려면 update
메서드를 한 번만 호출합니다.
graph.update()
마지막으로 분석 결과를 얻습니다.new_reviewer
메서드가 반환 한 검토자에는 anomalous_score
라는 속성이 있습니다.
이 속성은 그 검토자가 특이하다고 판단되면 1을, 그렇지 않으면 0으로 설정한다.
for r in graph.reviewers:
print(r.name, r.anomalous_score)
또한 new_product
메소드가 리턴 한 상품 오브젝트에는 summary
라는 속성이 있습니다.
이 값은 특이한 것으로 판단되지 않은 검토자의 리뷰로 구성된 평균을 반환합니다.
for p in graph.products:
print(p.name, p.summary)
요약
위탁 된 스팸 검토자를 찾는 Fraud Eagle 알고리즘에 이어 FRAUDAR 알고리즘의 래퍼를 만들었다. 둘 다 스팸 검토자 발견 알고리즘 평가를 위한 데이터 세트을 처리 할 수 있도록 공통 API을 제공하므로 행동을 쉽게 비교할 수 있다고 생각합니다.
Reference
이 문제에 관하여(위장하는 스팸 검토의 발견 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jkawamoto/items/4ce092de598021b8b01c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에 작성한 FRAUDAR 래퍼 rgmining-fraudar는 PyPI에 등록되어 있으므로
pip
명령으로 설치할 수 있습니다.$ pip install --upgrade rgmining-fraudar
fraudar
라는 패키지가 추가되고 그 중 fraudar.ReviewGraph
는이 알고리즘을 구현하는 그래프 클래스입니다.ReviewGraph 클래스의 생성자는, 옵션으로 몇 종류의 위장 패턴을 생각할까 하는 파라미터와, 내부에서 사용하는 서브 알고리즘을 받지만, 전자만 데이터 세트에 맞추어 주면 좋다고 생각한다 (둘 다 디폴트에서도 문제 없다).
import fraudar
# 例えば 10パタンのカモフラージュを考える場合.
n = 10
graph = fraudar.ReviewGraph(n)
그런 다음 그래프에 검토, 상품 및 리뷰를 추가합니다.
결탁 한 스팸 검토를 발견하는 알고리즘 예제와 같은 방법으로 추가 할 수 있습니다.
reviewers = [graph.new_reviewer("reviewer-{0}".format(i)) for i in range(2)]
products = [graph.new_product("product-{0}".format(i)) for i in range(3)]
graph.add_review(reviewers[0], products[0], 0.2)
graph.add_review(reviewers[0], products[1], 0.9)
graph.add_review(reviewers[0], products[2], 0.6)
graph.add_review(reviewers[1], products[0], 0.1)
graph.add_review(reviewers[1], products[1], 0.7)
된다. 평가 및 상품은
ReviewGraph
의 new_reviewer
및 new_product
메소드를 사용하여 작성됩니다.리뷰는
add_review
메소드에 추가됩니다.알고리즘을 실행하려면
update
메서드를 한 번만 호출합니다.graph.update()
마지막으로 분석 결과를 얻습니다.
new_reviewer
메서드가 반환 한 검토자에는 anomalous_score
라는 속성이 있습니다.이 속성은 그 검토자가 특이하다고 판단되면 1을, 그렇지 않으면 0으로 설정한다.
for r in graph.reviewers:
print(r.name, r.anomalous_score)
또한
new_product
메소드가 리턴 한 상품 오브젝트에는 summary
라는 속성이 있습니다.이 값은 특이한 것으로 판단되지 않은 검토자의 리뷰로 구성된 평균을 반환합니다.
for p in graph.products:
print(p.name, p.summary)
요약
위탁 된 스팸 검토자를 찾는 Fraud Eagle 알고리즘에 이어 FRAUDAR 알고리즘의 래퍼를 만들었다. 둘 다 스팸 검토자 발견 알고리즘 평가를 위한 데이터 세트을 처리 할 수 있도록 공통 API을 제공하므로 행동을 쉽게 비교할 수 있다고 생각합니다.
Reference
이 문제에 관하여(위장하는 스팸 검토의 발견 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/jkawamoto/items/4ce092de598021b8b01c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(위장하는 스팸 검토의 발견 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jkawamoto/items/4ce092de598021b8b01c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)