# 中期報告 ## 目前已完成的研究工作、取得的主要进展 項目的主要流程: 1. 数据处理:用XBlock龐氏数据集表格里面的opcode和label两列数据,把每个合约的opcode搞成一个字符串序列; 將數據集分為訓練集、驗證集、測試集三種,比例為8:1:1。 (完成) ```python= import pandas as pd from util.functions import train_test_val_split, split_opcode_label data = pd.read_csv('data/raw_data/PonziDataset_20221114.csv') with open('data/opcode_data/PonziDataset_20221114_opcode.txt', 'w') as f: for i in range(len(data['opcode'])): f.write(data['opcode'].values[i]) f.write('\n') with open('data/label_data/PonziDataset_20221114_label.txt', 'w') as f: for i in range(len(data['label'])): f.write(str(data['label'].values[i])) f.write('\n') train, test, validation = train_test_val_split(raw_data=data) # 劃分opcode和label的訓練集 split_opcode_label(train, 'data/train_data/opcode_train.txt', 'data/train_data/label_train.txt') # 劃分opcode和label的測試集 split_opcode_label(test, 'data/test_data/opcode_test.txt', 'data/test_data/label_test.txt') # 劃分opcode和label的驗證集 split_opcode_label(validation, 'data/validation_data/opcode_validation.txt', 'data/validation_data/label_validation.txt') ``` 2. 将字符串序列转变成向量:用gensim的word2vec实现。 (完成) ```python= # 将字符串序列转变成向量 from util.functions import build_vector from util.functions import Opcode # 建立訓練集的向量 train_opcode = Opcode('data/train_data/opcode_train.txt') train_vector = build_vector(train_opcode) train_vector.save('vector/train_vector.w2v') # 建立測試集的向量 validation_opcode = Opcode('data/validation_data/opcode_validation.txt') validation_vector = build_vector(validation_opcode) validation_vector.save('vector/validation_vector.w2v') # 建立驗證集的向量 test_opcode = Opcode('data/test_data/opcode_test.txt') test_vector = build_vector(test_opcode) test_vector.save('vector/test_vector.w2v') ``` 3. 将向量输入bert/codebert模型,进行训练; (未完成) 第3步具體參考的資料: https://zhuanlan.zhihu.com/p/610171544 https://huggingface.co/docs/transformers/model_doc/bert 4. 按照label算准确率、F1、Precision、Recall。 (未完成) 第4步具體參考的資料: https://blog.csdn.net/hfutdog/article/details/88085878 ## 后期拟完成的研究工作及进度安排 後面要使用預訓練模型Bert和CodeBert訓練處理好的數據集,以及撰寫畢業論文正文。 進度安排:在3月15日前完成所有的實驗,跑完Bert和CodeBert模型,得出實驗結果。 在3月27日前完成畢業論文的撰寫,並在3月31日提交論文初稿,在4月15日前提交論文。 ## 存在的具体问题及拟采取的措施等 目前存在的主要問題是,還不太能會使用HuggingFace的Bert模型,還在摸索階段。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up