jieba、NLTKの研究ノート

  中国の言葉 - jieba

インポート再
インポートjieba 

news_CN =「」 ' 
    CCTV 315パーティの露出Shendan湖北省の有名なブランド、林天『ブランドの土壌の卵』トリッキーな商標で遊んで、一方で、実際、など通常の卵を装っている
    『新鮮な大地、』登録」に登録されました土壌の卵「消費者が誤っていることを考えるように、商標、」良い土。」3月15日夜、この上の北京ニュースレポーター
    事は湖北Shendan健康食品有限公司の側面を呼び出して、そのスタッフは知識が、あなたはまだ、プレス時のように、状況を明確に理解する必要があると述べた
    最新の応答を取得します。北京ニュースの記者はまた、その問い合わせを見つけ、株式会社湖北Shendan健康食品有限公司は、農業主要国営企業の工業化で
    業界、ハイテク企業、以前に虚偽の宣伝「中国最大の卵事業」の疑いが60,000元を罰金を科されました。
    '' ' 
 
文字列= re.sub(' [^ \のW] ''」、news_CN)正規#記号を使用するには、これは、文字列strのある
 
seg_list = jieba.cut(文字列、cut_all =偽)# 正確モード
プリント( '/'。参加(seg_list))

'' ' 
パス=' ' 
を開くファイル=(パス、' R&LT ')
jieba.load_userdict(ファイル)
File.close()
' '' 
jieba.load_userdict([「神ダンライセンス「」ロータスブランド「」
seg_list = jieba.cut(文字列は、cut_all = False)が# 正確なモードstrは文字列の前にある
印刷(「/」。参加(seg_list))#指定した単語辞書は分割されません。

  英語の単語 - NLTK

NLTKインポート
nltk.corpusインポート名から
nltk.classifyインポートNaiveBayesClassifierから
#節
(news.data [0])文= nltk.sent_tokenize 
postag_data = [] 送信における文のための
    タグ付け#音声[( 'RULE'、「NNP ')、...] 
    postag_data + = nltk.pos_tag(nltk.word_tokenize(送信))

postag_dataでWord用:
    #は固有名詞はを宣告されている大文字
    IF' NNP「==ワード[1]:
        印刷(単語)

  例1:名前の性別予測

#导入数据[(u'Aaron ' '男性')、(u'Abbey'、 '男性')] 
names.wordsにおける名データ=([(名前、 '男性')( 'male.txt') ] + 
     [(名前、 '女性'))]( 'female.txt')names.wordsにおける名

#提取特征
DEF gender_features(ワード):
    リターン{ 'last_letter':ワード[-1]} 

train_set = [( (データ中のN、G)]をgender_features(N)、G)

#1训练模型
クラシファイア= NaiveBayesClassifier.train(train_set)
classifier.classify(gender_features( 'フランク'))

  実施例2:ポジティブなコメントとネガティブなコメント株の割合を決定します

positive_vocab = [ '素晴らしい'、 '優秀'、 '幻想'、 '素晴らしい'、 '良い'、 '素敵な'、 '素晴らしい'、 ':)'] 
negative_vocab = [ '悪い'、 'ひどい'、 '役に立ちません' '憎悪'、 ':('] 
neutral_vocab = [ '映画'、 ''、 '音'、 '俳優は'、 'でした'、 '知っている'、 'ある' 'だった'、 '言葉'、」ない」] 

DEF word_feats(ワード):
    戻り辞書(単語で単語のための[(ワード、TRUE)])
 
positive_features = [(word_feats(POS)、 'positive_vocabにおけるPOS用POS')] 
negative_features = [(word_feats(NEG) 、negative_vocab]でNEGための'NEG')
neutral_features = [(word_feats(NEU)、 'NEU')neutral_vocab]でNEUため

train_set = negative_features + positive_features + neutral_features 
クラシファイア= NaiveBayesClassifier.train(train_set)

NEG = 0 
POS = 0
文= "恐ろしい映画、私はそれが好き" 
()文= sentence.lowerを
言葉= sentence.split(」「)
の単語での単語のために:
    classResult = classifier.classify(word_feats(ワード))
    であればclassResult == 'NEG':
        NEG = NEG + 1 
    classResult == 'POS'場合:
        POS = POS + 1枚の

プリント( 'プラス' + STR(フロート(POS)/ LEN(単語)))
プリント( 'ネガティブ' + STR(フロート(NEG )/ LEN(単語)))

  

参考リンク:

英語の単語ツールJieba、NLTK 8種類のコントラストのセグメンテーション効果

 

おすすめ

転載: www.cnblogs.com/iupoint/p/11320065.html