日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
創(chuàng)新互聯(lián)IOS教程:創(chuàng)建文本分類(lèi)器模型

概覽

文本分類(lèi)器是一種機(jī)器學(xué)習(xí)模型,經(jīng)過(guò)訓(xùn)練將能夠識(shí)別自然語(yǔ)言文本中的規(guī)律,例如句子所表達(dá)的情緒。

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比饒平網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式饒平網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋饒平地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴(lài)。

訓(xùn)練文本分類(lèi)器的方法是向它展示大量已標(biāo)記的文本示例,例如你已標(biāo)記為好評(píng)、差評(píng)或中立的影評(píng)。

導(dǎo)入數(shù)據(jù)

首先,收集文本數(shù)據(jù)并導(dǎo)入到 MLDataTable (英文) 實(shí)例中。你可以從 JSON 和 CSV 格式創(chuàng)建數(shù)據(jù)表。如果文本數(shù)據(jù)在一系列文件里,你也可以將它們整理到文件夾中,并使用文件夾名稱(chēng)作為標(biāo)簽,類(lèi)似于“創(chuàng)建圖像分類(lèi)器模型”中使用的圖像數(shù)據(jù)源。

例如,假設(shè)一個(gè) JSON 文件中包含你按情緒分類(lèi)的影評(píng)。每個(gè)條目都包含 textlabel 這樣一對(duì)屬性。這些屬性值就是用來(lái)訓(xùn)練模型的輸入樣本。下面的 JSON 段落顯示了三對(duì)句子以及對(duì)應(yīng)的情緒標(biāo)簽。

 // JSON file [  {  "text": "The movie was fantastic!",  "label": "positive"  }, {  "text": "Very boring. Fell asleep.",  "label": "negative"  }, {  "text": "It was just OK.",  "label": "neutral"  } ... ]
						

在 macOS Playground 中,可以使用 MLDataTable (英文) 的 init(contentsOf:options:) (英文) 方法來(lái)創(chuàng)建數(shù)據(jù)表。

 import CreateML   let data = try MLDataTable(contentsOf: URL(fileURLWithPath: "<#/path/to/read/data.json#>"))
						

得到的數(shù)據(jù)表包含兩列,分別名為 textlabel,這兩列從 JSON 文件中的鍵派生而來(lái)。列可以使用任意名稱(chēng),只要對(duì)你有意義即可,因?yàn)槟銜?huì)在其他方法中將列名用作參數(shù)。

準(zhǔn)備訓(xùn)練和評(píng)估數(shù)據(jù)

你用于訓(xùn)練模型的數(shù)據(jù)必須與用來(lái)評(píng)估模型的數(shù)據(jù)有所差別。使用 MLDataTable (英文) 的 randomSplit(by:seed:) (英文) 方法將數(shù)據(jù)拆分到兩個(gè)表中,分別用于訓(xùn)練和測(cè)試。訓(xùn)練數(shù)據(jù)表會(huì)包含大部分?jǐn)?shù)據(jù),測(cè)試數(shù)據(jù)表則包含其余 10% - 20% 的數(shù)據(jù)。

 let (trainingData, testingData) = data.randomSplit(by: 0.8, seed: 5)
						

創(chuàng)建和訓(xùn)練文本分類(lèi)器

使用訓(xùn)練數(shù)據(jù)表和列名來(lái)創(chuàng)建 MLTextClassifier (英文) 實(shí)例。訓(xùn)練便會(huì)立即開(kāi)始。

 let sentimentClassifier = try MLTextClassifier(trainingData: trainingData,  textColumn: "text",  labelColumn: "label")
						

