Faker——NLP造數據神器

                                                         Faker——NLP造數據神器

 

寫在前面:開源詞典——funNLP

(1)碼雲地址:https://gitee.com/collecthub/funNLP(下載速度極快)

(2)github地址:https://github.com/fighting41love/funNLP(下載速度慢)

 

寫作背景:NLP中的數據詞典難以獲取,尤其是數據增強的時候,總覺得不夠(不知道funNLP)。如何解決?      Faker !!!

        Faker是一個Python包,開源的Github項目,主要用來創建僞數據,使用Faker包,無需再手動生成或者手寫隨機數來生成數據,只需要調用Faker提供的方法,即可完成數據的生成。項目地址:https://github.com/joke2k/faker

 

參考博客

(1)Python Faker的使用(1):基礎使用方法與函數速查:https://www.jianshu.com/p/6bd6869631d9

(2)Faker官網地址:https://faker.readthedocs.io/en/master/(詳細各類參數說明)

(3)Python庫——Faker:https://zhuanlan.zhihu.com/p/87203290(詳細各類實例)

 

1. faker的安裝

pip install faker

說明:也可以通過上方提供的github地址,下載後再進行編譯安裝。

 

2. faker的使用

from faker import Faker
f = Faker(locale='zh_CN')   # 默認是en_US


print("1.生成姓名:", f.name())
print("2.生成地址:", f.address())
print("3.生成國家:", f.country())
print("4.生成省份:", f.province())
print("5.生成市、縣:", f.city_suffix())
print("6.生成區:", f.district())
print("7.生成街道名:", f.street_name())
print("8.生成街、道:", f.street_suffix())
print("9.生成0~9隨機數:", f.random_digit())
print("10.生成隨機字母:", f.random_element())
print("11.生成隨機顏色名:", f.color_name())
print("12.生成隨機日期:", f.date())

運行結果:

1.生成姓名: 李琴
2.生成地址: 浙江省寧縣靜安南寧路I座 325707
3.生成國家: 維爾京羣島和聖羅克伊
4.生成省份: 香港特別行政區
5.生成市、縣: 市
6.生成區: 永川
7.生成街道名: 馬鞍山路
8.生成街、道: 路
9.生成0~9隨機數: 7
10.生成隨機字母: a
11.生成隨機顏色名: MediumPurple
12.生成隨機日期: 1993-07-09

 

3. 核心參數說明

3.1 文字語言

ar_EG - Arabic (Egypt)        阿拉伯語 - 埃及
ar_PS - Arabic (Palestine)    阿拉伯語 - 巴勒斯坦
ar_SA - Arabic (Saudi Arabia)    阿拉伯語 - 沙特阿拉伯
bg_BG - Bulgarian        保加利亞語 - 保加利亞
cs_CZ - Czech               捷克語 - 捷克
de_DE - German            德語 - 德國
dk_DK - Danish            丹麥語 - 丹麥
el_GR - Greek            希臘語 - 希臘
en_AU - English (Australia)    英語 - 澳大利亞
en_CA - English (Canada)    英語 -  加拿大
en_GB - English (Great Britain)    英語 - 英國
en_US - English (United States)   英語 -  美國
es_ES - Spanish (Spain)        西班牙語 - 西班牙
es_MX - Spanish (Mexico)        西班牙語- 墨西哥
et_EE - Estonian            愛沙尼亞語 - 愛沙尼亞
fa_IR - Persian (Iran)        波斯語 - 伊朗
fi_FI - Finnish        芬蘭語 - 芬蘭
fr_FR - French         法語 - 法國
hi_IN - Hindi            印地語 - 印度
hr_HR - Croatian    克羅地亞語 - 克羅地亞
hu_HU - Hungarian    匈牙利語 - 匈牙利
hy_AM - Armenian 亞美尼亞語 - 亞美尼亞
it_IT - Italian       意大利語 -  意大利
ja_JP - Japanese    日語 - 日本
ko_KR - Korean    朝鮮語 - 韓國
ka_GE - Georgian (Georgia)  格魯吉亞語 - 格魯吉亞
lt_LT - Lithuanian    立陶宛語 - 立陶宛
lv_LV - Latvian    拉脫維亞語 - 拉脫維亞
ne_NP - Nepali    尼泊爾語 - 尼泊爾
nl_NL - Dutch (Netherlands)    德語 - 荷蘭
no_NO - Norwegian    挪威語 - 挪威
pl_PL - Polish    波蘭語 - 波蘭
pt_BR - Portuguese (Brazil)    葡萄牙語  - 巴西
pt_PT - Portuguese (Portugal)    葡萄牙語 - 葡萄牙
ru_RU - Russian    俄語 - 俄國
sl_SI - Slovene   斯諾文尼亞語 - 斯諾文尼亞
sv_SE - Swedish    瑞典語 - 瑞典 
tr_TR - Turkish         土耳其語 - 土耳其
uk_UA - Ukrainian    烏克蘭語 - 烏克蘭
zh_CN - Chinese (China)    (簡體中文)
zh_TW - Chinese (Taiwan)  (繁體中文)

3.2 地理信息類

city_suffix():市,縣
country():國家
country_code():國家編碼
district():區
geo_coordinate():地理座標
latitude():地理座標(緯度)
longitude():地理座標(經度)
postcode():郵編
province():省份 (zh_TW沒有此方法)
address():詳細地址
street_address():街道地址
street_name():街道名
street_suffix():街、路

3.3 基礎信息類

