# -*- coding: utf-8 -*- #!/usr/bin/python3.6 -S -W ignore from sklearn.feature_extraction.text import TfidfVectorizer from sklearn import model_selection, naive_bayes, svm from sklearn.model_selection import train_test_split from sklearn.model_selection import cross_val_score from sklearn.model_selection import GridSearchCV from sklearn.metrics import confusion_matrix from sklearn.metrics import accuracy_score from sklearn.multiclass import OneVsRestClassifier from tabulate import tabulate from sklearn.svm import SVC from sklearn.svm import LinearSVC import logging import datetime import pprint import codecs import numpy as np import dill # wichtig für joblib load and dump import os import math import nltk # the natural langauage toolkit, open-source NLP import pandas as pd # pandas dataframe import re # regular expression from nltk.corpus import stopwords from gensim.utils import lemmatize from gensim import parsing # Help in preprocessing the data, very efficiently import gensim import numpy as np import pprint import lxml import codecs import os,sys import gzip import json import os import os import codecs import os,sys import gzip import json import re import subprocess from fasttext import train_supervised # pip3 install -U fasttext import fasttext from gensim.test.utils import get_tmpfile fname = get_tmpfile("/home/seo-auto-scaler/data/model/seo3.bin") model.save(fname) model = FastText.load(fname) # via Shell filtern #cat unaique.txt | sed -e "s/([.\!?,'/()])/ 1 /g" | tr "[:upper:]" "[:lower:]" >> unaique.preprocessed.txt # https://github.com/facebookresearch/fastText/blob/master/docs/supervised-tutorial.md # http://soner.in/fasttext-grid-search/ # https://github.com/facebookresearch/fastText/blob/master/python/fasttext_module/fasttext/FastText.py #train_data_tmp="/home/unaiqueFRAMEWORK/new_prototyp/fasttext/trainingsdata/train/unaique.preprocessed.txt" train_data="/home/seo-auto-scaler/data/data.txt" """ train_data2="/home/seo-auto-scaler/data/data2.txt" with codecs.open(train_data, 'r', encoding='utf8') as f: content_text = f.read() f.close() myT = transformText(content_text) with codecs.open(train_data2, 'w+', encoding='utf8') as f: f.write(myT) f.close() train_data = train_data2 exit(1) """ """ r=codecs.open(train_data_tmp, 'r', encoding='utf-8') data3 = r.read().replace('\n', '').strip().lower() r.close() data3 = re.sub("^[A-Za-z0-9,.!?:;]", "", data3) w=codecs.open(train_data, 'w', encoding='ascii') w.write(data3) w.close() """ text = """ Suchmaschinenoptimierung ist für Marketer sehr wichtig, das ist kein Geheimnis. Indem Sie Ihre Seiten und Blog-Artikel optimieren, erhöhen Sie die Sichtbarkeit Ihrer Inhalte. Wenn Besucher dann Suchbegriffe, die zu Ihrem Produkt oder Service passen, in Google oder ähnlichen Suchmaschinen eingeben, ist es wahrscheinlicher, dass sie dabei auf Ihre Inhalte stoßen werden. Gerade bei Google ist es aber nicht ganz einfach, mit den laufenden Veränderungen und den kontinuierlichen Updates Schritt zu halten. Bei der SEO geht es heute hauptsächlich um Relevanz und Absichten. Im Folgenden beantworten wir diese Fragen und mehr: Wie lässt sich herausfinden, welche Aspekte relevant sind und welche nicht? Was sind die aktuellen Taktiken für Blog-Rankings und was sollten Sie nicht mehr tun? Das digitale Marketing ist schnelllebig, was mitunter zu Verwirrung führen kann. Wir möchten Ihnen helfen, den Überblick zu behalten. In diesem Blog-Beitrag erläutern wir Ihnen, wie Sie Ihre Blog-Artikel für die Suchbegriffe und Themen optimieren können, für die Sie ein gutes Ranking erzielen möchten. Außerdem stellen wir Ihnen noch einige weitere Optimierungstaktiken vor, die Sie im Hinterkopf behalten sollten. """ #model = fasttext.train_supervised(train_data, model='skipgram', lr=0.05, dim=250, ws=5, epoch=50) #model = fasttext.train_supervised(train_data, epoch=100, lr=0.25, wordNgrams=3, verbose=2, dim=300, ws=25, minCount=1, loss="softmax") #model = fasttext.train_supervised(train_data, epoch=50, lr=0.1, wordNgrams=3, verbose=2, minCount=1, dim=200, ws=10, loss='hs', thread=10) """ model = fasttext.train_supervised(train_data, epoch=5, lr=0.25, wordNgrams=5, minCount=1, dim=200, ws=10, loss='hs', thread=10, label_prefix='__label__') model.save_model("/home/seo-auto-scaler/data/model/seo3.bin") exit(1) """ #train_data2="/home/unaiqueFRAMEWORK/new_prototyp/fasttext/trainingsdata/teenager_fasttext70.txt" #model = fasttext.train_unsupervised(train_data2, model='skipgram', lr=0.05, dim=200, ws=5, epoch=50) #model.save_model("/home/unaiqueFRAMEWORK/new_prototyp/fasttext/binary/teenager_fasttext.bin") model = fasttext.load_model("/home/seo-auto-scaler/data/model/seo3.bin") line = text.strip("\n") model.predict(line, k=5)#, threshold=0.5) #model.quantize(input=train_data, qnorm=True, retrain=False, cutoff=50000) #model.save_model("/home/unaiqueFRAMEWORK/new_prototyp/fasttext/unaique_small.ftz") exit(1)