在訓(xùn)練期間,Create ML 會(huì)分離出一小部分訓(xùn)練數(shù)據(jù),供在訓(xùn)練階段用來(lái)驗(yàn)證模型的進(jìn)度。驗(yàn)證數(shù)據(jù)讓訓(xùn)練過(guò)程能夠使用模型未訓(xùn)練過(guò)的示例來(lái)衡量模型的表現(xiàn)。根據(jù)驗(yàn)證準(zhǔn)確性,訓(xùn)練算法可以調(diào)整模型內(nèi)部的值,甚至能在準(zhǔn)確性足夠高時(shí)停止訓(xùn)練過(guò)程。由于拆分是隨機(jī)的,因此每次訓(xùn)練模型時(shí)可能會(huì)得到不同的結(jié)果。

要了解模型在訓(xùn)練和驗(yàn)證數(shù)據(jù)時(shí)的準(zhǔn)確度,請(qǐng)使用模型里 trainingMetrics (英文) 和 validationMetrics (英文) 屬性中的 classificationError (英文) 屬性。

 // Training accuracy as a percentage let trainingAccuracy = (1.0 - sentimentClassifier.trainingMetrics.classificationError) * 100   // Validation accuracy as a percentage let validationAccuracy = (1.0 - sentimentClassifier.validationMetrics.classificationError) * 100
						

評(píng)估分類(lèi)器的準(zhǔn)確性

接著,使用新的句子對(duì)經(jīng)過(guò)訓(xùn)練的模型進(jìn)行測(cè)試,評(píng)估模型的表現(xiàn)情況。將你的測(cè)試數(shù)據(jù)表傳遞到 evaluation(on:) (英文) 方法,這將返回 MLClassifierMetrics (英文) 實(shí)例。

 let evaluationMetrics = sentimentClassifier.evaluation(on: testingData)
						

要獲取評(píng)估準(zhǔn)確性,請(qǐng)使用所返回 MLClassifierMetrics (英文) 實(shí)例的 classificationError (英文) 屬性。

 // Evaluation accuracy as a percentage let evaluationAccuracy = (1.0 - evaluationMetrics.classificationError) * 100
						

如果評(píng)估表現(xiàn)不理想,你可能需要使用更多數(shù)據(jù)重新訓(xùn)練或進(jìn)行其他調(diào)整。有關(guān)提升模型性能的信息,請(qǐng)參閱“提高模型準(zhǔn)確性”。

存儲(chǔ) Core ML 模型

如果你對(duì)模型表現(xiàn)滿(mǎn)意,就可以存儲(chǔ)模型以便在 App 中使用了。使用 write(to:metadata:) (英文) 方法將 Core ML 模型文件 (SentimentClassifier.mlmodel) 寫(xiě)入磁盤(pán)。在 MLModelMetadata (英文) 實(shí)例中提供有關(guān)模型的任何信息,例如作者、版本或描述等。

 let metadata = MLModelMetadata(author: "John Appleseed",  shortDescription: "A model trained to classify movie review sentiment",  version: "1.0")   try sentimentClassifier.write(to: URL(fileURLWithPath: "<#/path/to/save/SentimentClassifier.mlmodel#>"),  metadata: metadata)
						

將模型添加到 App

在 Xcode 中打開(kāi) App 后,將 SentimentClassifier.mlmodel 文件拖到導(dǎo)航面板中。Xcode 會(huì)編譯模型并生成 SentimentClassifier 類(lèi),供你在 App 中使用。在 Xcode 中選擇 SentimentClassifier.mlmodel 文件可以查看關(guān)于模型的更多信息。

在自然語(yǔ)言框架中,從 SentimentClassifier 創(chuàng)建 NLModel,確保標(biāo)記化在訓(xùn)練和部署中是一致的。然后,使用 predictedLabel(for:) (英文) 來(lái)生成新文本輸入的預(yù)測(cè)。

 import NaturalLanguage import CoreML   let mlModel = try SentimentClassifier(configuration: MLModelConfiguration()).model   let sentimentPredictor = try NLModel(mlModel: mlModel) sentimentPredictor.predictedLabel(for: "It was the best I've ever seen!")
						


分享題目:創(chuàng)新互聯(lián)IOS教程:創(chuàng)建文本分類(lèi)器模型
瀏覽路徑:http://www.5511xx.com/article/cdgcpgj.html