Python nltk English Detection

http://blog.alejandronolla.com/2013/05/15/detecting-text-language-with-python-and-nltk/

>>> from nltk import wordpunct_tokenize

>>> wordpunct_tokenize("That‘s thirty minutes away. I‘ll be there in ten.")

[‘That‘, "‘", ‘s‘, ‘thirty‘, ‘minutes‘, ‘away‘, ‘.‘, ‘I‘, "‘", ‘ll‘, ‘be‘, ‘there‘, ‘in‘, ‘ten‘, ‘.‘]

>>> from nltk.corpus import stopwords

>>> stopwords.fileids()

[‘danish‘, ‘dutch‘, ‘english‘, ‘finnish‘, ‘french‘, ‘german‘, ‘hungarian‘, ‘italian‘, ‘norwegian‘, ‘portuguese‘, ‘russian‘, ‘spanish‘, ‘swedish‘, ‘turkish‘]

>>>

>>> stopwords.words(‘english‘)[0:10]

[‘i‘, ‘me‘, ‘my‘, ‘myself‘, ‘we‘, ‘our‘, ‘ours‘, ‘ourselves‘, ‘you‘, ‘your‘]

>>> languages_ratios = {}

>>>

>>> tokens = wordpunct_tokenize(text)

>>> words = [word.lower() for word in tokens]

>>> for language in stopwords.fileids():

... stopwords_set = set(stopwords.words(language))

... words_set = set(words)

... common_elements = words_set.intersection(stopwords_set)

...

... languages_ratios[language] = len(common_elements)

# language "score"

>>>

>>> languages_ratios

{‘swedish‘: 1, ‘danish‘: 1, ‘hungarian‘: 2, ‘finnish‘: 0, ‘portuguese‘: 0, ‘german‘: 1, ‘dutch‘: 1, ‘french‘: 1, ‘spanish‘: 0, ‘norwegian‘: 1, ‘english‘: 6, ‘russian‘: 0, ‘turkish‘: 0, ‘italian‘: 2}

>>> most_rated_language = max(languages_ratios, key=languages_ratios.get)

>>> most_rated_language

‘english‘

时间: 2024-10-05 14:02:10

Python nltk English Detection的相关文章

【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理

干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开数据集.模型上提供了全面.易用的接口,涵盖了分词.词性标注(Part-Of-Speech tag, POS-tag).命名实体识别(Named Entity Recognition, NER).句法分析(Syntactic Parse)等各项 NLP 领域的功能.

python nltk 模拟退火分词

#!/usr/bin/python import nltk from random import randint def segment(text, segs): # 分词 words = [] last = 0 for i in range(len(segs)): if segs[i] == '1': words.append(text[last:i+1]) last = i+1 words.append(text[last:]) return words def evaluate(text,

python NLTK 环境搭建

这里是我之前亲自操作过安装nltk,安装成功了.当时记得是参考这篇博文:http://www.tuicool.com/articles/VFf6Bza 其中,nltk安装时,遇到模块未找到,依次根据提示对应下载了四五个模块,才成功安装.后来装语料库,也是离线安装的. 1.安装Python(我安装的是Python2.7.8,目录D:\Python27) 2.安装NumPy(可选) 到这里下载: http://sourceforge.net/projects/numpy/files/NumPy/1.

python+NLTK 自然语言学习处理二:文本

在前面讲nltk安装的时候,我们下载了很多的文本.总共有9个文本.那么如何找到这些文本呢: text1: Moby Dick by Herman Melville 1851 text2: Sense and Sensibility by Jane Austen 1811 text3: The Book of Genesis text4: Inaugural Address Corpus text5: Chat Corpus text6: Monty Python and the Holy Gra

python nltk 入门demo

sudo pip install -U pyyaml nltk import nltk nltk.download() 搞不定,必须代理: Installing via a proxy web server? If your web connection uses a proxy server, you should specify the proxy address as follows. In the case of an authenticating proxy, specify a us

python+NLTK 自然语言学习处理四:获取文本语料和词汇资源

在前面我们通过from nltk.book import *的方式获取了一些预定义的文本.本章将讨论各种文本语料库 1 古腾堡语料库 古腾堡是一个大型的电子图书在线网站,网址是http://www.gutenberg.org/.上面有超过36000本免费的电子图书,因此也是一个大型的预料库.NLTK也包含了其中的一部分 .通过nltk.corpus.gutenberg.fileids()就可以查看包含了那些文本. ['austen-emma.txt', 'austen-persuasion.tx

python+NLTK 自然语言学习处理五:词典资源

前面介绍了很多NLTK中携带的词典资源,这些词典资源对于我们处理文本是有大的作用的,比如实现这样一个功能,寻找由egivronl几个字母组成的单词.且组成的单词每个字母的次数不得超过egivronl中字母出现的次数,每个单词的长度要大于6. 要实现这样的一个功能,首先我们要调用FreqDist功能.来得到样本字母中各个字母出现的次数 puzzle_letters=nltk.FreqDist('egivrvonl') for k in puzzle_letters: print(k,puzzle_

Python: NLTK几个入门函数

1.统计词频的concordance() 函数 格式:text.concordance("the text word") 例如  :text.concordance(word) text1.concordance("monstrous")Displaying 11 of 11 matches:ong the former , one was of a most monstrous size . ... This came towards us , ON OF THE

Python框架、库以及软件资源汇总

转自:http://developer.51cto.com/art/201507/483510.htm 很多来自世界各地的程序员不求回报的写代码为别人造轮子.贡献代码.开发框架.开放源代码使得分散在世界各地的程序员们都能够贡献他们的代码与创新. Python就是这样一门受到全世界各地开源社区支持的语言.Python可以用来开发各种小工具软件.web应用.科学计算.数据分析等等,Python拥有大量的流行框架,比如Django.使用Python框架时,可以根据自己的需求插入不同的模块,比如可以用S