[PYTHON] Implementierung von TF-IDF mit Gensim

Letztes Mal hat einen Artikel auf Bunharu Online abgekratzt und eine negative / positive Analyse durchgeführt. Dieses Mal werde ich "gensim" verwenden, um "TF-IDF" für den Inhalt des Artikels auf Bunharu Online durchzuführen und wichtige Wörter zu extrahieren!

fließen

  1. Referenzartikel
  2. Was ist TF-IDF?
  3. Morphologische Analyse
  4. Vorbereitung vor der Ausführung von DF-IDF
  5. Implementierung von TF-IDF
  6. Geben Sie übergeordnete Wörter mit TF-IDF aus

Referenzartikel

Über TF-IDF https://mieruca-ai.com/ai/tf-idf_okapi-bm25/ Über tfidf von gensim https://qiita.com/tatsuya-miyamoto/items/f1539d86ad4980624111

Was ist TF-IDF?

Wenn TF-IDF hoch ist, ist es ein Wort, das den Satz kennzeichnet. Ich denke, man kann sagen, dass das Wort nicht so wichtig ist. Wenn Sie beispielsweise eine Sportzeitung lesen und auf einen Artikel achten und der Text dieses Artikels das Wort "Homerun" enthält, Es ist leicht zu erkennen, dass es in diesem Artikel um Baseball geht. In solchen Fällen zeigt das Wort TF-IDF für das Wort Baseball wahrscheinlich einen hohen Wert. Nehmen wir andererseits an, der Text eines Artikels enthält das Wort Player. Da es sich um eine Sportzeitung handelt, wird sie wahrscheinlich in jedem Artikel häufig verwendet. In solchen Fällen denke ich, dass das Wort TF-IDF für den Wortspieler niedrig ist. Weitere Informationen finden Sie unter hier.

Dieses Mal werde ich TF-IDF verwenden, um wichtige Wörter für jeden Artikel zu extrahieren. Lass uns jetzt arbeiten. Laden Sie zuerst die gewünschte Lippenrallye.

from gensim import corpora
from gensim import models
from janome.tokenizer import Tokenizer
from pprint import pprint
import pandas as pd
import logging

Ich habe Bunharu Online, das im vorherigen Artikel erstellt wurde, als CSV-Datei gespeichert, daher werde ich das verwenden.

df = pd.read_csv('/work/data/BunshuOnline/news.csv')
doc_list = list(df.news_page_list)

Lassen Sie uns den Inhalt des Artikels überprüfen.

