Browse Source

flashtext分词

master
wangsheng 3 years ago
parent
commit
3fdfd0259d
2 changed files with 35 additions and 14 deletions
  1. +35
    -0
      自然语言处理/中文分词/flashtext_cut.py
  2. +0
    -14
      自然语言处理/中文分词/flashtext_test.py

+ 35
- 0
自然语言处理/中文分词/flashtext_cut.py View File

@@ -0,0 +1,35 @@
# -*- coding: utf-8 -*-

from flashtext import KeywordProcessor
import pandas as pd

def loadKeyWord(keyword_processor):
data = pd.read_table('./result.txt',
header=None, # 表示不要导入原文件内的表头
names=['keyword','count'], #自定义列名
sep=',', # 原文件的分隔符是'::',此处是按此分隔符将数据导入
engine= 'python')
keywords = data['keyword']
for keyword in keywords:
keyword_processor.add_keyword(str(keyword),)

keyword_processor = KeywordProcessor(case_sensitive=False)
loadKeyWord(keyword_processor)

def wordCut():
with open('../data_and_result/data-艺术-去重.txt', 'r', encoding='utf-8') as lines:
for line in lines:
print(line)
#定义要去掉的标点字
drop_dict = [u',', u'\n', u'。', u'、', u':', u'(', u')', u'[', u']', u'.', u',', u' ', u'\u3000', u'”', u'“', u'?', u'?', u'!', u'‘', u'’', u'…']
for i in drop_dict: #去掉标点字
line = line.replace(i, '')

keywords_found = keyword_processor.extract_keywords(line, span_info=False)
print(keywords_found)

# wordCut()

keywords_found = keyword_processor.extract_keywords('1862-1942),俄罗斯和苏联著名画家,美术教育家,巡回展览画派画家,1941年斯大林奖章的获得者。1862年5月19日他出生在乌法一个传统的商人家庭,自幼对绘画感兴趣,早年进入莫斯科绘画雕刻建筑学院学习,先后跟著名画家谢洛夫和马科夫斯基学习,创作了不少风俗画,获得了自由画家的称号和古典画家的称号。1888年《爱情魔药》是画家取材俄罗斯民间传说故事的尝试,画作《隐士》被科特列季亚科夫购买。1900年他开始痛苦寻找新的创作题材,这时期完成的《高尔基像》(1901)才真正显示出他的创作才能和油画技巧。1905年的革命促使画家转变了创作方向,选择日常生活中的普通人为主题,1905年的《画家妻子涅斯捷洛娃》,1906年又画了女儿的肖像,同年前往托尔斯泰庄园为作家画像。十月革命后,特别是20世纪20年代末,他的创造力再次焕发,完成了许多当代名人的肖像,最著名是1935年的《伊凡・巴甫洛夫》,这幅画在1941年被前苏联政府授予“斯大林奖”及“劳动红旗”的荣誉。1941年6月苏德战争爆发后,他的健 康状况和经济状况迅速恶化。1942年,他在创作《村庄里的秋天》时中风去世。主要作品有《爱情魔药》、《软禁家中》、《巴甫洛夫肖像》、《画家妻子涅斯捷罗娃肖像》等。', span_info=False)
print(keywords_found)


+ 0
- 14
自然语言处理/中文分词/flashtext_test.py View File

@@ -1,14 +0,0 @@
from flashtext import KeywordProcessor

f = open('data-艺术-去重.txt', 'r', encoding='utf-8') #读取文章
s = f.read() #读取为一个字符串

#定义要去掉的标点字
drop_dict = [u',', u'\n', u'。', u'、', u':', u'(', u')', u'[', u']', u'.', u',', u' ', u'\u3000', u'”', u'“', u'?', u'?', u'!', u'‘', u'’', u'…']
for i in drop_dict: #去掉标点字
s = s.replace(i, '')

keyword_processor = KeywordProcessor(case_sensitive=False)
keyword_processor.add_keyword('印象派',)
keywords_found = keyword_processor.extract_keywords(s, span_info=False)
print(len(keywords_found))

Loading…
Cancel
Save