2016-05-23 25 views
0

Ich habe über Word2Vec (Deeplearning4j) gelernt, aber ich konnte nichts über die Unterstützung von Chinesisch finden. Aus verschiedenen Quellen habe ich erfahren, dass es auch mit einem Plugin auf Chinesisch funktioniert.Word2Vec mit chinesisch

Also bitte sagen Sie mir ein Plugin für Chinesisch, auch wie es mit Word2vec implementiert werden soll.

Und wenn Deeplearning4j Word2Vec ist gut oder nicht für Englisch und Chinesisch (beide) Unterstützung. Wenn nicht, schlagen Sie bitte eine bessere Wahl mit seinem Link vor.

Sprache: Java

+0

Das könnte Ihnen helfen: http://www.slideshare.net/radiohead0401/running-word2vec-with-chinese-wikipedia-dump –

+0

Habe das schon gelesen. Es ist gut, aber es ist für Python. Need for java –

+0

Was brauchen Sie für Chinesen genau?Word2vec funktioniert nur mit Wortvektoren oder Zeichenvektoren im Fall von Mandarin ... Sprechen Sie über Parser? Stanford hat eine gute: http://nlp.stanford.edu/projects/chinese-nlp.shtml – tremstat

Antwort

0

Ich weiß nicht, Java, aber ich kann Ihnen zeigen, wie Python verwenden, um dies zu tun:

import jieba 
import gensim 
q = [u'我到河北省来', u'好棒好棒哒'] 
z = [list(jieba.cut(i)) for i in q] 
model = gensim.models.Word2Vec(z, min_count=1) 
model.similar_by_word(u'我') 

das Ergebnis nicht gut ist, da die Trainingsdaten sehr-sehr wenig ist. Wenn Sie mehr Daten hinzufügen, wird das Ergebnis besser sein. Und für Ihre Bedingung können Sie einen Tokenizer verwenden, der von Java geschrieben wurde, und die gleiche Arbeit wie die jieba-Bibliothek ausführen, und dann einfach die richtigen Formatdaten eingeben, um sie zu modellieren und zu trainieren.

0

Das Wort2vec ist nur ein Datensatz von Wortvektoren, in den meisten Fällen ist es eine Textdatei, jede Zeile enthält ein "Wort" und seinen Wortvektor, getrennt durch Leerzeichen (oder Tab).

Sie können dieses word2vec in einer beliebigen Programmiersprache trainieren. Laden Sie eine Textdatei sollte kein Problem für Sie sein.

In Bezug auf die Chinesen, würde ich 3 Tools vorschlagen:

1) the Character-enhanced Word Embedding (c++)

Xinxiong Chen Lei Xu, Zhiyuan Liu, Maosong Sun, Huanbo Luan. Gemeinsames Lernen von Zeichen- und Worteinbettungen. Die 25. Internationale Konferenz für Künstliche Intelligenz (IJCAI 2015).

bemerken Sie bitte, dass der Ausgang des CWE durch Register getrennt wird (\ t)

2) Fast text by Facebook (c++)

Fasttext auf chinesisches ausbilden könnte, ist es auf dem Charakter baut n-Gramm. In meinem Vortrag:

Aicyber’s System for IALP 2016 Shared Task: Character-enhanced Word Vectors and Boosted Neural Networks

stelle ich die Mindestzeichen n-Gramm bis 1 für Chinesisch.

3) GENSIM (Python)

@Howardyan hatte zeigen Sie den Code für GENSIM verwenden, einschließlich der tokenizer. Bitte beachten Sie, dass die Standard-Trainingsmethode CBOW für Gensim ist. Skip-Gramm kann Ihnen bessere Ergebnisse liefern, hängt von Ihren Daten ab. Und hier ist ein Vergleich auf gensim and Fasttext.

PS: Beide 1) 2) Unterstützung Training der ursprünglichen word2vec.