第一次在这里发表。我希望在文本分析方面我可以找到一些我想要完成的事情。如何在文本块中统计[名称列表中的任何名称] + [特定姓氏]?
首先,我在python中这样做,并希望保留在Python中,因为这个函数将成为一个更大,否则我很满意的健康工具的一部分。我有NLKT和Anaconda也都建立了,所以利用这些资源也是可能的。
我一直在研究一个工具,用于跟踪和添加大块文本中城市名称的引用。例如,该工具可以计算在文本块中检测到“芝加哥”,“纽约”或“洛杉矶”,“旧金山”等等的次数,并且可以对它们进行排名。
目前我遇到的问题是搞清楚如何从同名的城市名称中删除误报。所以,比如说,我想要算杰克逊密西西比,但不算“弗兰克杰克逊”,“简杰克逊”等等......
然而我想要做的是找出解决任何误报的方法这可能是[长名单中的任何名字] + [选择姓氏]。
我已经从人口普查数据中汇总了大约5000个名字的列表,我也可以将其作为列表带入Python。我也可以检查真/假来查找名单是否在列表中,所以我知道我越来越近了。
不过,我无法弄清楚是如何表达我想要的东西,这(再次,我将使用杰克逊作为一个例子)是一样的东西:
totalfirstnamejacksoncount = count (“[any name from census list] + Jackson”)
更多或更少。有什么方法可以将它作为人口普查清单中的通配符吗?设置一个变量,将其读作“此列表中的任何项目”,以便我可以转到“anynamevariable + Jackson”,?或者还有其他方式来表示“人口普查清单+杰克逊中的任何词汇”?
理想情况下,我的目标是获得“[任何名字] + [指定的姓氏]”的总数,所以我可以a)从[也是城市名字的姓氏]总数中减去它们也可以使用这个计数来进行其他改进。
在最糟糕的情况下,我可以看到一种方法,我可以直接修改人口普查列表,并将Jackson(或任何我需要的姓氏)添加到每个名称并手动添加行,但我觉得这样做会使当我看到每个名字的约5000个名字时,我的代码就会混乱不堪。
对不起,这个冗长的帖子。我感谢你对这一切的帮助。如果您有其他建议,您认为可能是更好的方法来处理它,我很高兴听到这些。
首先,NLTK特征语料库'nltk.corpus.names'具有约8000个英文名称,这可能比您收集的列表更完整。 – DyZ
你能列出每个“杰克逊”实例前面的单词并循环遍历它来检查它是否在你的nltk.corpus.names中? – Dwaxe
我想过创建一致性,然后检查语料库中列表中的任何名称,但是在NLTK中获取一致性以输出到变量(它不想这么做)以及调整一致的长度,以便它可以捕捉到名称,但不会超过捕获。我认为我会首先考虑这一点,因为看起来如果我可以走了([从这个列表中的任何一个] +“杰克逊”)可能是最直接的方式。另外,感谢您指出NLTK名单。这可能是一个更好的方法去组装名字。 – newreadia