AJUDA COM NEW LIST

KURTGU 14/09/2016 21:55:05
#466941
Citação:

:
O problema ai é que você não está entendendo o que está fazendo, você precisa entender esta linha

gb.Append(New Choices(New String() {[Ô]DÁRIO[Ô], [Ô]RODRIGO[Ô]})) 

gb.Append(...) é o método que você está chamando, para ele você passa um parâmetro

New Choices(...) é uma classe que você está instanciando e passando como parâmetro ao gb.Append(), e esta classe possui um construtor que você está passando um parâmetro

New String() {[Ô]DÁRIO[Ô], [Ô]RODRIGO[Ô]} é o que você está passando como parâmetro para o construtor da classe Choices, com isso você está instanciando e preenchendo um Array de Strings

Essa forma de criar o array teria o mesmo resultado que fazer assim
Dim array(1) As String [ô]lembrando que arrays começam do 0, então neste caso ele tem duas posições, 0 e 1
array(0) = [Ô]DÁRIO[Ô]
array(1) = [Ô]RODRIGO[Ô]
gb.Append(New Choices(array))

Então o que precisa mudar é os valores desse array, que você precisa carregar do arquivo.

Então o primeiro de tudo, se essa classe Choices foi criada por você (o que eu não creio que seja o caso) eu diria para modifica-la para trabalhar com um List(Of String) em vez de Array, como esse provavelmente não é o caso o que você precisa é passar para ela um array, o que no caso de converter um List(Of String) para um array de Strings é simplesmente chamar o método ToArray() dele.

gb.Append(New Choices(Dicionario.ToArray()))

E nesse caso você pode simplificar isso um pouco mais já que a classe System.IO.File possui um método estático chamado ReadAllLines que já faz isso, então o seu código poderia ser simplesmente
Dim encoding As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Dim linhas = System.IO.File.ReadAllLines(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô],encoding)
gb.Append(New Choices(linhas))

Na prática ele faz a mesma coisa, internamente ele carrega tudo em um List(Of String) e depois chama o ToArray() nele




Assim que chegar em casa da faculdade vou tentar da forma que vc falou.






KURTGU 14/09/2016 21:57:07
#466942
Citação:

:
Isso mesmo... Dentro do Txt esta desta forma...Abaixo cada um na sua linha.

Dario
Rodrigo
Carlos


Então tu precisa usar isso: Dicionario.ToArray()

Assim, teu código ficaria:

  [ô]Pessoal tenho essa lista
Dim Dicionario As List(Of String) = New List(Of String)

[ô]Que estou preenchendo desta forma...
Dim codutf As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Read = New StreamReader(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô], codutf)
Using reader As StreamReader = Read
While Not reader.EndOfStream
Dim Line As String = reader.ReadLine()
Dicionario.Add(Line)
End While
End Using

[ô] para ultilizar estou tentando desta forma...
gb.Append(New Choices(Dicionario.ToArray()))



Vou verificar ainda hoje sem falta



KERPLUNK 15/09/2016 00:13:37
#466947
Citação:

:
:
O que é o objeto [Ô]gb[Ô]? Por conter o método Append, pode ser um StringBuilder, mas pode também ser outra coisa, então, o que ele é? Aliás, o que você quer fazer?

No meu sistema de tcc faço uso da api Recognation para ele funcionar corretamente preciso adicionar e montar uma gramática, comi se ensinar se o sistema a falar, para isso poderia difitar milhares de palavras ao invés disso adicionei o dicionário Aurélio.


Ok, mas o que é o objeto?
KURTGU 15/09/2016 06:51:15
#466950
Citação:

:
:
:
O que é o objeto [Ô]gb[Ô]? Por conter o método Append, pode ser um StringBuilder, mas pode também ser outra coisa, então, o que ele é? Aliás, o que você quer fazer?

No meu sistema de tcc faço uso da api Recognation para ele funcionar corretamente preciso adicionar e montar uma gramática, comi se ensinar se o sistema a falar, para isso poderia difitar milhares de palavras ao invés disso adicionei o dicionário Aurélio.
Ok, mas o que é o objeto?



[ô]GB
Dim gb As New GrammarBuilder()
KURTGU 15/09/2016 07:13:04
#466951
Citação:

:
Isso mesmo... Dentro do Txt esta desta forma...Abaixo cada um na sua linha.

Dario
Rodrigo
Carlos


Então tu precisa usar isso: Dicionario.ToArray()

Assim, teu código ficaria:

  [ô]Pessoal tenho essa lista
Dim Dicionario As List(Of String) = New List(Of String)

[ô]Que estou preenchendo desta forma...
Dim codutf As System.Text.Encoding = System.Text.Encoding.GetEncoding([Ô]ISO-8859-1[Ô])
Read = New StreamReader(My.Application.Info.DirectoryPath & [Ô]Dic.txt[Ô], codutf)
Using reader As StreamReader = Read
While Not reader.EndOfStream
Dim Line As String = reader.ReadLine()
Dicionario.Add(Line)
End While
End Using

[ô] para ultilizar estou tentando desta forma...
gb.Append(New Choices(Dicionario.ToArray()))



Desta forma funcionou corretamente mais somente para, algumas milhares de palavras agora se colocar o arquivo do dicionario com alguns Milhões ele da o erro abaixo...



Total de Palavras...
dez milhões e quatrocentos e sessenta e três mil e oitocentos e setenta e cinco

ASHKATCHUP 15/09/2016 11:01:21
#466959
Segundo o MSDN, esse erro acontece porque o array excedeu o limite da memória RAM do teu PC (https://msdn.microsoft.com/en-us/library/b388cb5s(v=vs.90).aspx).

Ai já não sei o que fazer....

Veja se o Kerplunk tem alguma ideia sobre como otimizar teu código.
KURTGU 15/09/2016 11:11:10
#466960
Citação:

:
Segundo o MSDN, esse erro acontece porque o array excedeu o limite da memória RAM do teu PC (https://msdn.microsoft.com/en-us/library/b388cb5s(v=vs.90).aspx).

Ai já não sei o que fazer....

Veja se o Kerplunk tem alguma ideia sobre como otimizar teu código.



Estou a manha toda tentando encontrar, ja tinha visto sobre isso da memoria, estanho pc de 8gb de ram kkkk mais vou tentar encontrar algo, mais vlw pela ajuda vou deixar aberto ao final te pontuo pela solução.
KERPLUNK 15/09/2016 19:50:27
#466983
Caramba, 10 milhões de verbetes é bastante coisa.
Speech recognition é algo bastante novo ainda. Trabalhei bem pouco com isso em um sistema para deficientes visuais. O que fiz foi trabalhar com o RecognitionResult. Ele possui propriedades que indicam o nível de confiança, texto e tudo mais relativo ao que foi dito e só fazia a busca por verbetes(em banco de dados e não arquivo texto, mas isso é opcional).
Página 2 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas