繁体   English   中英

Python中的关键词提取

[英]Key word extraction in Python

我正在django建立一个网站,需要从简短的(类似Twitter)消息中提取关键词。

我已经看过像topia.textextract和nltk这样的软件包 - 但是对于我需要做的事情来说似乎都有点过分。 我需要做的就是过滤“和”,“或”,“不”之类的词,同时保留不是连词或其他词性的名词和动词。 是否有任何“更简单”的包可以做到这一点?

编辑:这需要在生产网站上近乎实时地完成,因此根据他们的响应时间和请求限制,使用关键字提取服务似乎是不可能的。

你可以让一组sw的“停止词”,你想消除(也许复制一劳永逸从NLTK的停止词的语料库,这取决于你是多么熟悉,你需要支持的各种自然语言),然后应用非常简单。

例如,如果你有一个单词列表sent组成句子(剪毛标点符号和小写,为简单起见), [word for word in sent if word not in sw]是所有你需要做非停用词列表 - 几乎不容易,对吧?

要首先使用标准库中的re模块获取sent列表,如果sentstring是包含您正在处理的句子的字符串,则re.findall(r'\\w+', sentstring)可能就足够了 - 它不会小写,但你可以改变我上面建议的列表理解为[word for word in sent if word.lower() not in sw]以补偿这一点,并且(btw)保留单词的原始情况,这可能是有用的。

导航员的NO或手术室的OR的缩写需要一点点小心,以免导致SNAFU ;-)有人怀疑通过用“部分”标记单词“找到NO并将其发送到OR”可以获得更好的结果。使用上下文的语音...提示1:“OR”应该导致“[名词]”不是“[连词]”。 提示2:如果对单词有疑问,请将其保留为关键字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM