Dies ist die Aufzeichnung der 95. "Evaluierung mit WordSimilarity-353" von Sprachverarbeitung 100 Knock 2015. Berechnet den ** Spearman-Korrelationskoeffizienten ** für das vorherige Klopfergebnis. Das Ergebnis des selbst erstellten Programms liegt bei 23%, und das Ergebnis bei Verwendung von Gensim liegt bei 52%, was ebenfalls eine große Belastung darstellt.
Verknüpfung | Bemerkungen |
---|---|
095.WordSimilarity-Bewertung bei 353.ipynb | Antwortprogramm GitHub Link |
100 Klicks Amateur-Sprachverarbeitung:95 | Ich bin Ihnen immer mit 100 Sprachverarbeitungsklopfen zu Dank verpflichtet |
Art | Ausführung | Inhalt |
---|---|---|
OS | Ubuntu18.04.01 LTS | Es läuft virtuell |
pyenv | 1.2.15 | Ich benutze pyenv, weil ich manchmal mehrere Python-Umgebungen benutze |
Python | 3.6.9 | python3 auf pyenv.6.Ich benutze 9 3.7 oder 3.Es gibt keinen tiefen Grund, keine 8er-Serie zu verwenden Pakete werden mit venv verwaltet |
In der obigen Umgebung verwende ich die folgenden zusätzlichen Python-Pakete. Einfach mit normalem Pip installieren.
Art | Ausführung |
---|---|
pandas | 0.25.3 |
In Kapitel 10 werden wir weiter daran arbeiten, Wortvektoren aus dem vorherigen Kapitel zu lernen.
Berechnen Sie anhand der in> 94 erstellten Daten den Spearman-Korrelationskoeffizienten zwischen der Rangfolge der von jedem Modell ausgegebenen Ähnlichkeit und der Rangfolge der Beurteilung der menschlichen Ähnlichkeit.
"Spearmans Rangkorrelationskoeffizient" ist ** ["Spearmans Rangkorrelationskoeffizient" ) ”](Https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%94%E3%82%A2%E3%83%9E%E3%83%B3%E3%81 % AE% E9% A0% 86% E4% BD% 8D% E7% 9B% B8% E9% 96% A2% E4% BF% 82% E6% 95% B0) **, die Phase unter Verwendung des Rankings Die Anzahl der Beziehungen. Häufig gehört ["Pearson's Product Factor Correlation Coefficient"](https://ja.wikipedia.org/wiki/%E3%83%94%E3%82%A2%E3%82%BD%E3%83 % B3% E3% 81% AE% E7% A9% 8D% E7% 8E% 87% E7% 9B% B8% E9% 96% A2% E4% BF% 82% E6% 95% B0) ist kein Ranking Verwenden Sie den Wert, um den Korrelationskoeffizienten zu erhalten. Beide nehmen Werte im Bereich von 1 bis -1 an, und ein Wert von 1 bedeutet eine starke positive Korrelation.
import pandas as pd
def calc_corr(file):
df = pd.read_table(file, header=None, usecols=[2, 3], names=['original', 'calculated'])
print(df.corr(method='spearman'))
calc_corr('./094.combine_1.txt')
calc_corr('./094.combine_2.txt')
Der Code ist sehr kurz, weil ich Pandas benutze. Alles was Sie tun müssen, ist spearman
als Methode der Funktion corr
anzugeben.
print(df.corr(method='spearman'))
Dies ist das Ergebnis meines eigenen Programms. Der Schnittpunkt von "Original" und "berechnet" ist der resultierende Wert, der 0,227916 beträgt. Es ist tief ...
original calculated
original 1.000000 0.227916
calculated 0.227916 1.000000
Dies ist das Ergebnis bei Verwendung von Gensim. Es ist erheblich auf 0,516526 gestiegen.
original calculated
original 1.000000 0.516526
calculated 0.516526 1.000000
Recommended Posts