qinwf / jiebaR

Chinese text segmentation with R. R语言中文分词 (文档已更新 🎉 :https://qinwenfeng.com/jiebaR/ )
Other
344 stars 109 forks source link

计划 - 新的接口 #45

Open qinwf opened 7 years ago

qinwf commented 7 years ago

重新规划新的 API,让大家用起来方便一些。下面是一些想法:

1、分离 Cppjieba 中的分词,关键词提取,Simhash 的方法为小的模块,不相互依赖。Cppjieba 5.0 增加了 Textrank 的模块,现有的接口想把这个模块整合起来,使用起来感觉可能会不方便。

在原有的 Cppjieba 的代码中,关键词提取和Simhash 的步骤是包含了分词步骤的,而这两个步骤其实可以独立出来,用户先分词,然后执行后面两步,比如:

text %>% 
  fenci() %>% 
  key_tfidf() %>%  # key_textrank()
  simhash() 

2、分离筛选标点,筛选停止词,读取文件,bylines 等逻辑到单独的函数,这样用户可以自定义需要的步骤,也减少 ifelse 的损失。

text %>% 
  rm_sym() %>%
  rm_stopwords %>%
  fenci()

组合函数链,比如:

rm_sym_stopwords = function(txt){
  txt %>% 
    rm_sym %>% 
    rm_stopwords()
}

text %>% 
  rm_sym_stopwords %>%
  fenci()
alexwwang commented 7 years ago

很好的想法,尤其是管道的使用。

此外,想补充一些,关于tr这块,是否可以参考python的textrank4zh包,可以整合到R里,提供文本关键句、关键短语和关键词的抽取。 这么建议,主要是想除了细粒度的分词结果外,是否可以考虑提供较粗颗粒度的切割结果, 因为有感觉后者在大量文本,尤其是短文本的分析任务,比如主题抽取和聚类中,用于获取文本特征, 较之细粒度的词,可能会有更理想的表现。

2016-11-18 11:13 GMT+08:00 qinwf notifications@github.com:

重新规划新的 API,让大家用起来方便一些。下面是一些想法:

1、分离 Cppjieba 中的分词,关键词提取,Simhash 的方法为小的模块,不相互依赖。Cppjieba 5.0 增加了 Textrank 的模块,现有的接口想把这个模块整合起来,使用起来感觉可能会不方便。

在原有的 Cppjieba 的代码中,关键词提取和Simhash 的步骤是包含了分词步骤的,而这两个步骤其实可以独立出来, 用户先分词,然后执行后面两步,比如:

text %>% fenci() %>% key_tfidf() %>% # key_textrank() simhash()

2、分离筛选标点,筛选停止词,读取文件,bylines 等逻辑到单独的函数,这样用户可以自定义需要的步骤,也减少 ifelse 的损失。

text %>% rm_sym() %>% rm_stopwords %>% fenci()

组合函数链,比如:

rm_sym_stopwords = function(txt){ txt %>% rm_sym %>% rm_stopwords() } text %>% rm_sym_stopwords %>% fenci()

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/qinwf/jiebaR/issues/45, or mute the thread https://github.com/notifications/unsubscribe-auth/AA0Sqp5TFh8StYakM2NtHo6kW_nr8HFEks5q_RfrgaJpZM4K2E4k .