歡迎 fastText 加入 Hugging Face Hub
釋出於 2023 年 6 月 6 日
在 GitHub 上更新fastText 是一個用於高效學習文字表示和分類的庫。fastText 於 2016 年由 Meta AI 開源,它融合了過去幾十年來在自然語言處理和機器學習領域具有影響力的幾個關鍵思想:使用詞袋和 n-gram 袋來表示句子,使用子詞資訊,以及利用隱藏表示來在不同類別之間共享資訊。
為了加快計算速度,fastText 利用類別不均衡分佈的特點,採用了分層 softmax (hierarchical softmax)。所有這些技術都為使用者提供了可擴充套件的文字表示和分類解決方案。
Hugging Face 現在託管了全部 157 種語言的官方詞向量映象和最新的語種識別模型。這意味著,透過 Hugging Face,你只需幾條命令就可以輕鬆下載和使用這些模型。
查詢模型
157 種語言的詞向量和語種識別模型可以在 Meta AI 組織中找到。例如,你可以在這裡找到英文詞向量的模型頁面,在這裡找到語種識別模型。
小元件
本次整合包括對文字分類和特徵提取小元件的支援。快來這裡試試語種識別小元件,以及在這裡試試特徵提取小元件吧!
如何使用
以下是如何載入和使用預訓練詞向量
>>> import fasttext
>>> from huggingface_hub import hf_hub_download
>>> model_path = hf_hub_download(repo_id="facebook/fasttext-en-vectors", filename="model.bin")
>>> model = fasttext.load_model(model_path)
>>> model.words
['the', 'of', 'and', 'to', 'in', 'a', 'that', 'is', ...]
>>> len(model.words)
145940
>>> model['bread']
array([ 4.89417791e-01, 1.60882145e-01, -2.25947708e-01, -2.94273376e-01,
-1.04577184e-01, 1.17962055e-01, 1.34821936e-01, -2.41778508e-01, ...])
以下是如何使用此模型查詢英文詞向量的最近鄰
>>> import fasttext
>>> from huggingface_hub import hf_hub_download
>>> model_path = hf_hub_download(repo_id="facebook/fasttext-en-nearest-neighbors", filename="model.bin")
>>> model = fasttext.load_model(model_path)
>>> model.get_nearest_neighbors("bread", k=5)
[(0.5641006231307983, 'butter'),
(0.48875734210014343, 'loaf'),
(0.4491206705570221, 'eat'),
(0.42444291710853577, 'food'),
(0.4229326844215393, 'cheese')]
以下是如何使用此模型檢測給定文字的語種
>>> import fasttext
>>> from huggingface_hub import hf_hub_download
>>> model_path = hf_hub_download(repo_id="facebook/fasttext-language-identification", filename="model.bin")
>>> model = fasttext.load_model(model_path)
>>> model.predict("Hello, world!")
(('__label__eng_Latn',), array([0.81148803]))
>>> model.predict("Hello, world!", k=5)
(('__label__eng_Latn', '__label__vie_Latn', '__label__nld_Latn', '__label__pol_Latn', '__label__deu_Latn'),
array([0.61224753, 0.21323682, 0.09696738, 0.01359863, 0.01319415]))
你想將你的庫整合到 Hub 嗎?
這次整合得以實現,得益於我們與 Meta AI 的合作以及 huggingface_hub
庫。該庫為我們所有支援的庫提供了小元件和 API。如果你也想將自己的庫整合到 Hub,我們為你準備了一份指南!