ssn():生成身份證號
bs():隨機公司服務名
company():隨機公司名(長)
company_prefix():隨機公司名(短)
company_suffix():公司性質
credit_card_expire():隨機信用卡到期日
credit_card_full():生成完整信用卡信息
credit_card_number():信用卡號
credit_card_provider():信用卡類型
credit_card_security_code():信用卡安全碼
job():隨機職位
first_name(): 姓氏
first_name_female():女性名
first_name_male():男性名
first_romanized_name():羅馬名
last_name(): 名字
last_name_female():女姓
last_name_male():男姓
last_romanized_name():
name():隨機生成全名
name_female():男性全名
name_male():女性全名
romanized_name():羅馬名
msisdn():移動臺國際用戶識別碼,即移動用戶的ISDN號碼
phone_number():隨機生成手機號
phonenumber_prefix():隨機生成手機號段

3.4 個人賬戶信息類

ascii_company_email():隨機ASCII公司郵箱名
ascii_email():隨機ASCII郵箱
ascii_free_email():
ascii_safe_email():
company_email():
email():
free_email():
free_email_domain():
safe_email():安全郵箱

3.5 網絡基礎信息類

domain_name():生成域名
domain_word():域詞(即,不包含後綴)
ipv4():隨機IP4地址
ipv6():隨機IP6地址
mac_address():隨機MAC地址
tld():網址域名後綴(.com,.net.cn,等等,不包括.)
uri():隨機URI地址
uri_extension():網址文件後綴
uri_page():網址文件(不包含後綴)
uri_path():網址文件路徑(不包含文件名)
url():隨機URL地址
user_name():隨機用戶名
image_url():隨機URL地址

3.6 瀏覽器信息類

chrome():隨機生成Chrome的瀏覽器user_agent信息
firefox():隨機生成FireFox的瀏覽器user_agent信息
internet_explorer():隨機生成IE的瀏覽器user_agent信息
opera():隨機生成Opera的瀏覽器user_agent信息
safari():隨機生成Safari的瀏覽器user_agent信息
linux_platform_token():隨機Linux信息
user_agent():隨機user_agent信息

3.7 文件信息類

file_extension():隨機文件擴展名
file_name():隨機文件名(包含擴展名,不包含路徑)
file_path():隨機文件路徑(包含文件名,擴展名)
mime_type():隨機mime Type

3.8 數字類

numerify():三位隨機數字
random_digit():0~9隨機數
random_digit_not_null():1~9的隨機數
random_int():隨機數字,默認0~9999,可以通過設置min,max來設置
random_number():隨機數字,參數digits設置生成的數字位數
pyfloat():left_digits=5 #生成的整數位數,
                  right_digits=2 #生成的小數位數,
                  positive=True #是否只有正數
pyint():隨機Int數字(參考random_int()參數)
pydecimal():隨機Decimal數字(參考pyfloat參數)

3.9 文本、加密類

pystr():隨機字符串
random_element():隨機字母
random_letter():隨機字母
paragraph():隨機生成一個段落
paragraphs():隨機生成多個段落,通過參數nb來控制段落數,返回數組
sentence():隨機生成一句話
sentences():隨機生成多句話,與段落類似
text():隨機生成一篇文章(不要幻想着人工智能了,至今沒完全看懂一句話是什麼意思)
word():隨機生成詞語
words():隨機生成多個詞語,用法與段落,句子,類似
binary():隨機生成二進制編碼
boolean():True/False
language_code():隨機生成兩位語言編碼
locale():隨機生成語言/國際 信息
md5():隨機生成MD5
null_boolean():NULL/True/False
password():隨機生成密碼,可選參數:length:密碼長度;special_chars:是否能使用特殊字符;digits:是否包含數字;upper_case:是否包含大寫字母;lower_case:是否包含小寫字母
sha1():隨機SHA1
sha256():隨機SHA256
uuid4():隨機UUID

3.10 時間信息類

am_pm():AM/PM
century():隨機世紀
date():隨機日期
date_between():隨機生成指定範圍內日期,參數:start_date,end_date取值:具體日期或者today,-30d,-30y類似
date_between_dates():隨機生成指定範圍內日期,用法同上
date_object():隨機生產從1970-1-1到指定日期的隨機日期。
date_this_month():
date_this_year():
date_time():隨機生成指定時間(1970年1月1日至今)
date_time_ad():生成公元1年到現在的隨機時間
date_time_between():用法同dates
future_date():未來日期
future_datetime():未來時間
month():隨機月份
month_name():隨機月份(英文)
past_date():隨機生成已經過去的日期
past_datetime():隨機生成已經過去的時間
time():隨機24小時時間
timedelta():隨機獲取時間差
time_object():隨機24小時時間,time對象
time_series():隨機TimeSeries對象
timezone():隨機時區
unix_time():隨機Unix時間
year():隨機年份

3.11 集合信息類

profile():隨機生成檔案信息
simple_profile():隨機生成簡單檔案信息

#以下方法皆爲隨機集合類型
pyiterable()
pylist()
pyset()
pystruct()
pytuple()
pydict()

3.12 其他類別

currency_code():貨幣編碼
color_name():隨機顏色名
hex_color():隨機HEX顏色
rgb_color():隨機RGB顏色
safe_color_name():隨機安全色名
safe_hex_color():隨機安全HEX顏色
isbn10():隨機ISBN(10位)
isbn13():隨機ISBN(13位)
lexify():替換所有問號(“?”)帶有隨機字母的事件。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章