【发布时间】:2018-09-02 05:25:42
【问题描述】:
我是文本挖掘的新手。我有一个 CSV 文件。我需要遍历每一行并提取一些信息,然后将它们写入另一个 CSV 文件。我正在查找我在字典中的特定信息。考虑下面的句子:
“应用程序版本为1.8.2,变量skt.len传递所需信息。文件ReadMe.txt有规范。”
我的字典是:[“应用程序版本”、“变量”、“文件”]
我需要提取:
- 应用版本:1.8.2
- 变量:skt.len
- 文件:ReadMe.txt
从文本中提取此类信息的最佳方法是什么?我正在使用 NLTK 和 StanfordCoreNLP 功能。但是,我还无法提取信息。我正在考虑使用正则表达式来提取应用程序版本。有什么想法吗?
PS:我知道这可能会使任务更加复杂。但是,CSV 文件的每一行中的句子可能具有不同的结构。例如:“应用程序版本”在一行中,可能是“应用程序版本”在另一行。或者一行中的“文件”可能是另一行中的“文件名”。
【问题讨论】:
-
请向我们展示一些示例输入和所需的输出。
-
欢迎来到 Stack Overflow!请使用tour 并通读help center,尤其是[how-to-ask] 您最好的选择是进行研究,搜索有关SO 的相关主题,然后试一试。如果您在进行更多研究和搜索后卡住并且无法解开,请发布您的尝试minimal reproducible example,并具体说明您卡在哪里。你可以使用熊猫。还有很多其他可以读取和写入 csv 的 python 包。上一个关于 panadas 和 NLTK 的问题stackoverflow.com/questions/34784004/…
-
例如:Internet Explorer 3.x 和 4.x 以及 Netscape 2.x、3.x 和 4.x 中的 JavaScript。
-
输入是存储在 CSV 文件中的文本字符串。例如:“Internet Explorer 3.x 和 4.x 中的 JavaScript”,我们需要提取一些信息,例如应用程序版本、任何文件名、文本中存在的变量名。这些关键字 ["application version", "variable", "file"] 可以在输入中显式或隐式提及。在此示例中,3.x 和 4.x 是作为应用程序版本的输出。该程序应该能够检测到它们并提取它们。它可以与 POS 树一起工作,并且只关注解析树的 NP(名词短语)来提取这些信息。
-
您可以使用正则表达式在特定文本匹配后获得所需的值,即版本或变量。
标签: python nlp nltk text-mining information-extraction