for i in range(10):
    print('%s.' % i, '〜%s〜' % df['title'][i])
    print(df['news_page_list'][i][:200], end='\n\n')
  1. ~ Hängt die Turbulenz vom Lauf der Rookies ab? Achten Sie auf das erste Team der "Monstergeneration". Lesen Sie die 97. Hakone Ekiden-Vorrunde ~ "Normalerweise gibt es eine Geschichte, in der 'Ekiden anders ist als Lastwagen, daher sollten Erstklässler nicht zu viel Kraft erwarten', aber dieses Jahr ist die Atmosphäre etwas anders." So überrascht ist diese Saison. Der für die Sportzeitung Ekiden zuständige Reporter spricht. In dem seit dem Frühjahr andauernden Corona-Wrack wurde die Sportwelt in diesem Jahr stark beeinflusst. Gleiches gilt für die Welt der Fernstudenten. Dies ist eine große Unterstützung nicht nur für die Absage des Turniers von Frühling bis Sommer, sondern auch für die Aufzeichnung von Sitzungen und das Üben an jeder Schule.

  2. ~ Ist ein Smartphone oder Tablet nicht unzureichend? Was ist der beste PC für "Online-Unterricht"? 2020 war nur ein wichtiges Jahr in der Geschichte der digitalen Bildung. Zunächst wurde die Programmierausbildung in der Grundschule obligatorisch. Und mit der unerwarteten Ankunft der Corona ist das Lernen mit digitalen Geräten unvermeidlich geworden. Während die ganze Familie in Corona zu Hause blieb, werden die Eltern remote arbeiten und die Kinder online lernen, so dass viele Leser die Erfahrung haben werden, zu Hause nur um einen PC zu konkurrieren.

  3. ~ Eine ehemalige Frau und ein Kind gestehen die DV von Herrn Yoshifumi Yokomine, dem Begründer der Kindererziehung "Yokomine-Stil" << Zum Gerichtsstreit "volle Konfrontation" >> ~ Ein Kindergartenkind springt 10 Stufen in die Sprungbox und geht kopfüber. Außerdem lernte er neunundneunzig Berechnungen, las und schrieb Kanji und las in drei Jahren durchschnittlich 2000 Bücher. Unter dem Motto "Jedes Kind ist ein Genie" gibt es eine originelle Erziehungsmethode, die sich von Kagoshima im ganzen Land verbreitet hat. Diese Erziehungsmethode, die die Bestrebungen und die Wettbewerbsfähigkeit der Kinder anregt und ihre Fähigkeit entwickelt, selbstständig zu lernen, ohne sie zu zwingen, wird als "Yokomine-Stil" bezeichnet. Heute haben landesweit rund 400 Kindergärten und Kindergärten diesen horizontalen Lehrplan eingeführt.

  4. ~ Präsident der BTS Company, achtgrößter Aktienmillionär in Korea ... "Der gemeinsame Punkt ist nerdig" J.Y.Park sprach über das wahre Gesicht ~ Es war eine große Aufregung vor der Auflistung. Am 15. Oktober wurde "Big Hit Entertainment (BH Entertainment)", die Agentur von "Bulletproof Boy Scouts (BTS)", an der KOSPI (Korean Exchange) notiert. Der anfängliche Preis beträgt das 2,6-fache des öffentlichen Angebotspreises, und der Marktwert beträgt 8.816,9 Milliarden Won (ungefähr 880 Milliarden Yen ab 15:00 Uhr am selben Tag). Es übertraf den kombinierten Marktwert der drei großen koreanischen Musikbüros bei weitem und sprang in das größte Musikbüro in Korea. Gründer,

  5. ~ Die Geschichte, dass das Verhalten verdächtig genug wurde, um von dem Strom aus "Ich brauche keine Registrierkassentasche" überrascht zu werden ~ Saho Yamamoto, ein Manga-Künstler, beschreibt problematische Tage, die problematische Menschen anziehen. Dieses Mal sprach ich über das Einkaufen in einer Apotheke und einem Supermarkt. Jeden Donnerstag aktualisiert. Das Update wurde kürzlich verzögert, aber das nächste wird am Donnerstag, den 22. Oktober (wahrscheinlich) veröffentlicht. Das Buch "Heute ist ein schlechter Tag" ist jetzt im Verkauf. Band 1, gefüllt mit Mr. Yamamotos Ereignissen, ist eine großartige Darstellung des "Kampfes" mit dem verbrannten Stationsbüro !! Heute ist auch ein schwieriger Tag 1 Saho Yamamoto

  6. ~ Haruma Miura, Yuko Takeuchi, Hana Kimura ... Warum tritt die "Selbstmordkette" des Entertainers auf? ~ Es ist fast drei Monate her, seit Haruma Miura gestorben ist, aber es gibt immer noch Berichte über seinen Tod. Es ist nicht nur Miura-san. Es ist eine Warnung, dass Berichte über den Tod von Entertainern wie Hana Kimura, Hoshi Ashina, Takashi Fujiki und Yuko Takeuchi, die im Reality-Programm "Terrace House" auftraten, zum "nächsten Tod" führen könnten. Herr Tamaki Saito, Professor an der Tsukuba Universität. "Es ist schwer zu sagen, aber wenn ein Patient in der Psychiatrie stirbt, entscheiden sich viele Patienten dafür, auf die gleiche Weise zu sterben.

  7. ~ Interne Materialien beschaffen Tägliche Zulage von 40.000 Yen für Mitarbeiter, die zum "GoTo Travel Secretariat" abgeordnet wurden Die Tourismusunterstützungsmaßnahme der Regierung "GoTo Travel Project" wurde hinzugefügt, um ab dem 1. Oktober von und nach Tokio zu reisen. Laut einem Interview mit "Weekly Bunharu" zahlt die Regierung den Mitarbeitern eines großen Reisebüros, die zum "GoTo Travel Secretariat" abgeordnet sind, das für den Betrieb zuständig ist, einen hohen Betrag an Tagegeld. Das GoTo-Reisesekretariat besteht aus KNT-CT Holdings, die Kinki Japan Tourist unter ihrem Dach hat und von JTB geführt wird, dem größten Unternehmen der Branche mit Ausnahme der National Travel Industry Association (ANTA).

  8. ~ "Wie alt bist du? Warum bin ich der einzige, der" kaputt macht "!" "Der letzte Generalsekretär des Monsters" Toshihiro Nikai wurde geschärft ~ Toshihiro Nikai, der den Rekord der Gesamtbeschäftigung des Generalsekretärs der LDP bricht, wird oft als Schläfer gemeldet, dh als "Fachmann für politische Technologie". Es ist bekannt, dass die Politik für die Mittelschule und ein Mitglied der Transport- und Landverbesserungsprojekte ist, aber der politische Gedanke ist nicht überraschend bekannt. Oben, der in den Medien nicht viel gesehen hat, sprach diesmal in einem Interview über "den Ursprung der Politik". Ich hatte 30 Minuten Zeit und stellte in der begrenzten Zeit schnell hintereinander eine Reihe von Fragen nach oben.

  9. ~ "Legen Sie den zerstückelten Körper in einen Topf ..." Takahiro Shiraishi sagte aus, dass die ganze Geschichte des schrecklichen Verbrechens ~ „Ich drehte mich um und drückte meinen Hals mit meinem linken Arm.“ Takahiro Shiraishi wurde des Raubes und des erzwungenen Geschlechtsverkehrs beschuldigt, als im Oktober 2017 die Leichen von neun Männern und Frauen in einer Wohnung in Zama City, Präfektur Kanagawa, gefunden wurden. Das Gerichtsverfahren gegen den Angeklagten (30) fand am 14. Oktober in der Tachikawa-Abteilung des Bezirksgerichts Tokio (Richter Naokuni Yano) statt. An diesem Tag wurde eine Frage zum Fall von Herrn C (20, damals männlich) gestellt, der die dritte Person getötet hat. Der Angeklagte Shiraishi sagte, dass Herr C zum Zeitpunkt des Mordes nicht zugestimmt habe, getötet zu werden

  10. ~ Nicht "Länge" ... "Unerwartete Worte", die Schönheitssalons beim Haarschneiden lehren ~ Die Bettdecken fühlen sich heutzutage immer wohler. Für diejenigen unter Ihnen, die aufgrund des plötzlichen Temperaturunterschieds zwischen Morgen und Nacht daran denken, ein dünnes Fell aufzutragen oder Ihre Frisur auf Herbst- / Winterspezifikationen umzustellen. Wissen Sie nicht, wie Sie Ihre Hoffnung vermitteln können, wenn Sie eine Reservierung vornehmen und sich tatsächlich mit einem Schönheitssalon treffen? Wie kann ich diesmal dem Schönheitskünstler sagen? Es ist eine Geschichte. Hier einige Beispiele für gängige Kundenbestellungen.

