Snowball Stemmer является только последним словом

Я хочу поместить документы в корпус документов с открытым текстом, используя пакет tm в R. Когда я применяю функцию SnowballStemmer ко всем документам корпуса, только последнее слово каждого документа ставится в тупик.

library(tm)
library(Snowball)
library(RWeka)
library(rJava)
path <- c("C:/path/to/diretory")
corp <- Corpus(DirSource(path),
               readerControl = list(reader = readPlain, language = "en_US",
                                    load = TRUE))
tm_map(corp,SnowballStemmer) #stemDocument has the same problem

Я думаю, что это связано с тем, пути документы считываются в корпус. Чтобы проиллюстрировать это на некоторых простых примерах:

> vec<-c("running runner runs","happyness happies")
> stemDocument(vec) 
   [1] "running runner run" "happyness happi" 

> vec2<-c("running","runner","runs","happyness","happies")
> stemDocument(vec2)
   [1] "run"    "runner" "run"    "happy"  "happi" <- 

> corp<-Corpus(VectorSource(vec))
> corp<-tm_map(corp, stemDocument)
> inspect(corp)
   A corpus with 2 text documents

   The metadata consists of 2 tag-value pairs and a data frame
   Available tags are:
     create_date creator 
   Available variables in the data frame are:
     MetaID 

   [[1]]
   run runner run

   [[2]]
   happy happi

> corp2<-Corpus(DirSource(path),readerControl=list(reader=readPlain,language="en_US" ,  load=T))
> corp2<-tm_map(corp2, stemDocument)
> inspect(corp2)
   A corpus with 2 text documents

   The metadata consists of 2 tag-value pairs and a data frame
     Available tags are:
     create_date creator 
   Available variables in the data frame are:
     MetaID 

   $`1.txt`
   running runner runs

   $`2.txt`
   happyness happies
-121--1481368- Потеря новых строк с помощью XDocument Я заполняю TreeView узлами на основе XML-документа. Тем не менее, кажется, что когда я иду, чтобы поместить значение атрибута в текстовое поле, он теряет его новые строки/каретки returns/tabs. Я начинаю с...

Я заполняю TreeView узлами на основе XML-документа. Тем не менее, кажется, что когда я иду, чтобы поместить значение атрибута в текстовое поле, он теряет его новые строки/каретки returns/tabs.

Я начинаю с добавления группы узлов с «именами задач». Каждая задача имеет один или несколько запросов в XML-документе. Например: < Задачи > < Имя задачи = «aTaskName» > < Запросы > < Добавить запрос = «длинная последовательность с вкладками и новыми строками и такими »/> ...

void PopulateQueries(XDocument doc, TreeView tree)
{
    foreach (TreeNode node in tree.Nodes)
    {
        var taskName = node.Text;
        var queriesNode = node.Nodes.Add("Queries");
        var queries = doc.Descendants("Tasks")
            .Descendants("Task")
            .Where(d => d.Attribute("name").Value == taskName)
            .Descendants("Queries")
            .Descendants("add")
            .ToList();

        for (int i = 0; i < queries.Count;i++)
        {
            queriesNode.Nodes.Add(queries[i].Attribute("Query").Value, "query" + i);
        }
    }
}

Позже в узле щелкните событие:

void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
    textBoxRaw.Text = string.Empty;
    if (e.Node.Text.StartsWith("query"))
    {
        textBoxRaw.Text = e.Node.Name;
    }
}

Значение атрибута Query содержит длинный SQL-запрос с новыми строками, вкладками и т.д. Но ничего из этого, кажется, не появляется в (многострочном) текстовом поле, несмотря на все мои крики в Visual Studio. Что я делаю не так? Кроме того, var doc = XDocument.Load (имя файла, LoadOptions.PreserureWhitespace); также не работает.

5
задан Matthew Groves 31 August 2011 в 21:13
поделиться