File size: 5,485 Bytes
5d91a83
 
dab8b3f
 
 
 
 
 
5ef5b50
6797664
 
ac742dd
3646b1a
d97580a
8429aff
d97580a
8429aff
dab8b3f
 
32a590b
c6ef738
3488529
71547b1
3488529
afd636f
78adb3e
0ff18d4
74f6add
fceab2f
 
5571f87
 
650b7f8
 
bf82a7e
78ea557
41e9c6d
 
d97580a
5f6ee09
 
318ec28
 
41e9c6d
 
 
 
 
b42ff65
 
41e9c6d
 
 
 
024a65a
 
41e9c6d
024a65a
41e9c6d
024a65a
41e9c6d
 
 
 
 
 
 
 
 
 
 
 
318ec28
 
14af903
 
 
 
 
 
 
 
 
 
 
 
 
bf82a7e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cd381b9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
---
license: bigscience-bloom-rail-1.0
datasets:
- jslin09/Fraud_Case_Verdicts
language:
- zh
metrics:
- accuracy
pipeline_tag: text-generation
text-generation:
  parameters:
    max_length: 400
    max_new_tokens: 400
    do_sample: true
    temperature: 0.75
    top_k: 50
    top_p: 0.9
tags:
- legal
widget:
- text: 王大明意圖為自己不法所有,基於竊盜之犯意,
  example_title: 生成竊盜罪之犯罪事實
- text: 騙人布意圖為自己不法所有,基於詐欺取財之犯意,
  example_title: 生成詐欺罪之犯罪事實
- text: 梅友乾明知其無資力支付酒店消費,亦無付款意願,竟意圖為自己不法之所有,
  example_title: 生成吃霸王餐之詐欺犯罪事實
- text: 闕很大明知金融帳戶之存摺、提款卡及密碼係供自己使用之重要理財工具,
  example_title: 生成賣帳戶幫助詐欺犯罪事實
- text: 通訊王明知近來盛行以虛設、租賃、借用或買賣行動電話人頭門號之方式,供詐騙集團作為詐欺他人交付財物等不法用途,
  example_title: 生成賣電話SIM卡之幫助詐欺犯罪事實
- text: 趙甲王基於行使偽造特種文書及詐欺取財之犯意,
  example_title: 偽造特種文書(契約、車牌等)詐財
---

# 判決書「犯罪事實」欄草稿自動生成
本模型是以司法院公開之「詐欺」案件判決書做成之資料集,基於 [BLOOM 560m](https://huggingface.co/bigscience/bloom-560m) 模型進行微調訓練,可以自動生成詐欺及竊盜案件之犯罪事實段落之草稿。資料集之資料範圍從100年1月1日至110年12月31日,所蒐集到的原始資料共有 74823 篇(判決以及裁定),我們只取判決書的「犯罪事實」欄位內容,並把這原始的資料分成三份,用於訓練的資料集有59858篇,約佔原始資料的80%,剩下的20%,則是各分配10%給驗證集(7482篇),10%給測試集(7483篇)。在本網頁進行測試時,請在模型載入完畢並生成第一小句後,持續按下Compute按鈕,就能持續生成文字。或是輸入自己想要測試的資料到文字框中進行測試。或是可以到[這裡](https://huggingface.co/spaces/jslin09/legal_document_drafting)有更完整的使用體驗。

# 使用範例
如果要在自己的程式中調用本模型,可以參考下列的 Python 程式碼,藉由呼叫 API 的方式來生成刑事判決書「犯罪事實」欄的內容。
<details>
  <summary> 點擊後展開 </summary>
<pre>
  <code>
import requests, json
from time import sleep
from tqdm.auto import tqdm, trange

API_URL = "https://api-inference.huggingface.co/models/jslin09/bloom-560m-finetuned-fraud"
API_TOKEN = 'XXXXXXXXXXXXXXX' # 調用模型的 API token
headers = {"Authorization": f"Bearer {API_TOKEN}"} 

def query(payload):
    response = requests.post(API_URL, headers=headers, json=payload)
    return json.loads(response.content.decode("utf-8"))

prompt = "森上梅前明知其無資力支付酒店消費,亦無付款意願,竟意圖為自己不法之所有,"
query_dict = {
	"inputs": prompt,
}
text_len = 300
t = trange(text_len, desc= '生成例稿', leave=True)
for i in t:
    response = query(query_dict)
    try:
        response_text = response[0]['generated_text']
        query_dict["inputs"] = response_text
        t.set_description(f"{i}: {response[0]['generated_text']}")
        t.refresh()
    except KeyError:
        sleep(30) # 如果伺服器太忙無回應,等30秒後再試。
        pass
print(response[0]['generated_text'])
</code>
</pre>
</details>

或是,你要使用 transformers 套件來實作你的程式,將本模型下載至你本地端的電腦中執行,可以參考下列程式碼:
<details>
  <summary> 點擊後展開 </summary>
<pre>
  <code>
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("jslin09/bloom-560m-finetuned-fraud")
model = AutoModelForCausalLM.from_pretrained("jslin09/bloom-560m-finetuned-fraud")
</code>
</pre>
</details>

# 本模型進行各項指標進行評估的結果如下 [Open LLM Leaderboard Evaluation Results](https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)
詳細的結果在 [這裡](https://huggingface.co/datasets/open-llm-leaderboard/details_jslin09__bloom-560m-finetuned-fraud)。
本模型只使用範圍相當小的資料集進行微調,就任務目標來說,已經是完美解決,但就廣泛的通用性來說,其實是不完美的。總的來說,如果應用場景是需要把模型建置在本地端、不能連到外部網路、提示字資料也不能外送的情境下,本模型的建置過程及結果提供了一個可行性的示範。

| Metric                | Value                     |
|-----------------------|---------------------------|
| Avg.                  | 18.37   |
| ARC (25-shot)         | 26.96          |
| HellaSwag (10-shot)   | 28.87    |
| MMLU (5-shot)         | 24.03         |
| TruthfulQA (0-shot)   | 0.0   |
| Winogrande (5-shot)   | 48.38   |
| GSM8K (5-shot)        | 0.0        |
| DROP (3-shot)         | 0.33         |

# 引文訊息

```
@misc{lin2024legal,
      title={Legal Documents Drafting with Fine-Tuned Pre-Trained Large Language Model}, 
      author={Chun-Hsien Lin and Pu-Jen Cheng},
      year={2024},
      eprint={2406.04202},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
      url = {https://arxiv.org/abs/2406.04202}
}
```