Python中自动确定单词上下文/含义的方法

2024-09-27 19:18:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于不同主题(特别是子Reddit名称)的Python单词列表。我只需要过滤掉关于编程的小标题,如“linux”、“Python”、“lisp”、“programming”、“ProgrammerHumor”等(注意与大写字母不一致)。有没有什么自动的方法。G使用NLTK,还是我必须手工操作

编辑:
显然,我最初的问题有点不清楚。所以我有一长串可能的subreddit名称,我只想过滤掉那些与编程有关的名称我不知道哪些是-可能有编程语言名称(“lisp”、“Python”)或通用编程材料(“编程”、“ProgrammerHumor”)或任何与编程相关的东西(“LearningMachineLearning”、“linux”).是否有任何方法可以根据单词的意思/上下文自动提取这些词,可能是使用NLP,还是必须手动提取


Tags: 方法名称主题列表linux编程大写字母单词
1条回答
网友
1楼 · 发布于 2024-09-27 19:18:45

我不确定我是否理解你想要实现的目标。但是如果问题是你是否能匹配那些被大写字母污染的单词,你应该把所有的单词都转换成小写,然后进行一个regex匹配

在您的情况下,这可能类似于:

步骤1:安装正则表达式:

pip install regex

步骤2:编写代码:


import regex as re
list_of_stuff = ['Python', 'linux', 'lisp', 'programming', 'ProgrammerHumor']
thing_to_find = 'program'
mult3 = map(lambda x: x.find(thing_to_find), list(map(str.lower, list_of_stuff)))
print (list(mult3)) # [-1, -1, -1, 0, 0] -1 = no match, 0 = match

在上述情况下,输出为:

[-1, -1, -1, 0, 0] 

其中-1表示索引不匹配,0表示匹配

相关问题 更多 >

    热门问题