分析:
训练语种识别模型使用的是sklearn的MultinomialNB方法,MultinomialNB是一种基于贝叶斯定理的分类算法,特别适用于处理具有离散特征的分类问题,如文本分类中的单词计数。它属于朴素贝叶斯算法的一种,主要应用于高维度的特征空间,常见于文档分类、垃圾邮件识别等领域。
识别结果与模型的内容和大小有关,结果不一定准确,仅供参考。
代码:
python">import joblib
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline
from sklearn.model_selection import train_test_splittexts = ['ケーブルタイプ', 'コネクタタイプ', 'シェルタイプ', '対応デバイス', '対応電話モデル', '材質','Connector Type', 'Display Type', 'Finish Type', 'Outer material', 'Model name', 'Grip type'
]
langs = ['ja', 'ja', 'ja', 'ja', 'ja', 'ja','en', 'en', 'en', 'en', 'en', 'en'
]# 划分训练集、测试集
X_train, X_test, y_train, y_test = train_test_split(texts, langs, test_size=0.1, random_state=42)
model = make_pipeline(CountVectorizer(ngram_range=(1, 3), analyzer='char'), MultinomialNB())
model.fit(X_train, y_train)
accuracy = model.score(X_test, y_test)# 保存模型
joblib.dump(model, 'model.joblib')
# 加载模型
load_model = joblib.load('model.joblib')print(f"Model accuracy: {accuracy:.4f}")
print(load_model.predict(['Color', 'スタイル']))