שאַפֿן אַ פּראָגראַם צו ידענטיפיצירן צי אַ מענטש רעדט ענגליש אָדער שפּאַניש.
איין מעגלעך צוגאַנג צו דערגרייכן דעם איז דורך ניצן אַ מאַשין לערנען אַלגערידאַם צו קלאַסיפיצירן צווישן ענגליש און שפּאַניש. דאָ ס עטלעכע ביישפּיל קאָד: ``` פּיטהאָן # ימפּאָרט נייטיק לייברעריז אַרייַנפיר nltk פֿון nltk.classify אַרייַנפיר NaiveBayesClassifier פון nltk.corpus אַרייַנפיר סטאָפּוואָרדס פון nltk.tokenize אַרייַנפיר וואָרד_טאָקעניזע פֿון sklearn.externals אַרייַנפיר דזשאָבליב אַרייַנפיר פּאַנדאַס ווי פּד # דעפינירן = סטאָפּוואָרדס ען_סטאָפּ וואָרט stopwords.words('ענגליש')) es_stopwords = set(stopwords.words('spanish')) # דעפינירן שטריך עקסטראַקטאָר פֿונקציע דעפ פֿעיִקייטן (טעקסט): ווערטער = word_tokenize (טעקסט) צוריקקומען {וואָרט: אמת פֿאַר וואָרט אין ווערטער} # לאָדן דאַטאַסעט דאַטן = pd.read_csv('english-spanish-dataset.csv') # יניטיאַליזע די טריינער טריינער = NaiveBayesClassifier.train # עקסטראַקט פֿעיִקייטן און לאַבעלס פון די דאַטאַסעט X = [] י = [] פֿאַר אינדעקס, רודערן אין דאַטן. iterrows(): X.append(features(row[1])) y.append(row[2]) # באַן די מאַשין לערנען מאָדעל קלאַססיפיער = טריינער(nltk.classify.util.apply_features(X,y)) # נעמען אַרייַנשרייַב פֿון דער באַניצער טעקסט = אַרייַנשרייַב ('אַרייַן טעקסט: ') # טאָקעניזע די אַרייַנשרייַב טעקסט ווערטער = word_tokenize(טעקסט) # אַראָפּנעמען האַלטן ווערטער ווערטער = [וואָרט פֿאַר וואָרט אין ווערטער אויב word.lower() ניט אין en_stopwords און word.lower () ניט אין es_stopwords] # מאַכן פּראָגנאָז פּראָגנאָז = classifier.classify(features(' '.join(words))) if prediction == 'en': print('דער טעקסט איז אין ענגליש') else: print('די טעקסט איז אין שפּאַניש') ``` דער קאָד ניצט די Naive Bayes אַלגערידאַם צו קלאַסיפיצירן צווישן ענגליש און שפּאַניש שפּראַכן דורך פּרידיקטינג די קלאַס פון אַרייַנשרייַב טעקסט. דער שטריך עקסטראַקטאָר עקסטראַקט פֿעיִקייטן, וואָס זענען אַ ווערטערבוך פון ווערטער, פון דעם טעקסט. די מאַשין לערנען מאָדעל איז טריינד אויף די פֿעיִקייטן צו מאַכן פֿאָרויסזאָגן. ינסטראַקשאַנז: 1. אַרייַנפיר די נייטיק לייברעריז. דער קאָד רילייז אויף די `nltk`, `nltk.classify`, `nltk.corpus`, `nltk.tokenize`, `sklearn.externals`, און `pandas` לייברעריז. 2. דעפינירן די סטאָפּוואָרדס פֿאַר ביידע ענגליש און שפּאַניש, ווי די ווערטער וועט זיין אַוועקגענומען פון די אַרייַנשרייַב טעקסט איידער איר מאַכן פֿאָרויסזאָגן. 3. דעפינירן אַ 'פֿעיִקייטן ()' פֿונקציע וואָס נעמט אין טעקסט ווי אַ אַרייַנשרייַב און קערט אַ ווערטערבוך פון ווערטער פאָרשטעלן אין דעם טעקסט. דאָס וועט דינען ווי דער שטריך עקסטראַקטאָר פֿאַר די מאַשין לערנען מאָדעל. 4. לאָדן די דאַטאַסעט, וואָס כּולל לייבאַלד