从文本字符串中提取国家名称
我正在考虑写一个应用程序,这个程序会从一个讨论区获取提交的标题,并尝试根据这些标题的相关性在地图上标出它们可能对应的地方。之后我还想加上像Twitter这样的功能。
我现在遇到的困难是,如何从标题中找出最可能相关的国家。我最初的想法是准备一个国家的列表,并且列出它们的各种变体(比如“English”可以对应“England”等),然后在文本中查找这些词的出现情况。不过,这样做可能会比较慢,而且我还得为每个国家列出所有的所有格形式。
我打算用Python来实现这个功能(这样我也能学会使用它),所以我想知道有没有a) 一个可以做到这点的库(我可以从中学习),或者b) 有没有更简单的方法来实现这个?
为了让你了解我正在处理的输入类型,这里有一些例子以及我想从中提取的信息:
- "Well they can't arrest all of us - Giving the middle finger to the British legal system (pic)"
- 关键词: British(大不列颠)
- "Poll: Wikileaks Assange leading Time 'Person of the Year' - Assange, an Australian who has become a thorn in the side of the Pentagon with his releases of secret US military documents about the wars in Iraq and Afghanistan, had received 21,736 votes as of Friday."
- 关键词: Afghanistan, Iraq, [Australian](阿富汗,伊拉克,[澳大利亚])- 对于我的目的来说,澳大利亚可能不太容易被识别为相关,但这对我来说是可以接受的
- "Cyber attack on Nobel peace prize website launched. Stay classy, China."
- 关键词: China(中国)
- "A Jewish surgeon refuses to operate on a patient and walks out of the operating room after discovering a nazi tattoo on the patient's arm."
- 关键词: none - 对于我的目的来说可以接受
* 这个词可能用错了
3 个回答
0
请看看这个回答是否对你有帮助:
[这个叫geograpy3的工具]可以帮助你从网址或文本中提取地名,并为这些地名添加一些背景信息,比如区分一个地方是国家、地区还是城市。
0
在MySQL中使用全文搜索索引。然后通过AJAX调用来查询你的数据库。
3
你可以了解一下 Yahoo! Place Maker API
Place Maker 是一个可以让网络内容变得更有地理信息的工具。很多网上的内容虽然和地理位置有关,但却不容易被找到。这个服务可以处理你输入的自由文本,识别出文本中提到的地点,搞清楚这些地点的具体含义,并为每个地点返回一个独特的标识符(叫做WOEID)。同时,它还会告诉你这个地点在文本中出现了多少次,以及具体出现在什么地方。你得到的WOEID可以用来进一步通过Yahoo!的GeoPlanet™ API获取更多的地理信息和发现。