Morphologische Analyse

Führt eine morphologische Analyse durch. Es kann einfach mit "Tokenizer ()" von "gensim" implementiert werden. Wir brauchen das Symbol nicht, also schließen Sie es mit "part_of_speech" aus.

t = Tokenizer()
wakati_list = []
for doc in doc_list:
    tokens = t.tokenize(doc)
    wakati = []
    for token in tokens:
        if token.part_of_speech.split(',')[0] not in ['Symbol']:
            wakati.append(token.base_form)
    wakati_list.append(wakati)

Lassen Sie uns überprüfen, ob die Teilung und das Entfernen von Symbolen erfolgreich waren.

for wakati in wakati_list:
    print(wakati[:10])

['Jährlich', 'Da', 'Ekiden', 'ist', 'LKW' und ',' ist ',' Ein anderer ',' Da ',' Von '] ['2020', 'Jahr', 'ist', 'genau', 'digital', 'Bildung', '', 'Geschichte', 'für', 'besondere Anmerkung'] ['Kindergarten', 'Kinder', 'Ga', 'Sprungbox', '10', 'Schritte', '', 'Sprung', 'Invertiert', 'Gehen'] ['Listed', 'Before', 'From', 'Fuss', 'Da', 'Ta', '10', 'Mo', '15', 'Sun'] ['Cartoon', 'House', '', 'Yamamoto', 'Sa', 'Hosu', 'N', 'Ga', 'Trouble', 'Da'] ['Miura', 'Frühling', 'Pferd', 'San', 'Ga', 'Die', 'Te', 'From', '3', 'Month'] ['10', 'Monat', '1', 'Tag', 'Von', 'Tokio', 'Abreise / Ankunft', '', 'Reise', 'Mo'] ['Liberale Partei', 'Sekretär', 'Chef', '', 'Total', 'In-Service', 'Rekord', 'bis', 'Update', 'Mittel'] ['Zurück', 'nach', 'drehen', 'te', 'Hals', 'nach', 'linker Arm', 'mit', 'drücken', 'ta'] ['Komfort', 'ga', 'allmählich', 'bequem', 'naru', 'te', 'komm', 'ta', 'heute', 'dies']

Vorbereitung vor der Ausführung von DF-IDF

Verwenden Sie als Nächstes "Corpora" von "Gensim", um die ID an das Wort anzuhängen.

dictionary = corpora.Dictionary(wakati_list)
print('==={Wort: ID}===')
pprint(dictionary.token2id)

=== {word: ID} === {'!': 1021, '!!': 1822, ',': 2023, '-': 568, '.': 569,

"Was": 1084,
"Warum": 1085,
"Irgendwie": 2693,
'Nah': 2694,
'To': 104,
~~~~ <omitted> ~~~~~
"Memo App": 2497,
"Mental": 1890,
"Mitglieder": 174,
"Hersteller": 742,
'Modern': 743}


Zählen Sie als Nächstes die Anzahl der Vorkommen für jeden Artikel für jedes Wort.


```python
corpus = list(map(dictionary.doc2bow, wakati_list))
print('===(Wort-ID,Anzahl der Auftritte)===')
pprint(corpus)
```

=== (Wort-ID, Anzahl der Vorkommen) ===
   [[(0, 10),
     (1, 5),
     (2, 1),
     (3, 1),
     (4, 1),
~~~~ <omitted> ~~~~~
     (2872, 1),
     (2873, 1),
     (2874, 2),
     (2875, 1),
     (2876, 1)]]

## Implementierung von TF-IDF
Berechnen Sie als Nächstes TF-IDF anhand der Daten zur Anzahl der Vorkommen.
Verwenden Sie "Modelle" von "Gensim".
`gensim` hat wirklich viele Funktionen.
Zeigen Sie einen Teil des Berechnungsergebnisses an.


```python
test_model = models.TfidfModel(corpus)
corpus_tfidf = test_model[corpus]
print('===(Wort-ID, TF-IDF)===')
for doc in corpus_tfidf:
   print(doc[:4])
```

=== (Wort-ID, TF-IDF) ===
   [(0, 0.010270560215244124), (1, 0.010876034850944512), (2, 0.011736346492935309), (3, 0.006756809998052433)]
   [(0, 0.0042816896254018535), (3, 0.005633687484063879), (5, 0.008303667688079712), (7, 0.005633687484063879)]
   [(0, 0.001569848428761509), (1, 0.006649579327355055), (3, 0.005163870001530652), (5, 0.00761118904775017)]
   [(0, 0.004119674666568976), (1, 0.006543809340846026), (3, 0.006775642806339103), (5, 0.02496707813315839)]
   [(0, 0.01276831026581211), (1, 0.013521033373868814), (7, 0.04200016584013773), (13, 0.04200016584013773)]
   [(1, 0.007831949836845296), (2, 0.0422573475812842), (7, 0.024328258270175436), (11, 0.00625933452375299)]
   [(0, 0.00115918318434994), (1, 0.004910079468851687), (9, 0.013246186396066643), (11, 0.0039241607229361)]
   [(0, 0.0014966665107978136), (1, 0.006339594643539755), (2, 0.06841066655360874), (3, 0.009846289814745559)]
   [(0, 0.0026696482016164125), (1, 0.003769373987012683), (5, 0.004314471125835394), (6, 0.007739059517798651)]
   [(0, 0.0011200718719816475), (25, 0.020161293695669654), (26, 0.06631869535917725), (27, 0.0037917579432113335)]


Da es mit der Wort-ID schwer zu verstehen ist, wird das Wort angezeigt.


```python
texts_tfidf = []
for doc in corpus_tfidf:
   text_tfidf = []
   for word in doc:
       text_tfidf.append([dictionary[word[0]], word[1]])
   texts_tfidf.append(text_tfidf)
print('===[Wort, TF-IDF]===')
for i in texts_tfidf:
   print(i[20:24])
```

=== [Wort, TF-IDF] ===
[['U', 0.022445636964346205], ['m', 0.11222818482173101], ['Bis zum Ende', 0.022445636964346205], ['Da drüben', 0.022445636964346205]]
[['Solid', 0.02616203449412644], ['Shut up', 0.002898944443406048], ['Ja', 0.004151833844039856], ['Let', 0.005797888886812096]]
[['This', 0.0026571889707680363], ['More', 0.013652529666738833], ['Shut up', 0.010628755883072145], ['Ja', 0.003805594523875085]]
[['Here', 0.006775642806339103], ['Koto', 0.008239349333137951], ['This', 0.0034865640168190394], ['Well', 0.015732555392960215]]
[['Article', 0.006384155132906055], ['Home', 0.04200016584013773], ['Recent', 0.07295284301359403], ['That', 0.09752136505414427]]
[['Te', 0.053620572470353435], ['Can', 0.01792908931110876], ['is', 0.03132779934738118], ['But', 0.0018489852575983943]]
[['That', 0.0034775495530498207], ['In erster Linie', 0.010081089692211678], ['That', 0.020865297318298923], ['It', 0.019640317875406748]]
[['Ja', 0.007256376823656625], ['Too', 0.017102666638402184], ['Let', 0.005066636590574954], ['Yes', 0.01451275364731325]]
[['Sicher', 0,009037509134257363], ['Ja', 0,004314471125835394], ['Sicher', 0,018075018268514726], ['Ja', 0,012943413377506183]]
[['Ja', 0,005430510747744854], ['Das', 0,006720431231889886], ['An erster Stelle', 0,00974094962350806], ['Das', 0,01948189924701612]]

## Geben Sie hochrangige Wörter mit TF-IDF aus
Lassen Sie uns endlich die Top-Wörter für jeden Artikel mit TF-IDF anzeigen!
Dieses Mal werde ich nur Wörter mit einer TF-IDF von 0,1 oder mehr anzeigen!


```python
for i in range(len(texts_tfidf)):
   print('')
   print('%s.' % i, '〜%s〜' % df['title'][i])
   for text in texts_tfidf[i]:
       if text[1] > 0.13:
           print(text)
```

   
0. ~ Hängt die Turbulenz vom Lauf der Rookies ab? Achten Sie auf das erste Team der "Monstergeneration". Lesen Sie die 97. Hakone Ekiden-Vorrunde ~
['Rookie', 0.29179328053650067]
['Vorläufig', 0.26934764357215446]
['Meeting', 0.2353324044944065]
['Note', 0,13467382178607723]
['Schule', 0.17956509571476964]
['Director', 0.13467382178607723]
['Practice', 0.15711945875042344]
['Running', 0.15711945875042344]
['Ekiden', 0.3591301914295393]
['High School', 0.14119944269664392]
   
1. ~ Ist ein Smartphone oder Tablet nicht unzureichend? Was ist der beste PC für "Online-Unterricht"?
   ['.', 0.17005322421182187]
   ['/', 0.2807205709669065]
   ['LAVIE', 0.1684323425801439]
   ['Office', 0.1310029331178897]
   ['PC', 0.561441141933813]
['Kinder', 0.2092962759530115]
['Lernen', 0.14971763784901682]
['Installiert', 0.1684323425801439]
['Function', 0.1684323425801439]
   
2. ~ Eine ehemalige Frau und ein Kind gestehen die DV von Herrn Yoshifumi Yokomine, dem Begründer der Kindererziehung "Yokomine-Stil" << Zum Gerichtsstreit "volle Konfrontation" >> ~
['Education', 0.15248089693189756]
   ['A', 0.1435114324064918]
['Mine', 0.1715400483643072]
['Horizontal', 0.1715400483643072]
['Nursery', 0.37738810640147585]
['Yoshifumi', 0,3259260918921837]
['Kind', 0.2744640773828915]
['Kinder', 0.2573100725464608]
['Gewalt', 0.2230020628735994]
['Mr.', 0.17938929050811475]
['Großmutter', 0.13723203869144576]
['Kagoshima', 0.13723203869144576]
   
3. ~ Präsident der BTS Company, achtgrößter Aktienmillionär in Korea ... "Der gemeinsame Punkt ist nerdig" J.Y.Park sprach über das wahre Gesicht ~
   ['.', 0.14159299853664192]
   ['BH', 0.20257378379369387]
   ['BoA', 0.13504918919579592]
   ['JYP', 0.13504918919579592]
   ['SM', 0.13504918919579592]
['Artist', 0.13504918919579592]
['Office', 0.27009837839159184]
['Billion', 0.13504918919579592]
['Firma', 0.28318599707328385]
['Korea', 0.40514756758738774]
   
4. ~ Die Geschichte, dass das Verhalten verdächtig genug wurde, um von dem Strom aus "Ich brauche keine Registrierkassentasche" überrascht zu werden ~
['Update', 0.14590568602718806]
   ['!!', 0.13952153089428201]
   ['22', 0.13952153089428201]
['Grate', 0.13952153089428201]
['Heute', 0.27904306178856403]
['Vielleicht', 0.13952153089428201]
['Zauber', 0.13952153089428201]
['Hosu', 0.13952153089428201]
['Horu', 0.13952153089428201]
['Trouble', 0.13952153089428201]
['Happening', 0.13952153089428201]
['Ward Office', 0.13952153089428201]
['Buch', 0.13952153089428201]
['Troublesome', 0.13952153089428201]
['Problematischer Tag', 0.27904306178856403]
['Signifikant', 0.13952153089428201]
['Beliebt', 0.13952153089428201]
['Yamamoto', 0.41856459268284607]
['Volume', 0.13952153089428201]
['Attract', 0.13952153089428201]
['Donnerstag', 0.13952153089428201]
['Nächstes Mal', 0.13952153089428201]
['Wöchentlich', 0.13952153089428201]
['Cartoon', 0.13952153089428201]
['In Flammen', 0.13952153089428201]
['Pharmaceutical', 0.13952153089428201]
['Verstopft', 0.13952153089428201]
['Einkaufen', 0.13952153089428201]
['Fight', 0.13952153089428201]
   
5. ~ Haruma Miura, Yuko Takeuchi, Hana Kimura ... Warum tritt die "Selbstmordkette" des Entertainers auf? ~
['San', 0.14596954962105263]
['Projektion', 0.16163344929474321]
['Kimura', 0.16163344929474321]
['Tod', 0.4849003478842297]
['Selbstzerstörung', 0.14790071653449471]
['Celebrity', 0.25419809869738275]
   
6. ~ Interne Materialien beschaffen Tägliche Zulage von 40.000 Yen für Mitarbeiter, die zum "GoTo Travel Secretariat" abgeordnet wurden
['Travel', 0.1593642568499776]
   [',', 0.20266551686226678]
   ['GoTo', 0.32933146490118353]
['Travel', 0.20266551686226678]
['Büroarbeit', 0.3546646545089669]
['Seconded', 0.1519991376467001]
['Major', 0.17733232725448345]
['Station', 0.3546646545089669]
['Ingenieur', 0.17733232725448345]
['Technology', 0.17707139649997508]
['Tagegeld', 0,25333189607783346]
['Mitarbeiter', 0.17733232725448345]
   
7. ~ "Wie alt bist du? Warum bin ich der einzige, der" kaputt macht "!" "Der letzte Generalsekretär des Monsters" Toshihiro Nikai wurde geschärft ~
['2', 0,25653999957603274]
['Floor', 0.3200732773176539]
['Land', 0.13717426170756597]
['Toshihiro', 0.13083466706402622]
['Origin', 0.13083466706402622]
['Balance', 0.16354333383003275]
['Politik', 0.26166933412805243]
['Entwicklung', 0.22896066736204587]
['Präfekturversammlung', 0.13083466706402622]
['Sekretär', 0.16354333383003275]
['Road', 0.22896066736204587]
   
8. ~ "Legen Sie den zerstückelten Körper in einen Topf ..." Takahiro Shiraishi sagte aus, dass die ganze Geschichte des schrecklichen Verbrechens ~
['San', 0,2575923910688616]
   ['C', 0.5029569855573655]
['Töten', 0,3889560913276654]
['Shiraishi', 0,3695082867612821]
['Beklagter', 0.3889560913276654]
   
9. ~ Nicht "Länge" ... "Unerwartete Worte", die Schönheitssalons beim Haarschneiden lehren ~
['Master', 0.23953570973227745]
['Kunden', 0.19582749984882405]
['Hair', 0.14687062488661806]
['Frisur', 0.44061187465985413]
['Beauty', 0.44061187465985413]


Es war eine einfache Implementierung von "gensim", aber es scheint, dass nur Wörter extrahiert werden können, die bis zu einem gewissen Grad wichtig erscheinen.
Ich fand Gensim sehr nützlich.

Nächstes Mal werde ich `TF-IDF` und` word2vec` verwenden, um das Thema zu bestimmen und Clustering zu implementieren!


Recommended Posts

Implementierung von TF-IDF mit Gensim
Implementierung von Desktop-Benachrichtigungen mit Python
Implementierung eines Dialogsystems mit Chainer [seq2seq]
Implementierung von "verschwommenen" neuronalen Netzen mit Chainer
Implementierung der Fibonacci-Sequenz
Beispiel für die Verwendung von Lambda
Implementierung der Bedingung zur Beurteilung der Objektauthentizität unter Verwendung der __bool__- Methode
Implementierung eines Faltungs-Neuronalen Netzwerks mit nur Numpy
Implementierung des Chainer-Serienlernens mit Mini-Batch variabler Länge
Quantum Computer Implementierung von Quantum Walk 2
Rank Learning über ein neuronales Netzwerk (RankNet-Implementierung von Chainer)
Implementierung von MathJax auf Sphinx
Erklärung und Implementierung von SocialFoceModel
Implementierung der Spieltheorie - Gefangenendilemma -
Python: Grundlagen der Verwendung von Scikit-Learn ①
Implementierung einer unabhängigen Komponentenanalyse
Quantum Computer Implementierung von Quantum Walk 3
Einführung von Kaffee mit Pyenv
Python-Implementierung des Partikelfilters
Überprüfung und Implementierung der Videorekonstruktionsmethode mit GRU und Autoencoder
Implementierung der schnellen Sortierung in Python
Quantum Computer Implementierung von Quantum Walk 1
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Implementierung von Scale-Space für SIFT
Ein Memorandum zur Verwendung von eigen3
Implementierung der JWT-Authentifizierungsfunktion in Django REST Framework mit djoser
Implementierung von CRUD mithilfe der REST-API mit Python + Django Rest Framework + igGrid
100 Sprachverarbeitung Knock-96 (unter Verwendung von Gensim): Extraktion des Vektors in Bezug auf den Ländernamen
Implementierung der Datetime-Picker-Aktion mit line-bot-sdk-python und Beispielimplementierung von Image Carousel
Einfache Implementierung eines neuronalen Netzwerks mit Chainer
Vertikaler Turm von Pisa mit OpenCV ~
Erläuterung und Implementierung von PRML Kapitel 4
Einführung und Implementierung von JoCoR-Loss (CVPR2020)
Bilderfassung von Firefox mit Python
Vorteile und Beispiele für die Verwendung von Rabbit Mq
Erklärung und Implementierung des ESIM-Algorithmus
Beurteilung des hintergrundbeleuchteten Bildes mit OpenCV
Berechnung des Normalenvektors mittels Faltung
Einführung und Implementierung der Aktivierungsfunktion
Qiskit: Implementierung einer Quantenbolzenmaschine
Verwenden wir Tomotopie anstelle von Gensim
Python-Implementierung eines selbstorganisierenden Partikelfilters
Zusammenfassung der grundlegenden Implementierung von PyTorch
Implementierung eines einfachen Partikelfilters
Implementierung eines zweischichtigen neuronalen Netzwerks 2
Implementierung der Login-Funktion in Django
Qiskit: Implementierung von Quantenhypergraphzuständen
Trübungsentfernung mit Python detailEnhanceFilter
Visualisierung gemischter Matrizen mit sklearn.metrics.ConfusionMatrixDisplay
Quantencomputer-Implementierung eines 3-Zustands-Quantenlaufs
Kollektive Volumenmessung mit FSL
Ich habe versucht, GrabCut von OpenCV zu verwenden
Einsum Implementierung der Wertiterationsmethode
Implementierung eines Lebensspiels in Python
Erklärung und Implementierung von einfachem Perzeptron
Implementierung von c / c ++> RingBuffer (N Ränder)
Python-Implementierung eines nicht rekursiven Segmentbaums
Implementierung von Light CNN (Python Keras)