jtyoui.word package

Submodules

jtyoui.word.NAA module

class jtyoui.word.NAA.NAA(split_num=4, seq=0.001, cond=50, free=0.5)[源代码]

基类:object

all_lens = 0.0
filter(filter_cond=10, filter_free=0.5, flag=False)[源代码]

过滤一些不重要的数据

[出现次数,出现频率,凝固程度,自由程度]

参数:
  • filter_cond – 过滤凝聚度
  • filter_free – 过滤自由度
  • flag – 是否是并且还是或者,默认是或者,满足一个就过滤
返回:

过滤后的数据字典

handle()[源代码]

处理数据 计算左邻字集合和右邻字集合有多随机,左邻字信息熵和右邻字信息熵中的较小值 计算凝固程度,自由程度

naa_words = {}
read_file(file, file_encoding='utf-8-sig')[源代码]

读取文件内容,注意文件是UTF-8的格式且不是BOM格式

参数:
  • file – 读取的文件
  • file_encoding – 文本编码
read_ls(ls)[源代码]
read_string(st, split_seq='\n')[源代码]

讲字符按照split_seq格式来分割

参数:
  • st – 字符串
  • split_seq – 字符分割
返回:

None

split(words)[源代码]

拆分字符,最大匹配num个字符,并也字典的形式返回

[出现次数,出现频率,凝固程度,自由程度,关键字的左邻,关键字的右邻](作为信息熵的衡量)

jtyoui.word.TS module

class jtyoui.word.TS.TextSummary(text, title)[源代码]

基类:object

calc_summary(ratio=0.1, index=None)[源代码]

jtyoui.word.ThreadNeologism module

class jtyoui.word.ThreadNeologism.Neologism(q, split_num=4)[源代码]

基类:threading.Thread

read_ls(ls)[源代码]

数据类型[str]

参数:ls – 表示链表
read_string(st, split_seq='[,。!?:]')[源代码]

讲字符按照split_seq格式来分割

参数:
  • st – 字符串
  • split_seq – 字符分割
run()[源代码]

Method representing the thread’s activity.

You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.

split(words, lens)[源代码]

拆分字符,最大匹配num个字符,并也字典的形式返回,

[出现次数,出现频率,凝固程度,自由程度,关键字的左邻,关键字的右邻](作为信息熵的衡量)

jtyoui.word.ThreadNeologism.clean(data)[源代码]
jtyoui.word.ThreadNeologism.filter_words(frequency, cond, free, flag)[源代码]

过滤一些不重要的数据

[出现次数,出现频率,凝固程度,自由程度]

参数:
  • frequency – 过滤的频率
  • cond – 过滤凝聚度
  • free – 过滤自由度
  • flag – 是否是并且还是或者,默认是或者,满足一个就过滤
返回:

过滤后的数据字典

jtyoui.word.ThreadNeologism.handle(key_list)[源代码]

处理数据 计算左邻字集合和右邻字集合的频率,左邻字信息熵和右邻字信息熵中的较小值 计算凝固程度,自由程度

jtyoui.word.ThreadNeologism.read_file(file, file_encoding='utf-8')[源代码]

读取文件内容,注意文件是UTF-8的格式且不是BOM格式

参数:
  • file – 读取的文件
  • file_encoding – 文本编码
jtyoui.word.ThreadNeologism.statistics(key_list)[源代码]
jtyoui.word.ThreadNeologism.thread_analysis(file, thread_num=10, split_num=4, frequency=0.0001, cond=10, free=0.1, flag=False)[源代码]

多线程启动分析

参数:
  • file – 训练的文本
  • thread_num – 线程数
  • split_num – 匹配个数
  • frequency – 频率
  • cond – 凝聚度
  • free – 自由度
  • flag – 是否是并且还是或者,默认是或者,满足一个就过滤
返回:

分析完毕的字典

jtyoui.word.ThreadNeologism.thread_open(split_num, target, keys_list, size)[源代码]

开启多线程

参数:
  • split_num – 线程数
  • target – 被开启的方法
  • keys_list – 所有单词的键链表
  • size – 被分割成一块的大小

jtyoui.word.neologism module

class jtyoui.word.neologism.Neologism[源代码]

基类:object

filter_words(count, frequency, cond, free)[源代码]

过滤一些不重要的数据

[出现次数,出现频率,凝固程度,自由程度]

参数:
  • count – key出现的次数
  • frequency – 过滤的频率
  • cond – 过滤凝聚度
  • free – 过滤自由度
返回:

过滤后的数据字典

handle()[源代码]

处理数据 计算左邻字集合和右邻字集合的频率,左邻字信息熵和右邻字信息熵中的较小值 计算凝固程度,自由程度

read_file(file, split_num)[源代码]

按文件读取

参数:
  • file – 文件地址
  • split_num – 最大分割词语
read_ls(ls, split_num)[源代码]

数据类型[str]

参数:
  • ls – 表示链表
  • split_num – 分词的个数
read_string(st, split_num, split_seq='[,。!?:., ?]')[源代码]

按字符按照split_seq格式来分割

参数:
  • st – 字符串
  • split_num – 分词的个数
  • split_seq – 字符分割
statistics()[源代码]

统计每个单词的频率

jtyoui.word.neologism.clean(data)[源代码]
jtyoui.word.neologism.mains(file, split_num, count, frequency, cond, free)[源代码]

成词发现算法。保存结果在当前运行环境下的result.txt文件中

参数:
  • file – 文本地址
  • split_num – 成词最大粒度
  • count – key出现的次数
  • frequency – 过滤的频率
  • cond – 过滤凝聚度
  • free – 过滤自由度
jtyoui.word.neologism.remove_subset(ls: list) → list[源代码]

去除列表中的子集。比如:[‘aa’,’a’,’ab’] –> [‘aa’,’ab’]

jtyoui.word.tfidf module

class jtyoui.word.tfidf.TFIDF[源代码]

基类:object

get_tf_idf(word)[源代码]

传入一个词语,获得重要性

input_ls(ls)[源代码]
input_str(str_)[源代码]

Module contents