NLP
一、自然语言处理解释
NLP
子领域
著名工具包
文本表达形式
语言模型
分布式表示
二、API实现
Jieba(分词、添加自定义词典、关键词提取)
import jieba
# 1、分词
sentence = "我来到深圳清华大学和香港中文大学"
seg_list = jieba.cut(sentence, cut_all=True) # 全模式
print("|".join(seg_list))
seg_list = jieba.cut(sentence) # 精确模式
print("|".join(seg_list))
seg_list = jieba.cut_for_search(sentence) # 搜索引擎模式
print("|".join(seg_list))
# 2、添加自定义词典
# jieba.load_userdict(file_name)
# add_word(word, freq=None, tag=None);del_word(word); # 动态修改词典
# suggest_freq(segment, tune=True) # 调节单个词语词频
# 3、关键词提取
import jieba.analyse
# 返回TF-IDF权重最大的关键词
s = "此外,公司拟对全资子公司吉林欧亚置业有限公司增资4.3亿元,增资后,吉林欧亚置业注册资本由7000万元增加到5亿元。吉林欧亚置业主要经营范围为房地产开发及百货零售等业务。目前在建吉林欧亚城市商业综合体项目。2013年,实现营业收入0万元,实现净利润-139.13万元。"
for x, w in jieba.analyse.extract_tags(s, withWeight=True):
print('%s %s' % (x, w))
# TestRank关键词抽取
for x, w in jieba.analyse.textrank(s, withWeight=True):
print('%s %s' % (x, w))
# 4、词性标注
import jieba.posseg as pseg
words = pseg.cut("我爱北京天安门")
for word, flag in words:
print('%s %s' % (word, flag))
# 6、Tokenize: 返回词语在原文的起止位置
result = jieba.tokenize('永和服装饰品有限公司')
for tk in result:
print("word %s\t\t start: %d \t\t end:%d" % (tk[0],tk[1],tk[2]))
精确模式:试图将句子最精确的切开,适合文本分析;
全模式:把句子中所有的成词词语都扫描出来,速度非常快,但不能解决歧义;
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词;
jieba的词性标注,词性表有、形容词a,区别词b,连词c,名词n,动词v;
Pyltp
NLTK
import nltk
article = "Beyoncé Giselle Knowles-Carter (/biːˈjɒnseɪ/ bee-YON-say) (born September 4, 1981) is an American singer, songwriter, record producer and actress. Born and raised in Houston, Texas, she performed in various singing and dancing competitions as a child, and rose to fame in the late 1990s as lead singer of R&B girl-group Destiny's Child."
tokens = nltk.word_tokenize(article)
nltk.pos_tag(tokens) # 词性标注
nltk.FreqDist(w.lower() for w in tokens) # 提取词频
nltk.PorterStemmer().stem('lying') # 提取词根
nltk.stem.WordNetLemmatizer().lemmatize('dancing','v') # 词形还原
nltk.edit_distance('humble','dumpy') # 编辑距离
# 查看nltk词性标注分类
nltk.help.upenn_tagset()
Spacy
GloVe
Gensim
三、代码实现
四、相关论文
Deep learning
机器翻译
研究领域
Neural machine translation研究任务:machine translation
传统模型结构的实现,讲解传统编码器-解码器框架下的RNNenc模型进行详细讲解;改进的RNNsearch
基线模型和改进模型的机器翻译数据流程图
传统模型详解